APP下载

基于SIFT特征和卡尔曼滤波的运动目标跟踪方法

2015-05-04李佳

数字技术与应用 2014年12期
关键词:旋转目标跟踪卡尔曼滤波

李佳

摘要:针对运动目标发生旋转、尺度变化时跟踪难的问题,提出一种基于SIFT和卡尔曼滤波的跟踪方法。首先用卡尔曼滤波进行目标位置初定位,其次对运动目标SIFT特征进行分析计算,得到目标的运动方向,中心位置移动量,以及尺度变化量,最后以矩形框出运动目标。仿真结果表明:提出的方法对旋转、尺度变化的目标有较好的跟踪效果,而且计算量小,能保证跟踪的实时性。

关键词:SIFT特征 卡尔曼滤波 旋转 尺度变化 目标跟踪

中图分类号:TP391.41 文献标识码:A 文章编号:1007-9416(2014)12-0033-02

1 引言

目前常用的目标跟踪方法有均值漂移(Mean shift[1])算法、粒子滤波[2]算法以及卡尔曼滤波算法[3]以及各种组合[4-6]算法。Mean shift算法利用加权颜色直方图描述目标,通过求解Bhattacharyya系数局部极大值位置以实现目标跟踪,由于采用固定的窗口以及垂直的核函数,因此对尺度变化和旋转的运动目标不能有效的跟踪。粒子滤波是基于递推计算的序列蒙特卡罗算法,通过寻找一组随机样本对概率密度函数进行近似,来获取状态最小方差分布的过程,但是该类方法复杂度高,不能满足实时性要求,同时对目标尺度变化及旋转时的跟踪精度不高。为了解决跟踪具有尺度变化和旋转目标跟踪的问题[7],提出一种基于SIFT[8]和卡尔曼滤波的跟踪方法。首先提取目标模板的SIFT特征以及初始化卡尔曼滤波器,用卡尔曼滤波器预测当前目标的可能位置,其次在可能位置提取SIFT特征与目标SIFT特征进行匹配,最后对匹配后的特征进行分析计算,获得旋转角度参数、尺度变化参数以及目标位置,最后以矩形框出运动目标。实验结果表明:提出的方法对旋转、尺度变化的目标有较好的跟踪效果。

2 卡尔曼滤波建模

卡尔曼滤波算法是一个最优化自回归数据处理算法,在时域内采用递归滤波的方法对系统状态进行最小均方误差估计,具有计算量小,可实时处理的特点,利用卡尔曼滤波对目标轨迹的估计和预测是非常有效的。卡尔曼滤波利用场景中目标以往的位置信息预测本帧图像中目标的可能位置。

由于卡尔曼滤波算法只适合于线性且呈高斯分布的系统,卡尔曼滤波算法包含两个模型:

假定运动目标的中心在X,Y轴上是一个随机加速且被干扰的直线运动,加速度是一随机量。状态向量,其中,分别是目标中心在X、Y轴上的位置坐标,、是目标在X、Y轴上的速度。观测向量,、分别是目标中心在X、Y轴上的观测值。

状态模型可建模为:

观测模型可建模为:

设初始值,,。、是初始帧目标的中心坐标。

3 SIFT特征

SIFT特征算法是通过检测多尺度高斯差分的极值点,在极值点的邻域内用梯度直方图向量对目标特征点进行描述。在SIFT特征点检测时,用不同尺度的高斯核函数进行滤波形成高斯金字塔图像时,由于视频中相邻两帧图像中运动目标的尺度变化不大,文中采用3个尺度,对后期的匹配结果没有太大的影响,同时减少了计算量。SIFT特征点的梯度值和梯度方向分别为m(x,y)和θ(x,y)。

在SIFT特征点描述时,取以特征点为中心的8像素×8像素大小的邻域,将此领域均匀地分为4×4个子区域,对每个子区域计算梯度方向直方图(直方图分为8个方向),对4×4个子区域的8个方向梯度直方图根据位置排序,构成128维的向量。SIFT特征匹配采用特征点向量间的欧氏距离作为相似性判定度量,将具有最小欧式距离的两个SIFT特征点匹配起来。

4 目标矩形变化参数求解

设前一帧目标区域矩形为,其中表示矩形的中心坐标,θ0表示矩形相对于Y轴的夹角,H表示矩形的长,W表示矩形的宽。同理当前目标区域矩形为。

4.1 旋转角度参数计算

对于匹配上的两个特征点M0和M1,其主方向分别为R0和R1,则物体旋转角度通过匹配的两个特征点的主方向差分得到,单个特征点得到的计算结果存在误差,通过多个特征点主方向差分的统计结果得到,则目标矩形旋转角度和矩形倾斜角度为

