沈笑天,党建武,王阳萍,雍 玖
(1.兰州交通大学 电子与信息工程学院,甘肃 兰州 730070;2.轨道交通信息与控制国家级虚拟仿真实验教学中心,甘肃 兰州 730070)
目标跟踪技术是计算机视觉领域的研究重难点,目前已经广泛应用在铁路视频监测、无人驾驶等众多领域。但是当这项技术运用在铁路复杂场景时,经常会存在背景杂乱、相似物体干扰和光照等对跟踪影响较大的因素,而常见的铁路沿线场景中经常包含许多不同的影响因素,例如植被、轨道和列车等多种不同的物体,以及环境复杂多变等,导致最终无法对目标进行有效跟踪。
收稿日期: 2023-06-30
基金项目:国家自然科学基金(62067006);教育部人文社会科学研究项目(21YJC880085);“区块链+5G”甘肃省精准扶贫智慧教育示范平台建设(YDZX20206200003492)
Foundation Item: National Natural Science Foundation of China (62067006); Humanities and Social Sciences Research Program of the Ministry of Education(21YJC880085); “Blockchain+5G” Smart Education Demonstration Platform Construction for Targeted Poverty Alleviation in Gansu Province(YDZX20206200003492)
近年来,目标跟踪算法主要分为基于相关滤波的算法与基于深度学习的算法[1]。相关滤波这一概念最初来自信号领域,用于表示不同信号之间的相关性。应用到跟踪领域中就是将第一帧中给定的目标特征作为滤波器模板,然后利用滤波器对当前帧的图像进行相关操作,根据与图像中不同位置相关的不同响应值,找出响应值最大的位置,即为需要跟踪的目标所在的当前帧的位置。相关滤波算法中比较典型的算法有最小输出平方误差和(MOSSE)[2]算法,它最先将相关滤波技术应用于目标跟踪;基于核相关滤波器(KCF)[3]的跟踪算法加入了循环矩阵与HOG特征在速度足够的情况下进一步提高了精度;DSST[4]算法在满足速度要求的同时加入了尺度模块。但是,这类算法在遇到跟踪场景中出现复杂场景以及特殊情况等问题时,跟踪就很容易发生偏移。随着近几年深度学习技术的发展,深度学习在目标跟踪中的应用越来越广泛,由于其包含大量不同种类的训练集,因此能应对绝大多数的跟踪情况。深度学习中基于孪生网络的跟踪算法最为具有代表性。SiamFC[5]算法采用全卷积孪生网络结构在精度与速度之间达成了很好的平衡,SiamRPN[6]在SiamFC的基础上通过加入Faster R-CNN[7]中的区域候选网络(Region Proposal Network,RPN)模块,让网络可以解决原始的多尺度问题,SiamRPN++[8]将之前的特征提取网络Alexnet替换成ResNet网络,使得网络能够提取更深层次的特征。总的来说,基于孪生网络的目标跟踪方法与基于相关滤波的方法相比,通常能够取得更好的精度与速度,因此本文采用一种改进的基于SiamRPN的孪生网络目标跟踪算法来实现目标跟踪任务。
本文在SiamRPN算法的基础上进行改进,首先,将传统互相关模块替换为逐像素互相关,同时将CIResNet-22结构[9]作为特征提取骨干网络,加深了网络的同时避免了由于特征填充带来的位置偏差的问题。其次,融入一种基于标准化的注意力机制(NAM)[10],使网络能够结合上下文自主选择对目标跟踪更有益的特征;加入一种改进的模板更新子网络,加入正负样本增强模块,同时引入基于双向一致性约束的损失计算公式。在采用预测模板之前,对跟踪结果与目标模板相关响应进行评估,同时利用模板更新子网络进行预测,有效地解决了跟踪过程中相似干扰物对跟踪的影响,提升了跟踪的精度。最后,制作铁路复杂场景相关的跟踪视频序列数据集用作补充训练,使其对铁路复杂场景更具有针对性。
在目标跟踪任务时,孪生网络主要包含模板分支与搜索分支两大分支,模板分支通过对第一帧中待跟踪目标的特征进行提取,再利用搜索分支中对后续帧中的目标特征与模板特征进行比对,当跟踪结果良好时,进行下一帧搜索图像的比对,直至最后一帧跟踪结束[11]。而孪生网络在铁路场景中主要的作用是对目标进行卷积神经网络的特征提取,以便后续对目标特征与视频后续序列特征进行分析比对,并执行目标跟踪任务,使得孪生网络在目标跟踪中的应用能够对应到铁路复杂场景中。
算法的整体架构如图1所示。
图1 本文的网络整体架构Fig.1 The proposed overall network architecture
本文通过2支共享权重的改进孪生网络来构成提取特征的主干网络,采用逐像素相关避免传统相关过程中造成的空间信息模糊问题,同时,注意力机制使网络能够注重于更有利于特征提取的区域。将跟踪结果与目标模板响应值进行评估,若跟踪效果较差,则采用模板更新子网络预测到的模板作为参考模板继续跟踪。
本文使用一种CIResNet网络结构作为特征提取主干网络,ResNet网络的原始残差单元中在残差块的最后添加裁剪操作,去除由于填充操作对特征计算带来的影响,并且考虑到网络的深浅会影响提取到的图像的特征。因此,本文采用CIResNet-22网络结构作为本文的特征提取主干网络,该模型共有2个CIR模块,能够同时兼顾模型计算量大小和提取特征的有效性两方面的问题。
在传统的孪生网络中,在对取得的特征图进行相关操作时,常见的互相关方法大多是将整个模板特征作为卷积核与搜索区域进行相关操作,例如传统互相关(Naive Correlation)或者是深度互相关(Depth-wise Correlation),这些互相关由于窗口较大,都会造成在操作时,使特征图中空间信息模糊。因此,采用一种逐像素[12]相关的操作来避免该问题,逐像素相关操作的原理如式(1)所示:
C={Cj|Cj=Kj*S}j∈{1,2,…,H0×W0},
(1)
式中:Kj为将待相关的模板特征分解为H0×W0个1×1的卷积核,S为搜索区域的特征图,*为原始互相关,Cj为互相关的结果,将目标特征的每一部分都与搜索区域做相关,避免特征模糊。图2为逐像素相关与其余相关方式示意。
图2 3种不同互相关示意Fig.2 Diagram of three different cross-correlations
为了提升算法的准确率,使用注意力机制以进一步提升特征的表达能力。注意力机制能够帮助网络抑制不太显著的像素或通道,使网络结构能够更加侧重地去关注对自己目标工作有直接影响的特征,从而加强这一部分的关注度。
本文采用一种较为高效且轻量级的注意力机制NAM来提升网络提取目标特征的性能,它是以CBAM注意力模块为基础,重新设计了通道注意力和空间注意力子模块,对模块的权重表示进行了优化。
在NAM中,通道注意力模块使用BN(Batch Normalization)[13]层中的比例因子来对应每一个通道方差的大小,如式(2)所示,方差越大则代表该通道中的信息变化越强烈,即通道中所包含的信息就会越丰富;相对于一些变化不是非常大的通道,所包含的信息也就会比较单一,与方差较大的通道相比所占重要性的比重也就越小。
(2)
式中:μB和σB分别为B的均值和标准差,γ和β为可训练的仿射变换参数(尺度和位移)。NAM中通道注意力子模块如图3所示,输出特征为Mc,F1为输入特征,如式(3)所示,其中Wγ为权重。
图3 通道注意力模块Fig.3 Channel attention module
Mc=sigmoid(Wγ(BN(F1)))。
(3)
在空间注意力模块中,将图像空间中的每一个像素使用相同的归一化方法,就可以得到基于空间注意力的权重。那么相对应的空间注意力模块也与通道注意力模块图相似。空间注意力子模块的输出特征即为Ms,如式(4)所示:
Ms=sigmoid(Wλ(BNs(F2))),
(4)
式中:F2为输入特征为,Wλ为权重。
在以孪生网络为基础的跟踪算法中,第一帧中就对目标模板进行初始化,后面的搜索匹配都是以第一帧的模板为跟踪标准进行更新。在实际的目标跟踪任务中常常会因为目标外观的变化以及模板的不变性而导致跟踪失败,因此,及时对目标模板进行更新显得迫在眉睫。本文在孪生网络的基础上加入了一种模板更新子网络来对孪生网络中的模板分支实现适时的更新。因为孪生网络中的模板部分采用的模板图像一直是跟踪序列里的首帧图像,随着目标物体状态的变化,后续帧中的目标状态很可能与模板帧中的状态有着一定的差别,从而造成目标跟踪任务的失败,因此使用模板更新子网络对模板进行同步更新。
为了应对这一问题,本文在跟踪结果更新时利用平均峰值相关能量(Average Peak-to-Correlation Energy, APEC)对跟踪结果的响应图质量进行评估,来决定是否将模板更新子网络预测的结果作为参考模板。APEC计算如下:
(5)
式中:Rmax表示响应图R中的最大值,Rmin表示响应图R中的最小值,Ri,j表示响应图R中第i行第j列的响应值。APEC值能够反映目标跟踪状态的良好与否,当跟踪发生偏差导致跟踪到非目标物体时,响应图的亚峰值就会增加,峰值就会减少,相对应的APEC值就会变小;相反,当跟踪的目标比较精准时,响应图的峰值保持在一种正常状态,亚峰值较小,APEC值就会变大。当APEC值出现波动时,则启用一种改进的UpdateNet模板更新子网络来预测模板,并且传统的UpdateNet模板更新子网络往往只更新了目标的外观变化信息,没有关注目标和相似干扰物之间的差异信息,对学习过程中存在的干扰没有做任何处理,从而导致预测的模板位置发生偏差,导致模板预测失败。
为了解决该问题,本文对原有的UpdateNet网络进行了修改,并引入了一种新的模板损失计算公式[14]:
(6)
实验环境配置如表1所示。
表1 实验环境
为了更加直观地展示跟踪的可视化结果,验证本文算法在实际视频序列测试中的表现,本文从OTB100数据集中选取了4组视频序列用于验证本文算法,并进行定性分析,图5为视频序列跟踪结果。
图5 视频序列跟踪对比Fig.5 Comparison of video sequence tracking
在第一段Liquor序列中,在中间帧不断出现与目标相似的物体来回移动,对目标造成遮挡与干扰,在序列第362帧时,只有本文算法与SiamDW算法能够跟住目标,并且在第535帧时,SiamDW算法也发生了跟踪漂移的现象。可知,本文算法在跟踪的过程中并未发生明显的跟踪丢失现象。
在第二段Coupon序列中,视频序列为灰度序列,其主要难点在于干扰目标与相似目标有着极其相似的特征,且还存在一定程度的遮挡。在序列第127帧时,各算法还能对目标进行有效跟踪,当跟踪到第132帧时,干扰目标出现,各算法都有不同程度的跟踪偏移,只有本文算法能够继续对目标进行较为有效的跟踪。
在第三段Box序列中,目标不断移动,大小也有着不同程度的变化,且伴随着相似物遮挡与运动模糊的现象。可以看到,在第421帧时,各算法都发生了不同程度的漂移,只有本文算法与CFNet算法能够进行有效跟踪,在跟踪进行到455帧时,目标物体只暴露了三分之二,本文算法依然能跟踪目标,其余算法都因为遮挡问题与相似物干扰问题产生了不同程度的跟踪漂移现象。
在第四段序列中,跟踪目标进行快速移动,且背景较为杂乱,对跟踪影响较大。在第44帧时SiamFC和fDSST就已经发生偏移,而SiamRPN虽然在第44帧与第178帧及后续中都能够有效跟踪目标,但是在第103帧时,SiamRPN也受到背景影响,跟踪发生了偏移。由图5可知,本文算法依然能够进行有效跟踪。
本文算法采用GOT-10K[15]数据集作为训练集,同时利用自制数据集作为补充数据集进行针对性训练。
2.3.1 OTB与VOT数据集及评价指标
本文采用OTB100[16]、VOT2016[17]以及VOT2018[18]数据集作为本文的测试集进行标准性测试。评价指标如下:
① OTB100数据集选用11种不同的属性进行注释,OTB的评价指标包含2个基本参数。精确度为跟踪目标的中心位置和人工标注的准确位置之间的平均像素距离,值越大表明误差越大。成功率为通过统计跟踪算法得到的边界框和人工标注的准确边界框之间的面积重叠比衡量跟踪算法的性能。
② VOT数据集采用的评价指标主要包括准确率、鲁棒性以及EAO。准确率表示跟踪器跟踪的精确度,数值越大越准确。鲁棒性用来评价跟踪器的稳定性,数值越大,则稳定性越差。EAO则是跟踪器综合了多种评价方法,能够反映跟踪器的综合性能的一个评价指标。
2.3.2 数据集实验结果
表2为6种算法在OTB100数据集上的成功率与精确度对比结果。从表中可以看出,本文算法在成功率和精确度上,均比SiamRPN有着不同程度的提升。
表2 OTB100数据集实验结果
表3、表4、图6和图7展示了VOT2016与VOT2018数据集上的各对比算法的实验结果。可以看出,本文算法相对于其他5种算法来说,具有良好的准确率、鲁棒性以及EAO综合评分,能够更有效地跟踪已知目标。
表3 VOT2016数据集实验结果
表4 VOT2018数据集实验结果
图6 不同算法在VOT2016与VOT2018上的准确率对比Fig.6 Comparison of accuracy of different algorithms on VOT2016 and VOT2018
图7 不同算法在VOT2016与VOT2018上的EAO对比Fig.7 Comparison of EAO of different algorithms on VOT2016 and VOT2018
2.3.3 OTB与VOT数据集实验结果及分析
本文算法通过在数据集OTB100上进行测试,分别选择5种不同的跟踪算法进行对比实验。可知,本文算法成功率为67.3%,相对于SiamRPN提升了1.8%,相对于SiamDW提升了3.2%,相对于CFNet提升了8.2%;精确度为88.5%,相对于SiamRPN提升了1.7%,相对于SiamDW提升了3.2%,相对于CFNet提升了11.3%。成功率和精确度对比如图8所示,图9为6种算法在不同属性下的成功率对比。
(a)成功率
(a)背景杂乱
现有的大量跟踪数据集中,大都只关注自然类图像,并没有专门针对具有一定特殊性的铁路场景的目标跟踪数据集,因此在原训练集中添加自行制作的铁路复杂场景跟踪序列共约40余组作为补充训练集,总计20 000余张序列图片,其中包括铁路中常见的转辙机、信号灯和车厢等设备,还包含铁路场景中可移动目标的运动以及目标静止状态下相机与目标的相对运动2种目标不同的运动方式。图10为制作的铁路场景数据集的部分跟踪序列样本。
图10 自制铁路场景部分数据集Fig.10 Partial dataset of self-made railway scene
在实际测试中,选取3段不同的视频序列作为测试集,如图11所示。在序列一中,场景较为杂乱,仪器设备较为复杂,本文算法能够有效进行跟踪;在第二段跟踪序列中,光照较弱,且物体较为模糊,特征并不明显,但是本文算法能够进行有效跟踪;第三段视频选取背景较为杂乱的序列且光照较弱,同时引入尺度变化因素,此时跟踪仍然有效。实验证明,本文提出的算法在实际场景测试中能够取得较好的结果。
图11 自制视频序列跟踪测试Fig.11 Self-made video sequence tracking test
本文针对在铁路复杂场景中跟踪较为困难等问题,制作了铁路复杂场景专用数据集,在SiamRPN的基础上引入了CIResNet特征提取网络,同时引入逐像素相关且加入了注意力机制。通过APEC值确定跟踪效果,对UpdateNet模板更新网络进行了改进,加入了正负样本增强机制,提升了模型的抗干扰性,引入了一种新的基于双向一致性约束的损失计算公式,使得模板更新子网络能够有更好的预测能力。
本文在OTB100、VOT2016和VOT2018标准数据集上分别进行了测试,同时在自制视频序列上进行了跟踪测试,均取得了较好的结果。实验结果表明,本文算法具有较好的准确性,能够对目标进行有效跟踪。