一种改进的camshift/kalman运动目标跟踪算法
刘士荣,姜晓艳
(杭州电子科技大学自动化研究所,浙江杭州310018)
摘 要:针对目标跟踪中的目标遮挡、丢失等情况,提出了一种改进的基于空间边缘方向
直方目的camshift/kalman跟踪算法。首先,利用空间边缘梯度方向作为匹配信息,同时自适应修正每帧中的匹配模板,再使用kalman滤波器对运动目标的位置进行预测更新,以克服目标遮挡情况及噪声的干扰。实验表明,该算法能够较好处理目标遮挡情况,实现运动目标的高精度跟踪。
关键词:边缘方向直方图;camshift;目标跟踪
中图分类号:tp 27 文献标识码:a
1引言
运动物体的目标跟踪是机器视觉研究领域的热点之一,许多学者已提出多种目标跟踪算法及其相关的应用。meanshift算法以其无参数,快速匹配的优越性被广泛应用到目标跟踪领域。它最早由funkunage等人提出并应用到模式识别中;cheng将它引入到计算机视觉领域,并将其应用于目标跟踪。但是meanshift无法在跟踪过程中对目标模型进行更新,当目标尺寸变化严重时,导致跟踪不精确,甚至会丢失目标。为了解决此类问题,bradskj[4]提出了camshift算法。这是一种将meanshift算法扩展到连续图像序列而得到的运动跟踪算法,它可以自动调节窗口大小以适应目标在图像中的尺寸变化。它在一定程度上解决了由于运动目标的形变造成的跟踪不精确问题。文献[5]中通过自通应扩展搜索窗口解决了因目标加速度而引起的目标瞬间丢失问题。但是由于camshift算法是仅基于色彩信息建立目标直方图模型进行跟踪,使得它易受颜色相近的干扰物影响,在目标与背景颜色接近或目标被遮挡时,算法的效果不太理想。
本文基于camshift算法提出了一种改进的camshift/kalman运动目标跟踪算法。该算法利用边缘方向直方图代替颜色直方图,进一步引入目标模型的空间信息,结合kalman滤波器对运动目标的状态进行预测更薪,并且对每帧中的模板采取自适应更新策略。本文所提出的方法具有较强的抗干扰性,且具有较好的精确性和稳定性。
2空间边缘方向直方图
1)边缘检测 图像边缘可以看成是由特定方向和幅值的像素点所构成[6]。对灰度图像g进行边缘检测,分别使用sobel算子的两个模板:
与g进行卷积运算,得到水平和垂直方向的边缘图像g,则g中任一像素骱处的梯度幅值和方向分别表示为
式中,gij1∈g1,gij2∈g2分别对应gij∈g,i,j分别为像素对应的行数和列数;o≤d(gij)≤180度。
2)空间边缘方向直方图 为了统计数据以便计算直方图,将d(gij)量化为n等分,n的值可根据需要选取,取值越大精度越高,计算量也越大。本文取n=8。为达到不受图像缩放的影响,需要将边缘方向直方图归一化。则边缘方向直
式中,w,h分别为源图像的宽、nk为满足δ≠0且落在第k个角度区间内的像素点个数。
以lena图像为例,分别对iena图像进行边缘扫描和计算边缘方向直方图,所得结果,如图1所示。
上述方法反映丁二维图像的数据信息。将边缘为解方向直方图与空间信息结合,得到空间边缘方向直方图[78],而与目标边缘结构相关,且能够明显区分边缘不精确问题,效果不太理想,甚至丢失目标。解决以上问题,考虑边缘方向直方图不依赖目标的色
用下式来定义两幅空间边缘方向直方图的相似度:
|