融合时空上下文信息和注意力机制的目标跟踪
2022-10-01朱文球曾志高汪晓毅
朱文球,邹 广+,曾志高,汪晓毅
(1.湖南工业大学 计算机学院,湖南 株洲 412007;2.湖南工业大学 智能信息感知与处理技术湖南省重点实验室,湖南 株洲 412007)
0 引 言
在目标跟踪任务中,由于目标的快速运动、尺度变换、背景干扰等问题会出现跟踪漂移甚至失败,Bertinetto等[1]提出了全卷积孪生网络跟踪算法(SiamFC),将AlexNet网络模型作为主干网络,对所提取的模板特征和搜素特征进行互相关运算得到响应图,根据响应图得分预测目标位置。由于其主干网络特征提取能力较弱,SiamFC无法得到对目标具有强判别性的特征,且模板图像中包含的背景信息被当成正样本处理,污染了模板特征。GOTURN[2]网络框架同孪生网络类似,通过对训练数据做增广处理,使得随机裁剪得到的样本能服从拉普拉斯分布,但训练出来的网络仅对目标敏感而不对类别敏感,对相似物体判别性不强。Valmadre等[3]提出CFNet算法,将SiamFC和相关滤波结合起来,但面对目标遮挡等问题时跟踪效果不佳。Wang等[4]采用注意力机制[5,6]融合的方式得到目标位置映射的算法RASNet,但仅仅用到了模板特征。ACF[7]利用注意力机制学习到几个相关滤波器之间的注意信息。Zhang等[8]提出一个扩展了更深层数的网络结构SiamDW,利用了深层网络能提取特征更充分的优势。SA-Siam[9]通过语义和外观双分支结构提取目标的不同特征,并使用通道注意力机制对目标进行特征选择,但忽略了模板更新。Zhu等[10]提出FlowTrack,通过增加光流信息的方式来利用时序信息,考虑了帧间信息。Ashish等[11]提出Transformer,已经被应用到自然语言处理,计算机视觉[12]等方面。Xia等[13]提出基于光流分块的跟踪方法,有效利用了帧间的光流信息。
1 基准孪生网络算法介绍
SiamFC跟踪算法关键点是采用离线训练,在线微调的网络,能有效提高算法的速度。SiamFC网络模型结构如图1所示。采用全卷积网络时,搜索图像的尺寸不需要同模板图像一致,能够为网络提供更大的搜索区域,计算更多子窗口的相似度。互相关使用的函数公式如式(1)所示
f(z,x)=φ(z)*φ(x)+b1
(1)
式中:x是输入搜索图像,z是输入模板图像;φ为特征提取网络;*代表卷积操作;b1表示在得分图中每个位置取值的偏差值;f(z,x) 表示z与x的相似度得分。得分最高的位置即目标位置。
2 本文跟踪算法(STASiam)
2.1 概 述
本文基于孪生网络结构,针对SiamFC等算法存在的忽略各特征通道信息的权重、仅关注模板的语义特征等问题,提出了一种融合时空上下文信息和注意力机制的算法(spatio-temporal contextual information attention mechanism with Siamese,STASiam),主要工作如下:①主干网络采用结合了空洞卷积的ResNet50[14]网络模型,增大感受野,并对不同网络层提取的特征进行自适应加权融合。②结合空间注意力[15]和通道注意力[16]对通道特征信息和空间位置信息进行权重选择。③设计了一个聚合时序信息的模块,构建一个拉普拉斯型的包含时序信息的模板特征集合,由交叉注意力(Cross-Attention)前向传播运动的先验知识,从而得到更充分的目标外观特征。并与空间自注意力结合捕获时空上下文信息,从而提升网络判别力,更好地区分目标和背景。④在基准数据集上算法速度能达到43帧每秒(FPS),满足实时性。
2.2 网络结构
网络结构和各层对应的操作见表1:网络共分5个块,第2个至第5个网络块的残差块个数分别为(3、4、6、3)。其中Block代表网络块,Dilation表示空洞卷积。Block1中的7×7代表卷积核大小,64代表输出通道数,maxp代表最大池化,s=2表示下采样操作,步长为2。
因其ResNet50网络的总步长为32,会导致模板图像经过主干网络提取特征后,特征图分辨率会变得过小,导致大量信息丢失。为了避免这种情况,对第4、第5个网络块不进行下采样操作(设置步长为1),同时分别用空洞率(dilation rate)为2和4的空洞卷积代替3×3卷积,以此能够在同样的分辨率下获得更宽阔的感受野。在不做池化操作损失信息的情况下,加大了感受野,能让每个输出都包含较大范围的信息,聚合图像中不同尺寸的上下文信息,获取了多尺度信息。通过提高分辨率可以更加精确定位目标,同时消除因为卷积填补操作对目标带来的平移影响。算法总体模型结构如图2所示。算法流程如图3所示。
图2 STASiam网络模型
图3 算法流程
基于孪生网络框架,目标模板图像和搜索图像经过主干网络提取特征后,我们对第2、第4、第5这3个网络块(Block2、Block4、Block5)的输出特征进行自适应加权融合。经过加权融合后模板分支通过双注意力模块对通道和空间位置做进一步筛选,并同结合了时序信息的模板特征集合相乘,得到的结果传递到搜索区域,以此聚合时间上不同的目标表示。最后搜索分支通过一个交叉注意力模块与原搜索分支特征相加并归一化后得到搜索特征,通过与模板分支得到的模板特征做互相关操作得到最终响应图。响应图中得分最高的位置即为目标位置,映射到原图像中定位当前目标位置。
2.3 特征自适应加权融合
本文算法想要在深度卷积网络中不仅仅学习目标的语义特征,同时也学习低层颜色、轮廓等目标外观特征。两者相融合,提升算法对正负样本的辨别力。在模板和搜索双分支下,对经第2、第4、第5这3个网络块输出的特征自适应加权融合。网络块卷积特征可视化表达如图4所示,Block2输出的响应图有较为明显的底层特征(纹理、位置、颜色等),能凸出目标的大致位置与轮廓,帮助定位目标。Block4和Block5高层次语义特征的响应图对目标与背景有更好的区分度,提高模型对正负样本的区分能力。本文在3.5节展示了选取不同网络块组合的实验对比结果。由于不同网络块的输出特征图分辨率和通道数各有不同,因此需要对特征图做上采样和通道压缩。对Block2而言,算法使用一个1×1卷积对特征图的通道进行压缩(256→1024),图像分辨率上采样采用的是双线性插值法。
图4 网络各个网络块特征可视化表达
表1 网络结构
为提取出更能表征目标的特征,算法根据式(2)对第2、第4、第5这3个网络块输出的特征自适应加权融合
F=α·X1+β·X2+γ·X3
(2)
式中:F表示融合后的特征图,α,β,γ分别为3个网络块的特征权重,通过网络自适应学习,X1,X2,X3表示3个网络块的输出特征。特征权重可以表达为一个标量,它们在所有特征通道上是共享的,并且α+β+γ=1,α,β,γ∈[0,1]。 通过一个softmax函数计算权重值,α的计算方式如式(3)所示,β,γ两个参数的计算采用类似的计算方式
(3)
式中:λα,λβ,λγ为softmax函数对3个特征的权重分配控制参数。网络通过一个1×1卷积计算这3个权重标量参数,并通过标准型的反向传播学习更新这3个参数,如式(4)、式(5)所示
(4)
(5)
(6)
Learning_rate表示学习率。同理,也可求得λβ,λγ。
2.4 双注意力机制(Dual-Attn)设计与实现
本文通过引入双注意力机制,聚焦在不同通道特征和空间位置特征,对图像中目标区域投入更多的注意力资源,抑制掉其它部分无用信息,有效提高对特征信息处理的效率和正确性。双注意力机制由通道注意力(channel attention,C-Attn)和空间注意力(spatial attention,S-Attn)组成,沿着两个独立的维度对特征进行推断。各通道、位置根据对目标的响应程度赋予不同的权重,自适应地对特征进行提优。双注意力机制模块可以与卷积神经网络(convolutional neural networks,CNN)结构一起使用,不会增加额外的参数,并且能实现端到端训练。双注意力模块的框架如图5所示。
图5 双注意力机制框架
由图5知,通道注意力和空间注意力是以串联的方式进行工作的,卷积层输出的特征图会先经注意力模块,得到加权结果F′后,作为空间注意力模块的输入,最终同输入特征F加权得到结果F″。 整个过程表示如式(7)所示
(7)
式中:F∈RC×H×W为输入特征,Attnc代表通道注意力块,Attns代表空间注意力块,⊗表示逐元素相乘(element-wise multiplication)。F″是最终精炼后的输出特征。
通道注意力对输入特征图进行尺寸压缩,采用全局平均池化和全局最大池化并联的方式对通道信息加以整合。通道注意力的框架如图6所示:首先通过使用平均池化和最大池化操作聚合特征图的空间信息,得到两个不同的特征描述 (F_avg, F_max), 再将这两个特征描述输入到共享卷积网络,得到经通道注意力筛选的特征。整个运算过程如式(8)所示
Mc(F)=σ(SCN(AvgP(F))+SCN(MaxP(F)))
(8)
式中:σ(·) 代表Sigmoid函数,AvgP(·) 和MaxP(·) 分别表示平均池化和最大池化,SCN(shared convolutional neetwork,SCN)是权重调节卷积共享网络。两个描述特征经过共享网络输出后得到F_avg和F_max,采用逐元素加法合并后经过Sigmoid函数得到特征权重向量,输入特征与该权重向量相乘即得到权重不同的输出特征。由图6所示,权重调节卷积共享网络SCN是基于两个1×1卷积完成权重计算,不同于传统的采用多层感知机(multilayer perceptron,MLP)的方式。SCN网络相较于MLP而言,利用卷积网络权值共享的特性,能大大降低全连接层网络的参数量,加快计算过程,保证算法在增加注意力模块后的实时性。
图6 双注意力实现模块
空间注意力是对通道注意力的一种补充,对经通道注意力筛选后的特征更进一步提优,找到对目标区域敏感的位置。通过全局平均池化和全局最大池化对输入特征进行表达。具体过程如下:将结果按拼接(Concatenate)的方式组合起来,经过卷积层和Sigmoid函数的作用,得到带权重的特征向量;将该向量同输入特征相乘得到最后与目标相似度高的输出特征。过程可描述为如式(9)所示
Ms(F)=σ(k7×7([AvgP(F);MaxP(F)]))
(9)
式中:k7×7表示卷积核大小为7×7。
2.5 聚合时序信息模块的设计与实现
在一段视频序列中,从开始帧到结束帧,帧间时序信息十分重要,它包含了丰富的上下文信息。现实中的视频帧中目标可能因遮挡、背景干扰等带入许多噪声,若这种帧被当作模板时,会造成模型严重漂移。通过传达各帧之间的时序信息能够对各帧特征之间形成信息互补。因此本文算法在关注当前帧特征的同时也没有忽略历史帧的重要信息。本文算法对训练数据集中经过主干网络提取的不同模板帧特征组成一个集合T∈n×C×H×W。T=Concat(T1,T2…Tn), 其中Ti∈C×H×W,C、H、W分别表示通道数、特征图的高度和宽度。与集合T类似,我们构建了一个拉普拉斯型的模板集合LTFS=Concat(LF1,LF2…LFn)。 其中LFi∈H×W的定义如式(10)所示
(10)
式中:u代表目标的真实位置,xi为算法检测到的目标位置,b是尺度参数。下标i是在时间序列上不同的模板帧表达顺序。如图2所示,LTFS与经过混合注意力机制筛选后的模板特征相乘后作为交叉注意力的一个输入。因此,对于搜索区域特征来说,LTFS可以被视作是一个聚合了不同模板帧特征的掩膜。它能够聚合时间上不同的目标表示。
本文算法使用一个交叉注意力模块来前向传播LTFS至搜索区域。交叉注意力模块的实现如图7所示,本质上是一个自注意力机制。根据目标跟踪任务特性,我们添加了两个全连接层增加非线性变换。根据式(11)计算得到向量Q、K的相似矩阵M,其结果与输入向量V相乘
M=softmax(Q·KT)
(11)
式中:向量V是由LTFS与混合注意力模块的输出相乘得到。相似矩阵M与V相乘的结果经过两个全连接层和一个Relu激活函数层,再通过一个Layer Normalize层对结果做归一化处理。Layer Normalize同Batch Normalize作用一样,都是把输出限制在一个均值为0,方差为1的范围内。不同之处在于两者做归一化的维度是互相垂直的。本文在这里采用Layer Normalize,根据样本的特征数做归一化。最后对输出特征做张量转换操作,调整特征图大小。
图7 交叉注意力实现框架
3 实 验
3.1 实验细节
本文算法基于深度学习Pytorch 1.6框架实现,利用Cuda(10.2版本)和CuDNN(7.6版本)加速计算。编程语言使用Python 3.8版本。实验硬件设备包括:Intel(R)Core(TM)i5-9400F CPU @2.90 GHz、NVIDIA显卡、GeForce RTX 2070Super 8 G显存、32 GB DDR4 RAM内存。
算法使用GOT10K[17]数据集离线训练,在OTB50[18]、OTB100[19]和VOT2018[20]数据集上对算法做评测,其中VOT2018作为目标跟踪挑战赛官方数据集,包含60多个具有挑战性的视频序列。网络输入模板图像大小为127×127×3,搜索图像大小为255×255×3,两者均为RGB三通道图。主干网络训练时设置初始学习率0.01,学习率按指数型衰减到10-5,L2惩罚项(weight_decay)设置为5e-4,动量值设置为0.9。一共训练50轮(epoch),每轮以批为最小单位(batch_size=8)。网络总步长为8,搜索图像按([0.9638,1,1.0375])尺度比例缩放,尺度惩罚为0.9745,多线程数设置为16。
3.2 训练损失函数
本文算法训练网络使用逻辑斯蒂(Logistic)函数求损失值,通过最小化损失值找到网络的最优解。网络模型对输入的正负样本离线训练,正样本定义为不超过中心一定像素距离(20~30个像素距离)的点,超出这个距离就标记为负样本。
网络训练时采用所有位置点的平均损失值来表示损失,如式(12)所示
(12)
式中:M表示得分图;m为得分图中某个搜索位置;v[m] 表示某个位置的得分;y[m] 为某个位置的真实标签,l表示求单点loss值函数
(13)
(14)
本文算法在Logistic损失函数的基础上添加了一个时间序列上的权重函数ω(i,j), 其中μ是一个常数,i和j代表得分图中某个位置。权重函数的作用是避免网络挑选到相隔较远的图像对。算法选取相邻帧图像对能够有效避免过拟合,因为选取到的模板图像中目标可能被部分遮挡,导致带入过多的背景信息,使得损失值过小,陷入过拟合状态。
网络训练时采用随机梯度下降(stochastic gradient descent,SGD)来最小化损失函数,如式(15)所示
(15)
式中:θ为网络参数,E表示数学期望。
3.3 定量分析
OTB官方数据集使用跟踪精度(Precision)和跟踪成功率(Success)两个指标对跟踪算法进行评价。跟踪精度的评估标准是中心位置误差在T1(实验设置为20)个像素以内的帧数占整个视频序列帧数的百分比。跟踪成功率是算法预测的目标框和真实目标框之间的交并比IoU(intersection-over-union)大于阈值T2(实验设置为0.5)的帧数占整个视频序列帧数的百分比。
VOT2018数据集使用准确率(Accurary)、鲁棒性(Robustness)和期望平均重叠率(expected averaged overlap,EAO)3个指标对跟踪算法进行评估。算法准确率是指视频中每帧预测目标框同真实目标框之间的交并比(IoU)在整个视频序列上的平均值。鲁棒性用来评估算法的稳健性,其数值越大,稳健性越差。
期望平均重叠率EAO的计算同准确率和鲁棒性这两个量有关,它可作为算法综合性能评估的指标。定义视频序列中帧长度为Ns的平均帧覆盖率如式(16)所示
(16)
式中:Φi为预测目标框与真实目标框之间的准确率。EAO的计算如式(17)所示,Nhi为序列末尾帧,Nlo为序列起始帧
(17)
3.3.1 OTB测试集实验结果分析
OTB50测试集上的跟踪成功率和跟踪精度如图8所示,结果表明本文算法在Success和Precison两个指标上都优于SiamFC和CSR-DCF[21]算法,其中在Success指标上分别提升了12.7%和11.3%。同时,也优于目前一流的跟踪算法RASNet,在Success和Precison两个指标上分别提升2.4%和1.1%。
图8 OTB50成功率图和跟踪精度
如图9所示,本文算法在OTB100数据集上的Success和Precision分别为68.14%和0.891,跟踪性能均优于SiamFC和CSR-DCF算法,比结合深度学习和相关滤波的CFNet算法分别高出9.75%和0.096。本文算法性能同样优于引入了ResNet50网络的SiamDW算法,对比目前流行的SiamRPN[22]算法,本文算法的Success和Precision指标分别提升了5.23%和0.046。此外,均优于对比的算法。
图9 OTB100成功率图和跟踪精度
3.3.2 VOT测试集实验结果分析
如表2所示,本文算法在VOT2018测试集上的Accurary、Robustness、EAO指标上均优于其它算法,与SiamFC对比,Accurary提高了0.102,EAO提高了0.128。本文算法同样优于目前跟踪性能优秀的基于相关滤波器的算法ECO,在Accurary和EAO指标上分别提升0.119和0.034。同时本文算法鲁棒性也得到了增强,平均速度为45 FPS,虽然实时性不如ECO,但已满足实际跟踪的实时性,且准确率更高。在VOT2018测试集上的实验结果进一步验证了本文算法的有效性。
表2 在VOT2018数据集上的评估结果
3.4 定性分析
为了对比分析本文算法和其它算法在复杂场景下的跟踪效果,从OTB数据集挑选了4个包含多个挑战性的序列(Couple、Dog、Human8、Shaking)对算法进行测试。如表3所示,所选的这4个序列包括以下挑战:平面内旋转(in-plane rotation,IPR)、平面外旋转(out-of-plane rotation,OPR)、尺度缩放(scale variation,SV)、光照变化(illumination variation,IV)、发生形变(deformation,DEF)、快速运动(fast motion,FM)、背景干扰(background clutters,BC)等。如图10所示,共对比了4种算法,包括本文算法、基于梯度更新目标模板的GradNet、基于孪生网络算法SiamFC和基于通道加权可靠性的算法CSR-DCF。在面对视频序列中的复杂场景,本文算法都实现了比较好的跟踪效果。
表3 各测试序列包含的挑战属性
在Couple序列中,第92帧和第109帧其它3种算法均出现了丢失目标的情况,而本文算法能准确捕获目标。可见在图像分辨率低和背景干扰的情况下,本文算法鲁棒性更好。在Dog序列和Shaking序列,面对光照强度变化、尺度缩放、目标形变等场景,本文算法同其它3种也都能较好地跟住目标,但在Shaking序列第8帧和第77帧,CSR-DCF出现了丢失目标的情况。在Human8序列中,SiamFC和GradNet算法在第17帧开始出现背景变暗时丢失目标,且在后续帧中无法找回目标,鲁棒性更低,而本文算法能较好地完成跟踪任务。由此可见,本文算法在应对具有挑战性的场景时,也能较好地完成跟踪任务,实现比其它对比算法更好的跟踪效果,并且算法鲁棒性更好。
3.5 消融研究
为了验证本文算法所提的改进策略的有效性,对改进策略进行消融实验研究。我们在基准数据集OTB100和VOT2018上进行主要部件的消融实验。
表4展示了在固定其它部件的情况下,不同网络块组合后进行自适应加权融合对算法性能的影响。我们可以看到Block1+Block2+Block3和Block1+Block2+Block4网络块的组合效果后对算法效果提升幅度不大,这种组合没有能够得到目标的语义信息,仅有外观和位置信息,特征表达不具鲁棒性。同样,对Block3+Block4+Block5组合而言,特征中缺乏目标的外观、位置等低层次信息,使得定位目标变得困难。对于Block1+Block3+Block5按等差数列选取的平衡层次而言,会因为特征图分辨率过高,导致计算量增大。经过实验对比,按Block2+Block4+Block5组合进行特征自适应加权融合能得到最好的跟踪效果。
表4 不同网络块组合在OTB100数据集上实验结果
与此同时,我们在OTB100数据集上的前20个视频序列上对比特征固定权重方式和特征自适应加权融合方式的各个算法对比。对比指标分别为平均中心位置误差(CLE)、平均重叠率(OP)和平均精度(DP),对比结果见表5。可见自适应加权融合方式明显优于其它算法和特征固定权重的方式。
表5 不同算法的平均CLE、OP和DP对比
为了验证双注意力机制的有效性,对其组成部件单独进行实验。如图11所示,其中Base是指除双注意力机制外的其它算法模块,CA代表通道注意力,SA代表空间注意力,本文算法在OTB100数据集上进行消融实验,并对比SiamFC和CSR-DCF算法,单独融合通道注意力模块的方法在跟踪精度指标上比SiamFC提高0.066,验证了本文算法所提双注意力机制策略的有效性。
图11 双注意力机制部分在OTB100上实验对比
如表6所示,在VOT2018数据集上,本文算法在各部件单独作用的情况下,在准确率(A)、鲁棒性(R)和平均重叠率(EAO)指标上比SiamFC均有提升,并且随着独立部件的增加,指标A和指标EAO都随之提高。固定算法其它模块的情况下增加空间注意力模块,在准确率和平均重叠率指标上比SiamFC分别提升6.2%和7.1%。在此基础上,算法融合通道注意力后,EAO指标比SiamFC提高了10.2%。同时,算法的鲁棒性得到了明显提升(0.585→0.310)。
表6 双注意力机制部分在VOT2018上实验对比
如表7所示,我们在OTB50数据集上对算法的3个组成模块(自适应加权融合模块、混合注意力模块、聚合时序信息模块)进行对比实验,其中Base1是指融合了空洞卷积的ResNet50为主干网络的孪生网络跟踪算法。AdaptiveFusion是指自适应加权融合,DualAttn指双注意力机制,LTFS+CroAttn表示聚合时序信息模块。从表中结果可以看到聚合时序信息模块对算法整体性能提升最明显,混合注意力模块次之。通过实验结果对比,能够验证本文所提出算法的有效性。
表7 算法3个组成模块在OTB50上实验对比
4 结束语
本文基于孪生网络框架提出了一种改进的算法STASiam,使用融合空洞卷积的改良的深层次主干网络ResNet50作为特征提取器。同时多层特征自适应加权融合,结合双通道注意力机制和聚合时序信息模块,前向传播时间运动上的先验信息给搜索区域,加强网络模型对目标的辨别力,提升了孪生网络算法在处理目标遮挡、变形、旋转时的鲁棒性。在OTB和VOT数据集上进行了实验,实验结果表明了本文算法的有效性。本文算法适用于通用目标跟踪,可以应用于包括视频监控、车辆跟踪等应用领域。