4.2 尺度大小参数计算

图1中,两虚线和两直线Lh、Lw组成的矩形为目标的外接矩形,其中:A点和C点,B点和D点为前后两帧相匹配的SIFT特征点。则当前帧目标矩形的的长H和宽为:

只要有两对匹配的特征点就可以计算得到尺度信息,假设有n对相匹配的SIFT特征点,在匹配的特征点中选取距离比较大的特征点对,选取M对,计算尺度信息,去除最大最小的带来的误差,再求取平均值。

4.3 目标中心位置定位

经过SIFT特征匹配后,,则目标区(前一帧目标区域)和卡尔曼预测区域的SIFT特征集可表示为和,。目标偏移量计算采用平均值的方法,目标区域矩形中心点坐标为

5 实验结果与分析

实验中采用VC++6.0开发平台,运用OPENCV2.2.4开源机器视觉库进行编程实现。为了验证本文方法的有效性,在室外路口处拍摄一段视频,分辨率为1280×720,跟踪目标为一路口拐弯辆车,其方向、位置以及尺度大小都发生了变化,并与文献[1]中经典的Meanshift算法进行跟踪试验对比。

图2为经典Meanshift跟踪算法仿真实验结果。如图2中第30帧、60帧和97帧,经典的Meanshift跟踪算法只能垂直水平的框出运动目标,不能有效的跟踪运动目标的运动方向,在车辆远离摄像机镜头时,不能有效的改变矩形框大小,不能很好的适应运动目标旋转,造成车辆跟踪定位误差,而本文提出的算法是采用SIFT特征信息,有效提取车辆的运动方向、位置以及尺度变化参数,如图3中(a)和(b)的跟踪效果,目标矩形框的方向和长宽和位置,随车辆运动变化而变化,能有效的跟踪车辆,定位车辆的位置相比经典Meanshift算法好,能跟踪具有旋转、尺度缩放的运动目标。

6 结语

为了解决跟踪具有尺度变化和旋转目标跟踪的问题,提出一种基于SIFT和卡尔曼滤波的跟踪方法。首先用卡尔曼滤波器预测当前目标的可能位置,在预测区域提取SIFT特征与目标SIFT特征进行匹配,其次对匹配后的特征进行分析计算,获得旋转角度参数、尺度变化参数以及目标位置,最后以矩形框出运动目标。实验结果表明:提出的方法对旋转、尺度变化的目标有较好的跟踪效果。

参考文献

[1]Comaniciu D, Meer P. Mean shift: A robust approach toward feature space analysis[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on,2002,24(5): 603-619.

[2]张俊根,姬红兵.IMM 迭代扩展卡尔曼粒子滤波跟踪算法[J].电子与信息学报,2010,32(5):1116-1120.

[3]Weng S K, Kuo C M, Tu S K. Video object tracking using adaptive Kalman filter[J]. Journal of Visual Communication and Image Representation, 2006, 17(6): 1190-1208.

[4]Li X, Zhang T, Shen X, et al. Object tracking using an adaptive Kalman filter combined with mean shift[J]. Optical Engineering, 2010, 49(2): 020503-020503-3.

[5]HU B, CHEN K, XU J, et al. Video object tracking based on Mean-shift with self-adaptability search window and Kalman prediction[J].Journal of Optoelectronics. Laser, 2009, 11:025.

[6]朱志玲,阮秋琦.结合尺度不变特征变换和 Kalman 滤波的 Mean Shift 视频运动目标跟踪[J].计算机应用, 2013, 33(11): 3179-3182.

[7]Ning J, Zhang L, Zhang D, et al. Scale and orientation adaptive mean shift tracking[J].Computer Vision, IET, 2012, 6(1): 52-61.

[8]Ke Y, Sukthankar R. PCA-SIFT: A more distinctive representation for local image descriptors[C]//Computer Vision and Pattern Recognition, 2004. CVPR 2004. Proceedings of the 2004 IEEE Computer Society Conference on. IEEE, 2004, 2: II-506-II-513 Vol. 2.

猜你喜欢

旋转目标跟踪卡尔曼滤波
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
多视角目标检测与跟踪技术的研究与实现
后外侧加后内侧入路治疗旋转加垂直暴力引起的三踝骨折46例
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于车牌识别的机混车道视频测速算法
基于扩展卡尔曼滤波的PMSM无位置传感器控制
基于自适应卡尔曼滤波的新船舶试航系统