顾明琨,钟小勇
(江西理工大学 理学院,江西 赣州 341000)
近年来,目标跟踪技术发展迅速,在视频监控、人机交互、智能交通等领域有着广泛的应用。但由于跟踪时存在着遮挡、形变、光照变化等因素影响,如何在复杂场景中准确跟踪目标仍是目标跟踪领域的难点问题。
目标跟踪方法按照处理方式的不同,可以分为两类,一类是生成类模型类,另一类是判别类模型类。早期的目标跟踪算法大多是生成类模型,生成模型类是对跟踪的目标建立模型并识别,在下一帧图像中搜索与当前模型中最为相似的区域作为预测区域。比较经典的算法有卡尔曼滤波与粒子滤波等。这种通过单一数学模型描述待跟踪目标的方法,不能全面利用图像的背景信息,当受到光照变化,运动模糊等干扰时,会对模型建立产生较大影响。判别模型类是将目标模型和背景信息同时考虑在内,将目标跟踪看作是一个目标前景和背景的二分类问题,通过提取图像的特征,利用两者的差异进行在线学习来对分类器做相应的训练,该方法可以较好的提高跟踪精度。伴随着数字信号处理技术的发展,基于各种滤波方法的判别类模型由于其优异的性能和前景而受到学者们的青睐。相关滤波最初用于通信领域,用来描述信号之间的相关程度。在目标跟踪中则是将输入图像通过滤波器模板进行相关操作,得到一个尽可能理想的响应图,根据响应图最高峰的位置来确定目标的中心点。Bolme等学者在2010年提出的最小平方误差输出和跟踪算法(MOSSE,minimum output sum of squared error filter)首次把相关滤波的方法引入到目标跟踪中,并使用灰度特征进行学习,使得跟踪速度大幅提高,相关滤波器跟踪算法也因此备受关注。针对MOSSE算法中训练样本不足的问题,Henriques等人对其进行改进,提出循环结构的目标跟踪算法(CSK,exploiting the circulant structure of tracking-by-detection with kernels),利用循环矩阵的特性对样本密集采样,生成训练样本集,同时引入核函数,提高在高维特征空间中分类样本的速度。随后Henriques等人又在原CSK算法的基础上进行改进,使用方向梯度直方图(HOG,histogram of oriented gradient)多通道特征替换CSK中的单通道灰度特征,设计出了核相关滤波算法(KCF,kernel correlation filter)。该算法结合了CSK速度快的优点,使用了循环矩阵和快速傅里叶变换(FFT,fast fourier transform),并且在精确度和成功率上也有所提升,但是无法进行尺度估计。之后,Danelljan等人提出了判别式尺度空间目标跟踪算法(DSST,discriminative scale space tracking),DSST算法仍使用主流的HOG特征,通过二维的位置滤波器确定跟踪目标的位置信息,然后用一维的尺度滤波器对跟踪的目标进行尺度检测,两个滤波器工作相互独立,分别进行目标定位与尺度缩放。该尺度估计的方法可以很方便的移植到其他目标跟踪器中,但对位置滤波器的精度要求较高。
以上算法的跟踪性能虽然一直在不断完善,但均使用单一特征对目标进行跟踪,使得目标出现形变、遮挡等因素时容易丢失目标。Li等在KCF算法的基础上将颜色特征(CN,color naming)和HOG特征进行通道融合,提出了多特征尺度自适应目标跟踪算法(SAMF,scale adaptive with multiple features tracker)。该算法对目标进行七个尺度的缩放,然后使用一个滤波器同时进行尺度和位置的检测,对不同尺度分别进行相关滤波操作得到对应的响应值,比较选取响应值最大的一个作为最佳的目标尺度和位置。虽然该方法可以相互促进提高跟踪精度,但是检测时每个尺度都要进行一次特征提取和FFT操作,导致跟踪速度较慢,无法满足实时性的要求。
针对上述问题,本文以KCF滤波器为基础模型,在使用多特征目标跟踪的基础上引入了预测位置加权融合机制。通过计算每种特征的平均峰相关能量(APCE,average peak-to-correlation energy)所占权重和响应置信度以实现更精准的目标定位,并提高算法了在形变、旋转、遮挡等场景下的鲁棒性。
核相关滤波算法在跟踪过程中包含训练、检测和更新3个阶段。首先在第一帧图像中用矩形框框选出目标位置,采集矩形框中的图像特征。然后进行循环移位构建出目标位于不同位置的训练样本集,根据目标质心距离矩形框中心的远近赋予不同的标签。通过得到的训练样本集和其对应的标签训练出一个分类器,之后将下一帧图像的特征输入给分类器,计算最大响应位置来预测下一帧目标所在区域,最后使用检测结果来更新训练集和分类器。
相关滤波算法将目标跟踪问题转化为求解最小平方误差下的岭回归问题。可以写为:
(1)
其中:x
是样本数据,y
是回归目标,λ
是正则项系数,以防止过拟合,ω
表示分类器参数。求解岭回归的问题是为了找到一个使得样本x
和回归目标y
之间平方误差最小的决策函数f
(x
)=ω
x
,使平方误差达到最小值。将式(1)求偏导之后可以得到:
ω
=(+λ
)y
(2)
其中:是单位矩阵,是由基样本x
=[x
,x
,…,x
]构造出的一个n
×n
循环矩阵。而所有的循环矩阵C
(x
)都可以傅里叶域实现对角化,因此有:(3)
符号“^”是变量在傅里叶域中的表示,为的共轭转置,diag
表示对角化。将式带入中可以得到:(4)
其中:符号“⊙”表示元素对位相乘,符号“*”表示复共轭。将上述结果转换到傅里叶域中,并将简化为:
(5)
以上的推导都是在线性回归的情况下,实际应用中绝大多数都是非线性回归的情况。对于非线性问题,KCF使用核函数对数据进行非线性映射,将低维空间的非线性问题转变为高维空间的线性问题。拓展到核空间后,样本空间中的ω
可表示为对偶空间的线性组合:(6)
其中:φ
(x
)是一个非线性映射函数,映射后的样本线性可分。此时求解ω
的问题就变成了求解α
。给定核函数κ
(x
,x
′)=[φ
(x
),φ
(x
′)],[·,·]表示数学中的内积操作。分类器f
(z
)=ω
z
可以写为:(7)
根据对偶空间的回归问题求解得到:
α
=(+λ
)y
(8)
其中:表示核相关矩阵,α
是α
组成的分类器系数矩阵。当核矩阵为循环矩阵时:(9)
分类器为:
(10)
在检测过程中,使用已训练好的分类器对框选出的区域进行滤波计算,得到输出响应图,如果两个信号越相似,那么之间的相关性就越高,输出的响应值就越大。检测过程中的输出响应方程为:
(11)
x
和滤波器系数α
进行更新,通常采用线性内插法来更新模板参数,公式如(12)所示:(12)
图1 Basketball部分视频序列的特征权重变化
传统的KCF跟踪算法只使用HOG特征,HOG特征是一种视觉特征描述符,它通过计算和统计目标区域像素点的梯度方向直方图来获取目标轮廓或形态上的统计信息,由于其对光照变化和位置偏移不敏感,具有较强的鲁棒性,所以在检测行人、车辆、动物等物体上具有较好的效果。但由于HOG特征主要是反映目标局部形状和边缘,所以在遇到遮挡和快速形变时,经常会跟踪失败。而仅使用CN颜色特征跟踪的效果也并不好,CN特征是将RGB彩色图像细化为黑、蓝、棕、灰、绿、橙、粉、紫、红、白和黄11种预先定义的颜色,形成离散的11维颜色表示,其对旋转、形变等干扰有较强的抵抗能力,但是当目标出现严重的光照变化或快速变色时,仅使用CN特征就很容易出现目标漂移现象。由此可见只使用单一特征往往会由于其自身的局限性,无法应对跟踪场景中出现的各种困难。
选择多特征互补在理论上可以弥补各自的缺点,提升跟踪效果。而在选择特征类型和融合方式上是应当思考与细究的问题。
从特性来看,HOG和CN两种特征相互融合可以实现互补,但如果只是用简单的特征层相加方式进行融合,不进行权重分配,就会出现某一特征跟踪精度下降时,整体的跟踪性能下降的情况。因此本文首先使用主成分分析(PCA,primary component analysis)法对CN特征降维,提高运算速度,然后利用平均峰相关能量(APCE)和输出的响应峰值作为跟踪置信度,进行权重分配。
假设跟踪区域的大小为M
×N
像素,则该区域第t
帧图像的APCE值P
计算如下:(13)
其中:g
max, ,g
min, 和g
,, 分别是第t
帧图像在跟踪区域内的最大响应值、最小响应值和位置(m
,n
)处的响应值。我们可以将第t
帧的特征权重公式写为:(14)
式中,ω
,和ω
,分别为CN特征和HOG特征在第t
帧的权重。为确认该权重分配方法的有效性,采用OTB-2013数据集中的Basketball视频序列进行验证。
从图1可以看到在572帧到624帧之间,目标主要是在进行平移操作,形变较小,得到的特征权重变化图中HOG的特征权重高于CN。而之后目标产生形变和旋转,HOG特征权重显著下降。这表明该融合算法在不同的条件下能够实现自适应改变。
KCF算法在每一帧学习中都使用相同的学习率来更新模型。而在实际的应用场景中,由于背景杂乱、形变、遮挡等原因,使用相同的学习率更新容易将不可靠的跟踪结果引入到模型当中。模型误差的累计将导致跟踪失败,因此在跟踪质量较差的情况下应适当减小学习率。
响应图的峰值和波动可以一定程度上反应跟踪的质量,当跟踪结果较为理想时,响应图是只有一个尖峰,其他区域平滑的图像,而且响应峰值越高,周边区域越平滑,跟踪效果越好,如图2。而当跟踪过程出现了运动模糊等复杂情况时,响应图的峰值就会变低,顶部变宽,产生多峰现象,如图3。
图2 目标跟踪正常及三维响应图
图3 目标快速移动及三维响应图
为了避免模型更新而导致错误,本文根据响应图变化的结果,提出一种响应置信度判别方式:计算大于0.5倍峰值的响应值个数F
与大于0.28倍峰值的响应值个数F
,设响应置信度F
=F
/F
。当干扰比较少时,图像峰值高,高响应值点比较集中且占比小,没有多峰现象,所以F
的值较小。当受到干扰时,响应图峰值变低,产生多峰现象,高响应值的点占比增加,F
的值增大。由此就可以根据响应置信度F
的大小来使用不同的学习率分段更新模型。经过对响应置信度范围的实验验证,得出第t
帧的分段更新模型策略为:(15)
(16)
其中:η
与η
分别代表CN特征的学习率和HOG特征的学习率。F
较小时认为图像接近理想响应图,使用正常或较低学习率,当F
过大时,认为干扰强烈,不再继续更新模型。利用这种方法,不仅可以提高算法的鲁棒性,还可以用来解决某一特征跟踪失效的问题。
2.1章节中的多特征融合机制虽然可以自适应的进行权重分配,提高跟踪精确度,但是如果出现某一特征跟踪失效,产生相反的预测位置时,再使用加权的更新方式就会引入额外的误差,如图4所示。
图4 运动模糊时的CN特征与HOG特征响应图
由于图像在第549帧时产生运动模糊,HOG特征的跟踪精度下降。可以看到物体原本向左运动,CN特征得到的响应最高峰在左侧,但HOG特征由于受到干扰,得到的响应最高峰却在右侧。此时两种特征得出的预测位置截然相反,不适合使用位置融合机制,而应根据响应置信度F
来进行单一特征的位置更新。本算法的伪代码如下:
Input:当前帧图像I
,目标初始位置P
Output:检测到的目标位置P
fort
=1 toN
ift
=1 then1.在初始帧中选取目标图像块Patch
2.提取Patch
中的HOG特征和CN特征,并对CN特征降维。由式(8)初始化分类器。elset
≥23.提取并计算出两种特征的响应峰值g
、预测目标位置、响应置信度F
以及APCE的值4.if两种特征预测的目标位置差异过大then
使用F
值较小的特征进行位置更新else
通过权重ω
、ω
得到的融合位置进行更新end if
5.根据响应置信度F
计算更新速率,更新滤波器模型的参数。end if
end
η
、η
等其余参数设置与原KCF算法和CN算法相同,分别为0.02和0.075。响应置信度F
按照式(15~16)中来取,尺度变换部分使用了DSST算法的尺度滤波器。用于对比的算法参数均原用作者设定的默认参数。为了评估本文算法(OURS)的有效性,在OTB-2013数据集上选取了具有代表性的30组视频序列来与SAMF、DSST、KCF、CN算法进行对比。所选视频的主要属性包括以下11种:
1)14组光照变化( IV,illumination variation);
2)23组平面外旋转(OPR,out-of-plane rotation);
3)13组尺度变换尺度变化(SV,scale variation);
4)19组遮挡(OCC,occlusion);
5)11组变形(DEF,deformation);
6)7组运动模糊(MB,motion blur);
7)8组快速移动(FM,fast motion);
8)20组平面内旋转(IPR,in-plane rotation);
9)3组离开视野(OV,out of view);
10)10组背景复杂(BC,background clutters);
11)2组低分辨率(LR,low resolution)。
评估方法采用OTB-2013数据集中提出的距离精确度(DP,distance precision)、成功率(SR,success rate)及跟踪速度(FPS,frames per second)作为评价标准。
单帧图像的跟踪评价指标主要有中心位置误差(CLE,center location error)和覆盖域(OR,overlap region)两种。
中心位置误差CLE是指跟踪目标位置(x
,y
)与真实位置(x
,y
)间的距离,计算公式如下:(17)
中心位置误差的值越小,算法的跟踪精度就越高。但是中心位置误差只考虑了中心点的准确度,没有考虑目标外观的变化,不能反映算法在目标发生旋转、尺度变化时的跟踪精度。
覆盖域OR是根据人工标注的实际目标框和跟踪算法得到的跟踪框之间的重叠面积之比,来衡量算法的跟踪性能。
(18)
其中:|·|代表区域中的像素数目,r
、r
分别表示跟踪算法得到的预测区域和实际的目标区域,OR的取值范围为0到1,算法对目标的跟踪越精确,目标框的大小越接近于实际目标区域时,重叠率越接近1。所以旋转、尺度变化等干扰对算法的影响可以在覆盖域上得到体现。距离精确度DP是通过统计中心位置误差CLE小于某一设定阈值ε
的帧数N
占视频序列总长度N
的比值,绘制出精确度曲线。通常采用阈值为20个像素点对应的数值作为精确度评价指标,其计算公式如(19)所示:(19)
成功率SR是通过统计覆盖域OR大于某一设定阈值θ
的帧数N
占所有测试视频序列总长度N
的比值,绘制出阈值从0到1变化的成功率曲线。通常以特定阈值为0.5时对应的值作为跟踪器的成功率,其计算公式如(20)所示:(20)
具体本文算法(OURS),SAMF算法,DSST算法,KCF算法,CN算法在11种主要属性下的精确度DP和成功率SR结果如表1、表2所示,每组的最优结果用加粗显示。
从表1和表2中可以看到,对比主流的相关滤波跟踪算法,本文算法的精确度DP和成功率SR在大多数属性下要优于其他算法。
表1 5种算法在11种属性下的精确度DP
表2 5种算法在 11 种属性下的成功率SR
图5 综合评价曲线图
图5为算法执行一次的整体精度图和成功率图。该图显示出本文算法相比于原KCF算法,在精确度DP和成功率SR上分别提高了12.8%和22.6%和,同时也高于其他主流算法。将本算法中所有视频的总FPS数除以视频序列总数,可得到本文算法的平均FPS值为93.1。在保证较高跟踪精度的情况下,平均速度依然可以满足实时性的要求。
为了更直观的验证算法性能,我们选取了Deer、Singer2、Jogging2、Girl、Freeman1这5个视频序列进行定性分析。其中本文算法(OURS)使用红色实线框,绿色虚线框为SAMF算法,蓝色虚点框为DSST算法,黑色点横线框为KCF算法,粉色实线框为CN算法。
3.3.1 Deer序列测试
图6中,因为目标的快速跃起,在第24帧后开始产生运动模糊,导致仅用HOG特征的DSST和KCF算法丢失目标,使用HOG和CN通道融合的SAMF算法也因HOG特征的误差导致精度下降。而仅使用颜色通道的CN算法和使用了加权特征融合方式的OURS算法跟踪效果良好。
图6 在Deer序列上的跟踪对比情况
3.3.2 Singer2序列测试
图7中,由于目标在光照的影响下产生了颜色变化,导致CN算法丢失目标,SAMF算法也因为CN颜色通道的误差导致跟踪失败。而只使用HOG特征的DSST、KCF与加权特征融合的OURS算法跟踪效果良好。
图7 在Singer2序列上的跟踪对比情况
3.3.3 Jogging2序列测试
图8中,目标在经过信号灯等之前缓慢运动,所有算法的跟踪情况都较好。但在58帧左右时,目标经过信号灯被完全遮挡,之后CN、KCF和DSST算法产生了漂移现象,丢失了目标。只有SAMF算法和本文算法在遮挡后依然能成功跟踪目标。
图8 在Jogging2序列上的跟踪对比情况
3.3.4 Girl序列测试
图9中,从127帧可以看到,DSST算法由于位置滤波器预测的中心位置误差较大,导致尺度滤波器预测的尺度框大小也出现问题,而使用相同尺度滤波器的OURS算法因为预测位置更加精确,所以得到的尺度框大小正常。之后目标在437帧左右时出现相似物体遮挡的情况,使得DSST,KCF和CN算法出现漂移,最终跟踪失败。SAMF算法和本文算法在受到遮挡后都能继续跟踪到目标,且本文算法预测的中心位置更加精确。
图9 在Girl序列上的跟踪对比情况
3.3.5 Freeman1序列测试
图10中,目标由远至近运动,在第114帧时摘下眼镜,并在之后产生旋转。从153帧中可以看到,使用单一特征的DSST、KCF、CN算法都丢失了目标,SAMF算法则因为目标摘眼镜动作的干扰,导致模板更新后,跟踪位置漂移到了手上。而本文算法基于响应置信度,采用了分段更新策略,减少了模型受到的污染,最终可以成功跟踪到正确目标。
图10 在Freeman1序列上的跟踪对比情况
本文以核相关滤波跟踪算法为基本框架,利用特征响应图的峰值与平均峰值相关能量值的乘积,对HOG特征和CN特征得出的预测位置进行自适应融合,并提出了一种新的置信度判断方法。通过对模型的跟踪情况和特征的有效性检测,采用分段式更新策略,避免了模型污染,提高了位置融合的可靠性和复杂环境中跟踪的鲁棒性。实验结果表明该算法相对于原KCF算法,在跟踪精度和成功率上分别提高了12.8%和22.6%,且整体的性能优于其他常用的跟踪算法,并在抗遮挡、旋转、快速运动等方面也有较为明显的优势。同时本文算法的跟踪速度可达到93.1FPS,满足实时性的要求,有一定的应用价值。