柳培忠 汪鸿翔 骆炎民 杜永兆
1(华侨大学工学院 福建泉州 362021) 2(华侨大学计算机科学与技术学院 福建厦门 361021) 3(华侨大学现代应用统计与大数据研究中心 福建厦门 361021)
视觉跟踪是计算机视觉领域的一个研究热点,在人机交互、运动分析、智能驾驶、视频监控等领域有着广泛应用.针对背景干扰、低分辨率、目标遮挡和光照变化等复杂场景时,如何实现更鲁棒性的跟踪仍是目前的研究热点.
传统的视觉跟踪算法分为2类:判别式跟踪和生成式跟踪[1-3].判别式模型将跟踪问题建模为一个二元分类问题,用以区分前景和背景,采用机器学习训练分类器,用训练好的分类器寻找最优区域.生成式模型是不考虑背景信息直接为目标进行建模的算法,在当前帧对目标进行建模,预测位置下一帧与模型匹配最大的区域.传统的视觉目标跟踪算法主要使用视频图像序列中的像素值为主要特征进行建模,当跟踪过程中出现复杂场景时,浅层的像素级特征效果不好[1-3].
近年来,判别类方法主要有相关滤波类方法和深度学习类方法.相关滤波算法通过学习一个判别式分类器,用于估计搜索窗口中目标的最大响应以实现跟踪.深度学习方法诸如卷积神经网络(con-volutional neural network, CNN)、深度信念网络(deep belief network, DBN)能够挖掘出数据的深度抽象特征,反映数据更深层的本质.目前卷积神经网络是应用最多的方法,主要有2类:1)应用已经训练好的CNN模型提取目标特征,再结合传统的目标跟踪方法实现跟踪,深度学习方法采用CNN提取的特征具有很强的语义信息,但是缺乏时空信息;2)应用已知的跟踪目标样本对CNN模型进行在线微调,将最终训练结果用于跟踪,但是由于跟踪过程中只能提供第1帧的目标样本,面临训练样本缺少问题,因此在线微调的新模型容易出现过拟合.
本文结合时空上下文模型(spatio-temporal con-text model, STM)与卷积神经网络,采用简化后的浅层卷积神经网络提取目标抽象特征,时空上下文模型提取目标的时间与空间信息,浅层卷积神经网络提取目标深度抽象信息,判断目标的背景与前景,对目标进行精确定位.
目前大多跟踪算法采用检测跟踪(tracking by detection)框架[4-10].Kalal等人[5]提出的单目标长时间TLD(tracking learning detection)跟踪算法,综合了目标的跟踪检测及在线学习,将跟踪和检测通过在线学习机制结合起来,能够很好应对目标局部遮挡等场景.Ji等人[6]应用第1帧和最近几帧的特征构成字典,应用 L1最小二乘化准则将候选粒子投影到字典,确定前景背景.Zhang等人[9]提出一种基于图割理论的Mean Shift尺度自适应算法,克服缩放10%核带宽的经典尺度适应方法的带宽趋于缩小问题,针对尺度变化问题具有较好的实用性和鲁棒性.Hu等人[10]针对单目标特征描述不完整的问题,提出一种基于多特征联合稀疏表示的跟踪算法,结合粒子滤波充分考虑粒子间的依赖性并且实现了局部块的稀疏性,提高跟踪精度.
最近几年基于相关滤波(correlation filter, CF)的跟踪框架由于速度快,效果好吸引了众多研究者的目光[11-18].Bolme等人[11]第1个将相关滤波方法引入视觉跟踪领域,应用灰度特征表达目标,最小化二次方差去学习一个MOSSE(minimum output sum of squared error filter)滤波器,最大响应位置即跟踪过程中目标所在的位置,优势在于算法速度快. Henriques等人[12]提出的高效核函数CSK(circulant structure of tracking with kernels)跟踪算法应用循环位移矩阵进行稠密性采样,并结合快速傅里叶变换进行分类器训练,仅仅采用灰度特征使算法鲁棒性不足.Danelljan等人[13]在CSK灰度特征的基础上联合颜色属性描述目标,并进行降维处理去除冗余信息,对背景杂乱、光照变化和运动模糊表现出很好的跟踪结果,但快速运动、尺度变化和低分辨率等场景下跟踪效果不佳.核相关滤波(kernel correlation filter, KCF)算法[14]同样在CSK基础上由单通道特征拓展到多通道方向梯度直方图(histogram of oriented gradient, HOG)特征与高斯核结合,训练所得分类器对检测目标具有更强的解释力,跟踪效果取得显著提升.基于MOSSE算法加入尺度特性的判别尺度空间跟踪DSST(discriminative scale space tracking)算法[15]设计2个相对独立的相关滤波器定义为位置滤波器和尺度滤波器实现目标跟踪和尺度变换,选择不同的特征种类和特征计算方式来训练和测试,实现了快速且准确的跟踪效果.Zhang等人[16]应用贝叶斯框架对目标和其局部上下文区域进行建模,得到目标和其周围区域的统计相关性.对光照变化、尺度变化、遮挡、背景杂乱的场景有较好的效果,但对刚性形变、出视角和低分辨率的视频效果不佳.
CNN特征由于其包括大量深度抽象信息被广泛应用到视觉跟踪领域,相比传统浅层像素特征,应用深度抽象特征能够获得明显的性能提升.但卷积神经网络在目标跟踪领域面临训练样本缺失与算法运算量大实时性低等重要问题[19-24].Wang等人[19]第1次将深度网络运用于单目标跟踪,首先提出“离线预训练+在线微调”思路的深度学习跟踪算法(deep learning tracker, DLT),有效解决跟踪中训练样本不足的问题;Nam等人[20]提出的树结构CNN(tree structure convolutional neural network, TCNN)算法核心在于使用树状CNN结构,每个阶段都训练出新的CNN,即每个CNN学习到的特征是目标在不同阶段的特征,最后结果由多个CNN加权求和得到,可以减少模型飘移;Wang等人[21]使用序贯集成学习方法在线训练CNN,采用2个神经网络结合的方式,预训练的CNN的输出作为在线更新的CNN的输入,进行特征提取;文献[22]结合人脑视觉处理系统,简化了卷积网络结构,使用目标区域中随机提取的归一化图像块作为卷积神经网络的滤波器,从而实现了不用训练卷积神经网络的快速特征提取;Ma等人[23]将KCF算法中使用的HOG特征替换为深度卷积特征,使用预训练好的网络当中的3个卷积层的输出,从3个层当中提取的特征分别经过相关滤波器学习得到不同的模板,然后对所得到的3个置信图进行加权融合得到最终的目标位置;文献[24]设计一个针对跟踪的网络结构,用跟踪数据集作为训练样本,加入在线微调和尺度更新模块提高跟踪精度,但采用测试集训练网络模型存在过拟合.
目前CNN研究的演化方法总结为4种:1)更深的网络;2)增强卷积模块功能以及上述2种思路的融合;3)从分类到检测;4)增加新的功能模块.
卷积神经网络在目标跟踪方面的研究基本考虑更深的网络和增强卷积模块功能,而基于图像帧与帧之间的时空信息研究不多.本文采用一个在线卷积神经网络结构,融合目标的时空上下文信息共同提取目标的深度抽象特征,并且无需依赖数据集进行离线辅助训练.实验证明,本文提取的特征不仅保留CNN特征深度语义信息,也含有目标相应的时空信息,在位置预测、时空信息保留方面与传统卷积网络相比具有更多优势,可以取得更加鲁棒准确的跟踪效果.
本文结合文献[16]给出的时空信息(spatio-temporal context, STC)设计的时空上下文模型STM作为卷积神经网络中的各阶滤波器,在第1帧中,计算出目标置信图用来更新时空模型.假设x∈2为某一位置,o为需要跟踪的目标,定义目标所在位置x的置信值:
(1)
其中,Xc={c(z)=(I(z),z)|z∈Ωc(x*)}为上下文特征集合,x*为目标位置,I(z)为点z灰度特征,p(x|c(z),o)表示目标与局部上下文的空间关系,条件概率表示:p(x|c(z),o)=hsc(x-z),hsc(x-z) 定义目标位置x与其局部上下文位置z之间的空间关系.p(c(z)|o)表示局部上下文中各位置的先验概率,建模为
所以,式(1)可以转换为
(2)
c(z)与目标邻域内点z到目标位置x*的相对距离有关,转换到频域进行计算,得空间上下文模型hsc(x):
(3)
(4)
本文区别于传统的卷积神经网络加深卷积网络结构的研究方法,应用卷积网络设计一个2层的目标表示结构,结合跟踪过程中目标的上下文信息,实时更新卷积网络的滤波器,提取目标深度抽象特征.特征提取结构如图1所示.
(5)
(6)
得到d个简单层特征,记作:Fx={F1,F2,…,Fd}⊂X.
复杂层特征,为了加强对目标的特征表达,本文将d个简单层特征进行堆叠,构成一个3维张量来表示目标的复杂层特征,记作F∈(n-w+1)×(n-w+1)×d.
Fig. 1 Convolution feature extraction structure图1 卷积特征提取结构
这种特征具有平移不变特性,由于图像归一化后,使得特征对目标的尺度具有鲁棒性,且复杂层特征保留不同尺度目标的局部几何信息.为了增加对目标表观特征的鲁棒性采用了稀疏表达的方式表示特征:
(7)
(8)
其中ρ为vec(F)的中位数。得到目标的最终特征表达,构建特征模板,结合粒子滤波实现跟踪.
本文基于粒子滤波框架,设第t帧时观测序列为O1:t={o1,o2,…,ot},则跟踪主要是求出后验概率p的最大值,根据贝叶斯理论,可知:
(9)
p(St|St-1)=N(St|St-1,Σ),
(10)
其中,Σ=diag(σx,σy,σt)为对角协方差矩阵,p(St|O1:t)为观测模型,用于评估观测序列O1:t与目标的相似性.
观测模型通过测量样本与目标之间的相似度来计算:
(11)
于是,整个跟踪过程就是求最大响应:
(12)
2.2节给出了结合时空上下文模型的卷积神经网络特征提取结构,获取目标的深度抽象信息,基于这种卷积特征,结合粒子滤波,提出本文跟踪算法如图2所示:
Fig. 2 Tracking flow chart图2 跟踪算法流程图
Fig. 3 Examples of the tracking results on video sequences图3 视频序列跟踪结果实例
主要有5个步骤:
1) 初始化.归一化、粒子滤波、网络规模、样本容量等参数设置.
2) 置信图计算.应用第1帧的目标,根据式(1)计算出初始目标置信图,用作后续更新上下文模型.
3) 特征提取.根据上文的提出的卷积网络结构,利用式(5)~(7)提取出各候选样本的深层抽象特征.
4) 粒子滤波.归一化后生成规定尺寸大小的候选图片样本集,按照式(9)~(12)的粒子滤波算法,进行目标识别与定位.
5) 网络更新.根据式(2)(4)给出的上下文模型计算公式,在跟踪过程中实时更新上下文模型,用作卷积神经网络中的滤波器.
本文应用MATLAB2014a编程环境,PC配置为Inter Core i3-3220,3.3 GHz,8 GB内存,根据文献[3]在CVPR2013中给出的Database OTB2013中提供的测试视频序列对算法进行仿真分析,2015年文献[25]对测试集进一步进行了扩充.本文按照目前较为流行的定性与定量分析相结合,对算法进行分析验证,其中本文仿真参数设置为:滤波器数100,归一化尺寸32×32,滑动窗口尺寸6×6,学习因子设置为0.95,粒子滤波器的目标状态的标准偏差设置如下:σx=4,σy=4,σt=0.01,使用N= 300个粒子.
限于论文篇幅,本文仅给出5组代表性的跟踪实验结果,对比算法分别为:MIL(multiple instance learning tracker)[4], TLD[5], L1[6],CT(compressive tracking)[7], CSK[12],KCF[14],CNT(convolutional networks tracker)[22], Ours.如图3所示,先后给出了Car4,Football,Jogging2,Matrix ,Walking2部分测试视频的跟踪结果.Car4伴随有光照变化和尺度变化,在第180帧目标发生强烈光照变化,很多算法出现漂移,第240帧继续发生光照变化,CSK,L1,CT,TLD,MIL等算法均跟踪失败,剩下CNT,KCF与本文算法正确跟踪目标,后续伴随相应尺度变化,本文算法在跟踪准确算法中尺度变化是最准确的.Football序列目标奔跑伴随着相应的形变与旋转,第100帧时目标进入队伍中出现大量相似目标的背景干扰,大部分算法都能很好区分进行准确跟踪,第290帧时目标发生激励碰撞,并产生遮挡与相应剧烈变化,此后只有本文算法能够持续准确跟踪.Jogging2序列,目标在第50帧发生完全遮挡,TLD算法应用持续跟踪检测模块重新定位到跟踪目标,但尺度变化上出现一定误差,本文算法结合时空上下文提取的深度抽象特征,能够有效地针对遮挡,鲁棒较好.Matrix序列存在相应光照变化,尺度变化,局部遮挡,目标快速运动并伴随相应形变,大部分算法未能表现出准确的跟踪效果,本文算法因为采用卷积神经网络对快速运动目标跟踪存在计算缺陷,同样是跟踪不准确,本文算法的误差能够做到相对较小.Walking2序列实在低分辨场景下的监控视频,第180帧与350帧目标先后被遮挡,在运动过程中伴随相应形变与尺度变化,可见本文算法在所有算法中取得最准确的效果.
根据文献[3]在CVPR2013中给出的Database OTB2013综合评价方法,如图4所示,本文主要使用距离精度图(precision plots)和跟踪成功率图(success plots)的一次通过成功率OPE(one-pass evaluation, OPE)对算法进行评估,并给出背景干扰(background clutters)、光照变化(illumination variation)、低分辨率(low resolution)和遮挡(occlu-sion)四种场景的具体数据,如图5所示.本文比较算法有MIL[4],TLD[5],CT[7],Struck[8],CSK[12],CN(adaptive color tracker)[13],KCF[14],DSST[15],STC[16],SRDCF (spatially regularized correlation filters tracker)[17],DeepSRDCF (convolutional features for correlation filter tracker)[18],CNT[22],Ours.
Fig. 4 Precision plots and success plots of OPE图4 OPE精度图与成功率图
Fig. 5 Precision plots and success plots of OPE图5 OPE精度图与成功率图
分析实验数据可知,本文算法结合时空上下文模型提取的深度抽象特征,可以很好地应对背景干扰,面对光照变化与低分辨率场景时,本文算法与文献[18]DeepSRDCF提取的深度特征,相对于传统特征,能够更好地表达目标的深度抽象信息,可以更好地应对复杂场景的跟踪问题;本文提取的特征能够保留CNN特征深度语义信息和目标相应的时空信息,在应对遮挡时可以利用时空信息更好地确定被遮挡目标的位置,减少漂移现象.实验证明,本文提取的特征不仅保留CNN特征深度语义信息,也含有目标相应的时空信息,在位置预测、时空信息保留方面与传统卷积网络和传统特征相比具有更多优势,在面对背景干扰、光照变化、低分辨率和遮挡等复杂场景时,可以取得更加鲁棒准确的跟踪效果.
为了测试算法性能,给出了部分序列的中心位置误差与距离精度的具体数据.中心位置误差(center location error,CLE)表示目标的中心位置与标准中心位置的欧氏距离的误差,表达式为ε=
Table 1 Center Location Error(Pixels)& Distance Precision表1 位置中心误差CLE(像素点) & 距离精度DP
针对视觉跟踪中运动目标鲁棒性跟踪问题,本文结合时空上下文信息和卷积神经网络,提出一种无需训练的在线卷积网络提取深度特征的视觉跟踪算法.首先对初始目标进行预处理并提取目标置信图,跟踪过程中结合时间信息与空间信息更新得到时空上下文模型,作为卷积网络结构中的各阶滤波器,用来提取目标简单抽象特征;然后叠加简单层的卷积结果得到目标的深层次表达;最后结合粒子滤波跟踪框架实现跟踪.实验表明,本文简化后的卷积网络结构,结合时空上下文模型提取的深度抽象特征,不仅能够保留深度抽象特性的抽象语义信息,也保留有目标相应的时空下上文信息,能够提高复杂背景下的跟踪效率.本文采用的卷积神经网络,因为计算复杂的原因,本文算法实时性不高,速度仅达到3~5 fps,在应对快速运动目标时效果不好,另外时空上下文模型对于目标出界丢失上下文,没有很好的补偿措施,不能很好地应对出界目标的跟踪,这是后续需要改进的地方.