基于显著性区域加权的相关滤波目标跟踪
2021-03-25朱均安曹景太
朱均安,陈 涛,曹景太
(1.中国科学院长春光学精密机械与物理研究所,吉林长春130033;2.中国科学院大学,北京100049)
1 引 言
视觉目标跟踪是计算机视觉中的一个重要的研究问题,是高层语义分析的基础,例如场景理解、行为理解等。视觉目标跟踪要解决的问题可以表述为:在视频序列中,给出第一帧中目标的位置及大小(通常是一个矩形边界框),需要在后续帧中预测出目标的位置及大小。视觉目标跟踪中存在许多挑战[1-2],包括光照变化、遮挡、旋转、形变等。研究人员提出了许多跟踪算法来解决这些问题,主要分为生成模型[3]和判别模型[4-8]两类。基于生成模型的目标跟踪算法,采用历史帧的结果来生成用于描述目标特征的统计模型,能够有效处理跟踪过程中目标丢失的情况,但是基于生成模型的方法忽略了目标周围的背景信息,在面对背景混乱时容易丢失目标。与生成模型不同,判别模型主要是学习出一个决策边界,利用这个决策边界来区分目标区域与背景区域。
近年来,基于判别模型的相关滤波跟踪算法取得了良好的跟踪性能。2010年,误差最小平方和(Minimum Output Sum of Squared Error,MOSSE)[9]跟踪算法首次将相关滤波器引入目标跟踪领域。通过最小化均方误差,在后续帧中找到目标的最佳位置。2012年,循环结构的检测跟 踪(Circulant Structure of Tracking-by-detection with Kernels,CSK)[10]算法提出了一种使用循环移位对数据进行密集采样的方法,并通过快速傅立叶变换(Fast Fourier Transformation,FFT)快速训练出分类器。2014年,核相关滤波器(Kernelized Correlation Filter,KCF)[11]跟踪算法对CSK进行了扩展,由单通道特征拓展到多通道特征,并引入核方法提高了基于相关滤波的目标跟踪算法的精度。为了更好地应对尺度变化,区分尺度空间跟踪算法(Discriminative Scale Space Tracking,DSST)[12]和多特征的尺度自适应跟踪算法(Scale Adaptive with Multiple Features tracker,SAMF)[13]分别提出了不同的解决方案。DSST将目标跟踪看成目标中心平移和目标尺度变化两个独立的问题,通过添加尺度滤波器来更好地应对尺度变化。SAMF则对候选区域的目标采用固定的七个尺度,同时检测目标平移变化和尺度变化,快速确定目标的位置和尺度。2015年,为了抑制边界效应并扩大搜索范围,空间正则化的判别相关滤波器(Spatially Regularized Discriminative Correlation Filter,SRDCF)[14]跟踪算法采用了更大的检测区域,同时加入空域正则化。2016年,连续卷积算子跟踪算法(Continuous Convolution Operator Tracker,C-COT)[15]在连续域中应用多分辨率特征,并在VOT2016竞赛上实现了较好的跟踪性能。模板与像素互补学习(Sum of Template and Pixelwise Learners,Staple)[16]跟踪算法采用梯度方向直方图(Histogram of Oriented Gradients,HOG)特征[17]和颜色直方图来建立目标的外观模型,这两种特征具有一定的互补性,通过分别求解他们的响应图,然后对响应图进行加权融合获得了较好的跟踪效果。2017年,在C-COT跟踪算法的基础上,高效卷积算子跟踪算法(Efficient Convolution Operators for Tracking,ECO)[18]将手工设计的特征和卷积特征相结合,使用因式分解的卷积来减少特征的维数,并压缩学习模型中的训练样本以提高跟踪速度和鲁棒性。
基于判别模型的相关滤波跟踪算法虽然在精度和速度上取得了较好的效果,但是这些算法目标位置的定位精度依然有待提升。为了解决这个问题,本文在ECO的基础上提出了基于显著性区域加权的相关滤波目标跟踪算法,首先使用改进的残差网络(SE-ResNet)[19]来提取多分辨率特征,可以充分利用浅层和深层特征的不同特性。然后,提出了一种显著性区域加权策略,通过对相关滤波器的响应进行重新加权来提高定位精度。最后,在视觉目标跟踪(Visual Object Tracking,VOT)[1-2]竞赛上进行评估,实验结果表明本文算法取得了较好的效果,具有良好的跟踪性能。
2 基于相关滤波的目标跟踪
相关性是用来描述两个信号的联系,分为互相关和自相关,在基于相关滤波的目标跟踪中,相关指的是互相关。
假设有两个信号f和g,当他们分别为连续信号和离散信号时的相关性计算方法如下:
其中:⊗代表卷积运算,f*表示f的共轭。互相关就是衡量两个信号在某个时刻τ时的相似程度。因此,将相关滤波应用到目标跟踪领域最基本的思想就是:设计一个滤波模板,使得该模板与跟踪目标的感兴趣区域(Region of Interest,ROI)做相关运算,得到最大的输出响应。该思想用数学语言可以描述为:
其中:g表示相关滤波的输出响应,f表示输入原始图片的特征,h表示滤波模板。在相关滤波的跟踪框架中,只需要不断地修正滤波模板,得到最大的输出响应即可。
由于卷积运算的计算量较大,采用快速傅里叶变换FFT的性质将空间域的卷积运算转化为频率域的乘法运算,可以极大地提高运算速度。公式(3)可以转化为:
其中:⊙表示逐元素相乘,F表示FFT变换,采用对应字母的大写表示其FFT变换后的结果,公式(4)可以简化为:
因此,相关滤波器可以采用如式(6)求出:
3 本文算法
3.1 算法总体结构
本文提出的跟踪算法的整体结构如图1所示,该算法由两部分构成,即相关滤波响应的计算和显著性图的计算。对于相关滤波的响应图的计算,本文算法在ECO的跟踪框架基础上,采用SE-ResNet-50来提取多分辨率特征,Rc是求出的相关滤波的响应;对于显著性图的计算,采用背景对象模型[20]来获取目标的显著性图,Rs是求出的显著性图。最后,将相关滤波的响应图与显著性图的响应相乘,即可得到最终的响应图,最终的响应图Rfinal可以通过如式(7)计算出:
把响应图Rfinal取得最大值时的位置映射到原图中就可以求得在后续帧中目标的位置。
图1 本文算法的跟踪框架Fig.1 Framework of proposed algorithm
3.2 分层卷积特征
近年来,手工设计的特征,如HOG特征和颜色名(Color Name,CN)[21]特征在目标跟踪领域取得了良好的效果,但手工设计的特征已经成为了跟踪精度提升的瓶颈。Yosinski等人[22]研究发现,在卷积神经网络中低层的部分学习的是一些颜色、纹理等简单信息,而高层部分学习的是综合的语义信息。卷积神经网络中的不同卷积层的特征图的可视化的结果如图2所示。卷积神经网络特征在图像分类和目标检测领域都取得了较高的精度。因此,本文采用卷积神经网络来提取浅层和深层的特 征,充分利用卷积神经网络不同层的特性。
图2 卷积神经网络中的不同卷积层的特征图的可视化[23]Fig.2 Visualization of deep feature maps from different convolutional layers of different CNN architectures
3.3 相关滤波的响应图的计算
为了进一步提升跟踪算法的性能,在计算相关滤波的响应图时,采用了ECO的跟踪框架,并使用了改进的残差网络SE-ResNet-50网络来提取多分辨率特征,充分利用不同层的特征信息,并结合高层抽象的特征和低层基础的图像特征的特点。本文算法选择Conv1x,Res3d和Res4f层作为多分辨率特征图,输出的特性在ReLU激活之前,提取的特征图的大小为112×112,28×28和14×14。由于提取的特征的分辨率不同,采用C-COT中的隐式插值模型。每个样本xj都包含D维的特征通道,从同一图像块中提取的D维通道的特征为表示特征通道x中空间采样点的数目,d∈{0,1,2,...}。特征通道x∈RNd可以看作一个关于离散空间变量n∈{0,...,Nd-1}的函数x[n]。为了学习连续的卷积算子,特征图被转换到连续的空间域[0,T)∈R。其中常数T代表支持区域的大小。插值算子Jd被构造为:
其中,bd∈L2(T),它表示插值函数。
式中a是固定系数。通过插值函数将不同分辨率的特征插值到相同尺寸,然后采用ECO中的因式分解的卷积来减小特征的维度,使用一组较小的基滤波器f1,f2,...,fC,在这里C<D。然后使用一组学习的系数Pd,c将特征层d的滤波器构造为一个线性组合的滤波器fC,系数Pd,c可以紧凑地表示为D×C的矩阵P=(Pd,c)。新的多通道滤波器可以写成矩阵向量乘积Pf,因式分解的卷积算子可以表示为:
公式(10)的最后一步是卷积的线性组合,可以将因式分解卷积过程分为两步操作,其中每个位置t的特征向量J{x}(t)首先与矩阵PT相乘,然后将生成的C维的特征图与滤波器f进行卷积。因此,矩阵PT的作用类似于线性的降维算子。Rc即为相关滤波的响应图。
考虑从单个训练样本x中学习因式分解的卷积算子公式(10),为了简化表示,使用z^d[k]=Xd[k]b^d[k]表示插值特征图z=J{x}的傅立叶系数。傅立叶域中的相应的损失函数可推导为:
公式(11)相比于C-COT中的损失函数,添加了P的Frobenius范数作为正则化项,其约束效果由参数λ控制。损失函数公式(10)是一个非线性最小二乘问题,为了解决这个非线性最小二乘问题,首先采用了高斯-牛顿方法将上述非线性最小二乘问题转化为线性最小二乘问题,然后再通过共轭梯度的方法来求解。
相关滤波的响应图的求解过程总结如下:
Step1:采用公式(8)对不同分辨率的特征图进行双三次插值操作,将不同分辨率的特征图转换到连续空间域;
Step2:通过采用公式(11)最小化损失函数,求出相关滤波器;
Step3:采用公式(10)进行因式分解的卷积求出相关滤波的响应图Rc。
3.4 显著性区域提取
视觉显著性(Visual Saliency)[24]是指人眼可以自动地从真实世界的场景中识别出感兴趣区域,并对感兴趣的区域进行处理而忽略掉不感兴趣的区域。作为对人类视觉注意机制的模拟,显著性检测算法的目标是将输入图像转化为一幅显著图,显著图表现为将图像中可能的感兴趣区域进行高亮显示,并抑制背景区域的显示。通过在计算机视觉任务中引入视觉显著性,可以为视觉信息处理任务带来帮助和改善。通常,跟踪任务中的目标是运动中的前景物体,因此,在目标跟踪中采用视觉显著性可以帮助快速定位目标,提高定位的准确率,显著性检测算法的计算结果对于目标跟踪任务具有重要的指导作用。
图3 目标区域和环绕区域Fig.3 Object region and surrounding region
本文采用背景对象模型来获取目标的显著性图。假设输入图像为I,为了从背景中分离出目标像素x∈θ,采用基于颜色直方图的贝叶斯分类。如图3所示,给出一个目标的矩形框区域O和它的环绕区域S。在x处的像素属于目标像素的概率为:
其中bx表示分配给输入图像I(x)的颜色分量,由于是从颜色直方图直接估算,因此颜色分量属于目标区域和环绕区域的概率可以分别表示为:
HIΩ(b)表示在区域Ω∈I上计算的非标准化直方图H的第b个计算区间,先验概率可以近似为:
根据公式(15),公式(12)可以被简化为:
分配给背景的像素值的最大熵为0.5,采用背景对象模型可以从背景像素中区分出目标像素。通过搜索前一帧目标位置的一个矩形区域Ot-1,当前帧的显著性图Rs的计算公式如式(17)所示:
其中:sv(Ot,i)表示基于目标模型的概率分数,sd(Ot,i)是基于到前一个目标中心的欧式距离中心ct-1的距离分数,它们的计算公式如下:
在跟踪阶段,由于目标的外观是不断变化的,所以需要不断地更新目标外观模型,采用线性插值的方式来更新目标外观模型,公式如下:
其中η是学习率。
3.5 模型更新策略
在相关滤波响应图和显著性图的计算中都需要更新模型,并且采用了不同的更新策略。
在相关滤波响应的计算过程中,本文采用了相关滤波的跟踪框架,如果对每一帧都更新模型,由于图像帧间样本特征的差异较小,所以基于相关滤波方法的图像帧间的损失函数变化也很小,每一帧都更新使得整个样本集内存在大量的冗余样本信息,给目标跟踪算法带来很大的计算负担。为了解决上述逐帧更新模型的策略带来的内存与算力问题,采用与ECO相同的更新策略,使用稀疏的模型更新方法,直接设置每NS帧图像进行一次模型更新。
在显著性图的计算中,本文采用背景对象模型来获取目标的显著性图,由于目标的外观是不断变化的,需要不断的更新目标外观模型。因此在显著性图的计算过程中,采用公式(20)在获取每一帧的目标后都更新目标外观模型。
3.6 目标跟踪过程
在目标跟踪过程中,给定第一帧的目标位置,跟踪算法在后续帧中根据前一帧中目标的位置,在其周围进行搜索,从而预测目标在后续帧中最佳的位置和尺度。为了更好的应对尺度变化,本文算法采用了与SAMF中相同的尺度策略,采用了七个尺度。本文算法的跟踪过程可以作如下描述:
算法:基于显著性区域加权的相关滤波目标跟踪算法输入:图像序列和第一帧图像的目标位置和尺寸大小输出:图像序列后续帧中的目标位置和尺寸大小Begin if第一帧手动选定需跟踪的目标,提取目标区域的多层卷积特征,最小化式损失函数得到初始滤波器f;else Step1:根据上一帧目标的位置和尺寸大小裁剪出七个不同尺度的候选区域,并提取预测目标区域的多层卷积特征;Step2:利用公式(10)计算相关滤波的响应图Rc;Step3:利用公式(17)计算显著性图Rs;Step3:利用公式(7)计算得到最终的响应图,得到的目标位置和尺度;Step4:通过公式(11)更新滤波器f和公式(20)更新外观模型;Step5:如果不是最后一帧,返回Step1。End
4 实验结果与分析
4.1 实验设置
始于2013年的VOT是一项目标跟踪算法的竞赛,本文算法在VOT2016[1]和VOT2017[2]上进行评估,它们都包含60个手动标记的图像序列,但VOT2017用10个困难的视频序列代替了VOT2016中10个简单的视频序列,并且重新标记了一些视频序列,使VOT2017比VOT2016更具挑战性。VOT竞赛中,跟踪性能按三个主要指标进行排序,即精度(Accuracy)、鲁棒性(Robustness)和平均重叠期望(Expected Average Overlap,EAO),使用VOT竞赛的评估工具包(VOT toolkit)来评估本文算法。
本文使用一台搭载Intel i7-8700K CPU和GTX 1080 Ti显卡的电脑对提出的跟踪算法进行了评估,使用的软件是MATLAB 2016a和它的工具包MatConvNet[25](版本为MatConvNet-1.0-beta25),改进残差网络SE-ResNet-50模型可以公开下载(http://www.robots.ox.ac.uk/~albanie/models/se-nets/SE-ResNet-50-mcn.mat)。实验使用的参数如下:在相关滤波部分搜索区域范围设置在200×200和250×250之间,尺度数量为7,尺度因子为1.03,固定更新频率NS为5;在显著性图的计算中,学习率η设置为0.05。根据Mat-ConvNet的官方说明,不同版本的MatConvNet会影响运行结果,为了避免采用不同版本导致的结果差异,其他跟踪算法的测试结果来自作者个人主页或者VOT竞赛的官方网站(https://www.votchallenge.net/vot2016/results.html;https://www.votchallenge.net/vot2017/results.html)。
4.2 消融实验
为了验证本文提出的显著区域加权策略的有效性,在VOT2016和VOT2017上进行了消融实验,将本文算法与没有显著区域加权策略的算法进行了比较。Ours_N代表没有显著区域加权策略,其他与本文算法相同。实验结果如表1和表2所示,从这两个表中可以看出,本文算法的EAO、准确性和鲁棒性方面都优于没有显著区域加权策略的算法。实验结果表明,显著区域加权策略能够有效地改善跟踪性能。此外,与本文的基准算法ECO相比,本文算法即使没有显著区域加权策略,在EAO的准确性和鲁棒性方面仍然比ECO好。实验结果表明,利用改进的残差网络SE-ResNet-50网络在相关滤波框架中提取多分辨率特征的策略是有效的,有助于提升跟踪性能。
表1 VOT2016上的消融实验结果对比Tab.1 Ablation study results on VOT2016
表2 VOT2017上的消融实验结果对比Tab.2 Ablation study results on VOT2017
4.3 VOT2016实验结果
本文算法与8种先进的跟踪算法(包括ECO[17],Staple[15],DeepSRDCF[26],SRDCF[13],SiamFC[27],KCF[10],DSST[11]和SAMF[12])在VOT2016上进行比较。实验结果如表3所示,表中最好的三个结果分别用红色、绿色和蓝色表示(彩图见期刊电子版)。从表中可以看出本文提出的算法的平均重叠期望、准确性和鲁棒性均优于其他跟踪算法,获得了比其他算法更好的精度和鲁棒性,具有良好的跟踪性能。
表3 多种算法在VOT2016上的对比Tab.3 Comparison of trackers on VOT2016
VOT2016测试数据集上的精度-鲁棒性图和平均期望重叠率图如图4和图5所示,精度-鲁棒性图中横坐标为指数化处理后的鲁棒性值,纵坐标为精度,算法在图中的位置越靠近右上总体性能越好;平均期望重叠率图中横坐标为算法排名,纵坐标为平均期望重叠率,算法在图中的位置越靠近右上总体性能越好。从图4和图5可以看出本文算法在图中都处于右上的位置,这表示本文算法在9个跟踪算法中总体跟踪性能最好。
图4 VOT2016测试数据集上的精度-鲁棒性排名Fig.4 AR plot for experiment baseline on VOT2016
图5 VOT2016测试数据集上的平均期望覆盖率排名Fig.5 Expected overlap scores for baseline on VOT2016
4.4 VOT2017实验结果
本文算法与7个先进的跟踪算法(包括ECO[17],CFNet[28],DCFNet[29],Staple[15],SRDCF[13],KCF[10]和DSST[11])在VOT2017上进行了比较,实验结果如表4所示,最好的三个结果分别用红色、蓝色和绿色标注(彩图见期刊电子版)。从表中可以看出,在8个跟踪算法中,本文提出的跟踪算法在EAO和鲁棒性上都排名第一,精度略低于Staple排名第二。本文算法在VOT2017上也取得了较好的结果,具有良好的跟踪性能。本文算法在VOT2017数据集上的精度-鲁棒性图和平均期望重叠率图如图6和图7所示,本文算法在图中都处于右上的位置,这代表本文算法的总体跟踪性能较好。
表4 多种算法在VOT2017上的对比Tab.4 Comparison of trackers on VOT2017
图6 VOT2017测试数据集上的精度-鲁棒性排名Fig.6 AR plot for experiment baseline on VOT2017
图7 VOT2017测试数据集上的平均期望覆盖率排名Fig.7 Expected overlap scores for baseline on VOT2017
4.5 定性分析实验
为了直观地对比本文跟踪算法的效果,从VOT数据集中选择了5个有代表性的图像序列(Bag,Bmx,Butterfly,Fish1和Matrix)进行定性分析实验。这些图像序列几乎包含了跟踪任务中所有的挑战,不同跟踪算法预测的目标边界框如图8所示。为了更好地展示不同算法的结果,图8只展示了本文提出的跟踪算法和本文算法的基准算法ECO的对比。如图8所示,本文算法的跟踪框与基准算法ECO的跟踪框相比位置更准确,具有更好的跟踪性能。甚至,在某些ECO丢失目标的情况下,本文提出的算法依然可以很好的跟踪目标。
图8 与基准算法ECO相比,在五个具有挑战性的序列(从上到下:Bag,Bmx,Butterfly,Fish1和Matrix)上对所提出算法的定性评估Fig.8 Qualitative evaluation of the proposed algorithm compared with ECO on five challenging sequences(from top to bottom:Bag,Bmx,Butterfly,Fish1,and Matrix)
4.6 运行速度对比实验
运行速度是目标跟踪算法评价的重要指标,本文算法在Intel i7-8700K CPU和GTX 1080 Ti显卡的电脑上的运行速度为平均8帧速率(Frames Per Second,FPS),与另外三种跟踪算法的运行速度对比如表5所示。从表中可以看出本文算法的运行速度与采用卷积特征的跟踪算法ECO和DeepSRDCF相比相差不大,但是与采用手工设计特征的Staple跟踪算法相比运行速度有一定差距,这是由于本文算法采用改进的残差网络SE-ResNet-50来提取多分辨率特征,在这个特征提取的过程中计算量较大,导致在跟踪过程中即使采用GPU进行加速仍然不能实时运行。
表5 与3个跟踪算法的速度对比Tab.5 Speed comparisons with three trackers
5 结 论
本文在ECO的跟踪框架的基础上,提出了基于显著区域加权的相关滤波目标跟踪算法。首先采用SE-ResNet-50来提取多分辨率特征,增强特征表达;然后采用显著性图来对相关滤波的响应图进行加权,提高定位精度。最后,在VOT数据集上进行了实验,VOT2016和VOT2017的EAO得分达到了0.415 7和0.341 2,实验表明采用特征表达更强的卷积神经网络来提取特征对跟踪算法的精度有较大提升。而且,采用视觉显著性来加权相关滤波的响应图也可以有效地改善跟踪精度。