KLT跟踪算法(Kanade-Lucas-Tomasi Tracking Method)

来源:互联网 发布:淘宝客服旺旺如何设置 编辑:程序博客网 时间:2024/06/05 19:23

1.光流

光流的概念是Gibson在1950年首先提出来的。它是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。其计算方法可以分为三类:
(1)基于区域或者基于特征的匹配方法;
(2)基于频域的方法;
(3)基于梯度的方法;
光流基于光度不变假设,具体来说分成三个假设
(1)亮度恒定,前后帧观测到的对应点的灰度值一样。
(2)时间连续或者运动位移小。
(3)空间一致性:邻近点有相似运动,同一子图像的像素点具有相同的运动。
KLT是一种非常知名的光流方法。
公式参见参考1(待编辑)
KLT对于图像中的目标,并不是像SLAM直接法那样在目标框和跟踪框内的所有的点的窗口W中都求取偏移量,而是选择一些特征角点作为跟踪点,比如SIFT、SURF、FAST、SUSAN、HARRIS等,同时在这里shi-tomasi提出了一种Good Features的角点。他们认为,式中的对称矩阵Z包含了噪声和良好条件,当矩阵Z的两个特征值较小时,意味着以该点为中心W为窗口内是平坦的;一大一小的两个特征值,对应无方向的纹理特征;两个较大的特征值代表了当前点是角点或者椒盐纹理。所以,当两个特征值大于一定阈值时,选择这个点作为角点。

opencv 中对应的KLT example 可参见http://www.ces.clemson.edu/~stb/klt/
跟踪函数为goodFeaturesToTrack

参考:1.光流法与KLT