马松华,徐伯庆
(上海理工大学 光电信息与计算机工程学院,上海 200093)
目标跟踪指对视频序列中目标的状态进行持续推断,通过定位视频中每一帧目标生成运动轨迹。随着研究的不断深入,人们提出了很多目标跟踪方法,但是对遮挡、姿态、快速运动、光照变化以及尺度变化等情况仍面临许多问题[1]。目标跟踪分为生成模型方法[2-5]和判别模型方法。生成模型方法是对当前帧进行目标区域建模,然后在下一帧中寻找与模型区域最相似的区域,就是预测的目标位置。判别模型方法主要是将目标和背景区分开来,以目标区域为正样本,背景区域为负样本,通过机器学习方法训练分类器,使其在下一帧中找到最佳目标区域。
目前目标跟踪主要采用判别模型方法,其中相关滤波的引入效果很好。Bolme等[6]利用误差最小平方和建立一个目标背景分类器,找到一个滤波器,使其在目标上响应最大,同时在计算过程中使用快速傅里叶变换提升速度,对目标和背景区分效果很好。Henriques等[7]提出利用核函数基于检测跟踪的循环结构(Exploiting the Circulant Structure of Tracking-by-detection with Kernels,CSK),采用循环矩阵对目标进行密集采样,通过核函数计算相邻帧的相关性进而得到目标位置。CSK算法使用的是原始灰度特征,Henriques等[8]在此基础上将单通道扩展至多通道,利用方向梯度直方图(Histogram of Oriented Gradient,HOG)作为外观模型特征代替原始的灰度特征,提出了核相关滤波(Kernelized Correlation Filters,KCF)以及双相关滤波(Dual Correlation Filters,DCF),提升了跟踪精度。Danelljan等[9]将颜色特征(color names,CN)应用到相关滤波中,提高了目标外观的辨识能力,得到了很好的跟踪效果。为实现自适应尺度及结合颜色特征的目标跟踪,本文在CN算法基础上提出一种尺度估计方法,采用标准跟踪数据集OTB[10](Object Tracking Benchmark)中的视频序列进行验证,并与CN和其它跟踪算法进行对比。
本文将自适应颜色特征[11-19]作为目标外观模型,然后作用在CSK跟踪器上,通过映射将目标区域中的所有RGB值与11种基础颜色[20]进行关联操作。为减少计算时间、提高跟踪精度,将基础颜色从较高的维度(11维)通过主成分分析法(PCA)降到二维,通过降维误差最小化得到原始特征的大部分信息,见式(1)。
(1)
(2)
(3)
将颜色信息添加到扩展的多维颜色特征CSK跟踪器中,通过使用大小为M×N中心的带有颜色信息的图像块x,利用循环移位xm,n,(m,n)∈{0,…,M-1}×{0,…,N-1}作为分类器的训练样本,利用高斯函数y(m,n)通过最小化结构风险泛函式(4)训练分类器。
(4)
其中,y(m,n)是xm,n的函数,λ是控制过拟合的正则化参数,φ是映射到核函数k引起的希尔伯特空间,定义内积为<φ(f),φ(g)≥k(f,g)。通过w=∑m,na(m,n)φ(xm,n)得到式(5)中的最小值。
对系数a有:
(5)
这里F是离散傅里叶变换(DFT),其中Y=F{y},Ux=F{ux},ux(m,n)=k(xm,n,x),同时对于所有的m、n、f和g,有k(fm,n,gm,n)=k(f,g),文献[7]证明核函数k具有平移不变性,这样就可通过循环矩阵和高斯核函数求解相关滤波,通过相关滤波得到最大响应位置。
(6)
其中,As为训练分类器中的学习系数,Ys为分类器的输出,Uxs=F{uxs},uxs(m,n)=k(xsm,n,xs)。
(7)
(8)
(9)
由于相邻两帧中尺度的变化相对于位置变化较小,因此先通过带有颜色特征的位置滤波器确定目标位置,然后在目标位置的周围取不同尺度,通过计算尺度滤波的最大响应值得到最佳尺度。
实验计算机配置为Intel(R) Core(YM) i5-3230M CPU,主频2.60GHz,内存4.0GB,软件环境为MATLAB R2014a。对于视频序列,算法参数保持不变。其中正则化参数λ为0.01,高斯核的标准差σ为0.2,学习因子α为0.075,空间带宽s为1/16,尺度滤波器S为33,尺度因子γ为1.02,尺度学习因子β为0.25。
本实验采用中心位置误差(Center Location Error,CLE)、距离精度[18](Distance Precision,DP)和成功率[21](Success Rate,SR)这3个评估标准衡量跟踪器情况,相应计算公式如下:
CLE表示估计的目标中心位置与真实位置之间的欧式距离:
(10)
其中,(xi,yi)表示目标的真实位置,(xi_st,yi_st)表示通过跟踪算法得到第i帧的目标中心位置。
DP表示中心位置误差小于特定阈值的帧数与总帧数之比,有
(11)
其中,m表示中心位置误差小于特定阈值(实验取20 pixel)的帧数,n表示视频序列的总帧数。
SR计算公式为:
(12)
其中,Ri表示实验获取的跟踪框面积,Rst表示视频序列中标记的跟踪框面积。
为验证本文算法的跟踪效果,选取CarScale,Girl,Human8,Shaking,Singer1,Skater,Skating1,Toy,Tiger1和Vase这10个视频序列进行测试,表1给出了5种算法(CSK,KCF,DSST[10],CN,本文算法)对10个视频序列进行跟踪的平均CLE(in pixels)、DP(%)和SR(%),其中最好的结果被加粗。从表1可以看出,与CN算法相比,平均中心位置误差由原来的14.52 pixel下降到9.53 pixel,距离精度由原来的77.9%增加到现在的86.0%,成功率由原来的44.4%增加到71.3%,跟踪效果明显优于CN算法,本文算法优于其它算法。
表1 不同算法的平均CLE、DP、SR
为更加直观地和其它算法对比,本文选取了多组视频序列,将所有的算法都在这些视频序列上进行测试,其跟踪结果对比如图1所示。为区别不同算法,分别用不同颜色的方框标记,其中本文算法为红色跟踪框,CN算法为黑色跟踪框,KCF为蓝色跟踪框,DSST为黄色跟踪框,CSK为绿色跟踪框。
在CarScale中,目标存在尺度变化情况,在第170帧时遮挡较严重,CSK算法跟踪失败。在整个跟踪中,只有本文算法和DSST算法跟踪效果好。在Dog1视频中,目标的尺度变化很大,所有算法都能准确跟踪到目标,但只有本文算法表现最好。在Girl视频中,第116帧和316帧分别出现旋转和姿态变化情况,本文算法能很好地适应。第437帧目标发生严重遮挡,DSST、KCF、CSK都将遮挡物当作目标进行跟踪,在第471帧遮挡消失后,目标丢失,只有本算法和CN算法能够准确跟踪,而本文算法跟踪比CN算法效果好。在Skating1序列中,目标存在着旋转、遮挡、光照和尺度等变化,本文算法能准确跟踪并适应尺度的变化,效果也比其它算法好。
图1 不同跟踪算法效果
为说明本算法跟踪效果,现以Girl和Skating1视频序列为例,图2(a)、图2(b)分别为Girl视频序列的DP和SR曲线,图2(c)、图2(d)分别为Skating1视频序列的DP和SR曲线,从图中可以看出,本算法的跟踪效果比其它跟踪效果好。
图2 DP和SR曲线
本文在CN算法基础上增加了一种自适应尺度方法,通过颜色特征对目标区域进行采样,利用核相关滤波器确定目标的位置和尺度。当目标大小发生改变时,算法的跟踪框能够自适应变化,获取更多有效信息,同时通过更新滤波器的模板系数和尺度模板,使跟踪精度更高。从10组视频序列的跟踪结果可知,本文算法不仅对尺度变化、遮挡、旋转、光照变化、姿态变化具有很好的鲁棒性,而且平均中心位置误差达到9.53%,距离精度达到86.0%,成功率达到71.3%,这3个评估标准都优于其它算法。但是本文算法对快速运动效果不好,原因是目标位置由上一帧目标的中心决定,可搜索范围有限。因此,下一步的研究重点是在复杂场景中通过引入运动状态估计方法提高鲁棒性及跟踪精度。