杨晓强,刘文昊
西安科技大学 计算机科学与技术学院,西安 710000
近年来,目标跟踪在智能机器人、视频监控、人机交互等领域取得广泛的应用。但目标经常遭受快速运动、尺度变化、背景干扰和遮挡等问题的干扰,此外,复杂的环境也给目标跟踪带来很大的困难[1]。因此,目标跟踪仍然是一项具有挑战性的工作[2]。
基于孪生神经网络(Siamese neural network,Siamese)的目标跟踪算法利用相同参数的主干网络的输出进行互相关操作,使得跟踪精度高、运算速度快。全卷积孪生网络(fully-convolutional Siamese,SiamFC)[3]首次利用Alexnet[4]网络提取目标模板和搜索区域的特征,利用其网络具备平移不变性的优点解除对输入图片的尺寸限制,由于较浅的主干网络且不需要模板更新,运行速度达到86 FPS。CFNet(correlation filter Siamese network)[5]将相关滤波器引入到SiamFC 框架中进行分层训练,通过降低实时性提高跟踪精度。此后,SiamRPN(Siamese region proposal network)[6]受区域建议网络的启发,利用孪生网络输出的特征图进行区域建议提取,并取得良好的跟踪效果。但是,SiamRPN不能解决与目标相似的干扰物。随后,基于SiamRPN 的(distractoraware Siamese region proposal network,DaSiamRPN)算法[7]增强了对目标相似干扰物的区分效果,从而提高了模型的鲁棒性。(deeper and wider Siamese networks,SiamDW)算法[8]在ResNet[9]和Inception网络中加入残差块裁剪单元,从而使得跟踪的精度和鲁棒性得到进一步改善。SiamRPN++(Siamese region proposal network++)[10]算法将AlexNet 网络替换为更深层次的特征提取网络ResNet。在ResNet网络中加入空间感知采样策略,在一定程度上克服了深层次网络严格的平移不变性对于目标跟踪的影响,并采用逐通道互相关运算取代SiamFC中简单的互相关操作,提高了跟踪精度。SiamBan(Siamese box adaptive network)算法[11]引入空洞卷积,通过增大感受野来提高特征提取的性能,并用椭圆对目标进行分类回归。SiamCAR(Siamese fully convolutional classification and regression)算法[12]在SiamRPN++的基础上,以一种端到端的方式进行跟踪训练,并提出了中心度回归方法,提高跟踪器在复杂环境中的鲁棒性。
虽然SiamCAR目标跟踪算法在成功率和速度方面都有很好的表现,但深层次网络中的填充操作仍然会影响此类算法平移不变性。在特征提取阶段,随着主干网络的层数不断加深,降采样过程中的填充操作会导致提取到的目标变得更加抽象,深层次网络应用到目标跟踪中仍然存在诸多问题。基于SiamCAR 算法,提出了一种改进的孪生网络目标跟踪算法(BsSiamCAR)。在ResNet-50 网络中加入一个低通滤波器,改善填充操作对于网络严格平移不变性的影响,提高网络在特征提取阶段的稳定性。为了跟踪时更好地关注目标本身,降低背景干扰、尺度变化等复杂环境对跟踪效果的影响,引入通道注意力,通道注意力机制能选择出有利于跟踪过程的特征通道,提高网络在复杂环境中的鲁棒性。实验表明,BsSiamCAR在OTB100[13]、VOT2018[14]、UAV123[15]数据集上具有良好的精度和鲁棒性。
SiamCAR[12]提出一种无锚框的孪生分类回归网络,将跟踪问题分解为孪生子网和分类回归子网,分别用于特征提取和目标框预测。如图1所示,孪生子网构建出搜索分支X和目标分支Z,Z在视频序列的第一帧中给出。这两个分支采用相同CNN 架构的ResNet-50 网络。通过式(1)学习ϕ(i)来计算搜索区域与目标图像最佳匹配的位置。
图1 SiamCAR框架Fig.1 SiamCAR framework
其中,*为互相关操作;C为相似度偏移量;目标分支和搜索分支ϕ(i)共享网络权重参数。在Res Net-50 的后三个卷积块中引入空洞卷积,提取到拥有丰富类别信息和语义信息的特征图,并用1×1 的卷积核进行中心裁剪,从而降低超参量。
分类回归子网利用RPN 实现目标的分类和回归,并采用唯一的响应图来直接预测对象的位置和边界框。分类是返回搜索区域对应位置的分数,并区分前景和背景。前景代表着目标区域,背景代表着其他区域。回归则通过返回搜索区域中目标位置到四条边的距离来确定目标的大小。
为了提高跟踪器的鲁棒性,SiamCAR 提出了中心度分支,它与分类分支并行抑制响应图中目标位移过大的情况。如图1 所示,该分支输出一个中心度得分图,其中w和h代表特征提取的宽和高,在该特征图中,每个点的值表示相应位置的中心得分,中点的分数C(i,j)由式(2)确定:
算法的总体损失函数L为式(5):
其中,Lcls表示分类分支的交叉熵损失,Lreg表示回归损失。常数ω1是中心度损失的权重参数,ω2是回归损失的权重参数。
在SiamCAR 算法[12]基础上,设计了一种改进的孪生网络跟踪算法(BsSiamCAR)。图2 表示该算法的总体框架,在主干网络ResNet-50 的第一个卷积块之后引入一个低通滤波器,与最大池化相融合,改善降采样过程中填充操作对网络严格平移不变性的破坏,提高孪生网络在特征提取阶段的稳定性。同时添加通道注意力机制(squeeze-and-excitation network,SENet),抑制复杂背景对目标的干扰,提高算法的整体性能。
图2 BsSiamCAR的整体结构Fig.2 Overall structure of BsSiamCAR
在特征提取阶段,只有在没有填充操作的情况下,网络才会出现严格的平移不变性,如AlexNet 网络。ResNet-50网络中的填充操作会破坏网络严格的平移不变性。本文利用ResNet-50网络构造孪生网络的两个分支。当用ResNet-50 代替AlexNet 网络时,深层次网络能提取到更为完整的语义信息,但填充操作会使网络提取到的特征发生移位,进而破坏了网络严格的平移不变性。受文献[16]的启发,本文引入一种低通滤波器和最大池化相融合,来抑制降采样过程中填充操作对网络严格平移不变性的破坏。如图3所示,在特征提取阶段的第一个卷积块之后,加入一个低通滤波器与最大池化相融合,有效缓解网络严格的平移不变性,使ResNet-50网络更加稳定,提高主干网络的鲁棒性。
图3 BsSiamCAR的特征提取网络Fig.3 Feature extraction network of BsSiamCAR
随着网络结构越来越深,填充操作会使得网络失去平移不变性。主干网络微小的输入变化会导致较大的输出改变,使得跟踪过程中很容易失去目标。如图4中的信号为[0,0,1,1,0,0,1,1](圆形)。如果进行最大池化操作将导致输出为[0,1,0,1,0](方块)。然后改变输入将最大池化过程中Max 操作之前的降采样步幅(shift)减1,会得到不同的采样结果[1,1,1,1](菱形)。实验结果证明,最大池化操作不能提供很好的抗锯齿能力,在最大池化中,改变降采样中的填充操作会产生不同的结果,从而导致降采样过程中网络严格的平移不变性受到了破坏。将最大池化操作分为Max操作和降采样(Subsample)操作,如式(6),将最大池化写成两个函数的组成:
图4 最大池化中移位对网络敏感性的影响Fig.4 Effect of shift on network sensitivity in max pooling
其中,MaxPool表示最大池化操作,Max操作是以滑动窗口的方式进行评估的,它保持了网络的平移不变性。但降采样没有保持网络的平移不变性,降采样时的填充操作会导致提取的特征更为抽象。因此本文添加一个核为5×5的低通滤波器,记为Blur。用式(7)表示:
其中,BlurPool表示将降采样和低通滤波器融合,低通滤波器通过减少填充操作对降采样过程的影响,进而抑制最大池化对网络平移不变性的影响。如图5,在Max和降采样之间加入低通滤波器来作为抗混叠的一个手段,信号通过低通滤波器后的降采样结果为[0.5,1,0.5,1,0.5](三角),将降采样过程中的步幅(shift)减1,得到的采样结果为[0.75,0.75,0.75,0.75](正方形)。它们彼此接近,能一定程度上缓解降采样操作对于网络严格平移不变性的破坏,提高ResNet-50网络的稳定性,防止可能丢失的一些重要特征。
图5 BlurPool对网络平移不变性的改善Fig.5 BlurPool’s improvement of network translation invariance
为进一步验证特征提取阶段低通滤波器与最大池化融合模块的有效性,将本文算法中的B_ResNet-50网络与ResNet-50 网络在OTB100 数据集上的Jump 视频序列中进行特征图对比。可视化效果如图6所示,左边为Resnet-50网络,从图中可以看出ResNet-50网络提取到的目标高响应区域较为分散,目标会逐渐发生偏移,而右边的B_ResNet-50 网络中的高响应部分集中在目标周围,网络在特征提取阶段具有更高的稳定性。
图6 特征提取网络的可视化热力图Fig.6 Visualized thermodynamic diagram of feature extraction network
通道注意力SENet[17]能通过调整不同通道之间的权重,有效的抑制干扰物,增强网络的特征表达能力。在特征提取之后,如图7 所示,本文引入通道注意力机制(SENet),它可以通过网络学习全局信息实现对目标的重新校准,来选择性地增强对跟踪有用的特征,并且抑制无用的特征。
图7 SENet结构Fig.7 SENet structure
首先对特征图X进行卷积操作,并利用挤压操作把一个信道上的全部空间信息重新编码为一个整体,并通过平均池化来实现。
其中,H、W、C表示原始特征图的高、宽、通道数,Fsq表示特征图的压缩,Uc(i,j)表示第c个通道中的第i行、第j列的像素;Z为挤压操作的输出。通过全连接层FC将全局特征Z降维到1/c,经过ReLU 激活函数,然后再次经过全连接层FC将维度升到原始维度c。
其中,W1表示降维参数;W2为升维参数;Fe表示特征提取,为激活函数;δ=max(0,x)为ReLU 激活函数。最后通过特征拼接输出的值更新特征图,实现特征的重标定。
其中,FS表示特征拼接操作,Sc为特征拼接学习到的各个信道的输出,表示经过重标定后的特征图。本文用1×1卷积核将后三层的特征图进行中心裁剪,得到7×7×256的目标特征,而搜索分支没有中心裁剪运算,得到特征图的尺寸为31×31×256。如图2 所示,将SENet添加到特征提取网络之后,通过选择目标信息更加丰富的通道得到不同通道之间的关系,实现更精确的跟踪。
本实验使用一台CPU为Intel®Core™i5-72 00U的PC。采用python 在PyTorch 框架上完成BsSi-amCAR算法,并在GTX2080Ti 上进行训练。目标区域的输入为127 像素,搜索区域的输入为255 像素。用改进的ResNet-50 为训练的主干网络,在ImageNet[18]上对网络预训练并进行初始化。在模型训练时,使用随机梯度下降SGD 训练20 个epoch。初始学习率为0.001,批大小为28,在前10 个epoch 的训练和回归时,孪生子网中的参数被冻结。在后10个epoch中,ResNet-50网络后3 个block 被解冻用于训练。整个网络采用GOT-10k[19]数据集进行训练,OTB100、VOT2018、UAV123 数据集进行测试。
3.2.1 OTB100结果分析
OTB100[13]是2015年提出的一个典型跟踪测试数据集。它包含了100个带标注用于跟踪的视频序列,该数据集包含平面内旋转、平面外旋转、快速运动、尺度变化等11 种跟踪中复杂的场景。将提出的算法与CFNet[5]、Ocean[20]、SRDCF[21]、SiamFC[3]、DASiamRPN[7]、SiamRPN[6]、SiamDW[8]、SiamRPN++[10]、SiamCAR[12]九种性能较好的跟踪器在OTB 100 数据集上对比。如图8、9 所示,BsSiamCAR 算法的成功率(success,S)排在第一,在精度(precision,P)方面也处于领先的地位。同时,本文算法与基准算法SiamCAR 相比,由于引入通道注意力SENet,跟踪器整体成功率提高2.1%,并加入低通滤波器来保证跟踪器的稳定性,使得精度提高0.3%。
图8 OTB100的跟踪成功率Fig.8 Tracking success rate on OTB100
图9 OTB100的跟踪精度Fig.9 Tracking accuracy on OTB100
将本文算法与SiamRPN++、Ocean等先进跟踪器在OTB100 数据集的11 种属性上进行对比。如表1 所示,BsSiamCAR在平面内旋转、尺度变化、快速运动、平面外旋转的跟踪精度和成功率均得到明显改善,平面内旋转和尺度变化两个属性的S分别提高5%和4.1%。实验结果显示,BsSiamCAR在引入SENet后能够更好地适应复杂的背景干扰和尺度变化等问题。并且,在引入低通滤波器和最大池化的融合模块之后,提出算法的S在所有挑战属性上相比SiamCAR算法均有提升。证明了跟踪器的稳定性,可以适用于各种复杂环境。与SiamRPN++、SiamDW等优秀跟踪器相比,仍具有一定的优势。
表1 OTB100数据集在四种挑战属性上的成功率和精度Table 1 Success rate and accuracy of OTB100 on four challenge attributes
3.2.2 VOT2018结果分析
VOT2018[14]数据集由VOT 挑战赛在2018 年推出的。在此基础上,本文采用精确率(accuracy,A)、鲁棒性(robustness,R)、期望平均重叠率(expected average overlap,EAO)和FPS 对跟踪器评估。精确率是指跟踪时,所预测的区域和目标实际区域的平均交并比,其数值越大,则说明精确率越高。鲁棒性是指在跟踪过程中出现的跟踪失败率,数值越小,表明跟踪失败的概率越低。EAO评分标准是根据跟踪成功的视频序列求出重叠曲线的平均值[22]。
如表2所示,将提出的BsSiamCAR算法和SiamFC[3]、SiamRPN[6]、DaSiamRPN[7]、ECO[23]、ATOM[24]、Staple[25]、SiamCAR[12]等方法对比。本文算法的EAO 值最高为0.438,R 为0.192。本文算法在VOT2018 上的跟踪效果较好,相较于基础算法SiamCAR,提出的BsSiamCAR算法EAO值提高1.5%。A提升3.6%。
表2 VOT2018数据集上的对比实验Table 2 Comparative experiment on VOT2018 dataset
本文的跟踪器在获得较高EAO 的同时,速度保持在43 FPS。由于采用ResNet-50 深层网络进行特征提取,同时增加了通道注意力,因此在处理速度上要比SiamCAR 慢。通常跟踪系统需要25 FPS 实时跟踪速度,而本文的跟踪系统的速度明显满足了这个指标。并且,与同是ResNet-50 网络特征提取的SiamCA R 跟踪器相比,本文算法引入低通滤波器,提高了跟踪器在特征提取阶段的稳定性。
3.2.3 UAV123结果分析
UAV123[15]数据集是由无人机拍摄的包括车辆、行人、船只、建筑物等多种跟踪对象的数据集。视频序列包含遮挡、形变、尺度变化、背景干扰、快速运动等常见跟踪中具有挑战性的场景。如图10、11 所示,将本文算法与HiFT[26]、CGACD[27]、SiamRPN[6]、SiamDW[8]、SiamRPN++[10]、SiamCAR[12]等6 种先进的跟踪器比较。实验结果表明,在引入通道注意力之后,提出的BsSiamCAR 跟踪器在成功率S 和精确度P 和经典算法相比,性能都得到了较大的提升,与基准算法SiamCAR相比,在引入低通滤波器和通道注意力SENet之后,成功率和精确度分别提升了0.5%和1.1%,进一步验证了算法的鲁棒性。
图10 UAV123的跟踪成功率Fig.10 Tracking success rate on UAV123
图11 UAV123的跟踪精度Fig.11 Tracking accuracy on UAV123
为了验证低通滤波器与最大池化融合的特征提取模块、通道注意力模块在算法中的有效性,本文基于OTB100 数据集进行消融实验。如表3 所示,采用SiamCAR 作为基准算法,分别将两个模块引入基准算法。实验结果表明,在SiamCAR的基础上,引入低通滤波器与最大池化融合的特征提取模块在特征提取阶段的稳定性有所提高。算法的S 和P 均得到不同程度提升,分别提高0.9%和0.02%。在引入通道注意力模块之后,S提高1%,而由于其轻量化的模型,使得FPS仍然保持在50 左右。因此,每个模块都能一定程度提高跟踪器的性能。本文同时引入两个模块的算法在成功率和精度上均达到最优,并且43 FPS 的实时性可以满足日常需求。
表3 消融实验结果Table 3 Results of ablation experiment
为了进一步验证通道注意力SENet的有效性,如表4所示,分别引入SENet、双重注意力CBAM[28]、全局注意力GAM[29]、和自注意力PSA[30],通过比较各个模型的运算量(GFLOPs)和参数量(Params)的变化。并对OTB100数据集上的成功率和FPS进行对比,进一步验证本文所引入通道注意力SENet的有效性和轻量化。
表4 不同注意力机制对比结果Table 4 Comparison results of different attention mechanisms
在B_SiamCAR 的基础上,添加通道注意力SENet后,由于其轻量化的特点,算法的GFLOPs 和Params 分别提高0.393和2.26×106,在实时性基本不受影响的情况下,成功率提高1.3%,证明了SENet 的有效性。CBAM双重注意力机制由于引入空间注意力而更关注图像的局部区域,导致算法的跟踪效果提升不明显。GAM 全局注意力机制通过减少池化操作尽量保留图像的全局信息。虽然提高了算法的成功率,但是算法的GFLOPs和Params 分别较大程度提高31.397 和63.73×106,FPS仅为11,算法无法以实时速度运行。PSA自注意力没有对空间维度和通道维度进行一定程度的压缩,导致模型参数量和运算量分别增加10.737 和29.55×106,算法成功率提升只有0.6%,而FPS降至21。
为了更加直观地表现出BsSiamCAR跟踪器的先进性,本文在OTB100[13]数据集中选出6 个具有代表性的视频,每个视频包含三个视频帧,与其他5 种先进的跟踪器进行对比。如图12所示,从上到下依次是Bird1视频,Board视频,CarScale视频,Tiger1视频,Diving视频,Liquor 视频。图片的左上角表明了当前图片为视频序列的第几帧。图中红色矩形框代表本文算法。其他框则分别代表SiamFC[3]、SiamCAR[12]、SiamRPN[6]、Siam-RPN++[10]、SiamDW[8]五种算法的跟踪结果。
图12 BsSiamCAR等6种跟踪器的可视化结果Fig.12 Visualization results of 6 kinds of trackers such as BsSiamCAR
“Bird1”视频序列有着尺度变化、背景干扰、部分遮挡、快速运动等各种跟踪过程中面临的挑战性问题,在第188 帧中SiamCAR、SiamFC、SiamRPN 丢失了目标。本文算法可以准确地捕捉到目标的位置,主要是因为在特征提取时引入低通滤波器来保证网络严格的平移不变性,使得提取到的结果更加稳定。从而能处理更加复杂多变的目标。
“CarScale”视频、“Tiger1”视频包含了部分遮挡、尺度变化等跟踪问题,在“CarScale”视频中的第212 帧和第233 帧,SiamDW、SiamCAR、SiamRPN、SiamFC 都只框到了目标的一部分,“Tiger1”在第96 帧和第306 帧也不同程度地出现这种状况。本文算法预测出的目标框和其他跟踪器相比更加吻合目标真实值。能够更好地适应物体尺度变化的能力。
“Board”视频在进行跟踪时,SiamFC和SiamRPN++都在第63 帧出现背景干扰就丢失了目标,在497 帧处,SiamRPN++找回了目标,而SiamRPN 只框到了目标的一半。在“Liquor”视频序列中,SiamFC 和SiamRPN 同样也在相似物干扰的情况下丢失了目标。相比之下本文算法引入通道注意力,从而有效地将目标与相似物区分。因此,本文提出的算法能克服背景干扰、相似物干扰常见跟踪问题。
在跟踪“Diving”视频序列时,目标发生了明显的变形,SiamFC 出现了跟丢目标的现象,但本文提出的BsSiamCAR 成功地捕捉到目标。经过上述分析,提出的BsSiamCAR跟踪器在各种跟踪挑战问题上都能有较好的处理,更加准确地跟踪到目标。
本文在SiamCAR 算法的基础上,设计了一种改进的目标跟踪算法,算法在降采样过程中引入低通滤波器与最大池化相融合,改善了网络严格的平移不变性对跟踪性能的影响,提高算法的稳定性。在特征提取之后嵌入了通道注意力SENet,来提升网络的判别能力,SENet使得网络更加关注目标本身,从而解决了跟踪中背景干扰的问题。本文算法在三个数据集上取得具有竞争力的实验结果。然而,与一些自适应模板更新算法仍然有所差距,接下来将在保证实时性的情况下改进模板更新的方法,提高跟踪器性能。