光流法简述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于梯度的方法也称为微分法,该类方法是建立在图像亮度为常数的假设基础之上的,利用序列图像亮度的时空梯度函数来计算二维速度场。由于计算简单而且效果比较好,该方法成为使用最广泛的一种光流估计方法,此类方法的最具代表性的是Horn-Schunck光流法,它计算出的光流场是在光流基本方程的基础上引入了另外一个约束条件,即全局光流平滑约束假设。后来人们根据这种思想又提出了大量的改进算法。基于梯度的光流法在使用中存在一些问题:第一,为了在计算光流方程时方便,一般会通过一阶泰勒级数逼近来线性化,因此当有大的运动矢量存在时会产生较大的误差,从而导致估计精度降低;第二,在进行预处理时,部分帧中噪声的存在、图像采集过程中的频谱混叠现象都将严重影响该类方法的计算精度。第三,在有些非连续区域(比如边缘等),图像亮度在运动方向上的平滑性约束条件会被破坏,从而会导致计算错误。
在一个小的邻域内,我们通过对下式的加权平方和最小化来估计V
上式中 是一个窗口权重函数,该函数使得邻域中心的加权比周围的大。对于
Ω内的n个点 ,设
故上面方程的解可有最小二乘法得到:
其中:
最后得:
此外还有块匹配法,金字塔光流法等方法。
块匹配法块匹配法并不直接使用光流基本方程它的基本思想是假设光流w=(u,v)为不同时刻的图像区域的位移量d,在图像序列的顺序图像对之间实施位置对应。块匹配距离度量的方法有两种,一是对定义在d上的相似度量,如归一化相关系数进行最大化(模板匹配法);二是对光强度差的平方和进行最小化。
基于频率的方法又称为基于能量的方法,在使用该类方法的过程中,要获得均匀流场的准确的速度估计,就必须对输入的图像进行时空滤波处理,即对时间和空间的整合,但是这样会降低光流的时间和空间分辨率。基于频率的方法往往会涉及大量的计算,另外,要进行可靠性评价也比较困难。
基于相位的方法是由Fleet和Jepson提出的,Fleet和Jepson最先提出将相位信息用于光流计算的思想。当我们计算光流的时候,相比亮度信息,图像的相位信息更加可靠,所以利用相位信息获得的光流场具有更好的鲁棒性。基于相位的光流算法的优点是:对图像序列的适用范围较宽,而且速度估计比较精确,但也存在着一些问题:第一,基于相位的模型有一定的合理性,但是有较高的时间复杂性;第二,基于相位的方法通过两帧图像就可以计算出光流,但如果要提高估计精度,就需要花费一定的时间;第三,基于相位的光流计算法对图像序列的时间混叠是比较敏感Байду номын сангаас。
(1)亮度恒定不变。目标像素在不同帧间运动时外观上是保持不变的,对于灰度图像,假设在整个被跟踪期间,像素亮度不变。
(2)时间连续或者运动是“小运动”。图像运动相对于时间来说比较缓慢,实际应用中指时间变化相对图像中运动比例要足够小,这样目标在相邻帧间的运动就比较小。
(3)空间一致。同一场景中同一表面上的邻近点运动情况相似,且这些点在图像上的投影也在邻近区域。
给定两帧顺序图像,以图像入中的每个像素点(x,y)为中心建立一个大小为(2n+l)x(2n+l)的相关块,在图像几的对应像素点(x,y)为中心的(2n+l)x(2n+l)搜索区内寻找最佳匹配位置(N>n)。
金字塔光流法是对L-K光流法的改进,使得其能检测到在相邻帧间运动尺度较大的目标。
光流法的应用
运动目标检测与跟踪
应用
运动目标检测与跟踪是计算机视觉、图像与视频处理及模式识别领域的一个重要课题,其主要目标是获取运动目标的运动参数(如位置、速度、加速度等)以及运动轨迹,从而进行进一步处理与分析,实现对运动目标的行为理解,以完成更高一级的任务。
将上式按一阶Taylor公式展开可得:
将两边的I ( x , y ,t)相抵消,并整理可得:
或
因为光流约束方程只有一个方程却有两个未知数,因此,需要增加其他约束才能解决这个问题。
光流的计算方法
通过光流方程我们可以看出,光流方程只有一个,但有两个未知数,因此仅使用光流约束方程是不能确定图像光流,需要引入其他约束条件,引入不同的约束条件,就会产生不同的光流计算方法。目前较为常用的光流计算方法主要有:基于梯度的方法,基于匹配的方法,基于频域的方法和基于相位的方法。其中最常用是基于梯度的光流算法,该方法也被称为微分法。主要根据图像灰度的梯度函数得到图像中每个像素点的运动矢量,基于梯度的光流算法已得到广泛应用。本节主要介绍基于梯度的光流法中两种经典的光流算法:Horn-Schunck算法和Lucas-Kanada算法。
机器视觉作业论文
************
论文题目:光流法简述
2014年12月20日
光流法简述
引言
基于机器视觉的运动目标方法比较主流的有帧差法、背景差法、光流法等。相比其他几种而言,光流法来源于仿生学思想,从更加本质的方面揭示了基于视觉的运动目标检测的原理;比其他方法有更加牢固的数学基础;也比其他方法有更高的检测精确性等诸多优势。只要在有限的牺牲精确度的情况下解决了光流法的计算复杂性问题,该方法必然能成为运动目标检测问题的唯一首选方案。
研究生物行为,将生物科学与工程学相结合是未来科学发展的趋势,也是目前世界上公认的研究方法。从对昆虫的视觉机理实验中,科学家们已经发现了大量的昆虫在导航的时候使用的真是光流法。试想一下,昆虫仅仅具有简单的大脑和及其微弱的计算能力,但却表现出令人惊叹的复杂导航行为,这个事实给了我信息,我个人为:通过改进算法和硬件,更深入的学习大自然,必然能解决光流法的实时性差这一难题,将其推向实用。基于此,将现阶段我所了解的光流法的原理与应用方面总结整理,遂成此文。由于本人从事智能车方面的项目,设计移动目标检测和导航问题,故主要只写了这两方面的应用。
(1)Horn-Schunck算法
Horn-Schunck光流法是在基于强度不变假设的条件下,引入了全局光流平滑约束假设,假设在整个图像上光流的变化是光滑的,即物体运动矢量是平滑的或只是缓慢变化的,尤其对刚体来说,其各相邻像素点间的速度是相同的。Horn和Schunck利用光流约束方程和全局光流平滑假设一起来计算V,该方法得到的是稠密光流场,由于相邻像素点运动速度相同,因而对于局部区域来说,其速度的空间变化率为零,进而得出光流矢量的梯度接近于0,Horn引入的约束条件的基本思想是光流需要尽可能的平滑,使平滑约束项 极小化。
光流场与运动场
物体在空间运动时会产生三维运动场,运动前后空间对应点在图像上的投影就会形成一个二维运动场。光流场就是运动场在二维图像上的投影,光流场携带了关于物体结构和运动的信息。研究光流场的目的主要是希望从序列图像中近似计算出不能直接得到的运动场。
图1.2.1
在物体的运动过程中,在某一特定时刻,三维场景中的某一点根据投影方程对应成二维图像上一点,根据透视投影原理,三维场景中一点与图像上的对应点的连线经过光学中心,如图1.2.1所示。
随后,一系列关于昆虫视觉机理方面实验结果表明,大多数昆虫都可以通过光流测量自身运动,进而通过积分获得自身飞行的距离。1976年,Poggio和Reichartdt在研究昆虫视觉时提出了关于光流的粗略计算形式;关于光流的有效计算方法的提出,是在1981年Horn和Schunck、Lucas和Kanade将二维速度场与灰度相联系,引入了光流约束方程,对光流计算做了奠基性的工作。
光流法的理论背景
光流法的提出、发展及现状
早在二十世纪五十年代就已经有人着手于光流法的研究,心理学家Gibson在他的著作“The Perception of the Visual World”中提出了环境光(ambient optic)、环境光阵(ambient optic array)、光流(optic flow)、光流阵(optic flow array)等基本概念。
根据光流基本等式,光流误差 进行极小化,得到:
于是对光流场的求解可转化为对如下问题的解:
(2)Lucas-Kanada算法
Lucas-Kanada即L-K光流法最初于1981年提出,该算法假设在一个小的空间邻域内运动矢量保持恒定,使用加权最小二乘法估计光流。由于该算法应用于输入图像的一组点上时比较方便,因此被广泛应用于稀疏光流场,L-K算法的提出是基于以下三个假设:
图中f为摄像头镜头焦距,z为镜头中心到目标点的距离。假设 相对于摄像机的运动速度为 ,那么与之对应的点 也会产生一个运动速度 ,则 和 分别如下式所示:
和 之间的关系为:
上述公式反映了三维空间物体运动和图像平面投影之间的对应关系,同样的,物体在空间运动的三维速度场也会在二维图像平面形成投影,这个投影就是图像的运动场。简单来说,图像运动场就是对图像中所有像素点各赋予一个速度矢量。另外,物体的某个点的运动除了会导致图像中对应点的运动外,同时也会带来对应点的亮度模式的运动。光流就是图像亮度模式的表观运动,是空间运动物体被观测面上像素点的运动产生的瞬时速度场。
物理光学概念是以能量为基础的,但Gibson认为,对人和动物来说能量没有很直接的意义,比如说可见光外波长的光,具有物理学的意义,但对人的视知觉没有任何贡献。因此,他引入了生态光学理论(ecological optics theory),以强调知觉对动物在自然环境下生存和发展的意义。人在环境中行动,光线来自各个方向,外在空间的每一点的光线分布各不相同。这种光线分布称作“环境光”。环境光对人具有重要生存意义,它的特殊分布提供了空间视觉的信息。研究环境光对人的视觉的作用的科学就是生态光学。由于生态光学理论以物理光学为基础,对于视知觉的解释又极为简明,特别受到计算机视觉研究者的重视。在Gibson他提出一系列的光流概念之后,便有学者提出利用二维平面的光流场来恢复三维空间运动参数和结构参数的假设。
由于光流在图像处理、目标跟踪等领域的重要性,研究人员又陆续推出了一些新的方法,这些方法大致分为五类:基于匹配的方法、基于梯度的方法、基于频域的方法、基于相位的方法和神经动力学方法。
基于匹配的方法包括基于区域和基于特征两种方法,实质上是在图像序列中的各图像之间,搜索出对应的图像区域最佳拟合的位移,所得到的位移即为目标运动矢量。该类方法在视频编码中得到了广泛的应用。基于特征的方法对于目标的速度和亮度变化具有较好的鲁棒性。基于匹配的两种方法存在的主要问题是,得到的光流通常比较稀疏,要实现精确匹配比较难。
神经动力学方法是利用神经网络建立的视觉运动感知的神经动力学模型,它是对生物视觉系统功能与结构比较直接的模拟。
光流的
我们观察三维世界中目标的运动时,运动目标的轮廓会在我们的视网膜上形成一系列连续变化的图像,这些连续变化的信息不断的“流过”人眼视网膜(即图像平面),就像是一种光“流”过一样,称为光流(opticalflow)。在视频跟踪领域,光流是指图像中灰度模式的表面运动,是物体的三维速度矢量在成像平面上的投影,它表示了物体在图像中位置的瞬时变化。
基本光流方程
光流可看作为带有灰度的像素点在图像平面上运动而产生的瞬时速度场,Horn和Schunck假设图像区域在时间和空间上都是连续且可导的,这是光流计算中的一个重要约束条件。对于一个图像序列,我们假设图像中一个像素点( x ,y)在t时刻的亮度值为I ( x , y ,t)如果u ( x ,y)和v ( x ,y)表示( x ,y)处光流在x和y方向的运动分量,在足够小的一个时间dt,点( x ,y)移动到点( x + dx ,y +dy),其中dx=udt,dy=vdt,根据亮度恒定的假设,即沿某运动轨迹曲线的各帧中相应的像素点具有相同的灰度值,即图像上对应点亮度不变,由此我们可以得到:
图1.2.2光流场与运动场不一致
光流场是对运动场的一个近似,即光流场并不一定能反映物体的实际运动情况。在理想情况下光流场与运动场是相对应的,但也存在不对应的时候,例如一个质地均匀的球体在某一光源的照射下,若球体不动而光源运动,如图1.2.2(a)所示,这样球体与光源会有相对运动,其亮度模式会发生变化,光流并不等于零,但因为球体并没动,所以运动场为零。同样地,运动场的改变也未必能引起光流场的变化,上面那个例子中,若光源不动而球体围绕着自身轴心旋转,如图1.2.2(b)所示,其运动场发生了改变,而其亮度模式并没有发生变化,因而其光流场不变。由此可得光流场并不完全等价于运动场。通常我们可以认为光流场与运动场等同,通过图像光流场可以研究图像序列中物体的运动信息。
在一个小的邻域内,我们通过对下式的加权平方和最小化来估计V
上式中 是一个窗口权重函数,该函数使得邻域中心的加权比周围的大。对于
Ω内的n个点 ,设
故上面方程的解可有最小二乘法得到:
其中:
最后得:
此外还有块匹配法,金字塔光流法等方法。
块匹配法块匹配法并不直接使用光流基本方程它的基本思想是假设光流w=(u,v)为不同时刻的图像区域的位移量d,在图像序列的顺序图像对之间实施位置对应。块匹配距离度量的方法有两种,一是对定义在d上的相似度量,如归一化相关系数进行最大化(模板匹配法);二是对光强度差的平方和进行最小化。
基于频率的方法又称为基于能量的方法,在使用该类方法的过程中,要获得均匀流场的准确的速度估计,就必须对输入的图像进行时空滤波处理,即对时间和空间的整合,但是这样会降低光流的时间和空间分辨率。基于频率的方法往往会涉及大量的计算,另外,要进行可靠性评价也比较困难。
基于相位的方法是由Fleet和Jepson提出的,Fleet和Jepson最先提出将相位信息用于光流计算的思想。当我们计算光流的时候,相比亮度信息,图像的相位信息更加可靠,所以利用相位信息获得的光流场具有更好的鲁棒性。基于相位的光流算法的优点是:对图像序列的适用范围较宽,而且速度估计比较精确,但也存在着一些问题:第一,基于相位的模型有一定的合理性,但是有较高的时间复杂性;第二,基于相位的方法通过两帧图像就可以计算出光流,但如果要提高估计精度,就需要花费一定的时间;第三,基于相位的光流计算法对图像序列的时间混叠是比较敏感Байду номын сангаас。
(1)亮度恒定不变。目标像素在不同帧间运动时外观上是保持不变的,对于灰度图像,假设在整个被跟踪期间,像素亮度不变。
(2)时间连续或者运动是“小运动”。图像运动相对于时间来说比较缓慢,实际应用中指时间变化相对图像中运动比例要足够小,这样目标在相邻帧间的运动就比较小。
(3)空间一致。同一场景中同一表面上的邻近点运动情况相似,且这些点在图像上的投影也在邻近区域。
给定两帧顺序图像,以图像入中的每个像素点(x,y)为中心建立一个大小为(2n+l)x(2n+l)的相关块,在图像几的对应像素点(x,y)为中心的(2n+l)x(2n+l)搜索区内寻找最佳匹配位置(N>n)。
金字塔光流法是对L-K光流法的改进,使得其能检测到在相邻帧间运动尺度较大的目标。
光流法的应用
运动目标检测与跟踪
应用
运动目标检测与跟踪是计算机视觉、图像与视频处理及模式识别领域的一个重要课题,其主要目标是获取运动目标的运动参数(如位置、速度、加速度等)以及运动轨迹,从而进行进一步处理与分析,实现对运动目标的行为理解,以完成更高一级的任务。
将上式按一阶Taylor公式展开可得:
将两边的I ( x , y ,t)相抵消,并整理可得:
或
因为光流约束方程只有一个方程却有两个未知数,因此,需要增加其他约束才能解决这个问题。
光流的计算方法
通过光流方程我们可以看出,光流方程只有一个,但有两个未知数,因此仅使用光流约束方程是不能确定图像光流,需要引入其他约束条件,引入不同的约束条件,就会产生不同的光流计算方法。目前较为常用的光流计算方法主要有:基于梯度的方法,基于匹配的方法,基于频域的方法和基于相位的方法。其中最常用是基于梯度的光流算法,该方法也被称为微分法。主要根据图像灰度的梯度函数得到图像中每个像素点的运动矢量,基于梯度的光流算法已得到广泛应用。本节主要介绍基于梯度的光流法中两种经典的光流算法:Horn-Schunck算法和Lucas-Kanada算法。
机器视觉作业论文
************
论文题目:光流法简述
2014年12月20日
光流法简述
引言
基于机器视觉的运动目标方法比较主流的有帧差法、背景差法、光流法等。相比其他几种而言,光流法来源于仿生学思想,从更加本质的方面揭示了基于视觉的运动目标检测的原理;比其他方法有更加牢固的数学基础;也比其他方法有更高的检测精确性等诸多优势。只要在有限的牺牲精确度的情况下解决了光流法的计算复杂性问题,该方法必然能成为运动目标检测问题的唯一首选方案。
研究生物行为,将生物科学与工程学相结合是未来科学发展的趋势,也是目前世界上公认的研究方法。从对昆虫的视觉机理实验中,科学家们已经发现了大量的昆虫在导航的时候使用的真是光流法。试想一下,昆虫仅仅具有简单的大脑和及其微弱的计算能力,但却表现出令人惊叹的复杂导航行为,这个事实给了我信息,我个人为:通过改进算法和硬件,更深入的学习大自然,必然能解决光流法的实时性差这一难题,将其推向实用。基于此,将现阶段我所了解的光流法的原理与应用方面总结整理,遂成此文。由于本人从事智能车方面的项目,设计移动目标检测和导航问题,故主要只写了这两方面的应用。
(1)Horn-Schunck算法
Horn-Schunck光流法是在基于强度不变假设的条件下,引入了全局光流平滑约束假设,假设在整个图像上光流的变化是光滑的,即物体运动矢量是平滑的或只是缓慢变化的,尤其对刚体来说,其各相邻像素点间的速度是相同的。Horn和Schunck利用光流约束方程和全局光流平滑假设一起来计算V,该方法得到的是稠密光流场,由于相邻像素点运动速度相同,因而对于局部区域来说,其速度的空间变化率为零,进而得出光流矢量的梯度接近于0,Horn引入的约束条件的基本思想是光流需要尽可能的平滑,使平滑约束项 极小化。
光流场与运动场
物体在空间运动时会产生三维运动场,运动前后空间对应点在图像上的投影就会形成一个二维运动场。光流场就是运动场在二维图像上的投影,光流场携带了关于物体结构和运动的信息。研究光流场的目的主要是希望从序列图像中近似计算出不能直接得到的运动场。
图1.2.1
在物体的运动过程中,在某一特定时刻,三维场景中的某一点根据投影方程对应成二维图像上一点,根据透视投影原理,三维场景中一点与图像上的对应点的连线经过光学中心,如图1.2.1所示。
随后,一系列关于昆虫视觉机理方面实验结果表明,大多数昆虫都可以通过光流测量自身运动,进而通过积分获得自身飞行的距离。1976年,Poggio和Reichartdt在研究昆虫视觉时提出了关于光流的粗略计算形式;关于光流的有效计算方法的提出,是在1981年Horn和Schunck、Lucas和Kanade将二维速度场与灰度相联系,引入了光流约束方程,对光流计算做了奠基性的工作。
光流法的理论背景
光流法的提出、发展及现状
早在二十世纪五十年代就已经有人着手于光流法的研究,心理学家Gibson在他的著作“The Perception of the Visual World”中提出了环境光(ambient optic)、环境光阵(ambient optic array)、光流(optic flow)、光流阵(optic flow array)等基本概念。
根据光流基本等式,光流误差 进行极小化,得到:
于是对光流场的求解可转化为对如下问题的解:
(2)Lucas-Kanada算法
Lucas-Kanada即L-K光流法最初于1981年提出,该算法假设在一个小的空间邻域内运动矢量保持恒定,使用加权最小二乘法估计光流。由于该算法应用于输入图像的一组点上时比较方便,因此被广泛应用于稀疏光流场,L-K算法的提出是基于以下三个假设:
图中f为摄像头镜头焦距,z为镜头中心到目标点的距离。假设 相对于摄像机的运动速度为 ,那么与之对应的点 也会产生一个运动速度 ,则 和 分别如下式所示:
和 之间的关系为:
上述公式反映了三维空间物体运动和图像平面投影之间的对应关系,同样的,物体在空间运动的三维速度场也会在二维图像平面形成投影,这个投影就是图像的运动场。简单来说,图像运动场就是对图像中所有像素点各赋予一个速度矢量。另外,物体的某个点的运动除了会导致图像中对应点的运动外,同时也会带来对应点的亮度模式的运动。光流就是图像亮度模式的表观运动,是空间运动物体被观测面上像素点的运动产生的瞬时速度场。
物理光学概念是以能量为基础的,但Gibson认为,对人和动物来说能量没有很直接的意义,比如说可见光外波长的光,具有物理学的意义,但对人的视知觉没有任何贡献。因此,他引入了生态光学理论(ecological optics theory),以强调知觉对动物在自然环境下生存和发展的意义。人在环境中行动,光线来自各个方向,外在空间的每一点的光线分布各不相同。这种光线分布称作“环境光”。环境光对人具有重要生存意义,它的特殊分布提供了空间视觉的信息。研究环境光对人的视觉的作用的科学就是生态光学。由于生态光学理论以物理光学为基础,对于视知觉的解释又极为简明,特别受到计算机视觉研究者的重视。在Gibson他提出一系列的光流概念之后,便有学者提出利用二维平面的光流场来恢复三维空间运动参数和结构参数的假设。
由于光流在图像处理、目标跟踪等领域的重要性,研究人员又陆续推出了一些新的方法,这些方法大致分为五类:基于匹配的方法、基于梯度的方法、基于频域的方法、基于相位的方法和神经动力学方法。
基于匹配的方法包括基于区域和基于特征两种方法,实质上是在图像序列中的各图像之间,搜索出对应的图像区域最佳拟合的位移,所得到的位移即为目标运动矢量。该类方法在视频编码中得到了广泛的应用。基于特征的方法对于目标的速度和亮度变化具有较好的鲁棒性。基于匹配的两种方法存在的主要问题是,得到的光流通常比较稀疏,要实现精确匹配比较难。
神经动力学方法是利用神经网络建立的视觉运动感知的神经动力学模型,它是对生物视觉系统功能与结构比较直接的模拟。
光流的
我们观察三维世界中目标的运动时,运动目标的轮廓会在我们的视网膜上形成一系列连续变化的图像,这些连续变化的信息不断的“流过”人眼视网膜(即图像平面),就像是一种光“流”过一样,称为光流(opticalflow)。在视频跟踪领域,光流是指图像中灰度模式的表面运动,是物体的三维速度矢量在成像平面上的投影,它表示了物体在图像中位置的瞬时变化。
基本光流方程
光流可看作为带有灰度的像素点在图像平面上运动而产生的瞬时速度场,Horn和Schunck假设图像区域在时间和空间上都是连续且可导的,这是光流计算中的一个重要约束条件。对于一个图像序列,我们假设图像中一个像素点( x ,y)在t时刻的亮度值为I ( x , y ,t)如果u ( x ,y)和v ( x ,y)表示( x ,y)处光流在x和y方向的运动分量,在足够小的一个时间dt,点( x ,y)移动到点( x + dx ,y +dy),其中dx=udt,dy=vdt,根据亮度恒定的假设,即沿某运动轨迹曲线的各帧中相应的像素点具有相同的灰度值,即图像上对应点亮度不变,由此我们可以得到:
图1.2.2光流场与运动场不一致
光流场是对运动场的一个近似,即光流场并不一定能反映物体的实际运动情况。在理想情况下光流场与运动场是相对应的,但也存在不对应的时候,例如一个质地均匀的球体在某一光源的照射下,若球体不动而光源运动,如图1.2.2(a)所示,这样球体与光源会有相对运动,其亮度模式会发生变化,光流并不等于零,但因为球体并没动,所以运动场为零。同样地,运动场的改变也未必能引起光流场的变化,上面那个例子中,若光源不动而球体围绕着自身轴心旋转,如图1.2.2(b)所示,其运动场发生了改变,而其亮度模式并没有发生变化,因而其光流场不变。由此可得光流场并不完全等价于运动场。通常我们可以认为光流场与运动场等同,通过图像光流场可以研究图像序列中物体的运动信息。