陈少华,闫钧华,朱智超,孙思佳
(南京航空航天大学 航天学院,江苏 南京 210016)
目标跟踪越来越广泛的应用于军事和民用领域,例如航空和军用飞行器的精确制导系统、机载红外跟踪报警系统、重要场所的保安、汽车的自动驾驶或者辅助驾驶等。目标跟踪算法基本可分为:直接利用目标的灰度信息进行模板相关匹配跟踪;先检测后跟踪;基于目标运动估计的跟踪等。其中基于模板匹配的相关跟踪算法具有较强的局部抗干扰能力,稳定性能好,能适应较复杂的环境等而被广泛应用[1-2]。
在图像背景复杂的条件下,尤其是在连续帧动态图像跟踪中,图像的匹配变得相对困难。此时被跟踪目标不是一成不变的,可能有尺度的伸缩、位置的平移、角度的旋转等变化,因此需要研究一种方法对下一帧图像中目标的状态进行预测,从而缩小在整个图像上目标检测的搜索范围,以满足目标跟踪的实时性。同时跟踪算法需要采取自适应模板更新策略,对模板进行更新,以提高目标跟踪的稳定性[3]。
文中首先研究了kalman用于目标预测的方法,在此基础上研究了一种自适应模板的更新策略及实现方法,用来解决连续帧动态图像跟踪中由于目标的形变、大小、位置随时间变化而引起的目标跟踪点漂移。实验结果表明,该方法在连续帧动态图像跟踪过程中,能够对目标进行稳定跟踪,算法的实时性能较好。
目标跟踪的关键技术在于能够从图像中检测提取目标,并将其与被跟踪目标建立对应关系。而在整个图像上搜索以检测提取目标是非常耗时的,为了满足目标跟踪实时性的要求,应尽量缩小在整个图像上目标检测的搜索范围。为此,文中研究了kalman用于下一帧图像中目标状态的预测,从而缩小在整个图像上目标检测的搜索范围。当目标被遮挡时,目标有可能从图像中暂时消失,此时可利用对目标位置的预测值来代替目标的实际位置,从而实现对目标的持续性跟踪。
在跟踪过程中,由于相关两帧图像时间间隔较短,目标的运动状态变化较小,因此可以假设目标在单位时间间隔内是匀变速运动,则目标的运动趋势用速度和加速度表示。故得到下列kalman预测方程。
系统的状态方程:
式中定义kalman预测器的系统状态为xk,xk是一个六维向量(px,py,vx,vy,ax,ay),分别代表目标轨迹 X 方向的位置、速度和加速度与Y方向上的位置、速度和加速度。由前面的运动假设,可以得到系统的状态转移矩阵为:
式中Δt表示连续两帧图像间的时间间隔。其中wk-1是均值为零的高斯噪声序列,其协方差矩阵为:
观测方程:
在相关跟踪中,观测值为目标的中心位置和外在矩形的长宽度,因此观测向量为 yk=(px,py),观测矩阵 H 是一个 2×6维的矩阵,如下所示:
vk是零均值的高斯噪声序列,其协方差矩阵为:
状态更新方程为:
Kk为kalman预测器的增益矩阵:
文中利用25 frame/s的avi视频来对kalman目标预测器进行实验,视频图像的宽、高分别为320、240像素;模板的宽、高分别为34、21像素。实验得到基于kalman目标预测器的目标预测位置与利用模板匹配的目标位置如图1所示。
实验结果表明:利用三参数的kalman目标预测器对目标的位置进行预测,能够稳定的实现对目标的跟踪。利用kalman目标预测器对目标进行轨迹预测,可以使目标跟踪算法在相对较小的区域内搜索目标,文中确定的搜索区域为80×80像素,这样不仅提高了匹配速度,而且适用于速度较快的运动目标的跟踪。当目标被完全遮挡时,可以利用kalman目标预测器对目标的运动轨迹进行预测,可以使目标跟踪算法在特定区域内搜索目标,等待目标的重新出现。
在目标相关跟踪过程中,模板的更新机制直接影响跟踪的性能[4]。若模板更新频率过低,则跟不上目标的变化;若模板更新过于频繁,又容易受到光照、噪声和背景的影响,导致跟踪到假目标。现有的模板更新策略,基本上可分为3大类。第1类,将当前目标图像的最佳匹配位置处的图像作为目标模板进行下一帧图像的匹配。第2类,按照一个固定的权值对当前目标图像最佳匹配位置处的图像和旧模板加权来生成新的模板。第3类,根据当前帧的跟踪质量产生一个权值,对当前目标图像最佳匹配位置处的图像和旧模板加权产生新的模板。前两类的更新策略没有考虑到跟踪效果的好坏,若前一帧图像质量较差,或者前一帧跟踪质量不佳,势必影响后续帧的跟踪,造成跟踪误差累积,从而导致跟踪的失败,或者跟踪错误。第3类更新策略虽然根据跟踪效果的好坏进行了加权更新模板,但是这种方法不能根据目标的变化更新模板的大小,因此不能适应目标的大小和姿态变化。由此可见,当目标发生姿态、大小变化或受到遮挡时,如果用上面3类方法更新模板,因为模板不能很好的反映目标的变化,最终会导致跟踪的失败或者错误。文中提出了一种自适应的模板更新算法,新算法的流程如图2所示。
图1 kalman目标预测位置与目标测量位置比较图Fig.1 Comparison between position of kalman target predict and position of target measured
笔者采用归一化的相关系数作为相似测度[5]:
其中 0≤R(i,j)≤1。 R(i,j)越大,表示模板与当前子图匹配程度越高;R(i,j)越小,表示模板与当前子图匹配程度越低,故选择整幅图像中R(i,j)最大的值作为目标的最佳匹配位置即跟踪位置。这种基于归一化相关系数的模板匹配目标相关跟踪算法的缺点是:采用整幅图像作全局搜索,需要计算相似测度,运算量较大、实时性不好、跟踪速度很慢。因此本文利用kalman目标预测器对目标进行轨迹预测,使目标跟踪算法在相对较小的区域内搜索目标,提高匹配速度。
图2 自适应模板更新算法流程图Fig.2 Flow diagram of algorithm for adaptive template updating
模板与当前子图匹配程度由相似测度R表示,计算当前帧与当前模板的相似测度R。模板评价函数是计算前一次匹配峰值与当前匹配峰值的差值ΔR。当R>R1&ΔR<R3时表示模板与当前子图匹配成功。
当ΔR落在某一区间内的时候对模板进行更新[6],即:
的取值规律如相似测度所讲,在此们需要匹配程度不能太低,故需要满足。当时,当前图像与模板匹配的很好,目标几乎没有变化,不必更新模板;当时,当前图像目标区与模板相比发生了很大变化,可能有物体遮挡目标,或者目标发生了形变,此时需要判断是否需要更新模板,以免发生错误。和一般是通过实验获得的经验值。其中的取值要特别注意:若取值太大,由于变化模板构造对于目标有滞后性,这会使得当目标变形较大时,容易产生累积误差,造成新模板与目标产生很大的差距;若取值过小,由于场景对目标的滞后性,这会导致模板变换过于频繁,目标在某一帧产生跳跃时会造成很大误差。若取值太小,会造成跟踪算法不能抵挡微小的形变,必须不断地判定是否发生遮挡、形变,导致目标有滞后性;若太大,则不能有效地检测目标的形变。
自适应模板更新算法流程如图2所示。
1)基于kalman目标预测器对目标进行轨迹预测。
2)计算当前帧与当前模板的相似测度R及评价函数ΔR。根据相似测度R及评价函数ΔR的值判定其是否满足匹配成功的条件,若满足R>R1&ΔR<R3则进一步判定是否需要更新模板。若满足ΔR<R2则使用基于目标模板缓冲区的模板更新方法;若满足ΔR<R2,则说明当前模板与图像匹配的非常好,无需更新。这样能保证模板是最好的以及最新的。
3)若不满足匹配成功的条件,则进一步判定匹配失败的原因。匹配失败可能由于目标被遮挡及目标发生形变而造成的,这需要进一步的判定。此时提取当前位置上的目标,对当前目标的外接矩形的宽度和长度进行计算,与模板中提取出的原有目标值进行比较。 如果 Δheight>0.4×Height,Δwidth>0.4×Width,其中Height、Width分别是原来目标中的高度和宽度,Δheight,ΔWidth是当前目标与原来目标的长度和宽度的差值。由于两帧之间的目标形变不可能太大,所以当尺寸变化太大时,是由于目标被遮挡造成的,此时将kalman预测的位置作为目标的最佳匹配位置,进入下一帧循环。如果Δheight>0.4×Height,Δwidth>0.4×Width,这说明匹配的不好是由于目标形变和放缩造成的,此时在最佳位置上使用双线性插值,使得目标与当前模板中目标一样大小,再次进行匹配。此时如果相关值R较大,则说明刚刚的判断是准确的,以当前最佳位置上提取的目标作为新模板。本实验中R取0.9。
目标模板缓冲区是在内存中开辟的缓冲区,用于存放最近几帧中跟踪较好的目标模板。将新目标模板取代目标模板缓冲区中最旧的目标模板,并保存相应的相关系数,然后选出目标缓冲区中相关系数值最大的目标模板作为下一帧跟踪的目标模板。如此,既保证了目标模板是最好的,又保证了目标模板是新的。模板更新公式[7]如下:
其中Ti为新模板,即在该帧存入模板缓冲区的模板,Told为旧模板,即从模板缓冲区内(设定为过去的N(本文取5)幅)比较优秀的模板中选出对应的相关系数最好的一个做为当前帧的旧模板,Tcur为当前帧跟踪位置上分割所得的新模板。Ci为加权的权值,如果采用相关跟踪匹配时,Ci便是相关系数,用来存放N个与N帧模板相对的相关系数R的区域。
实验表明,采用这种目标模板更新,不仅有效地抑制了跟踪误差的累积和跟踪目标的漂移,而且即使跟踪过程中有些帧跟踪得不好,下一帧往往又能回到正确的跟踪位置。
在模板更新时,需要对图像进行重新切割并重新提取模板边界[8],在分割模板扩展区域时(文中取比模板图像的长宽各增大40%的区域),采用sobel进行目标检测。由于模板扩展区域最丰富的就是目标的边缘信息,同时少了模板外背景信息的干扰,使得采用此算法可以得到较好的分割效果。它的基本原理是:
2)根据边缘强度进行像素灰度值加权平均计算出图像的分割阈值,通过投影法确定目标区域。
文中仿真实验源程序在VC++6.0环境下开发,操作系统为Windows XP。视频是29 frame/s,像素avi视频。针对目标尺寸发生变化的情况,分别采用3种不同算法即:基于归一化相关的固定模板跟踪算法、基于归一化相关的逐帧更新模板跟踪算法和文中所提出的算法(其中R1=0.8,R2=0.03,R3=0.08),对目标进行跟踪实验,实验结果如图3、图4、图5所示:
图3 固定模板跟踪算法结果Fig.3 Results of fixed template tracking
图4 逐帧模板更新跟踪算法结果Fig.4 Results of template update per frame
图5 文中所提出的跟踪算法结果Fig.5 Results of tracking algorithm proposed
由图3可以看出,固定模板跟踪算法对于目标尺度变化的适应性较差,算法在233帧时就开始出现偏移,在261帧时偏移已比较严重,在279帧时已出现跟踪不稳定及错跟的现象。图4,逐帧模板更新的跟踪算法,由于误差及目标的变化,导致更新的模板只能反映图像的一部分变化,在228帧的时候就出现了漂移,虽然后面仍能跟踪目标,但漂移程度越来越严重。图5是采用本文所提出的跟踪算法得到的结果,算法在71、268等多帧处满足跟踪成功和模板更新的条件即满足,进行了模板更新,使得该算法的模板能有效地克服微小的形变。算法在12、183、220等帧的时候符合目标尺寸改变的条件,进行了目标模板尺寸的改变。由于自适应模板更新过程中引入了目标区域重新分割的过程,使得该算法在目标尺寸发生大的改变时仍能准确的跟踪目标。
为了提高目标跟踪的稳定性和实时性,本文提出了一种适用于复杂背景条件下连续帧动态图像的相关跟踪算法。主要研究了kalman目标预测的方法以及自适应模板的更新策略及实现方法。在模板自适应更新过程中引入目标区域重新分割,使系统能准确判定导致匹配失败的原因,并自适应修正模板尺寸。仿真实验结果表明,算法能够随着目标的形状、大小、位置的变化快速调整参考模板,进行稳定跟踪。同时由于kalman预测的引入,提高了目标跟踪的实时性。
[1]党晓军,尹俊文.一种基于模板匹配的运动目标跟踪方法[J].计算机工程与应用,2010,46(5):173-176.
DANG Xiao-jun,YIN Jun-wen.Templatematchingbased moving object tracking method[J].Computer Engineering and Applications,2010,46(5):173-176.
[2]杨勇智,文远保.一种改进的快速相关跟踪算法[J].计算机应用,2005,25(12):2843-2848.
YANG Yong-zhi,WEN Yuan-bao.Improved fast correlation tracking algorithm[J].Computer Applications,2005,25(12):2843-2848.
[3]靳鹏飞.基于自适应模板相关跟踪算法的研究[J].西安邮电学院学报,2007,12(1):44-47.
JIN Peng-fei.Study on correlation tracking algorithm based on adaptive reference template[J].Journal of Xi’an University of Post and Telecommunications,2007,12(1):44-47.
[4]Matthews L,Ishikawa T,Baker S.The template update problem[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2004,26(6):810-815.
[5]朱永松,国澄明.基于相关系数的相关跟踪算法研究[J].中国图像图形学报,2004,9(8):963-967.
ZHU Yong-song,GUO Cheng-ming.Research of correlation tracking algorithm based on correlation coefficient[J].Journal of Image and Graphics,2004,9(8):963-967.
[6]WU Pian-pian,WANG Jing-ling,ZHANG Qin.Covariance tracking algorithm based on paricle filter and adaptive template update[J].Proc.IEEE Conf.on Education Technology and Computer(ICETC),2010,3(7):199-202.
[7]PAN Zhou-jin,WANG Xiu-juan.Correlation tracking algorithm based on adaptive template update[J].Proc.IEEE Conf.on Image and Signal Processing,2010:98-101.
[8]Ostu N.A threshold selection method from gray level histogram[J].IEEE Transactions on Systems Man and Cybernetics,1979,9(1):62-66.