吴 捷,马小虎
(1.泰州职业技术学院 信息技术学院,江苏 泰州 225300; 2.苏州大学 计算机科学与技术学院,江苏 苏州 215006)
视觉目标跟踪[1]是计算机视觉中的一个重要研究方向,在人机交互、交通控制等领域都有着广泛的应用。尽管近十年来目标跟踪已经取得了重大进展,但目前依然没有一种方法能够完美应对快速运动、变形、遮挡、光照变化等诸多复杂因素的影响。在各类目标跟踪算法中,相关滤波(CF)类方法因其准确度高、实时性好的特性成为当前的研究热点[2]。
BOLME等提出的MOSSE算法是相关滤波技术在目标跟踪领域的首次应用,引起很大反响。基于此,CSK、KCF/DCF[3]、CN等一系列经典算法相继产生。但以上算法采用固定大小的跟踪框进行跟踪,当目标的大小发生变化时跟踪精度不高,甚至会导致跟踪失败。
浙大的Yang Li融合HOG和CN特征,并引入包含7个尺度的尺度池技术提出了SAMF算法,取得了较好的跟踪效果。Martin Danelljan等引入尺度滤波器先后提出了DSST和fDSST[4]算法,实现了对尺度的精准估计。Bertinetto等[5]结合相关滤波模板类特征(HOG)和颜色直方图提出Staple算法,在具有较高准确率的同时跟踪速度可达80帧/s。
但是相关滤波类方法也存在明显缺陷,主要是由于余弦窗(用来抑制边界效应)和搜索区域的限制,导致CF模板无法学到更多的背景信息,当目标发生比较大的形变或者遇到复杂背景干扰的时候容易跟丢。
针对上述问题,文献[6]提出一个统一框架——CACF来显式地学习目标周围的背景信息,这种框架可以广泛地应用到基于CF的多种跟踪算法上,但该框架没有遮挡处理机制。
本文将CACF方法应用到Staple算法中,动态设置直方图分类器与相关滤波器的融合系数,并在Staple跟踪器中嵌入校验机制,用于评估当前帧的跟踪效果,根据校验结果来判断是否对滤波器的样本模型予以更新并根据PSNR值自适应地设置学习率。在OTB-2015上的测试结果表明,和主流的相关滤波类算法相比,本文提出的改进算法可以实现更精准的目标跟踪。
Staple跟踪算法的主要创新之处在于将基于HOG 特征的DSST和采用颜色直方图特征的DAT[7]算法进行了融合。HOG特征对光照变化等具有较强的鲁棒性,而颜色直方图对于目标的形变不敏感。因而Staple兼具两者的优点,跟踪的准确度较高。
为了保持算法的实时性,Staple算法通过解决两个独立的岭回归问题来训练模型,其训练过程可以简化为(具体公式推导见原文)
(1)
(2)
其中,t为帧数;h、β分别为位置滤波器和颜色直方图的模型参数;λtmpl和λhist分别为滤波器模型和直方图模型中的正则化系数。
Staple算法分别使用相关滤波器和直方图分类器对候选样本进行预测,得到各自的响应输出,并对2种响应按照下式采用固定权重进行融合
f(x)=γtmplftmpl(x)+γhistfhist(x)
(3)
得到对应的response map,再找到response map中最大值的位置即为目标所在的位置,重复这个步骤直至跟踪结束。
得到新一帧的目标位置后,使用线性插值的方法对1.1中的2个模型分别进行更新
(4)
(5)
其中,式(4)表示对相关滤波器进行更新,式(5)用来对目标和背景直方图进行更新,其中的相关参数推导可见原文。
在CF算法中使用余弦窗来限制边界效应,但是余弦窗将图像块的边缘区域像素全部设置为0,对于分类器而言非常重要的背景信息被大量过滤掉了,因此当目标发生比较大的形变或者复杂背景干扰的时候,容易导致跟踪失败。为了解决这一局限性,Mueller等在CVPR2017上提出了一个考虑全局上下文信息的框架,我们称之为CACF框架,用于显式学习目标周围的背景信息,这种框架可以广泛地应用到绝大多数基于CF的跟踪算法上。
如图1所示,和传统的CF方法相比,CACF主要改进之处在于:在训练阶段,作者在目标的上下左右4个方向各采集一个Context-Area,在训练过程中,将中间的标记为正样本,将附近的上下文区域标记为负样本进行模版的训练。检测阶段与传统CF一样。
图1 CACF采样区域
传统的CF的目标函数如式(6)
(6)
改进后的CACF算法的目标函数如下
(7)
与传统的CF的目标函数相比,增加了一个惩罚项,使得要训练的模版与背景做相关时响应尽量小。作者通过一系列公式推导证明这个新方程具有封闭解。
本文改进算法以Staple算法为基础,引入CACF处理框架,并从3个方面进行了综合改进。
Staple算法以固定系数α线性融合相关滤波器与直方图分类器,即
response=(1-α)·response_cf+α·response_pwp
但在实际跟踪过程中,两种跟踪模型的相对准确度并不是恒定不变的,采用固定权重融合往往无法获得最优的跟踪结果。
针对这个问题,本文基于平均峰值相关能量[8](average peak-to-correlation energy,APCE)设计了一种自适应系数融合方法,可以充分发挥两种模型各自的优势。
下面首先给出APCE的定义:
大小为MN的检测区域与模型的响应结果的APCE计算方法为
(8)
其中,gmin表示响应结果的最小值,gm,n表示在(m,n)处的响应结果。APCE可以反映响应结果的波动程度,APCE越大跟踪结果越稳定。
如式(9),本文针对每一帧视频图像分别计算其直方图分类器与相关滤波器的APCE值,并得出其比值
rate=APCEpwp/APCEcf
(9)
然后通过下式计算得到融合系数α
α=0.4/(1+exp(1-rate))
(10)
如何判断目标发生遮挡是视觉跟踪领域的一大挑战,常用的评价指标包括最大响应值、峰值旁瓣比[9]、平均峰值相关能量以及CSR-DCF中提出的空域可靠性[10]。
通过大量实验发现,遮挡判断非常复杂,如果只使用一种度量因子或一种限定条件极易出现“误判”,会将一些未发生遮挡的场景误判为遮挡进行处理,反而造成跟踪精度的下降。本文综合使用平均峰值相关能量、峰值信噪比(peak signal to noise ratio,PSNR)和相邻帧运动位移量3种因子并设定多个限定条件作为遮挡判断的依据。下面首先给出峰值信噪比和运动变化量的定义。
峰值信噪比是一种在数字图像领域广泛使用的评价指标,体现图像之间的差异大小。PSNR计算方法如下式
(11)
其中,MSE是两帧图像之间的均方误差。
本文通过计算相邻帧指定大小的目标图像的PSNR值来衡量目标变化情况。
运动变化量指的是前一帧目标中心与计算出的当前帧目标位置中心的距离,计算公式如下
(12)
其中, (xt,yt) 表示预测的当前帧的目标中心点的坐标, (xt-1,yt-1) 表示前一帧中目标中心点的坐标。通常情况下,相邻帧的运动变化量在一定范围内,如果运动变化量过大,则跟踪可能发生了漂移。
本文设计的跟踪器设定满足以下两种情况之一的即认为发生了遮挡,跟踪器停止对模型的更新
在Staple算法中,跟踪模型的学习率为固定数值。而在实际跟踪过程中,目标的变化率并不是一成不变的,当PSNR值较小时,说明相邻两帧图像差异较大,需要增大学习率;而PSNR值较大时,说明相邻两帧图像相似度较高,可以减小学习率。因此借助PSNR值,本文对学习率做出以下调整
实验使用Matlab2016b作为软件测试平台,使用内存大小为16 GB,CPU型号为Inter(R)Xeon(R)E3-1225(3.3 GHz)的PC机作为硬件平台。本文算法中所使用的主要实验参数为:遮挡阈值λ1=4.8 (灰度图像取值2.5),λ2=0.55,λ3=0.3,λ4=19; 距离因子d=40,其它参数和Staple原文一致。为更好地判断改进算法的性能,分别从定量、定性两方面与Staple、SAMF等7种经典的相关滤波算法进行综合对比分析。
定量分析采用以一次通过评估(one-pass evaluation,OPE)运行得到距离精度(DP)和重叠成功率(OP)作为主要评价指标。
使用OTB-2015[11]作为测试视频序列。OTB-2015是OTB2013的扩展,包含26个灰度视频序列和74个彩色视频序列。这些视频序列包含遮挡、形变、旋转等11种典型干扰。
图2是8种算法在100组视频上的总精确度图和成功率图,从图2中看出本文提出的改进算法的精确度和成功率分别为0.818和0.731,精确度和成功率均排名第一。和Staple算法相比,改进算法在精确率和成功率方面分别提高了4.3%和4.6%,验证了改进算法的有效性。
图2 8种算法在OTB-2015的距离精度曲线图和成功率曲线
为更加直观评价本文算法在复杂环境下的性能表现,表1和表2给出了本文算法与其它4种目标跟踪算法在OTB-2015基准数据集中11个具有挑战性的属性上的精确度图和成功率图统计数据,单个属性的最优结果以粗斜体标识。本文算法在11种属性的精确度图中有9项排在第1位,另两项排在第2位;在成功率图中有6项排在第1位,其中处理遮挡(OCC)的成功率相比Staple算法提升了7.4%。一系列数据验证本文所提算法综合性能更优,可以有效处理遮挡等挑战。
在图3中给出本文提出的算法与Staple、SAMF、fDSST等7种算法在6个具有代表性的视频序列中的定性比较,这6个视频为Jogging-2、Girl2、Soccer、DragonBaby、bolt2、和Jumping。
表1 5种排名靠前算法在不同场景属性下的DP值
表2 5种排名靠前算法在不同场景属性下的OP值
图3 8种算法在6个视频序列的跟踪结果比较
(1)Jogging-2和Girl2是用来做遮挡测试的经典视频序列,在这两组序列中均存在全局遮挡。Jogging-2视频中第52帧目标被完全遮挡,包括Staple在内的其它6种算法因为没有遮挡处理机制而丢失目标,只有本文算法与SAMF算法能正常跟踪而本文算法跟踪结果更加准确;Girl2视频中第110帧时目标被完全遮挡,遮挡结束后其它7种算法因跟踪器受“污染”而导致跟踪失败,本文算法因为有遮挡处理机制可以一直准确跟踪目标。
(2)在Soccer和DragonBaby序列中,存在遮挡、背景相似干扰、尺度变化等多种复杂因素的干扰。Soccer序列中,DSST、SAMF、Staple等算法在第296帧时均发生漂移,只有本文算法和fDSST能准确跟踪,相比fDSST,本文的算法跟踪更为精确。从DragonBaby序列的第40帧和85帧可以看出,只有本文算法的目标定位和尺度估计是准确的。
(3)在bolt2和Jumping视频序列中,存在快速运动、运动模糊等干扰,其它6种算法均发生严重漂移,只有本文算法和fDSST算法能正确跟踪。
跟踪速度也是评价算法的一个重要方面,8种算法在OTB-2015视频序列上运行的平均速度见表3。由表3可见,本文算法在引入了CACF框架及增加遮挡判断等模块后跟踪速度仍然达到了34.55帧/s,可以满足实时跟踪的需求。
针对当前相关滤波类算法无法学习更多背景信息及不能处理目标跟踪过程中的遮挡等问题,本文结合CACF及Staple算法,并引入平均峰值相关能量、相邻帧运动位移量和峰值信噪比等指标设定多条件判断目标遮挡情况,从而决定是否更新模型。另外,通过对学习率的动态调整,进一步提升了跟踪器处理其它复杂场景的能力。在OTB-2015 数据集上评估本文算法的性能,通过定性和定量的分析,本文算法性能相对于Staple算法有了明显的提高。将来的工作在于考虑结合深度学习算法进一步提升算法性能。
表3 8种算法在OTB-2015上的运行速度