光流法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

光流法
光流是一种简单实用的图像运动的表达方式,通常定义为一个图像序列中的图像亮度模式的表观运动,即空间物体表面上的点的运动速度在视觉传感器的成像平面上的表达。

中文名:光流法属于:简单实用的图像运动
表示:一种几何变化分为:匹配的方法频域的方法梯度的方法
人类主要通过眼睛,耳朵和大脑来获取、处理与理解获得的信息。

然而图像具有最直观、明了、让人一看就懂的特质,因为人们获取信息70%以上依靠视觉,20%左右依靠听觉,10%左右依靠触觉和嗅觉,这就是为什么“百闻不如一见”,一幅图像说明一切问题,胜过千言万语。

计算机视觉这一领域的先驱可追溯到很早的时候,但是直到20世纪70年代后期,当计算机的性能提高到足以处理诸如图像这样的大规模数据时,计算机视觉才得到了正式的关注和发展。

计算机视觉就是用各种成象系统代替视觉器官作为输入敏感手段,由计算机来代替大脑完成处理和解释,也包括对视觉信息的采集,传输,处理,存储与理解等过程。

计算机视觉最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力,要经过长期的努力才能达到的目标。

因此,在实现最终目标以前,人们努力的中期目标是建立一种视觉系统,这个系统能依据视觉敏感和反馈的某种程度的智能完成一定的任务。

计算机视觉应用领域较广泛,包括航空航天、卫星照片、军事导弹精确制导、移动机器人视觉导航、工业自动化系统、医学辅助诊断等。

计算机视觉系统的结构形式很大程度上依赖于其具体应用方向。

有些是独立工作的,用于解决具体的测量或检测问题,也有些作为某个大型复杂系统的组成部分出现,比如工业控制系统,汽车导航系统。

计算机视觉系统的具体实现方法同时也由其功能决定,有些是预先固定的,有些是在运行过程中自动学习调整。

尽管如此,以下几个功能却几乎是每个计算机系统都需要具备的。

图像获取,一幅数字图像是由一个或多个图像感知器产生的,例如摄像机,红外遥感摄像仪,雷达,超声波接收器等,所产生的图片包括二维图像,三维图像或者一个图像序列。

预处理,在对图像实施具体的计算机视觉方法来提取某种特定的信息前,首先通过一种或一些方法预先对图像进行处理,以满足后继图像处理的要求,包括二次取样,平滑去噪,提高对比度等。

特征提取,是使用计算机提取图像信息,检查每个像素确定该像素是否代表一个特征,例如边缘提取,边角检验,斑点检验。

图像分割,对图像进行分割来提取有价值的信息用于后继处理的部分。

光流法的基本原理
光流是一种简单实用的图像运动的表达方式[1],通常定义为一个图像序列中的图像亮度模式的表观运动,即空间物体表面上的点的运动速度在视觉传感器的成像平面上的表达。

这种定义认为光流只表示一种几何变化。

1998年Negahdaripour将光流重新定义为动态图像的几何变化和辐射度变化的全面表示[2]。

光流的研究是利用图像序列中的像素强度数据的时域变化和相关性来确定各自像素位置的“运动”,即研究图像灰度在时间上的变化与景象中物体结构及其运动的关系。

一般情况下,光流由相机运动、场景中目标运动或两者的共同运动产生的相对运动引起的。

光流计算方法大致可分为三类:基于匹配的方法、频域的方法和梯度的方法。

(1)基于匹配的光流计算方法包括基于特征和基于区域两种。

基于特征的方法不断地对目标主要特征进行定位和跟踪,对大目标的运动和亮度变化具有鲁棒性。

存在的问题是光流通常很稀疏,而且特征提取和精确匹配也十分困难。

基于区域的方法先对类似的区域进行定位,然后通过相似区域的位移计算光流。

这种方法在视频编码中得到了广泛的应用。

然而,它计算的光流仍不稠密。

(2)基于频域的方法,也称为基于能量的方法[3],利用速度可调的滤波组输出频率或相位信息。

