Advertisement

OpenCV学习之路——光流追踪

阅读量:

一、基于特征点的目标跟踪的一般方法

基于特征点的跟踪算法大致可以分为以下步骤:

复制代码
      1)探测当前帧的特征点;
    
      2)通过当前帧和下一帧灰度比较,估计当前帧特征点在下一帧的位置;
    
      3)过滤位置不变的特征点,余下的点就是目标了。

很显然,基于特征点的目标跟踪算法和1),2)两个步骤有关。特征点可以是Harris角点,也可以是边缘点等等,而估计下一帧位置的方法也有不少,比如这里要讲的光流法,也可以是卡尔曼滤波法。
本文中,用改进的Harris角点提取特征点,用Lucas-Kanade光流法实现目标跟踪。

二、光流法

1.首先是假设条件:

复制代码
       (1)亮度恒定,就是同一点随着时间的变化,其亮度不会发生改变。这是基本光流法的假定(所有光流法变种都必须满足),用于得到光流法基本方程;
    
       (2)小运动,这个也必须满足,就是时间的变化不会引起位置的剧烈变化,这样灰度才能对位置求偏导(换句话说,小运动情况下我们才能用前后帧之间单位位置变化引起的灰度变化去近似灰度对位置的偏导数),这也是光流法不可或缺的假定;
    
       (3)空间一致,一个场景上邻近的点投影到图像上也是邻近点,且邻近点速度一致。这是Lucas-Kanade光流法特有的假定,因为光流法基

全部评论 (0)

还没有任何评论哟~