王任华,王本璇,孔 军,蒋晨琛
(1.中国人民公安大学 信息技术与网络安全学院,北京 100038;2.香港理工大学 电子及资讯工程系,香港 999077;3.江南大学 物联网工程学院,江苏 无锡 214122)
目标跟踪一直是机器视觉研究领域中的一个基础且重要的研究课题。随着机器视觉领域研究的迅猛发展以及高质量图像数据采集技术的出现,目标跟踪技术的发展也是日新月异[1]。当然,这与目标跟踪技术的广泛应用也是密不可分的[2]。目标跟踪的工业应用领域主要包括自动监控系统、智能医学诊断、精确军事侦察、机器人视觉导航等。此外,目标跟踪技术在场景理解、视频语义分析、行为识别等学术领域也均具有重要的研究价值。但令人遗憾的是,目标跟踪的实现一直面临着诸多干扰和挑战,其中最常见的就是目标遮挡和目标形变[3]。这主要是因为跟踪过程中,由于非刚性目标的姿态动作或者外界遮挡物的出现,目标的外观信息会随之发生变化,尤其是目标的空间结构会被打乱。这些视觉信息变化带来的跟踪误差会随着跟踪的进行而累积,最终导致跟踪失败。
鉴于相关滤波器(Correlation filter,CF)在目标检测中的良好表现,Bolme等[4]将相关滤波器应用到目标跟踪中,提出了基于最小输出误差平方和(Minimum output sum of squared error,MOSSE)的相关滤波跟踪算法。随后,众多学者在此框架上提出了各种改进算法,从利用更多有效特征、缓解边界效应、利用上下文信息、简化模型复杂度、引入多分块策略等众多方面出发,提升跟踪效果。这其中Henriques等[5]提出的核化相关滤波(Kernelized correlation filters,KCF)跟踪算法可以说是目前应用最为广泛的基于相关滤波的跟踪算法。但KCF算法作为基于模板的跟踪算法,对形变、遮挡等干扰十分敏感。为此,Bertinetto等[6]提出了Staple算法,通过分配固定的权重比例将颜色感知算法[7](Distractor-aware tracker,DAT)与相关滤波器进行了联合学习,但固定权重的联合在大多数复杂情况下无法很好地体现联合的优势。为了解决跟踪目标的尺度变化问题,在MOSSE的基础上,判别尺度空间跟踪(Discriminative scale space tracker,DSST)算法[8]被提出。随着深度学习在大多数视觉任务上的出色表现,很多学者将深度特征引入基于相关滤波的跟踪算法中[9-10],也有直接通过端到端的深度学习框架实现高性能的单目标跟踪[11,12]。但是这两类深度方法通常需要大量的数据用来训练网络,同时对运行平台要求高,也很难满足实时性的需求。
在当前流行的众多跟踪算法中,基于多分块的跟踪算法因为其对抗部分遮挡的有利特性而广受欢迎。Li等[13]在连续蒙特卡罗框架下利用概率模型来估计每帧中琐碎分块分布的可信度,试图识别和利用可靠的分块并通过投票机制得到最优位置。Liu等[14]利用结构约束掩码和判别式分块选择方案,提高了基于分块的跟踪器性能。Dong等[15]提出了一种新的循环结构分类器进行无遮挡检测并建立分类器池,根据熵最小化准则从分类器库中选择一个最优分类器对受遮挡目标进行重新检测。在基于多分块的跟踪算法中,目标的外观在结构上是由目标的若干个局部分块构成的。当部分遮挡发生时,目标处仍有可见的分块,可以用于提取目标特征,为目标定位提供了可靠的外观表述信息。但这类算法通常在计算上非常复杂,同时不准确的分块通常会导致不稳定的最终跟踪结果。
在上述研究的基础上,为了优化基于相关滤波器的跟踪算法,本文利用局部分块模型应对部分遮挡问题,同时考虑到局部与全局目标的联系,联合全局模型与局部分块模型来实现鲁棒的目标跟踪。其中分块的偏移信息将用来评估块的可信度,缓解错误信息分块对最终结果的负面影响。这里的全局和分块模型使用的均为自适应互补模型,不但继承了相关滤波模型的判别能力,而且具有颜色模型应对大幅度的形变和部分遮挡的鲁棒性。而在尺度估计模块,不同于大部分的基于多分块的模型使用分块的相对位置得到目标尺度,本文仍使用单独的快速尺度估计模块。最后本文提出的算法满足实际应用中的实时性需求。
在KCF算法[5]中,对于一组样本与标签(x1,y1),(x2,y2),…,(xm,ym),滤波器w可以通过对训练样本和标签之间关系的计算得到。对于样本xi来说,计算得到的f(xi)=wTxi最好可以保证与回归目标yi之间的误差最小
(1)
式中:λ为正则参数,为了防止过拟合发生。式(1)的矩阵形式为
(2)
式中:数据矩阵X=[x1,x2,…,xn]T为样本矩阵,y为回归目标,对应样本标签。对w求导,可以得到w的复数形式解为
w=(XHX+λI)-1XHy
(3)
式中:XH=(X*)T表示X的复共轭转置矩阵,I为单位矩阵。利用离散傅里叶变换(Discrete Fourier transform,DFT)求解式(3)。这里的X符合循环矩阵的性质,能够被离散傅里叶变换所对角化
(4)
(5)
式中:⊙表示像素点乘积,分号表示按像素点相除。利用循环矩阵的卷积性质将式(5)化简得到
(6)
由此时域中的解w可以通过傅里叶逆变换得到,避免了复杂的矩阵求逆等运算。
同时考虑到实际应用中大量的非线性可分的数据,Henriques等[5]引入了核方法,利用映射函数的内积即核函数来避免相关映射的直接求解。此时解w可以由映射后的样本φ(xi)的线性组合[16]表示:w=∑iαiφ(xi)。由此得到岭回归的解
α=(K+λI)-1y
(7)
式中:α为由αi构成的向量,K为核矩阵,由核函数k(x,x′)=φT(x)φ(x′)组成,I为单位矩阵。对于任意测试样本z的滤波器响应值可以表示为
Sf(z)=wTz=∑iαik(z,xi)
(8)
本文的目标全局模型使用的是基于自适应模型补偿的相关滤波跟踪器。基于颜色直方图的算法模型利用目标与背景的颜色统计信息,可以有效应对目标形变,但无法在快速运动和运动模糊等方面上取得很好的成绩。基于核相关滤波器的跟踪模型由于其刚性模板的固有特性,对目标形变十分敏感,本文提出自适应权重联合两个模型,取长补短。该自适应模型补偿由加权叠加公式完成来,其表达式
Sglobal=ωhSh+ωfSf
(9)
式中:Sf和Sh分别是基于核相关滤波器模型和颜色模型的响应;ωf和ωh分别是滤波器模型和颜色模型的自适应权重,且ωh=(1-ωf)。两个模型的联合权重取决于它们的置信度SE[17]。
该置信度评判由滤波器的响应波动程度得到,数学表达式为
(10)
联合模型中颜色跟踪器的响应是根据有限区域上定义颜色直方图特征计算得到[6]
(11)
式中:Ψ表示在区域Ω中基于样本像素r的颜色直方图特征,β为权重向量。该响应可以看作是特征投票的平均值。其中β的求解可以由颜色跟踪器的损失函数得到
(12)
解式(12)可以得到
(13)
式中:ρ(H)=N(H)/(H)表示在区域H中,非零特征的像素所占比例,N(H)=|{r∈H:Ψ[r]≠0}|表示有限区域H内直方图特征Ψ[r]不为零的像素个数,λh为正则化项,防止分母为零。
大多数的目标跟踪算法都是对目标整体进行检测和定位的,但在这过程中,若目标的外观发生较大变化,单一的目标外观表示很难应对这种突然的改变,尤其是在应对遮挡问题的时候。对于这种问题,常见的解决方案是在跟踪目标之前将目标划分为若干分块,用这些分块的组合表述目标外观,这样将更容易获得合适的目标外观表示,最终获得准确的跟踪结果。因而,这种基于多分块的跟踪策略主要被用于处理部分遮挡和形变等外观发生大幅度变化的问题。
参考文献[14]的分块策略进行分块操作,如图1所示。图1中,1矩形框代表采样区域,2矩形框代表目标矩形框,可以由全局跟踪模型得到全局响应图。3矩形框和4矩形框为局部分块,可以由局部跟踪模型得到每个小分块的响应图,最后由全局和局部分块的响应联合得到最终目标位置为点5。
(1)应用齐波夫定律进行矿产资源预测,要求矿区内矿体是在相同地质时期、相同地质条件、相同地质背景下形成的,且各矿体资源量满足齐波夫分布定律。
(14)
L的值越大,说明该分块的偏移越大,越不值得信任,若各个分块的运动轨迹保持稳定,L的值将稳定在0左右。
(15)
(16)
(17)
式中:max(Sglobal)表示全局模型响应图Sglobal的最大值。
(18)
式中:γ为惩罚项。
由此得到的最大响应值所对应的目标尺寸即为当前帧的目标尺度。式(18)中的M和N可以分别通过下式更新得到
(19)
(20)
式中:t表示帧,θ表示学习率,F和G分别为训练样本和高斯型期望值的离散傅里叶变换形式。
本文的跟踪算法框架图如图2所示。为了有效应对复杂环境下的目标遮挡问题,本文算法设置遮挡判断机制,当判断当前帧不存在遮挡时,仅利用目标的全局模型来获得最终目标位置;若判断当前帧存在遮挡,则联合全局与局部分块得到最终目标位置。全局与局部的联合权重来自于各自的置信度量,不仅包括各自的响应,还包括分块的相对运动信息。本文算法借助分块策略完善互补融合模型,可以有效应对遮挡形变等复杂情况。
本文的实验是在Intel Core i5 CPU处理器上进行的,计算机拥有3.20 GHz和8 GB内存,代码的编程平台是Window7系统下的Matlab R2015a。
与大部分的相关滤波跟踪模型相同,本文使用HOG来表征所有图像块。本文实验中,λ的取值为0.01,滤波器模型和颜色模型的学习率分别设定为ηf=0.015和ηh=0.04,权重ωf和ωh的初始值设置为0.7和0.3,即ω0=0.7。同时本文的分块数量为4,大小为目标尺度的0.6倍。参考文献[4],遮挡判断阈值T0设置为35。对于尺度估计模块,尺度因子a设置为1.02,尺度滤波的个数为33。
Wu等[18]提出的OTB数据库是目前最为流行的跟踪基准,包含并整理了50个具有不同干扰属性的视频序列,其中所有的视频序列可以划分为11个不同的属性,分别为目标形变(Deformation,DEF),光照变化(Illumination variation,IV),遮挡(Occlusion,OCC),平面外旋转(Out-of plane rotation,OPR),尺度变化(Scale variation,SV),快速移动(Fast motion,FM),低分辨率(Low resolution,LR),运动模糊(Motion blur,MB),超出视野范围(Out-of-view,OV),背景杂乱(Background clutters,BC),平面内旋转(In-plane rotation,IPR)。本文在实验中采用的就是该视频数据集。
本文提出的算法与OTB数据集上的22个经典算法[14]:IVT、L1APG、SemiT、CT、CPF、Frag、DFT、VR-V、BSBT、TLD、ORIA、ASLA、MTT、CXT、LOT、SMS、OAB、MIL、SCM、KMS、Struck、CSK以及KCF[5]、DSST[8]、RPT[13]、Staple[6]、SiamFC[11]一共27个算法在OTB2013视频序列集合上来进行对比实验。这27个算法包括了经典的生成式跟踪方法和判别式跟踪方法,以及端对端的深度学习方法,同时将拥有相似思想的算法KCF、RPT、DSST和Staple列入对比实验。上述所有算法的代码和数据结果分别从OTB数据库和相应作者的主页上获得。
本文采用OTB数据集中的OPE指标进行评估,即利用视频序列中的第一帧作为实验的第一帧。不同属性干扰下的对比实验结果分别如图3和图4所示,为了清晰显示对比实验结果,图中仅显示前10名的算法结果。图3为精确度图,图4为覆盖成功率图。从图3、4可以看出,在精确度的对比上,本文算法在OCC、DEF、OPR、IPR和BC这5个主要属性上都取得了第一名的表现,其余属性也都位列前三。在成功率的对比上,本文算法在OCC、DEF、IV、平面内外旋转等7个属性上表现出了最具竞争力的性能。
对于遮挡、形变和旋转干扰,无论是精确度还是成功率方面,本文算法都优于经典的深度学习算法SiamFC以及与本文思想类似的RPT和Staple算法。这一方面是由于分块的策略在抗遮挡上发挥着重要作用。另一方面是多分块与全局模型的结合,利用互补融合模型在旋转和形变上的优秀表现,使本文的算法在实际复杂跟踪环境中拥有较好的鲁棒性,可以准确定位目标。总体而言,本文提出的跟踪算法将自适应模型补偿引入多分块的跟踪框架,联合全局和局部分块模型,可以在复杂环境下实现鲁棒的目标跟踪。
从算法准确率和成功率的对比中,可以看出本文的跟踪算法在各种复杂情形下都表现出优异的性能。为了进一步体现出本文算法的运算复杂度和应用价值,本实验选取了精度前10名的算法做实时性分析,结果如表1所示。从表中可以看出,本文的基础算法KCF在数据库上的平均速度为189 f/s,而由于本文所使用的分块策略以及互补融合模型等操作导致算法的运算复杂度上升,本文所提出的跟踪算法(Ours)在数据库上的平均速度仅为39 f/s,但也可以满足实际应用中的实时性要求。
同时,为了更为直观地展现算法在不同干扰因素的影响下在视频序列上的跟踪效果,本实验从OTB数据库中选取了5个具有代表性的视频序列,这些视频序列包含的干扰属性如表2所示。随后,图5展示了本文提出的跟踪算法(Ours)与KCF算法、Staple算法、DSST算法、RPT算法在这5个视频序列上的对比跟踪效果,图5从上到下的视频序列依次为Bolt、CarScale、Couple、DragonBaby、Coke。
表2 视频序列属性表
从图5可以明显看出,在Bolt序列中,第10帧时KCF算法、DSST算法和RPT算法定位的目标中心开始出现偏差,随着跟踪进行,KCF算法和DSST算法出现目标漂移,而RPT算法无法很好预测目标尺度信息。随着形变、背景杂乱等因素的影响,DSST算法和KCF算法定位的目标位置完全偏离真实目标位置。这主要是因为基于相关滤波的目标跟踪算法因其固有缺陷,无法应对大幅度形变,在跟踪非刚性目标时表现不理想。而本文算法采用的基础模型是自适应互补模型,可以有效应对形变等问题。在CarScale序列中,KCF算法无法应对尺度变化,而DSST算法和RPT算法受遮挡和旋转的影响,所定位的中心点发生偏移。在Couple序列中,背景杂乱、遮挡、形变、快速运动等多种干扰因素的影响十分严重。受到背景杂乱的干扰KCF算法和DSST算法在训练过程中引入过多的错误训练样本,滤波器判别目标的能力下降,最终跟踪失败。随着跟踪进行,非目标像素逐渐累积,Staple算法无法有效利用其互补模型对其进行矫正,定位的目标中心发生较大偏差,而本文算法根据每一帧的响应值来适时的调整权重比例,同时考虑到了利用多分块的思想来设置抗遮挡机制,实现了较为稳定准确的跟踪。同样,在DragonBaby序列中,Staple算法也逐渐发生目标中心偏差,KCF算法和DSST算法无法应对旋转和遮挡问题,RPT算法受快速运动和运动模糊的影响发生跟踪结果漂移,而本文算法能始终成功定位到目标(脸部)。在Coke序列中,第35帧和第265帧中的目标遇到了较为严重的目标遮挡,同时伴随着光照变化,KCF算法、Staple算法、DSST算法和RPT算法都发生了不同程度的中心位置偏移。而本文算法通过遮挡判断机制,通过多分块的策略有效应对遮挡问题,同时考虑到全局与局部信息的联系,联合全局与局部模型实现更为鲁棒的目标跟踪。
本文主要提出了一种联合全局与局部分块的相关滤波目标跟踪算法,在面对目标严重遮挡时,联合全局响应与局部分块响应获取最终的目标位置。为了缓解遮挡对算法的负面影响,利用局部分块获得响应,采用自适应加权叠加的策略与全局模型进行联合来获得严重遮挡情况下的目标位置。同时,在多分块的跟踪框架下,本文引入了自适应模型补偿的跟踪器,将融合模型的概念融入多分块跟踪中。本文提出的跟踪算法从局部分块中获得了较强的抗遮挡能力,从自适应互补模型的跟踪器中获得了较强的判别能力。此外,设置单独的尺度处理模块来处理尺度问题。通过OTB视频数据集上的大量对比实验,本文提出算法相较于其他算法,具有出色的识别目标的能力,能在遮挡、形变等复杂环境下获得较为准确的跟踪结果。在下一步的研究工作中,将致力于长时间跟踪中的目标完全丢失问题,设置重检测模块来提高跟踪结果的精度,同时考虑降维策略来减少算法的运行时间。