光流 (Optical Flow)--未完待续

光流 (Optical Flow)

物体在运动的时候,它在图像上对应像素点也在做相应的运动,这种图像像素的表观运动就是光流,即空间运动物体在观察成像平面上的像素运动的瞬时速度。

当人的眼睛观察运动物体时,物体的景象在人眼的视网膜上形成一系列连续变化的图像,这一系列连续变化的信息不断流过视网膜(即图像平面),好像一种光的流;,故称之为光流(optical flow)。

光流 (Optical Flow)--未完待续_第1张图片

光流场

光流场是由光流引申出来的,它指的是景物中可见像素点的三维速度矢量在成像表面投影形成的二维瞬时速度场。空间中的运动场转移到图像上就表示为光流场,光流场反映了图像上每一点的灰度变化趋势。

光流表达了图像的变化,由于它包含了目标运动的信息,因此可被观察者用来确定目标的运动情况。


光流场法实现目标检测的基本思想:

  • 首先计算图像中每一个像素点的运动矢量,即形成了该图像的光流场;
  • 如果场景中没有运动目标,则图像中所有像素点的运动向量应该是连续变化的;
  • 如果有运动目标,由于目标和背景之间存在相对运动,目标所在位置处的运动向量必然和邻域(背景)的运动向量不同,从而检测出运动目标。

优点:
通过计算光流场得到的像素运动向量是由目标和摄像机之间的相对运动产生的。因此该类检测方法可以适用于摄像机静止和运动两种场合。在比较理想的情况下,它能够检测独立运动的对象,不需要预先知道场景的任何信息,可以很精确地计算出运动物体的速度。

缺点:
在实际的应用中,由于存在多光源、遮挡性、噪声和透明性等多方面的原因,光流场基本方程中的灰度守恒这个假设条件是得不到满足的,因此不能求解出正确的光流场,同时由于其采用的是迭代的求解计算方法,故需要的计算时间比较长,从而无法满足实时的要求,并且该方法受噪声的影响较大,因而该方法多适用于目标运动速度不大,图像噪声比较小的情况。


光流法是基于以下假设的:

 1. 亮度恒定,就是同一点随着时间的变化,其亮度不会发生改变。
 2. 小运动,时间的变化不会引起位置的剧烈变化(小运动情况下我们才能用前后帧之间单位位置变化引起的灰度变化去近似灰度对位置的偏导数)。
 3. 空间一致,一个场景上邻近的点投影到图像上也是邻近点,且邻近点速度一致。这是Lucas-Kanade光流法特有的假定。

你可能感兴趣的:(Python)