运动目标跟踪算法总结
1 传统的目标跟踪算法
运动目标跟踪,首先对目标进行有效地表达。然后在接下来的视频序列的每一帧中找到相似度与目 标最大的区域,从而确定目标在当前帧中的位置。 早期的生成式方法主要有两种思路: 1) 依赖于目标外观模型。通过对目标外观模型进行建模,然后在之后的帧中找到目标。 例如: 光流法。2) 不依赖于目标外观模型。选定目标建立目标模型,然后在视频中搜索 找到目标模型。例如: Meanshift。
1.1 光流法
光流法 (Lucas-Kanade) 的概念首先在 1950 年提出,它是针对外观模型对视频序列中的像素进行操作。通过利用视频序列在相邻帧之间的像素关系,寻找像素的位移变化来判断目标的运动状态,实现对运动目标的跟踪。 但是,光流法适用的范围较小,需要满足三种假设: 图像的光照强度保持不变; 空间一致性,即每个像素在不同帧中相邻点的位置不变,这样便于求得最终的运动矢量; 时间连续。光流法适用于目标运动相对于帧率是缓慢的,也就是两帧之间的目标位移不能太大。
随后,人们开始在光流法的基础上进行了改进。 将 Harris 角点检测与光流法相结合,将光流法中的像素换成 Harris 特征点进行目标跟踪,这样减少了跟踪像素的数量,使得算法的复杂度降低,处理速度加快。同时,相比于普通的像素,Harris角点对目标的描述更好,具有很强的鲁棒性。
光流法的缺点:它对视频中所有的像素进行计算,实时性差。采用一定的缩小计算范围的算法,具有重大意义。其中常见的算法有 Kalman 滤波、粒子滤波等。
1.2 Kalman 滤波
Kalman 滤波是一种能够对目标的位置进行有效预测的算法。 它建立状态方程,将观测数据进行状态输入,对方程参数进行优化。 通过对前 n 帧数据的输入,可以有效地预测第 n 帧中目标的位置,Kalman 估计也叫最优估计。 因此,在目标跟踪过程中,当目标出现遮挡或者消失时,加入 Kalman 滤波 可以有效地解决这种问题。
Kalman 滤波缺点是只适合于线性系统,适用范围小。针对 Kalman 滤波适用范围小这一问题,人们提出了粒子滤波的方法。粒子滤波的思想源于蒙特卡洛思想,它利用特征点表示概率模型。这种表示方法可以在非线性空间上进行计算,其思想是从后验概率中选取特征表达其分布。最近,人们也提出了改进平方根容积卡尔