虽然能获得高精度的初始光流估计,但往往涉及复杂的计算。

另外,进行可靠性评价也十分困难。

(3)基于梯度的方法利用图像序列亮度的时空微分计算2D速度场(光流)。

由于计算简单和较好的效果,基于梯度的方法得到了广泛的研究。

虽然很多基于梯度的光流估计方法取得了较好的光流估计,但由于在计算光流时涉及到可调参数的人工选取、可靠性评价因子的选择困难,以及预处理对光流计算结果的影响,少量帧中噪声的存在以及图像采集地过程中形成的频谱混叠都将严重影响基于梯度的方法的结果精度[3]。

光流法检测运动物体的基本原理是:给图像中的每一个像素点赋予一个速度矢量,这就形成了一个图像运动场,在运动的一个特定时刻,图像上的点与三维物体上的点一一对应,这种对应关系可由投影关系得到,根据各个像素点的速度矢量特征,可以对图像进行动态分析。

如果图像中没有运动物体,则光流矢量在整个图像区域是连续变化的。

当图像中有运动物体时,目标和图像背景存在相对运动,运动物体所形成的速度矢量必然和邻域背景速度矢量不同,从而检测出运动物体及位置。

采用光流法进行运动物体检测的问题主要在于大多数光流法计算耗时,实时性和实用性都较差。

但是光流法的优点在于光流不仅携带了运动物体的运动信息,而且还携带了有关景物三维结构的丰富信息,它能够在不知道场景的任何信息的情况下,检测出运动对象。

对于视频监控系统来说,所用的图像基本都是摄像机静止状态下摄取得,所以对有实时性和准确性要求的系统来说,纯粹使用光流法来检测目标不太实际。

更多的是利用光流计算方法与其它方法相结合来实现对目标检测和运动估计。

然而,在实际应用中,由于遮挡性、多光源、透明性和噪声等原因,使得光流场基本方程的灰度守恒假设条件不能满足,不能求解出正确的光流场,同时大多数的光流计算方法相当复杂,计算量巨大,不能满足实时的要求,因此,一般不被对精度和实时性要求比较高的监控系统所采用。

光流法的国内外现状对光流算法的研究,最早可追溯到二十世纪五十年代,Gibson和Wallach等学者提出的SFM(Structure From Motion)假设,即以心理学实验为基础,开创性的提出从二维平面的光流
场可以恢复到三维空间运动参数和结构参数的假设,但该假设直到七十年代末才有ULLman等学者验证该假设。

真正提出有效光流计算方法还归功于Horn和Schunck在1981年创造性地将二维速度场与灰度相联系,引入光流约束方程的算法,是光流算法发展的基石。

光流算法发展至今不下几十种,其中许多是基于一阶时空梯度技术,其方法不仅效率高,且易于实现,总的深入分析可将光流算法分为四类。

(1)研究解决光流场计算的不适定问题的方法
在研究解决光流场计算不适定问题的方法的过程中,学者们提出了很多克服不适定问题的算法,例如Horn根据同一个运动物体的光流场具有连续、平滑的特点,即三维图像投影到二维图像上的光流变化也是平滑的,提出一个附加约束条件,将光流场的整体平滑约束转换为一个变分的问题;Tretiak和Nagel认为对光流场的计算属于一类微分问题,由于要涉及图像灰度时空导数计算,而提出了在二阶微分算子的基础上添加一个附加约束;Nagel提出为使附加的光滑性约束沿光流场梯度的垂直方向上变化率最小,导出了一种新的迭代算法;Wohu等人利用非线性平滑条件和局部约束来计算时变序列图像的光流场;Haralick等人通过将二维物体表面分割为若干个小平面,并假设小平面运动方向,速度近似,且在短时间内为常量,据此思想基础上得到了附件约束。

国内复旦大学的吴立德教授对灰度时变图像光流场的理论进行过研究并提出了多通道方法。

