李虹瑾,彭 力
物联网技术应用教育部工程研究中心(江南大学 物联网工程学院),江苏 无锡214122
目标跟踪作为计算机视觉领域的重要分支,一直是研究的热点与难点,在智慧安防、视频人机交互、现代化军事等诸多领域都具有广泛的应用[1]。近年来提出的跟踪算法多以牺牲速度换取精度,而在真实场景任务中对跟踪算法的速度却有着很高的要求,这也使得很多优秀算法难以真正落地,因此设计一种兼顾速度与精度的跟踪器具有较大的现实意义。
纵观目标跟踪技术十几年的发展,其经历了从经典算法到基于核相关滤波算法,再到基于深度学习孪生网络方法的过程。目前主流的算法依然是基于相关滤波方法以及深度网络方法两大类,前者以Henriques等人提出的KCF(kernelized correlation filter)[2]核化相关滤波器为代表。这类跟踪算法利用自身循环移位来构建虚拟训练样本,虽然运行效率高,但是会出现边界效应问题,在复杂跟踪场景下的鲁棒性较差,因此跟踪精度一直不高。随着计算机计算能力大幅提升,深度学习几乎主导了计算机视觉领域,同时也极大地推动了后者算法的发展。Bertinetto 等人提出了SiamFC(fully-convolutional Siamese networks)[3]算法,开辟了孪生网络应用于目标跟踪的先河。该算法使用孪生网络结构提取目标模板图像与搜索图像的特征,接着利用交叉相关计算两者的相似度,最终预测目标位置为响应图的峰值处。此后众多优秀的跟踪算法皆在此之上提出,He 等人提出SA-Siam(semantic and appearance Siamese network for realtime object tracking)[4]跟踪算法,使用两个孪生网络分别学习目标的语义特征与外观特征,提升了跟踪器的泛化能力。Zhang 等人提出SiamDW(deeper and wider Siamese networks for real-time visual tracking)[5]算法,将主干网络替换成CIResNet,并且设计了剪裁残差单元,有效解决了深度模型应用到目标跟踪上的退化问题。注意力机制由于其可以减少无关信息,强调重要信息,已经被广泛应用于许多视觉任务中。Li等人[6]引入了一个编码器-解码器注意力模块,通过压缩特征图并建立孪生网络中各通道之间的关系,以实现对不同特征的过滤。文献[7]通过整合不同类型的注意力机制,包括空间注意力、残差注意力和通道注意力,极大地缓解了过拟合情况。SiamAttn(deformable Siamese attention networks)跟踪算法[8]提出一种新的孪生注意力机制,包括可变形的自注意力机制和互注意力机制。其中,自注意力机制通过通道注意力和空间注意力学习了丰富的上下文信息以及选择性地加强通道特征之间的依赖,该算法在各个数据集上的实验结果都达到了先进水平,并且可以保持实时速度。如今,大部分研究人员都将工作重心放在提升跟踪准确率上,但是随着深度网络结构越发庞大,在线跟踪的机制也更加复杂,导致了模型参数量和计算量剧增,虽然提升了精度但是也极大牺牲了速度。
本文在SiamFC 算法的基础上,旨在兼顾跟踪精度与速度,提出一种基于特征增强的轻量级孪生网络的高速跟踪算法,具体包含以下三项改进:(1)使用改进后的轻量级网络ShuffleNet[9]作为骨干网络用于特征提取,调整结构使其适用于跟踪。(2)为了提升模型特征判别能力,引入通道和空间双重注意力机制,突出对跟踪有利的特征。(3)设计一种分层特征融合策略,从多个层级完善目标的外观表达,生成更高质量的相似度响应图。实验结果表明所提跟踪算法在OTB100 和VOT2018 数据集上较基准的SiamFC 算法的跟踪准确率与速度都有大幅提升。在NVIDIA GTX1070 显卡上的跟踪速度达到约110 FPS的同时,在OTB100 数据集上距离精度和重叠成功率分别领先了8.3 个百分点和6.5 个百分点,更好地兼顾了精度与实时性。
本文在SiamFC 的基础上提出一种特征增强的轻量级高速跟踪算法,算法框架如图1 所示。首先,使用轻量级网络ShuffleNetV2 作为骨干网络,通过裁剪卷积后得到特征图的最外层特征,减少填充操作(padding)带来的位置偏差。其次,融合了骨干网络提取的深层与浅层特征,丰富了对目标的表征。最后,在模板分支的末端嵌入双重注意力模块,使模板特征更具分辨能力。
图1 本文跟踪算法框架Fig.1 Overall network architecture of proposed tracker
本文算法使用的是孪生网络结构,由特征提取网络与相似度计算模块两部分构成。每一路分支采用同样的网络结构且权值共享,这样既减少了模型的参数量也保证了映射空间的一致性。使用孪生网络做相似性学习,可以将跟踪过程简化为目标与候选区域进行匹配的过程。
在一个搜索区域内使用互相关进行模板图片z和搜索图片x之间的相似性度量,如式(1)所示。
其中,φθ表示经过参数为θ的神经网络得到的特征图,b∙1 表示偏置项,∗为互相关运算,fθ(z,x)反映了输入图像对的相似度。整个跟踪过程可以描述为:把第一帧提供的目标图像作为模板图像,后续帧作为搜索图像,将模板图像和搜索图像都放入深度孪生网络中,得到两者的特征图;然后进行互相关操作,即以模板分支得到的特征图作为卷积核在搜索分支最终特征图上进行卷积操作,得到最终的得分响应图。与目标相似度越高的区域在响应图上的值就越大,反之则会产生很小的响应值,由此就可以通过响应图追溯到原图中待跟踪目标的位置。
在离线训练过程中,定义响应图上各点的逻辑损失为式(2):
其中,v代表送入图像对的实际得分,y∈{-1,1}表示样本的真实标签值。不同的搜索区域对应的标签值和估值也不同,最终由全部搜索区域构成一张相似度相应图D。在算法训练时定义损失函数为响应图的均值,如式(3):
其中,u表示响应图D上的各个位置点,真实标签值y(u)生成如式(4),正样本代表相似即与响应图中心c距离不超过R,用1 表示,剩下位置皆为不相似,用-1表示。
1.2.1 深度可分离卷积
SiamFC 算法使用AlexNet 作为骨干网络提取目标特征,但是该网络只有五个卷积层,参数量较小,虽然带来了可观的跟踪速度,但是由于浅层网络对目标特征的判别能力不足,导致了跟踪准确率受限。如果直接将网络替换成更深层次的网络,意味着网络结构会更复杂,参数量剧增。此时为了满足高速指标就只能使用性能优越的大型服务器,而在实际应用中很难达到这一硬性条件。
随着谷歌公司提出一种新的卷积操作——深度可分离卷积[10],轻量级网络自此在计算机视觉领域初露锋芒。因此本文算法选择比AlexNet[11]层数更多,参数量和计算量更小的ShuffleNetV2 作为主干网络。ShuffleNetV2 使用深度可分离卷积,是一种高性能轻量级网络。
深度可分离卷积可分为逐通道卷积和逐点卷积两部分。逐通道卷积实际上是在二维平面内进行,如图2 所示,输入的每一个通道都会由一个卷积核进行滑窗运算,这就要求卷积核的数量要与输入通道数相同。由于对输入层的每个通道进行独立运算,忽略了通道不同但空间位置相同的特征信息,即输入的各个通道没有关联,因此需要第二步的逐点卷积。图3 展示了逐点卷积的过程,输出通道数等于卷积核数目,其本质就是使用宽高为1 的卷积核将不同层的特征信息在深度方向上进行加权组合,生成最终的特征图。用DF表示输出特征的大小,DK表示卷积核的大小,M和N代表输入输出的通道数,则一次标准卷积的计算量如式(5):
图2 逐通道卷积Fig.2 Depthwise convolution
图3 逐点卷积Fig.3 Pointwise convolution
而一次深度可分离卷积的计算量如式(6):
两者计算量之比α表示为式(7):
可以明显看出卷积核越小,两者的运算量相差就会越大。ShuffleNet 中卷积核的大小为3,理论上深度可分离卷积是标准卷积运算量的1/9。
深度可分离卷积的计算量主要集中在逐点卷积M×N的运算,因此在ShuffleNet 中各通道关联的方式不直接采用1×1 的卷积进行加权组合,而是进行通道重排。该过程可表示为图4,输入特征按照通道分组后进行交叉重排形成新的特征分布,每一组特征都源自上层不同分组,如此一来通道不同的特征信息可以在不同分组之间轮转实现通道通信。
图4 通道重排Fig.4 Channel shuffle
1.2.2 网络结构改进
为了使ShuffleNetV2 能够有效地完成跟踪任务,需要对网络结构做出几点改进。实验发现,直接使用更深层的网络如ResNet[12]、Vgg[13]替换SiamFC 算法中的AlexNet 无法带来性能增益,主要原因在于填充操作以及网络总步长。
本文研究发现Padding 操作会带来位置偏差,导致跟踪成功率急剧下降。在卷积操作时为了保证输入输出特征图尺寸不变通常会进行边缘填充,一般是在特征图四周补零。图5 展示了Padding 操作带来的位置偏差。如果深度网络采用了填充操作,那么模板特征不仅包含了原始图像信息,还具备边缘的填充信息,如图5(a);当目标运动到图像边缘时,位于边缘处的候选区域同时包含了原始信息以及填充信息,如图5(b)中橙色区域;而其余候选区域却只包含了图像本身信息,如图5(b)中蓝色区域。由于模板图像与搜索图像都是以目标为中心进行剪裁,随着特征嵌入信息改变,即使得到了最大响应值,最终的相似性度量也发生偏差,导致最后跟踪失败。为了减少Padding 带来的偏差影响,通过剪裁操作去掉主干网络中部分特征图最外围特征,在确保特征图尺寸适宜的前提下尽可能提升跟踪精度。
图5 填充导致的位置偏见Fig.5 Position bias caused by padding
原始ShuffleNetV2 网络总步长为32,适用于完成图像分类任务,但是步长越大,空间信息就会越模糊,难以适应跟踪任务。对于目标跟踪而言,它关注的重点在于待跟踪目标的精准定位而不是目标属于哪一类,因此需要捕获更多有效的空间信息来帮助定位。除此之外,步长会直接影响到特征图输出的尺寸以及感受野的大小。如果网络步长过大,那么最终特征图的尺寸就会较小,同时空间分辨率很低,难以保留深层特征图中的大量特征信息。另一方面感受野也会越大,导致特征提取区域变大最终反映到对目标位置信息不够敏感。当然网络感受野也不宜过小,不仅会出现目标无法完全覆盖的问题,还会带来计算负担导致跟踪速度下降。在权衡跟踪精度与速度指标后,最终调整网络总步长为8。
本文算法以ShuffleNetV2 为骨干网络,在原先网络的基础上,裁剪掉受Padding 操作影响的特征图的最外围特征,删除了原先ShuffleNetV2 的Stage4 和第一次卷积后的最大池化层,同时将Stage3 中的BottleNeck 的重复次数由8 变为4,保证了网络总步长为8。表1 展示了修改后的骨干网络结构。
表1 骨干网络的主要结构Table 1 Detailed backbone configuration of proposed tracker
在原始SiamFC 算法中,深度网络提取到图像特征后是平等地对待各通道的特征信息,然而对于卷积网络来说,即使是同一个卷积层,不同的特征通道的响应值也不一致,响应值较大的通道说明该通道提取特征较为重要,反之则作用不大。SENet(squeezeand-excitation networks)[14]作为代表性的通道注意力网络,给每个通道赋予权重突出重要特征信息。CBAM(convolutional block attention module)[15]在此基础上又引入了空间注意力,提升网络对空间特征信息敏感性。BAM(bottleneck attention module)[16]是继CBAM 后的又一次尝试,不同于CBAM 先经过通道注意力再进入空间注意力,BAM 采用的是两种注意力并行连接的方式。
本文受BAM 的启发,为了提升骨干网络对于特征信息的判别能力,仅在模板分支嵌入轻量级设计的通道和空间注意力模块。不同于BAM 中激活函数使用ReLU(rectified linear unit)[17],本文算法将通道与空间注意力中的激活函数全部替换为PReLU(parametric rectified linear unit)[18]。ReLU 是目前深度学习中常用的激活函数,它的数学表达式如式(8):
PReLU 的数学表达式如式(9):
PReLU 激活函数能够自适应学习参数,并在几乎不产生额外计算成本的条件下提高精度,与本文追求精度与速度兼备的跟踪算法的宗旨相契合。所嵌入的双重注意力结构可表示为图6,红色虚线框部分表示通道注意力,蓝色虚线框表示空间注意力。对于一张给定的特征图F可以得到一个注意力映射M(F),加强后的特征图F′可以表示为式(10),其中⊗为对应元素逐个相乘。
图6 空间与通道注意力模块结构Fig.6 Detailed spatial and channel attention module architecture
由于每个通道都包含着特定的特征响应,通道注意力模块的任务就是要筛选出响应大的神经元让它们尽可能大地发挥作用,同时抑制不太重要的特征信息,让各个通道响应值差距拉大,使接下来的相似性度量计算更为准确。为了在通道分支中充分利用通道间的关系以及聚合特征图在每个通道的信息,首先采用全局平均池化,接着通过两个全连接层,在最后添加批量归一化层(batch normalization,BN)来调整通道分支输出的尺度。通道注意力的计算可以总结为式(11):
与通道注意力相似,空间注意力的目的是突出或削弱在不同空间位置的特征信息。文献[19]提到如果感受野较大就可以有效地利用上下文信息,知道应该去关注哪些空间位置。因此,在空间分支主要用到空洞卷积来放大感受野,图7 和图8 分别为标准卷积和空洞卷积的示例。相比普通卷积,空洞卷积能够在不丢失分辨率的情况下仍然扩大感受野,此外随着参数设置的不同,它还可以捕获多尺度上下文信息。因此,空间分支主要流程为:首先经过1×1 的卷积对通道维数进行整合压缩,接着利用两个3×3 空洞卷积充分利用上下文信息,最后通过一个1×1 的卷积将通道压缩为1。空间注意力的计算可以总结为式(12):
图7 标准卷积Fig.7 Standard convolution
图8 空洞卷积Fig.8 Dilated convolution
经过通道注意力分支可得到Mc(F),空间注意力分支得到Ms(F),两者融合得到最终的注意力映射M(F),如式(13)。
孪生网络跟踪算法中至关重要的一步就是衡量相似度生成得分响应图,根据响应图估计目标的位置。本文在SiamFC 的基础上,为了进一步提升算法精度与鲁棒性,采取了分层特征融合策略。文献[20]中提到,不同位置的卷积层蕴含的信息有所不同,浅层卷积可以更好地保留目标位置轮廓等结构特征,而深层卷积侧重点在于提取目标语义特征。图9 为模板图像与搜索图像分别经过浅层卷积与深层卷积后得到的特征图。
图9 浅层与深层特征图Fig.9 Shallow and deep feature maps
为兼顾浅层结构特征与深层语义特征实现更精准的跟踪,算法以改进后的ShuffleNetV2 作为主干网络,对Stage2 最后一层输出特征进行下采样操作,分别使用采样后的特征和最后一层卷积的特征对模板图片和搜索图片进行相似度衡量,生成两张尺寸一样的响应图。图10分别展示了利用Stage2末层、最后一层生成的响应图以及最终响应图。Stage2末层特征保留了丰富的空间信息,生成浅层的响应图有利于对目标的定位,而最后一层特征蕴含了目标的语义信息,生成深层的响应图能够有效处理目标变化。因此将两张响应图按照通道维度进行拼接,再利用1×1 卷积生成通道数为1的最终响应图,可表示为式(14):
图10 三种响应图Fig.10 Three types of response maps
其中,r、rlast及r2分别表示最终响应图、最终层及Stage2 末层通过式(1)得到的响应图,klast和k2是通过学习得到各个响应图的权重,b是卷积核的偏置项。通过式(14)可以看出,两张响应图是采取线性加权融合的方式,通过端到端的离线训练,学习到一个相对稳定和鲁棒的权值参数。所提分层融合策略能够在提取到丰富的语义信息的同时保留浅层结构信息,从多个层面表征目标,提升最终响应图的质量,最终实现更为精准鲁棒的跟踪。
本文算法是基于Pytorch0.4.1 深度学习框架实现的,操作系统为Ubuntu16.04,16 GB 内存,CPU 为英特尔i7-8700,显卡是NVIDIA GeForce GTX 1070,8 GB 显存。
实验选用Got-10K 数据集进行模型离线训练,该数据集包含大约10 000 个视频序列和150 万个手动标注的边界框。整个训练过程经历了50 个阶段,每个阶段有约10 000 个图片对,使用ShuffleNetV2 预训练模型对卷积层参数进行初始化,利用动量为0.9 的随机梯度下降法来优化网络,学习率由10-2指数衰减到10-5。图11展示了训练阶段损失函数的收敛曲线。
图11 损失函数收敛曲线Fig.11 Convergence curve of loss function
在线跟踪过程中,输入模板图像大小为127×127×3,搜索图像大小为255×255×3,图像对进入到各自的网络分支最终得到大小为17 的得分图。使用缩放因子为1.037 5 的3 个不同尺度的搜索图像块分别与模板图像进行相似性度量,响应最大的值就对应了当前帧最佳的尺度。
OTB100 数据集是一个公开的目标跟踪测试基准,共包含100 个人工标注的视频序列。OTB100 的测评方法是一次评估(one-pass evaluation,OPE),使用欧氏距离精度图和重叠成功率图来衡量跟踪算法的优劣。欧式距离精度图是根据中心位置的误差进行绘制,衡量的是跟踪器预测的目标框与实际目标框中心的欧氏距离,可表示为式(15):
其中,(xA,yA)是跟踪器预测的目标中心,(xG,yG)是实际的目标中心。而重叠成功率评估的是跟踪器预测的目标框与实际目标框之间的重叠率,也称为交并比,数学定义为式(16):
其中,BA和BG分别表示跟踪器得到的目标框与实际的目标框。
为了验证本文提出跟踪算法的性能,将与其他8种跟踪算法在OTB100 数据集上进行对比实验,对比算法包括SiamRPN[21]、CIResNet22-FC(又称SiamDW)、MemTrack[22]、UDT+[23]、DCFNet[24]、SiamTri[25]、CFNet[26]和SiamFC,OPE 实验结果如图12 所示。本文算法不论是在距离精度指标还是重叠成功率指标都取得了最好的结果,相较于基础算法SiamFC,更是在距离精度上提升了8.3 个百分点,在重叠成功率上领先了6.5个百分点,验证了提出的几点改进方法是具有可观增益的。相比同在SiamFC 基础上改进的SiamDW算法,本文算法在距离精度和重叠成功率上分别取得了2.5 个百分点和1.4 个百分点的增益。SiamDW以CIResNet22 作为骨干网络提取特征,所提算法在使用ShuffleNet 的基础上嵌入了双重注意力机制进行特征提取,融合了分层响应图,故而具备更强的特征判别能力。不同于SiamRPN 使用大规模数据集进行网络训练,本文算法在训练时只使用了少量数据集,虽然在两项指标上只取得了少量的提升,但是极具发展潜力。
图12 9 种算法在OTB100 上的总体精度和成功率图Fig.12 Overall precision and success rate plot with 9 trackers on OTB100 benchmark
为了与其他跟踪算法进行更全面的对比,在OTB100 数据集上测试了不同困难场景下的跟踪表现,图13 与图14 展示了测评结果。实验1 共评估了11 项挑战属性:快速运动、背景扰动、运动模糊、形变、光照变化、平面内旋转、低分辨率、遮挡、平面外旋转、出视野、尺度变化。本文算法无论是距离精度指标还是重叠成功率指标都处于领先地位。在重叠成功率这项指标上,所提算法在其中7 项挑战中表现最优,在3 项挑战中表现次优。在运动模糊挑战中,本文算法在重叠成功率指标取得了0.674 的佳绩,说明跟踪器具有较强的鲁棒性。对比DCFNet相关滤波算法通过将网络输出定义为目标位置的概率热图完成在线学习和跟踪,所提算法使用端到端的离线学习,避免了在线训练更新十分耗时的问题,同时融合了浅层结构特征与深层语义特征增强鲁棒性,在大幅度提升精度的同时速度也得到了保证。在11 项困难因素中表现出的优异结果都证明了所提改进方法的有效性。
图13 9 种跟踪器在OTB100 上各挑战属性的精度图Fig.13 Attribute-based precision plots with 9 trackers on OTB100 benchmark
图14 9 种跟踪器在OTB100 上各挑战属性的成功率图Fig.14 Attribute-based success rate plots with 9 trackers on OTB100 benchmark
图15 展示了几种算法在OTB100 数据集上4 个序列的跟踪结果可视化,对所提算法进行定性分析。实验结果表明,本文算法在这些序列上能够准确地定位目标。Board 序列的跟踪难点在于运动模糊、快速运动、平面外旋转以及背景复杂。当目标快速运动到264 帧位置时,SiamFC 和SiamRPN 已完全跟丢目标,611 帧目标做平面外旋转,SiamFC 一直丢失目标,SiamRPN 重新找回目标,而本文跟踪器与CIResNet22-FC 一直准确跟踪目标。整个运动过程目标都处于背景复杂的条件下且周围有相似物体产生干扰,而所提算法能够在每一帧都成功定位目标,这得益于分层特征融合,实现了从结构到语义多方面地表征物体。ClifBar 序列具备尺度变化、遮挡、运动模糊、快速运动以及出视野的跟踪难点。目标在155 帧出现运动模糊,除了本文算法能够跟准目标,其他算法都出现或多或少的偏移。269 帧目标发生尺度变化,本跟踪器和CIResNet22-FC 依然能够准确定位目标,SiamFC 和SiamRPN 已完全丢失目标。DragonBaby 序列跟踪难点是遮挡、运动模糊、快速运动、平面内旋转以及平面外旋转。在第52 帧,目标快速移动造成了运动模糊,由于CIResNet22-FC 只学习了深度特征,缺乏一定的空间信息最终跟踪失败,而本文算法嵌入了双重注意力机制,增强了对目标重要特征的表达,实现了精准的跟踪。Tiger2 序列存在光照变化、遮挡、形变以及出视野的困难因素。在第174 帧,目标所处环境光照发生剧烈变化,只有本文算法预测框能够准确完整锁定目标,进一步体现所提算法应对复杂环境具备较强的鲁棒性。
图15 OTB100 数据集上一些序列的跟踪结果Fig.15 Tracking results of some sequences on OTB100 benchmark
从上述分析可以看出,所提算法能够在多种困难挑战下对目标进行精准的定位,实现了高精度跟踪这一目标。
VOT 是视觉领域一年一度的目标跟踪竞赛,VOT 数据集也成为当前业内主流测试集之一。VOT2018 数据集一共包括60 组视频序列,它定义的真实目标框是旋转矩形框,相比OTB100 轴对齐矩形框更加精细,跟踪也更具难度。VOT2018 主要有三项跟踪性能衡量指标,分别为平均期望重叠率EAO(expect average overlap rate)、准确率A(accuracy)、鲁棒性R(robustness)。
为进一步验证所提算法的通用性,表2 展示了在VOT2018 数据集上的测试结果,对比算法包括DSiam[27]、DCFNet、DensSiam[28]、SiamFC、Staple[29]以及KCF,表中加粗字体表示最优结果,下划线表示次优结果。可以看出,所提算法在平均期望重叠率指标位列第一,有着不错的跟踪表现。对比基准算法SiamFC,本文算法EAO 指标提升近0.06,同时准确率和鲁棒性都得到了大幅改进。DensSiam 算法同样是以SiamFC 为基础做改进,将其骨干网络AlexNet 替换为密集连接的DenseNet,提高特征提取水平。而本文算法在替换骨干网络为轻量级的ShuffleNet 的同时,嵌入了通道与空间双重注意力机制来突出重要特征,进一步强化了特征判别能力,故在各项指标跟踪表现更为优异。相比使用传统特征的Staple 算法,所提算法学习到更强大的深度特征,EAO 指标提升0.077。同时,本文算法跟踪速度可以达到110 FPS,高于基准SiamFC 算法的90 FPS,虽然不及KCF 算法能达到150 FPS,但在精度方面占据了更大优势。综上来看,本文算法能够更好地平衡跟踪精度与速度,具备更大的发展空间。
表2 7 种算法在VOT2018 上的表现对比Table 2 Performance comparison of 7 trackers on VOT2018 benchmark
通过与SiamFC 算法的骨干网络的参数量、计算量以及模型大小三项指标进行对比,进一步验证本文算法的轻量程度。参数量指的是神经网络中神经元的数目,计算量包含神经网络中卷积层与批量归一化层的乘法和加法的次数总和,模型大小则是指通过离线训练得到最终模型占用的存储量。设输入模板图像的大小为127,对比结果如表3。所提算法由于使用了深度可分离卷积和通道重排策略,在三项指标中均表现优异。从参数量和计算量来看,SiamFC 几乎是本文算法的10 倍,ResNet 则更多。此外,本文算法的模型占用空间仅有约1 MB,也远远小于另外两种模型。
表3 不同模型的参数量、计算量和模型大小Table 3 Number of parameters,calculation amount and model size of different models
从上述分析可以看出所提算法不仅计算量少,模型存储占用也很小,在保持轻量的同时兼顾跟踪精度,发展潜力与应用价值都可见一斑。
2.5.1 成分有效性分析
为了验证本文所提出的三点改进策略——使用改进后的轻量级网络ShuffleNet 作为骨干网络提取特征、通道与空间双重注意力机制(spatial and channel attention,SCA)以及分层特征融合(hierarchical feature fusion,HF)的有效性,在OTB100 数据集上进行了消融实验,以SiamFC 作为基础算法,实验结果如表4 所示。
表4 本文算法与基础算法消融实验Table 4 Ablation experiment of proposed algorithm and benchmark algorithms
从实验结果可以看出,替换SiamFC 主干网络为轻量级的ShuffleNet,跟踪准确率得到了明显的提升,其中在重叠成功率指标提升了0.039,这得益于深层网络较浅层网络更强的特征表达能力。其次,使用分层特征融合策略在重叠成功率指标获得了0.008 的增益,而嵌入通道与空间双重注意力机制提升了0.006。最后,同时融合三点改进策略得到最佳跟踪效果。
2.5.2 特征融合可视化分析
为了更加直观地说明分层特征融合策略在应对复杂场景中目标变化的有效性,本小节对算法中衡量相似度时用到的Stage2 末层和最后一层生成的响应图,以及最终融合后的响应图进行了可视化,如图16。可视化结果第一列为原图像,其中被跟踪的目标由红框标注;第二、三列展示了Stage2末层和最后一层经过相似度量得到的响应图;最后一列是特征融合后的响应图。可以看出,融合后的响应图相比单一的响应图能量更加集中,在干扰较少的区域几乎没有能量响应。在第2 帧中,目标周围有相似干扰物,Stage2 末层的响应图的峰值很突出,但最后一层的响应图却是能量分散没有聚焦。而在第117 帧中,目标也几乎与其他球员重叠,最后一层的响应图却比Stage2 末层的响应图能量更加集中。由此可以看出,单单使用一层特征生成的响应图是不够全面的,相反,不同层提取的特征可以进行互补完善,因此,使用分层特征融合可以从多个角度对目标进行表征,改善响应图质量从而提升跟踪质量。
图16 特征融合可视化Fig.16 Feature fusion visualization
本文在SiamFC 算法的基础上为兼顾跟踪精度与速度,提出了一种特征增强的轻量级孪生网络高速跟踪算法。使用改进后的ShuffleNetV2 作为骨干网络提取目标特征,通过在网络的最后嵌入通道与空间双重注意力增强特征信息,突显重要特征,最后分层融合特征响应图,提升模型泛化能力。所提算法在OTB100 和VOT2018 数据集上进行了大量的实验,结果表明了本文算法在跟踪精度、成功率以及速度上遥遥领先基准SiamFC 算法。在OTB100 上的跟踪精度和成功率分别达到了0.854和0.647;在VOT2018数据集上的预期平均重叠率达到了0.246;同时在NVIDIA 1070 下的速度达到110 FPS 实现了高速跟踪。所提算法在跟踪精度提升的前提下,大幅度提升了跟踪速度,完成了高速而准确的跟踪,具有一定的应用价值与发展潜力。