田亚蕾, 马 杰, 杨 楠
(河北工业大学 电子信息工程学院,天津 300401)
运动目标跟踪,在监控、视觉导航以及医疗图像、人机交互等诸多领域有着广泛应用,是计算机视觉领域的一个重要分支[1].当前目标跟踪方法分为两大类:生成(generative)模型方法[2-4]和判别(discriminative)模型方法[5-7].近年来判别模型方法以其高效性流行起来,同时许多研究者[8-10]注意到相关滤波类方法可以在频域进行计算,从而加快运行速度.Blome等[8]提出了一种最小输出平方误差和滤波器,将相关滤波用在了跟踪领域,采用离散傅里叶变换使能够在频域对相似度进行计算,将算法的运行速度显著提高.在此基础上,Henriques等[9]提出了基于循环结构(CSK)的跟踪算法,利用循环结构提取样本并在频域进行计算,进一步提升了算法运行速度.Danelljan等[10]采用引入颜色空间特征[11]扩展CSK跟踪器的方法提出了自适应颜色跟踪(CNT)算法,实现了颜色的自适应跟踪.Henriques等[12]又将CSK算法的特征提取改为用方向梯度直方图(HOG)特征[13]替代原始像素,提出核相关滤波器(KCF)跟踪算法,进而提高了跟踪器的准确性与鲁棒性.王春平等[14]在特征提取和尺度自适应两个方面对核相关滤波跟踪算法进行了研究,提出了一种自适应核相关跟踪算法来改善KCF算法的跟踪性能.
KCF跟踪方法和以上的改进方法[10,14]都没考虑位置预测问题,在使用当前帧的目标位置确定下一帧目标位置的过程中,并不涉及目标的运动状态信息,当发生快速运动等干扰时,就会丢失目标导致跟踪失败.而Kalman滤波[15]能够根据当前帧中目标质心位置来预测下一帧中目标质心可能出现的位置,以最小均方误差为最佳递推估计准则,能较准确地预测出目标的速度和位置.因此,本文在KCF算法中加入Kalman滤波对跟踪过程进行目标位置预测.另外,文献[10,12,14]从特征表达的角度改进相关滤波算法,分别采用HOG特征、颜色名称特征(CN)、特征融合等代替原始灰度特征.受文献[10]启发,本文用CN特征对图像进行特征提取.针对传统KCF算法受快速运动、遮挡和相似物干扰等因素影响时导致跟踪失败这一问题,本文采用CN特征进行特征提取,并融合Kalman滤波器进行位置预测,对KCF的特征提取方式和跟踪策略进行改进.
KCF跟踪算法,首先在初始帧选定被跟踪的目标并构建跟踪区域,其次利用循环矩阵理论将跟踪区域进行循环移位,通过核函数来计算目标位置的可能区域与跟踪目标的相似程度,选取输出响应最大的区域作为新的目标,然后通过傅里叶变换快速训练分类器并完成目标检测,最终达到快速跟踪的目的.
KCF算法通过一个非线性映射函数φ(x),使映射后的样本能够进行线性计算,则在新空间中使用岭回归即正则化最小二乘法(RLS)对非线性回归函数f(x)=ωTφ(x)进行训练,得到一个权重系数ω:
(1)
其中xi是数据矩阵X每行的一个样本,yi是对应于样本的期望输出,λ是一个控制过拟合的正则化参数.由上式求极值可得线性分类器:
ω=(XTX+λI)-1XTy
(2)
(3)
且基于核函数的岭回归问题(KRLS)可表示为:
α=(K+λI)-1y
(4)
其中:α为αi所组成的向量,y为yi所组成的向量,I为单位矩阵,K为n×n核矩阵,满足Kij=k(xi,yi),将寻找最优ω的问题转化为寻找最优α的问题.
将具有感兴趣对象的块的n×1向量表示为x=[x1,x2,…,xn]T,作为基础样本.KCF中所有的训练样本是由这个基础样本循环移位得到的.
乘积Px=[xn,x1,x2,…,xn-1]T表示将x移位一个元素,则由于循环属性,每n个周期得到相同的信号X.这意味着可以通过等式{Pux|u=0,1,…,n-1}获得全部移位信号:
(5)
循环矩阵一个非常有用的性质是:无论生成向量X如何,所有循环矩阵都通过离散傅里叶变换(DFT)对角线进行,表示为:
(6)
利用循环矩阵的性质将目标的基础样本作为正样本,对基础样本循环位移得到负样本,将上一帧的跟踪结果作为基础样本进行循环移位,以此得到整个样本集.因此在跟踪过程中只需对基样本进行计算,提高了训练速度.
由文献[12]可以证明,当C(x)为循环矩阵时,对于任何置换矩阵M,如果核函数满足k(x,x′)=k(Mx,Mx′),则对应的核矩阵K是循环的,核矩阵K为
(7)
由此将循环矩阵的性质应用于式(3),可以快速计算训练得到的回归系数:
(8)
检测中也应用了循环矩阵来加速检测过程.将下一帧相同位置的图像块z作为检测基样本并进行循环移位,得到样本集,那么就可以选择f(zj)=αTφ(X)φ(zj),响应最大的样本作为检测出的新目标区域.
定义Kz是测试样本和训练样本在核空间的核矩阵,Kz的每个元素由k(Pi-1x,Pj-1z)给出,由于核矩阵满足K(xi,zj)=K(Pix,Pjz),则Kz是循环矩阵.得到测试样本的响应为:
(9)
特征提取是通过影像分析和变换从图像中提取所需特征,达到降维效果.传统的KCF算法中给出了2种特征描述子:原始像素、方向梯度直方图(HOG)特征.原始像素特征:将图像转换成灰度图,以其像素灰度值作为图像特征;HOG特征:计算和统计图像局部区域的梯度方向直方图,从而提取图像特征.但是HOG特征描述子生成过程冗长,导致速度慢,实时性差;再者由于梯度的性质,HOG特征描述子对噪点相对敏感,且很难处理遮挡问题.相比原始像素特征与HOG特征,颜色直方图具有较好的稳定性,本文算法用CN统计特征对图像进行特征提取.
CN特征空间[11]是一种基于潜在概率模型的特殊颜色空间,文献[10]首次将其应用在目标跟踪算法中.这种特征提取方式是通过将图像信息由RGB空间映射到CN空间(CN空间包含黄、红、黑、蓝、灰、粉、白、棕、绿、橙、紫11个颜色通道),建立RGB空间到CN特征空间的概率映射关系.其数学描述形式为,对于一幅彩色图像M,M(x)表示位置x处的颜色像素值,将该图像映射到CN空间,使得M(x)转换为11维概率特征向量f(x).即将RGB值用总概率和为1的11维颜色表示,实现了颜色信息的低维提取,可以有效地避免外界环境变化对提取颜色信息的影响[16].将其模型表示为:
(10)
其中,Ωc表示以x0为中心,以c为半径的一个区域,N(·)为高斯函数,σ为其标准差.
运算时对每一个通道进行快速傅里叶变换和核映射,然后将11个通道的频域信号线性相加,继而完成运算.
原始KCF跟踪器,在寻找跟踪目标时,需要计算相似度,找出这一帧中图像的目标位置坐标与上一帧中目标的位置相似度最高的图像块,在这个过程中没有分析目标的运动状态信息.而Kalman滤波能够预测某一帧图像中目标质心在下一帧中可能出现的位置,减小搜索区域,当目标发生快速运动和遮挡时,能比较快速准确地预测出目标的速度和位置.因此,本文提出一种结合KCF框架和Kalman预测器的跟踪算法.
首先,在跟踪前初始化Kalman滤波器,得到包含目标中心点的人工标注真实坐标值和坐标轴上的速度分量的初始状态向量.Kalman滤波算法的2个重要的方程分别是:
状态方程:Xt=At,t-1Xt-1+Wt-1
(11)
观测方程:Zt=HtXt+Vt
(12)
式中:Xt是t时刻系统的状态向量;Zt是t时刻的观测值向量;At,t-1为状态转移矩阵,Ht为观测矩阵;过程噪声Wt-1和观测噪声Vt都是均值为0的白噪声序列且互不相关.
然后,为获得先验估计值,利用当前的状态矩阵和协方差,根据递归估计原理来预测下一帧中目标的速度和位置,得到其预测方程:
Xt,t-1=At,t-1Xt-1
(13)
(14)
式中:Xt,t-1为状态预测向量;Pt,t-1为其协方差矩阵;Qt为过程噪声Wt-1的协方差矩阵,Δt为时间间隔(通常取1) .
得到预测坐标后,扩大目标采样区域使采样面积为目标图像的3.5倍,提取模型的CN特征,利用循环矩阵构建样本并对其进行傅里叶变换.利用循环矩阵的性质对高斯内核进行核化处理并得到滤波器的训练公式(8).
最后,结合新的实际观测值与上一步获得的先验估计值,利用反馈法获取后验估计,将其作为当前图像中跟踪目标的速度和位置来更新滤波器:
Pt=(I-KtHt)Pt,t-1
(15)
(16)
Xt=Xt,t-1+Kt[Zt-HtXt,t-1]
(17)
式中:Rt为观测噪声向量Vt的协方差矩阵;Kt为Kalman增益矩阵;zt=[xct,yct] 表示t时刻核相关滤波检测的目标的中心点坐标.
本文算法在跟踪过程中,首先用Kalman滤波器预测目标图像的位置坐标,由预测坐标选取跟踪窗口,其次将原始图像映射到CN特征空间并提取CN特征,然后使用KCF检测目标坐标,最后利用检测结果更新Kalman滤波器.图1给出了采用CN特征提取及融合了Kalman滤波改进的KCF跟踪算法整体流程图.
图1 算法整体流程图Fig.1 Algorithm overall flow chart
为评估改进算法的有效性,本文首先在OTB-2013数据集[17]上进行综合测评,并与目前比较先进的,如Struck、CSK、KCF等跟踪算法进行对比;然后从数据集的属性出发,分析算法在面对各种挑战时的鲁棒性.
Benchmark的测试平台为Matlab2014a,所有实验均在AMD A8-4500M APU with Radeon(tm) HD Graphics,主频1.90GHz,4GB内存配置的Windows10 64bit PC系统上完成.本文算法是在KCF算法的特征提取方式和位置预测上进行改进,所以对所有测试的视频数据集,本文算法的基本参数仍采用原KCF参数,且在所有视频序列上均保持一致,高斯核的标准差σ为0.5,正则化系数λ为0.0001,学习因子η为0.02.
OTB-2013测评集由跟踪的精度和重叠率两方面提出了两个测评准则:精确度图(Precision plot)和成功率图(Success plot).本文采用这两个准则进行测评.
精确度图的横轴为中心位置误差(CLE).在某一帧图像中,CLE(Center Location Error)为跟踪到的目标中心位置坐标与人工标注真实坐标之间的平均欧氏距离.通过设定某一阈值(本实验为20像素),当CLE小于这个阈值时正确跟踪,其值越小跟踪越精确;精度图的纵轴为跟踪精度大于设定阈值的帧数占全部图像帧数的百分比.本实验给出了阈值从0到50时,视频序列中能够正确跟踪的图像帧数的百分比变化.
成功率图的横轴为边界框的重叠率阈值(overlap threshold),重叠率S数学表达方式为:S=|Rt∩Ra|/|Rt∪Ra|,表示运行算法得到的跟踪框Rt与人工标注的真实目标框Ra的重叠面积与两个边界框的总面积之比,|·|表示区域内的像素点的数量;成功率图的纵轴为成功的帧数所占的全部图像帧数的比例.本实验给出了阈值从0到1变化时,重叠率大于给定阈值的帧数占全部图像帧数的百分比.将成功率图曲线下的面积(AUC)作为算法性能评价准则,其值越大跟踪性能越好.
鲁棒性评估(Robustness evaluation):评估跟踪器的方法是在一个测试序列中,将人工标注的第1帧目标位置进行初始化,并在待测试视频序列中运行算法,测量其精确度和成功率,称之为一次通过评估(one-pass evaluation,OPE).
4.3.1 定量分析
本实验采用精确度图和成功率图对改进的跟踪算法进行鲁棒性评估.在OTB-2013数据集上对本文算法(CNK-KCF)以及融合了Kalman滤波的KCF算法(K-KCF)的总体性能进行了对比测评,对比算法包括几种采用不同特征的相关滤波算法:CSK(灰度特征)、KCF(HOG特征)、CNT(CN特征),以及两种先进算法:Struck、TLD,得到如图2所示的精确度图和成功率图.
图2 本文比较的7种算法OPE的精确度图和成功率图Fig.2 Comparison of seven algorithms OPE accuracy and success rate plots
由图2可得到表1显示的7种算法在测评集上的精确度和成功率.
表1 7种算法在测评集上的精确度和成功率Table 1 Accuracy and success rate of 7 algorithms on measurement datasets
由图2和表1可知,与其他算法相比,CNK-KCF算法的精确度和成功率均为最优.从精确度来看,CNK-KCF算法为0.796,只采用Kalman滤波进行预测的K-KCF算法为0.782,比KCF算法分别提高了5.6%和4.2%,比CSK算法分别提高了25.1%和23.7%.从成功率来看,CNK-KCF算法为0.607,K-KCF算法为0.574,比KCF算法分别提高了9.3%和6%,比CSK分别提高了20.9%和17.6%.由此可见,本文算法(CNK-KCF)的综合性能较传统算法具有明显提高.
4.3.2 定性分析
下面以6个典型视频序列中的几幅图像来对算法面临各种因素干扰的挑战时的跟踪能力进行分析.如图3所示.
图3 CNK-KCF、K-KCF、KCF、CSK、CNT、Struck、TLD算法在若干典型视频序列上的跟踪结果Fig.3 CNK-KCF, K-KCF, KCF, CSK, CNT, Struck and TLD algorithm in a number of typical video sequence tracking results
1)快速运动和运动模糊性能分析
图3的(a)、(b)、(c)给出了7种算法在具有快速运动和运动模糊属性的几个典型帧上的跟踪结果.快速运动是指序列地面真值的变化大于阈值像素,运动模糊是目标区域由于目标或摄像机的运动而模糊.图3(a)中,KCF算法在跟踪过程中出现了短暂跟踪丢失情况,如第32帧,而CNK-KCF和K-KCF算法采用Kalman预测能够正确跟踪.图3(b)中,目标一直在跳跃,几乎整个视频序列都有快速运动和运动模糊,CNK-KCF、K-KCF和CNT算法都能够持续正确跟踪目标,如第254帧.图3(c)中,目标快速运动产生运动模糊,如第238帧,CNK-KCF算法实现持续跟踪.由以上结果可知,本文算法通过CN特征提取和融合Kalman预测能够正确跟踪快速运动和运动模糊的目标.
2)抗遮挡性能分析
图3的(d)、(e)、(f)给出了7种算法在几个典型帧上经历了遮挡的跟踪结果.图3(d)中,在第463帧目标被相似物遮挡,CNK-KCF和K-KCF算法都能够继续跟踪到目标.图3(e)中,目标两次被灯柱和树遮挡,其他算法均只在第一次被遮挡时能够正确跟踪,只有CNK-KCF和K-KCF算法能够正确跟踪目标,如第144帧.图3(f)中,目标多次经历了长时间遮挡,CNK-KCF、K-KCF和Struck算法均能持续正确跟踪目标,如第503帧和第596帧.由以上结果可知,本文算法加入了Kalman滤波器进行预测提高了对遮挡的应对能力.
3)复杂背景干扰的性能分析
图3的(a)、(c)显示了7种算法在具有复杂背景的几个典型帧上的跟踪结果.复杂背景干扰是指目标附近的背景具有与目标相似的颜色或纹理.图3(a)中,目标头部与其他头部出现了相近甚至重叠的情况,KCF算法的跟踪结果偏离了目标,而CNK-KCF和CNT算法正确跟踪到了目标位置.Soccer数据集中,在第238帧和367帧出现了多个人脸,KCF算法受相似目标的干扰导致跟踪失败;而CNK-KCF和CNT算法采用CN特征提取能够正确跟踪目标,未受相似目标干扰.
通过对算法进行实验与分析发现,本文算法能够应对快速运动、运动模糊和遮挡等复杂场景下的目标跟踪,对于旋转、尺度变化等其他情况也能取得不错的跟踪效果.
传统KCF算法在快速运动和运动模糊、遮挡及背景相似干扰等情况下存在跟踪效果不佳的问题,对此,本文提出了一种结合KCF框架和Kalman预测器的运动目标跟踪算法.首先采用CN特征提取,减少了环境变化和相似干扰对目标跟踪的影响;然后在模型学习过程中扩大目标采样区域,并在跟踪过程中融入Kalman滤波的方法在算法中加入预测机制,提高了算法应对目标快速运动和遮挡的能力;最后在OTB-2013数据集上对算法进行基于量化和属性评估的测试,结果显示本文算法的整体精度为0.796,成功率为0.607,提高了算法跟踪的准确性和成功率.此外,在目标发生快速运动、运动模糊、遮挡和背景相似干扰等复杂情况时,与其他6种算法相比,本文算法具有更强的鲁棒性.