融合时空上下文信息的双分支孪生网络跟踪算法
2023-01-31谭钦红
李 旭,谭钦红
(重庆邮电大学 通信与信息工程学院,重庆 400065)
1 引 言
目标踪技术是计算机领域的基础研究课题之一,在工程实践中有着广泛的应用,如人机交互、监控安防、无人驾驶及军事战争等[1].目标跟踪指的是在给定第一帧图像和待跟踪目标大小和位置的情况下预测后续帧中感兴趣目标的大小和运动轨迹,实时分析跟踪目标状态的一门计算机视觉任务.
目标跟踪算法可以分为两大类:生成式模型方法和判别式模型方法[2,3].生成式模型方法在当前帧中对跟踪目标的外观进行建模,在后续视频帧中寻找与模型最为相似的区域作为预测的位置.比较著名的生成类方法有STC[4]、粒子滤波、mean-shift[5]等方法.与生成类方法不同的是,判别类方法将跟踪问题看做分类问题,使用机器学习方法训练一个分类器用于在每一帧中判别目标和背景.由于判别类方法训练分类器的过程中加入了背景信息,因此算法鲁棒性和准确性更高,跟踪效果普遍优于生成类方法.
基于深度学习方法的目标跟踪算法属于判别类方法的一种.在过去的几年中,深度学习模型已经被广泛应用于各种计算机视觉任务中,如目标检测、目标识别等.卷积神经网络作为深度学习方法中的一种,由于其提取到的深度特征相较传统的手工特征具有更强大的特征表征能力,近几年很多研究者将其引入到目标跟踪任务中,用于提高跟踪算法的鲁棒性和准确性.随着计算机视觉在无人驾驶、智能安防等领域中的广泛应用,很多学者正致力于目标跟踪算法的研究和改进,在这期间涌现出大量优秀的目标跟踪算法.
文献[6]提出一种SINT++目标跟踪算法,SINT++使用变分自编码方法生成模糊样本并且使用强化学习丰富训练数据从而增加跟踪器在目标产生运动模糊情况下的鲁棒性,但是SINT++目标跟踪算法计算复杂性较大,同时需要使用随机梯度下降算法在线微调网络权重,算法跟踪效率较低,难以保证跟踪任务的实时性.SiamFC[7]目标跟踪算法将目标跟踪任务看做相似性学习问题,该算法采用一种端到端的全卷积孪生网络模型,将目标图片和搜索图片作为网络的输入以提取目标特征,通过互相关操作计算搜索图片与目标图片之间的相似度,将相似度最高的区域作为跟踪结果.文献[8]在SiamFC的基础上提出了SiamRPN算法,该算法将Faster-RCNN[9]算法提出的区域推荐网络(Region Proposal Network,RPN)整合到孪生网络框架中,将用于区分目标和背景的分类分支与用于微调候选区域的回归分支相结合,使得算法可以同时计算目标的位置和形状,有效地提高了跟踪算法的跟踪性能.SiamFC和SiamRPN采用网络层数较浅的AlexNet网络作为主干网络,网络结构简单,跟踪速度快,但是浅层网络限制了目标特征的信息表征能力,导致复杂条件下的跟踪效果较差.针对上述问题,Zhang[10]等人在SiamFC和SiamRPN的基础上提出SiamDW算法,该算法使用较深层次的卷积网络作为跟踪器的主干网络,同时使用CIR单元以减弱网络填充对跟踪性能的影响,进一步提高目标跟踪算法的精度.
尽管现有的目标跟踪算法已经取得了优秀的跟踪效果,但是依然存在以下问题:现有的跟踪算法不能有效地对全局空间上下文关系进行建模,跟踪算法在快速运动、相似物干扰等复杂场景下的跟踪效果较差;同时,现有的大多数跟踪算法只使用跟踪序列第一帧给定的目标作为目标模板,在后续跟踪过程中不进行模板更新操作,这就使得跟踪器无法很好地适应跟踪目标在跟踪过程中发生的外观变化.
本文针对上述问题,提出一种融合时空上下文信息的双分支孪生网络跟踪算法,该算法由语义分支和外观分支组成.通过在语义分支中使用全局空间上下文对图像上距离较远的像素点进行建模,在有效利用跟踪目标周围的空间上下文信息的同时,也能够充分利用不同通道之间的相互依赖关系,提高网络的特征提取能力;在外观分支中使用时间上下文模块对目标模板特征进行更新,从历史模板特征中选择出适合用于模板更新的时间上下文信息,充分利用了跟踪序列在时间上的相关性.
2 SiamFC目标跟踪算法
SiamFC网络结构如图1所示.
图1 SiamFC网络示意图Fig.1 Network diagram of SiamFC
SiamFC[7]跟踪算法的网络结构由两个分支组成,一个是作为基准的模板分支x,另一个则是待搜索图片的候选分支z.将目标模板图片x和搜索图片z输入进共享权重的卷积神经网络φ提取的卷积特征分别为φ(x)和φ(z),将提取出的卷积特征进行互相关操作用于计算跟踪目标与待搜索图片区域的相似性,相似性的计算公式如下:
f(x,z)=φ(x)*φ(z)+b
(1)
其中*表示互相关操作,b表示偏置项.
在跟踪任务中,作为基准的模板是我们要跟踪的对象,通常选取视频序列第一帧中的目标作为待跟踪的对象,搜索图片则是后续视频序列的每一帧图片.SiamFC目标跟踪算法采用AlexNet网络作为特征提取的主干网络,首先将大小为127×127×3的模板图片z和大小为255×255×3的搜索图片x输入进共享权重的卷积神经网络φ分别得到卷积特征φ(x)和φ(z),卷积特征φ(x)和φ(z)的大小分别为6×6×128和222×222×128,接着通过对卷积特征φ(x)和φ(z)进行互相关操作得到特征响应图,最后在特征响应图中寻找响应值最高的点,该点在搜索图片中对应的位置则是跟踪任务预测的目标位置.
SiamFC目标跟踪算法采用判别式方法对正、负样本对进行训练,其逻辑损失定义如下:
l(y,v)=log(1+e(-yv))
(2)
其中y∈{+1,-1},表示样本标签,正样本取值为+1,负样本取值为-1;v表示训练样本对的真实得分.该算法使用随机梯度下降方法最小化如下损失函数来求解网络的权重θ,损失函数和优化函数如下所示:
(3)
(4)
其中,L(*)表示单个样本的平均损失函数,D表示特征图上所有像素点的集合,u表示得分集合D中的任意像素点,y[u]∈{+1,-1}表示像素点u的样本标签值,v[u]表示像素点u的真实得分,N为正样本数,θ表示网络权重.通过离线训练,SiamFC能够学习到两个相似目标之间的共性.
图2 SiamFC跟踪结果Fig.2 Tracking results of SiamFC
SiamFC目标跟踪算法使用改进的AlexNet[11]网络作为主干网络,该网络层次较浅,特征提取能力不足,容易导致跟踪器在复杂跟踪跟踪场景下的跟踪准确性较低,甚至出现丢失目标的现象.图2展示了SiamFC跟踪算法在Basketball和Bird1序列中的跟踪结果,其中虚线为SiamFC跟踪器的预测结果,实线为目标的真实位置.从图2中可以看出,当跟踪场景中存在相似干扰物或者跟踪目标出现外观变化时,SiamFC跟踪器的跟踪效果明显下降.为了进一步说明问题,本文对SiamFC跟踪器输出的响应图进行可视化,可视化图如图3所示,第1列和第3列为待跟踪序列中的某帧图片,第2列和第4列为左侧视频帧对应得分图的可视化效果图.从图3中可以看出,在复杂背景情况下,SiamFC跟踪器输出的响应图在跟踪目标周围物体处也有较高的响应值,无法有效地区分跟踪目标和周围物体.
图3 响应图可视化Fig.3 Visualization of score maps
3 本文算法
3.1 问题描述
SiamFC目标跟踪算法使用改进的AlexNet网络作为主干网络,该网络网络层次较浅,特征提取能力较弱.常规的卷积操作都是对局部区域进行的操作,这类局部操作只注重目标局部区域之间的联系,无法有效建模两个长距离像素点之间的相互关系.同时,在一张图片中,不同目标对深度特征中不同特征通道的敏感性不同,传统的卷积特征无法有效利用不同通道之间依赖关系.原始的SiamFC算法使用第一帧图片给出的跟踪目标作为目标模板,在目标跟踪过程中不进行模板更新操作,当跟踪目标的外观因光照变化、形变等复杂跟踪场景而发生变化时,无法有效地捕获跟踪目标的外观变化信息.针对上述问题,本文提出了一种融合时空上下文信息的双分支孪生网络跟踪算法,该算法包括了基于全局空间上下文模块的语义分支和基于时间上下文模块的外观分支,具体的网络结构将在后面章节进行详细介绍.
本文提出了一种融合时空上下文信息的双分支孪生网络跟踪算法,网络结构如图4所示,整个网络由语义分支和外观分支组成,语义分支用于获取跟踪目标的语义信息,外观分支负责获取跟踪目标的外观信息.
图4 网络总体结构图Fig.4 Overall network structure
3.2 网络结构
原始的SiamFC网络的特征提取部分采用改进的AlexNet网络,将AlexNet网络的全连接层去除,并且去除第5个卷积层后的ReLU函数和池化层,在前2个卷积层后采用最大池化操作.然而AlexNet的网络层次较浅,无法有效地提取出跟踪目标的高层语义信息,这就使得跟踪器在复杂场景下的鲁棒性较差.针对这一问题,本文在原始SiamFC跟踪算法的基础增加了语义分支.因VGG16[12]网络良好的迁移性,增加的语义分支使用改进的VGG16网络来提高网络的特征提取能力.VGG16网络较小的卷积核在保证神经网络的感受域不变的情况下,能够增加网络的深度,从而使得网络能够提取出更多的语义信息.为了使网络既能够学习到图片的局部信息,又能够充分利用图片的全局信息、建模不同通道之间的依赖关系,本文算法在改进的VGG16网络中引入全局空间上下文模块.全局空间上下文模块不仅能够建立图像中两个长距离像素点之间的联系,充分利用图像的空间上下文关系,而且也可以有效地利用不同通道之间的依赖关系,提高跟踪算法在复杂跟踪场景下的稳健性.
外观分支的网络结构与原始SiamFC跟踪器相同,都使用改进的AlexNet网络作为主干网络.原始SiamFC跟踪算法仅使用第一帧给定的目标图片作为模板,在后续跟踪过程中不进行模板更新,这就使得跟踪目标可能因后续跟踪过程中出现的形变、光照变化等复杂跟踪场景而造成强烈的外观变化,最终导致跟踪器无法正常定位跟踪目标.为了缓解跟踪算法在后续跟踪过程中因外观变化而导致的跟踪性能下降的问题,本算法在外观分支中引入了时间上下文模块用于更新目标模板特征,进一步提高跟踪器在光照、形变等复杂跟踪场景下的跟踪性能.时间上下文模块通过学习的方式从历史模板特征中有选择性地提取出适合用于模板更新的时间上下文信息,充分利用了跟踪序列在时间上的相关性.我们将在后续章节中详细介绍本文算法的细节.
3.3 外观分支
外观分支使用与SiamFC相同的改进AlexNet网络作为特征提取网络.为了使跟踪器能够适应跟踪目标的外观变化,本文使用一种时间上下文模块用于更新跟踪目标的模板特征,其能够自适应地从历史模板特征中学习到有用的历史模板特征,有效地对跟踪序列的时间上下文信息进行建模,进而为后续跟踪帧估计出最优模板.
当跟踪目标周围存在相似干扰物或者跟踪目标被遮挡时,历史目标模板中存在大量背景噪声,如果此时更新目标模板,众多的背景杂波将造成目标模板被严重污染.因此,在更新历史目标模板时需要对跟踪结果的可靠性进行判定,平均峰值相关能量(Average Peak-to-Correlation Energy,APCE)值可以体现跟踪结果的可靠性,其定义如下所示:
(5)
其中,Fmax表示响应图的最大值,Fmin表示响应图的最小值,Fi,j表示响应图中第i行第j列的响应值,mean(*)表示取平均操作.
理想情况下的响应图呈现单峰状态,此时最大响应值和APCE值较大;当跟踪目标出现背景杂波或者跟踪目标被周围物体遮挡时,响应图中存在多个峰值位置,此时最大响应值和APCE值将会减小.本文使用响应图峰值和APCE值的变化趋势来判断跟踪结果得可靠性,其判别式如式(6)所示:
(6)
其中APCEcur表示当前帧响应图的APCE值,APCEi表示第i帧响应图的APCE值,(Fmax)cur表示当前帧响应图中的峰值,(Fmax)i表示第i帧响应图中的峰值,N表示总历史图像帧数.当响应图满足式(6)时,表示当前帧中的跟踪结果较可靠,此时可以将当前帧中的模板加入到历史模板库中用于更新目标模板;否则,表示当前帧中的跟踪结果不可靠,停止模板更新操作.
本文使用一种时间上下文模块对目标模板进行更新,其通过学习的方式自适应地从历史模板特征中获得适合用于更新模板的时间上下文信息.时间上下文模块的结构示意图如图5所示.
图5 时间上下文模块示意图Fig.5 Network diagram of temporal context module
假设首帧模板特征为X∈RC×H×W,历史模板特征为Y={Y1,Y2,…,YT}∈RT×C×H×W,其中C表示特征维度,H表示特征图高度,W表示特征图宽度,T表示时间维度.首先将首帧模板特征X输入进卷积核大小为1×1的卷积层得到卷积特征Xk∈RC/4×H×W,将每一个时间维度的历史模板特征输入进两个1×1大小的卷积层,并将得到的卷积特征按时间维度连接起来,得到卷积特征Yk={Yk1,Yk2,…,YkT}∈RT×C/4×H×W和Yv={Yv1,Yv2,…,YvT}∈RT×C/4×H×W.
使用首帧模板特征Xk和历史模板特征Yk计算相似性矩阵,相似性矩阵用于对历史模板特征进行筛选,从而选择出适合用于更新模板的历史信息.
Xattn=Xk·Yk∈RHWT×HW
(7)
使用计算得到的相似性矩阵从历史模板特征中选择适合用于更新目标模板的历史特征,具体来说就是将得到的相似性权重矩阵按列进行softmax操作,然后将其与历史模板特征Yv进行点乘,从历史模板特征中得到重要性较高的时间上下文信息.
(8)
其中,softmaxcol(*)表示按列进行softmax操作.
最后将提取出的时间上下文信息输入进卷积核大小为1×1的卷积层进行升维,并将输出的特征与首帧模板特征逐像素相加,最终得到包含了时间上下文信息的模板特征.
(9)
其中,conv1×1表示卷积核大小为1×1的卷积操作.
整个时间上下文模块中包含了很多必要的矩阵转换操作,外观分支中特征提取网络的训练与原始SiamFC跟踪算法相同.为了优化时间上下文模块,本文使用L2损失函数进行训练,损失函数如式(10)所示,其表示更新后的目标模板特征与下一帧中真实框的目标模板之间的欧式距离.
(10)
3.4 语义分支
在语义分支中,使用改进的VGG16作为特征提取的主干网络,在VGG16网络的基础上引入全局空间上下文[13]模块,使得网络在建模空间上下文信息的同时,也能够很好地建模不同通道之间的相互关系,从而提高深度特征的表征能力.空间上下文模块如图6所示.
图6 空间上下文模块示意图Fig.6 Network diagram of spatio context module
(11)
使用一种扩展的矩阵加法操作融合输入特征与全局注意力向量,即将全局注意力向量每一个通道的特征值与原始矩阵对应通道上所有位置的特征值进行相加,得到最终的全局上下文矩阵XG.
(12)
其中,⊕表示扩展的矩阵加法操作.
全局空间上下文是一个轻量级的模块,在建模空间上下文信息、有效利用不同通道之间相互依赖关系的同时,只增加的少量的计算量,没有增加网络的负载.语义分支的训练与原始SiamFC算法相同.
3.5 响应图加权融合
本文在SiamFC跟踪算法的基础上进行改进,网络结构包括了外观分支和语义分支,将两个分支各自生成的响应图进行加权平均操作,得到改进跟踪算法最终的响应图.
h=μha+(1-μ)hs
(13)
其中,ha、hs分别表示外观分支和语义分支各自的响应图,h表示改进跟踪算法最终的响应图.经过实验,融合系数μ取值为0.4时跟踪效果最佳.
4 实 验
4.1 实验说明
本文在windows7系统上使用Pytorch[14]深度学习框架实现本文算法,在Intel i3-9100F 3.60GHz的处理器上对本文网络结构进行训练和测试,并采用GTX1080Ti GPU进行加速.采用ILSRVC2015[15]数据集训练语义分支和外观分支中的特征提取网络,语义分支与外观分支独立进行训练,训练方式与SiamFC相同.采用LaSOT[16]数据集中随机选择的10个类型的视频序列训练外观分支中的时间上下文模块.为了验证本文算法的性能,本文采用OTB50[16]评测工具对本算法构建的深度学习网络进行测试.
在本文实验中,我们选择7个具有代表性的目标跟踪算法进行对比分析,这些算法包括本文算法的基准SiamFC以及SiamRPN、SiamDW、CFNet[17]、DaSiamRPN[18]、KCF[19]、Staple[20]、DSST[21]、DCFNet[22].
4.2 定量分析
为了定量分析本文提出的改进孪生网络跟踪算法的性能,本文使用一次评估(OPE)方法作为跟踪效果的评价指标.一次评估方法主要考虑中心位置误差和重叠率两方面的因素从而绘制出成功率图和精确度图.在OTB50基准上,不同算法的成功率对比结果图和精确度对比图如图7所示.
图7 OPE结果示意图Fig.7 Results of OPE
从图7可以看出,得益于时空上下文信息的有效利用,本文算法在OTB50标准数据集上的精确度和成功率分别达到86.0% 和81.7%,优于大部分参与对比的跟踪算法,比基准算法SiamFC分别提高了5.1个百分点和3.4个百分点,显著提高了跟踪性能.相比于同样使用SiamFC目标跟踪算法作为基础算法进行改进的CFNet和SiamRPN目标跟踪算法,由于本文算法利用了更多的时空上下文信息,具有更强的上下文感知能力,同时本文算法在利用跟踪目标的浅层表观信息的同时,也有效利用了跟踪目标的深层语义信息,因此跟踪性能进一步提高,在精确度上分别高于CFNet和SiamRPN目标跟踪算法5个百分点和0.6个百分点,在成功率上分别高于CFNet和SiamRPN目标跟踪算法3.7个百分点和2.0个百分点,充分验证了本文算法的有效性.
为了进一步验证本文改进算法的有效性,本小节对虽有对比算法在OTB50数据集中11个不同跟踪属性下的准确率和成功率进行统计,统计结果如表1~表4所示.
表1 不同属性下的准确率表Table 1 Accuracy tableunder different attributes
从表1~表4中可以看出,本文算法虽然在综合性能上较DaSiamRPN和SiamDW跟踪算法要低,但是在快速运动、运动模糊、平面内旋转和背景杂波等多个跟踪场景下的准确率均比DaSiamRPN和SiamDW跟踪算法高,在快速运动和运动模糊跟踪场景下得成功率也比DaSiamRPN和SiamDW跟踪算法高.由于本文算法充分利用了跟踪目标的空间上下文信息,因此在背景杂波场景下,本文算法准确率和成功率较基准算法SiamFC分别提高了3.8和8.3个百分点.得益于时间上下文信息的利用,本文算法能够很好地适应跟踪过程中跟踪目标的外观变化,在光照变化、形变等跟踪场景下,本文算法较基准算法SiamFC有较大的性能提升,比大部分对比算法的跟踪性能都要好.总体来说,本文算法在快速运动、运动模糊、背景杂波、光照变化、形变等复杂跟踪场景下的跟踪性能优于大部分对比算法.
表2 不同属性下的准确率表Table 2 Accuracy tableunder different attributes
表3 不同属性下的成功率表Table 3 Success rate tableunder different attributes
表4 不同属性下的成功率表Table 4 Success rate tableunder different attributes
4.3 定性分析
为了更进一步验证本文算法得有效性,我们分别从Diving、Soccer和Matrix这3个视频序列中截取了3组图片,如图8所示.通过对各种算法的跟踪结果进行对比,发现本文的算法在运动模糊、形变和背景杂波等复杂情况下比较稳健.本小节结合测试数据集的不同难点属性以及各个算法的可视化结果,对不同的跟踪算法进行对比分析.
图8 跟踪结果示意图Fig.8 Schematic diagram of tracking results
在Diving视频中,跳水运动员在跳水运动过程中,跟踪目标的的外形在发生连续变化.从第171帧开始,除了DaSiamRPN、DCFNet和本文算法外,其余算法均无法正常定位目标.DaSiamRPN和DCFNet算法虽然能够定位到跟踪目标,但是对跟踪目标边框的预测效果比本文算法差.由于使用了时间上下文模块以更新目标模板,本文算法能够很好地适应运动员在跳水过程中的形体变化,对跟踪目标边框的预测效果更佳.
在Soccer视频中,跟踪目标所处的环境存在运动模糊、背景杂波的干扰,且跟踪物体的外观也在发生连续变化.在第342帧时,由于跟踪目标周围存在背景杂波且发生运动模糊现象,除本文算法和CFNet外,其余跟踪算法均无法很好地定位跟踪目标.与CFNet跟踪结果相比,本文算法对跟踪目标尺寸的预测效果要优于CFNet.得益于语义信息的利用和空间上下文模块的引入,本文算法在背景杂波、运动模糊等复杂场景下依然能够有效地预测跟踪目标的位置和大小.
在Matrix视频中,跟踪目标处于快速移动状态下,同时跟踪目标的外形发生变化且周围存在背景杂波.第42帧中,由于跟踪目标自身形变的影响,除了DaSiamRPN、SiamRPN和本文算法外,其余对比跟踪算法均出现跟踪丢失现象.第91帧中,本文算法虽然对跟踪目标边框的预测效果有所下降,但是依然能够有效地定位跟踪目标的位置.相较于其他算法,本文算法能够很好地适应视频序列中出现的快速运动、背景杂波、形变等多种跟踪场景.
5 结 论
本文提出的模型是在SiamFC目标跟踪算法的基础上,创造性地引入时空上下文模块来提升在快速运动、运动模糊、背景杂波、形变等复杂场景下的模型的跟踪性能,该算法包含基于空间上下文模块的语义分支和基于时间上下文模块的外观分支.将VGG16网络作为语义分支的主干网络,通过在语义分支主干网络中嵌入全局空间上下文模块,使得网络在有效建模空间上下文关系的同时也有效利用了不同通道之间的依赖关系,有助于提升图像特征的表征能力.使用时间上下文模块以更新外观分支的模板特征,使得跟踪器能够适应跟踪目标在跟踪过程中的外观变化,进一步提升目标跟踪的性能.经过在OTB50数据集上的实验验证,跟踪性能相较于基准跟踪算法SiamFC有显著提高,尤其是当目标处于快速运动、运动模糊、形变、背景杂波等复杂场景时,本文算法的性能明显优于对比的其他算法.但是本文算法在目标发生遮挡、目标出视野等跟踪场景下,跟踪效果仍有待提高,这些问题都是未来需要进一步研究的工作重点.