任莹
摘要:像素的3D结构张量能够很好的表达视频帧序列之间的局部运动模型,因此,稠密光流的估计可以使用3D结构张量。根据光流的亮度恒定假设,光流估计问题可以转化为计算结构张量的特征向量,而不是复杂的线性系统计算。在一个有着多运动模型的场景中,有多个全局3D结构张量模型,每个模型对应为一个高斯分布,模型是在线更新的。为了提高效果,需要进行由粗到细的迭代过程。实验显示3D结构张量能够良好的表达运动模型。
关键词: 光流; 张量; 视频处理
中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2014)06-1321-03
Implementation of Dense Flow Based on the 3D Structure Tensor Model
REN Ying
(School of Computer Science a nd Engineering, Wuhan Institute of Technology, Wuhan 430074,China)
Abstract: Since the 3D structure tensor at each pixel can interpret the local between frames well,this chapter uses the 3D structure tensor to estimate dense flow.According to the assumptions of brightness constancy,the optical flow estimation can be converted to the calculation the eigenvector of the structure tensor,rather than the complex calculation of linear system.In scenes with multiple global motion patterns,there are multiple global 3D structure tensor models,each corresponding to a Gaussian distribution.The models are updated online.Iterative coarse-to-fine refinement is needed to improve the performance.
Key words:optical flow; tensor; video processing
对光流的研究主要包括稠密光流和稀疏光流,该文研究的是稠密光流算法。现在大多数的光流算法保留Horn and Schunck(HS)[1]的原始假设。很长一段时间,研究者们面临的挑战是提高光流的效率和准确性,该文也旨在克服两大难题。
很多稠密光流估计算法基于Horn的最初的想法,逐点计算光流矢量值。在文献[2]中,T.Box基于光流恒定假设提出一种由粗到细的改进策略[3]。在文献[4]中,A.Bruhn提出一种将局部方法(Lucas–Kanade光流算法)和全局方法(Horn and Schunck的光流算法)。在[5]中,H.Liu提出通过运动模型方程的仿射变换来证明计算特征向量可以用于光流估计。
逐点计算光流矢量是耗时而乏味的。有些早期的研究者提出使用3D结构张量作为运动模型。在文献[6]中,Pless提出一种将运动模型划分到多个光流域的在线实时算法,该算法可以高效的表现各局部运动模型的全局模式。很多研究者对传统光流算法进行明显的改进。对问题改进的很好的方式是汲取各前人算法的优点。
1 光流估计
结构张量已经广泛的应用于图像处理领域,例如光流估计和图像分割。通过计算帧之间的时空梯度得到结构张量。
1.1 全局混合运动模型
我们使用[?I=(?Ix,?Iy,?It)T]来表达时空梯度,分别对应x,y,t方向的梯度。像素的结构张量[∑]定义如下:
[∑] = [?I?IT] (1)
运动通常发生在当[?It]>0的位置。为了降低噪声的影响,我们使用高斯平滑对图像进行降噪。
[∑]表现了一个高斯分布[Ν](0,[∑])[1]。类似之前通常的做法[2],,我们可以使用马氏距离来检测异常测量,根据设定好的阈值Tb[2]来比较。
dist=[?IT∑][?I] (2)
如果新的测量值和高斯分布之间的马氏距离大于Tb,我们更新对应的高斯分布。
[i,t=(1-β)i,t-1+β?I?IT] (3)
[β=αP(Νi|?I),α∈[0,1]],其中[P(Νi|?I)]表示似然估计,[α]是预先设定好的高斯分布更新率。
高斯分布的权值的更新:
[ωi,t=(1-βi)ωi,t-1+βi] (4)
如果新的测量值和高斯分布之间的马氏距离小于Tb,创建一个新的高斯分布,给它一个初始化的权值。
1.2结构张量与光流估计之间的关系
根据光流恒定假设:
[I(x,y,t)=I(x+u,y+v,t+1)] (5)
将方程(5)通过泰勒展开式线性化,变换为:
[I(x,y,t)=I(x,y,t)+u?I?x+v?I?y+1?I?t] (6)
从方程(6),我们可以得到光流的约束方程:
[uIx+vIy+It=0] (7)
其中,[Ix=?I?x],[Iy=?I?y],[It=?I?t]
该方程也可以写成[?ITuv1=0]。光流向量[(u,v,1)T]必须垂直于[?IT]。将等式两边乘上[?I],该等式可以变为:
[?I?ITuv1=0] (8)
设想一下,如果结构张量[?I?IT](必须为对称矩阵)的最小特征值趋近于0,与该特征值对应的特征向量可以被认为该方程的解。但是一个特征值可能对应不同的特征向量,也就是说,该解是不确定解。因此,可以表示该解的可信度为:
[conf=1-λ1λ2] (9)
此处,[fabs(λ1)≤fabs(λ2)≤fabs(λ3)]。可信度越大,解越准确。如果[λ1<<λ2],conf趋近于1。这种情况下,我们可以通过估计特征向量来估计3D光流。
1.3由粗到细改进过程
基于文献[5]的思想,由粗到细迭代过程通过可信度收敛。但是我们的由粗到细过程与H.Liu的有点不同。文献[5]中的思想来源于通常的想法,即适当的平滑图像可以提高光流估计的效果。因此,H.Liu的迭代过程是使用更大的高斯平滑滤波器对图像进行平滑。
我们的由粗到细迭代过程是将相邻的像素考虑其中。如果像素的可信度低于一个阈值,就将其进行下一次迭代,计算更大矩形区域的结构张量,[?Imean]表示矩形区域内的所有像素的[?I]的均值。
图1 [?Imean]表示矩形区域内的所有像素的[?I]的均值
2 实验
由于开始的时候需要建立运动模型,为保证所建模型的准确性,计算量也许不会小于单纯的逐点解方程。随后,我们的运动模型逐渐趋于稳定,解方程逐渐由模型匹配取代。我们的c++程序在2.1 GHz Intel i3 PC上运行流畅。
首先,我们对一组来自http://vision.middlebury.edu/flow/的数据集进行实验。
(a)本文效果 (b) Pyramid LK的效果 (c)simple flow的效果
图2 eight-frame Basketball.
表1 插值和归一化插值误差比较(SD).
实验显示,我们的算法在保证效果的情况下,不需要逐点计算方程,也不需要建立高斯金字塔。开始,未建立模型,建模过程也许会耗时。初始的模型也许还不稳定,会出现一些错误的匹配模型,因此,开始几帧效果不太理想。运行几帧后,建模过程趋于稳定,运行速度也区域稳定。既然本文的算法中没有建立高斯金字塔,也没有插值过程,该算法的时间和空间复杂度与一些传统的算法相比起来会低许多。
3 结论
实验显示3D结构张量能够良好的表达运动模型。在实际中,运动模型在一段时间(连续几帧)内是相对稳定的,建立3D结构张量模型进行光流估计较解决线性方程进行光流估计更稳定,并且效率更高。该算法也能有效地运用在运动序列分析应用中,例如行为识别和运动目标匹配。
参考文献:
[1] Horn B, Schunck B. Determining optical flow. Artificial Intelligence, 1981,8,16:185-203.
[2] Black M J,Anandan P. The robust estimation of multiple motions: parametric and piecewise smooth flow fields. Computer Vision and Image Understanding,1996,63(1):75-104.
[3] Memin E, Perez P. A multigrid approach for hierarchical motion estimation. In Proc.Sixth International Conference on Computer Vision, Bombay, India,1998:933-938.
[4] Bruhn A, Weickert J, Schn C. Lucas/Kanade meets Horn/Schunk: combining local and global optical flow methods. International Journal of Computer Vision (IJCV), 2005,61(3):211-231.
[5] Haiying Liu; Chellappa R.Rosenfeld, A. "Accurate dense optical flow estimation using adaptive structure tensors and a parametric model", IEEE Trans,2003(10):1170-1180.
[6] Wright J, Pless R. Analysis of Persistent Motion Patterns Using the 3D Structure Tensor.In IEEE Workshop on Motion and Video Computing,2005:14-19.