图像序列光流计算方法概述
2019-05-23何燕
何燕
摘要:光流法把图像的研究提升到运动层面,在静态图像序列的基础上加入时间域的维度,通过图像序列中相邻帧图像的相对运动计算出图像像素的瞬时速度。相对于传统的基于图像特征的方法而言,光流法能够更自然地表达物体的运动信息。图像序列光流的计算具有极其重要的意义。文章描述了光流的概念,经典光流HS算法,LK算法,光流算法评价标准,光流计算中存在的精确性、鲁棒性问题,以及光流计算的发展方向。
关键词:光流 ; HS ; LK ;评价指标
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2019)04-0173-03
1光流计算的概念及意义
物体和观察者的相对运动产生了光流。物体在运动时,它在图像上对应点的亮度模式也在运动,光流即是时变图像中模式运动速度[1,2]。光流可以直观地理解为三维空间中的物体的运动映射到图像上像素的瞬时速度。图像序列光流计算就是利用图像序列中像素强度信息在时间上的变化以及它们之间存在的可能关系来确定各个像素位置的运动情况[3]。光流不仅包括了物体运动的信息还能描述有关景物的结构信息,对光流的研究是计算机视觉运动分析的重要方法。
光流是一种高层次的视觉表述[4],光流场携带了有关物体运动和三维结构的丰富信息,可以用于运动目标检测、恢复目标的运动与结构信息、目标分割以及运动补偿编码等,因此对光流场的研究一直被视为是解决视觉运动分析的有效途径之一。光流法已经成为对视频图像序列中物体运动估计的主要技术。可用于虚拟现实、智能监控、人机交互、视频检索、医疗诊断[5],无人驾驶,机器人导航,机器臂分拣,医学辅助诊断等。但由于其一些理论基础不完备,在实际计算中仍存在很多问题,使得其广泛的应用推广受到一定阻碍。国内外的学者针对这些问题提出了大量的改进方法和策略。
2经典光流算法
2.1光流计算的约束方程
由于光流是对图像表面亮度模式运动的反应,因此大多数光流计算技术都是基BCM(亮度常数模型)的,即通过找到图像中亮度不变模式的对应关系来确定运动位移[6]。在满足对应像素点在相邻帧之间的灰度值不变,相邻帧之间物体的运动比较微小的条件下可以建立等式:
最终可得到光流的约束方程:
上面的分析中可以看出约束方程求解光流是个不适定问题,即一个方程两个未知量,这样无法求出唯一解,也叫作光流计算的孔径问题。解决光流计算的孔径问题,目前主要有两种方法:正则化法(全局方法)和局部邻域法。正则化法是将光流的求解过程转变为全局能量泛函的最小化过程[7]。
2.2 光流算法分类
人们基于不同的理论基础提出了各种的光流计算方法,按照理论和数学的不同,将光流分为基于梯度的方法,基于匹配的方法,基于能量的方法等,基于相位等方法[8]。
基于梯度的方法又称为微分法,利用时空梯度函数,使得全局能量泛函达到最小化来计算像素的速度矢量。常用的代表有Horn和Schunck全局平滑法[12]、Lucas和Kanade局部平滑法[9]、以及Nagel的有向平滑法[14]。Horn和Schunck光流法是在光流基本约束方程的基础上附加了全局平滑假设,使得泛函能量函數达到最小化。Lucas和Kanade使用局部平滑假设,假设一个窗口内的所有像素具有相同的运动矢量。Nagel采用有向平滑约束假设,使用加权Hessian矩阵对梯度进行不同方向上的平滑处理。微分法假设光流是连续的,再附加一定的约束条件,将光流的计算问题转化成最小化泛函能量的数学极值问题[9]。
块匹配法就是区域匹配,块匹配光流计算就是计算相邻两帧图像,相应区域块之间产生的最佳拟合位移[11]。假设有相邻帧图像1和图像2,对于图像1中的每个像素点 ,以此像素为中心建立一个大小为16×16的相关窗口,再围绕图像中对应点 ,建立一个图像搜索窗。相似性度量一般常用像素差平方和(SSD)、平均绝对误差(MAD)以及均方差误差函数(MSE)来进行。最后通过搜索算法来确定使得误差函数达最小值的位移即可求出近似的光流值[8][9]。
使用基于能量的方法来计算光流是利用调谐滤波器的输出能量达到最大来计算光流,调谐滤波器是在频域中进行设计的,因而基于能量的方法也叫作基于频率的方法 。
在计算光流的时候图像上的相位信息往往比亮度信息更加可靠。所以利用相位信息获得的光流场更加具有鲁棒性。
2.3 HS光流算法
由于相关数学理论的成熟,使得基于微分的光流计算方法得到了迅速的发展。
Horn-Schunck通过添加平滑约束项构造能量函数的基本思想来求解光流[12]。转化为相关问题的能量泛函的极限值的求解问题。假设图像具有连续性、平滑性的性质,这就要求光流本身尽可能平滑,即
2.4 Lk 光流算法
LK光流算法不同于HS算法,LK假设在一个小的邻域范围内,光流矢量保持不变,即在这个空间范围内所有的像素点都能够采用光流的BCM来求解。最终采用最小二乘法来进行拟合,计算出相邻帧图像光流的近似解[13]。
在一个小的空间领域Ω上,邻域像素拥有不同的权值大小,定义光流估计误差为:
2.5 Weickert 算法
Weickert算法是一种基于变分的光流算法,数据项模型中采用灰度守恒假设与梯度守恒假设相结合[15],提高了灰度守恒不适用的场合下的精度。算法中平滑项同样引入非平方惩罚函数,结合数据项可以得到该变分算法的能量模型。在多分辨率分层计算过程中,Weickert 对传统的多分辨率技术进行改进,引入一种变形理论(warping theory),提高了算法的精度。变形理论的主要思想是假设在金字塔第k 层有相邻两帧图像k1和k2,其中图像 k1 按照一定的采样因子进行分层,而图像 k2利用上一层的初值进行运动补偿。
3光流的评价指标
光流计算的评价指标可以采用Barron使用的平均角误差(AAE)和标准角误差(STD)[14]以及EPE(平均端点误差)其中,AAE的计算公式为:
EPE是一种对光流预测错误率的一种评估方式,描述了所有像素点的标准光流场和预测出来的光流之间差别距离(欧氏距离)的平均值:
4光流计算存在的问题
从光流计算提出至今,涌现出许多优秀的算法和理论,使得光流计算在实时性和鲁棒性上面都得到了很大的改善,但是现阶段的光流计算还处于攻坚克难的阶段,光流的计算还存在着诸如精确度,可靠性,实时性,从实际问题类型来看又可以分为:图像大位移光流计算问题、边界遮挡情况光流计算、多目标和复杂背景光流计算等情况。这些问题的解决也是光流估计研究的主要方向,若能切实地解决好这些问题定能够推进光流计算技术的快速发展,也能够用其来解决更多的实际问题。
5小结
本文从图像序列光流的概念 出发,介绍了几种经典的光流计算方法,给出了两种主要的光流计算评价指标,指明了现阶段光流计算中存在的一些问题,为光流研究整理出了清晰的思路。
参考文献:
[1] Gibson J J, The Perception of the Visual World (Riverside Press, Cambridge, 1950).
[2] Gibson J J, The Senses Considered as Perceptual Systems (Houghton-Mifflin, Boston,MA.1966.
[3] 陈震.图像序列光流计算技术及其应用[M].北京:电子工业出版社,2012.
[4] 刘建. 图像序列光流算法的研究[D]. 长沙理工大学, 2014.
[5] 王弘毅. 基于计算机视觉的人体运动分析[D]. 北京交通大学, 2014.
[6] 卢宗庆. 运动图像分析中的光流计算方法研究[D]. 西安电子科技大学, 2007.
[7] 陈震, 張聪炫. 基于图像局部结构的区域匹配变分光流算法[J]. 电子学报, 2015.
[8] 张起贵, 张妮. 一种改进的基于全局最小能量泛函光流算法[J].中北大学学报, 2014(3):330-336.
[9] 余聪. 基于块匹配的光流计算方法研究[D]. 南昌航空大学, 2014.
[10] 张佳威, 支瑞峰. 光流算法比较分析研究[J]. 现代电子技术, 2013(13):39-42.
[11] Horn B K P, Schunck B G. Determining optical flow[J]. Artificial Intelligence, 1981.
[12] Lucas B D, Kanade T. An iterative image registration technique with an application to stereo vision[C]// International Joint Conference on Artificial Intelligence. Morgan Kaufmann Publishers Inc. 1981.
[13] Nagel H H. On the Estimation of Optical Flow: Relations between Different Approaches and Some New Results.[J]. Artificial Intelligence, 1987.
[14] Bruhn A, Weickert J, Schn?rr C. Lucas/Kanade Meets Horn/Schunck: Combining Local and Global Optic Flow Methods[J]. International Journal of Computer Vision, 2005.
[15] Brox T, Malik J. Large Displacement Optical Flow: Descriptor Matching in Variational Motion Estimation[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2011.
[16] Barron J L, Fleet D J, Beauchemin S S. Performance of optical flow techniques[C]// Computer Vision and Pattern Recognition, 1992. Proceedings CVPR '92. 1992 IEEE Computer Society Conference on. IEEE, 2002.
[17] 刘国锋, 诸昌钤. 光流的计算技术[J]. 西南交通大学学报, 1997(6).
[18] Vesdapunt N, Sinha U. Comparison of Optimization Methods in Optical Flow Estimation[J]. 2016.
[19] 周建锋. 基于光流的运动目标检测方法研究[D]. 哈尔滨工业大学, 2009.
【通联编辑:梁书】