(2)研究光流场计算的快速算法
在光流算法快速算法研究中,Braillon提出一种光流模型检测障碍物的方法,该方法是为摄像机建立经典的针孔模型,并在针孔模型上建光流模型,并不需要计算完整的光流场;Valentinotti在并行的DSP系统上实现了基于相位的光流算法,对128×128和64×64图像序列实现了快速处理;Andres Bruhn等人在对光流计算时引入了多尺度分析,提高了计算的效率;昌猛等人在Horn-Schunck算法的递归方程的基础上添加了一个惯性因子,性能不降低,然而收敛时间缩短了1/2-1/3,也极大的提高了计算效率。

(3)研究光流场计算基本公式的不连续性
在光流场计算基本公式导出过程中由于利用泰勒级数展开,实际上认为图像灰度以及亮度场变化都是连续的。

然而,实际景物各个独立的表面就使光流的速度场成为非连续的,因此当光流场计算基本公式出现不连续时,是个值得讨论的问题,日本学者Mukauwa考虑光流场计算基本等式应用泰勒级数展开后,实际上是不连续的,他引入了一个修正因子q后,很好的解决了不连续性的问题。

(4)研究直线和曲线的光流场计算技术
光流场的计算是计算机视觉的重要组成部分,主要是通过二维空间的光流场恢复重建三维物体的运动和结构。

一般来说,用单个像素点来表示光流场显然不合适,通过抽象层次手工劳动提高像素点将更有利于进行图像处理和分析。

例如,Allmen就是通过定义时空表面流为时空表面光流的延伸,认为轮廓线移动时,它们在平面上的投影也相对移动,利用它们在时空表面流与空间流曲线来计算光流场;Kumar提出一种可以很好的保留边界信息的新的计算光流场的曲线方法,其计算结果和理论分析非常吻合;Park利用轮廓线曲率信息去估算轮廓线的运动。

光流法的意义
将三维空间中的目标和场景对应于二维图像平面运动时,他们在二维图像平面的投影就形成了运动,这种运动以图像平面亮度模式表现出来的流动就称为光流。

光流法是对运动序列图像进行分析的一个重要方法,光流不仅包含图像中目标的运动信息,而且包含了三维物理结构的丰富信息,因此可用来确定目标的运动情况以及反映图像其它等信息。

基于光流可以实现在军事航天、交通监管、信息科学、气象、医学等多个领域的重要应用。

例如利用光流场可以非常有效的对图像目标进行检测和分割,这对地对空导弹火控系统的精确制导,自动飞行器精确导航与着陆,战场的动态分析,军事侦察的航天或卫星图片的自动分析系统,医学上异常器官细胞的分析与诊断系统,气象中对云图的运动分析,城市交通的车流量进行监管都具有重要价值。

当前对于光流法的研究主要有两个方向:一是研究在固有硬件平台基础上实现现有算法,二是研究新的算法。

光流算法的主要目的就是基于序列图像实现对光流场的可靠、快速、精确以及鲁棒性的估计。

然而,由于图像序列目标的特性、场景中照明,光源的变化、运动的速度以及噪声的影响等多种因素影响着光流算法的有效性。

尽管近几十年来,国内外学者提出了各种各样的光流场的算法,然而,建立可靠的光流算法模型仍然面临很大的挑战。

开展研究光流算法涉及多个学科领域的理论和技术,如图像处理、计算机科学、模式识别、矩阵分析、优化理论等。

对这一研究的发展不仅拓宽了这些领域的理论基础和技术研究范畴,而且为这些理论和技术的应用打开一扇新的窗口。

参考资料
∙ 1.Beauchemin,S.S.and J.L.Barron(1995)."The computation of optical flow."ACM computing surveys(CSU R)27(3):433-466.
∙ 2.Negahdaripour,S.(1998)."Revised definition of optical flow:Integration of radiometric and geometric cues for dynamic scene analysis."Pattern Analysis and Machine Intelligence,IEEE Transactions on20(9):961-979.
∙ 3.Barron,J.L.,D.J.Fleet,et al.(1994)."Performance of optical flow techniques."International Journal of Co mputer Vision12(1):43-77.。

相关文档
最新文档