APP下载

特征融合与训练加速的高效目标跟踪

2021-05-26钱美伊王传旭

计算机工程与应用 2021年10期
关键词:分支深度函数

刘 云,钱美伊,李 辉,王传旭

青岛科技大学 信息科学技术学院,山东 青岛266000

在计算机视觉领域中,目标跟踪是一个重要的研究方向[1],解决视觉目标跟踪的算法,可以分为生成式算法和判别式算法[2]。生成式目标跟踪算法关注于目标自身特征信息[3],与之相比,判别式跟踪算法关注于区分目标和背景,在提取目标特征信息的同时,充分利用了背景信息[4]。因此,判别式算法跟踪性能普遍优于生成式算法,也使得判别式算法成为当今主流的目标跟踪算法[2]。基于深度学习的判别式跟踪算法,可以分为基于深度特征的相关滤波跟踪算法和基于孪生网络的目标跟踪算法[5-6]。

基于深度特征的相关滤波跟踪算法,需要根据提取特征图和目标位置响应图,经训练得到相关滤波器[7],用于跟踪后续视频帧中的目标。由于视频首帧训练样本不足,可能导致经训练得到的相关滤波器效果欠佳[8]。相关滤波跟踪算法在跟踪过程中会持续更新相关滤波器,如果目标存在遮挡等严重干扰,容易产生跟踪漂移现象,甚至是跟踪丢失[9]。与之相比,基于孪生网络的跟踪算法具有大型数据集预训练、深度特征提取、端到端训练、跟踪准确度高等优点[10-11]。

本文提出特征融合与训练加速的高效目标跟踪。首先,加深主干网络参考特征图层级,减少下采样,融合多个层级的深度特征图,从而丰富了目标特征信息,提高跟踪精度。权衡区域建议网络(Region Proposal Network,RPN)[12]阶段的正、负锚点的数量,提高了目标跟踪效率。大型数据集训练孪生网络时,目标图像块采用均匀滑动漂移采样算法,代替均匀滑动漂移采样算法,有效减少了训练时间。

1 相关工作

基于孪生网络的目标跟踪算法包括SiamFC[13]、SiamRPN[14]、DaSiamRPN[15]和SiamΜask[16]等。SiamFC提取目标图像块和搜索图像块的特征信息,将二者的参考特征图进行传统互相关操作(Cross Correlation)[13],从而得到目标位置的响应图。通过处理特征图的几个缩放版本,实现对目标尺度空间[17]的跟踪。SiamFC 的缺点是跟踪精度不足,在处理多尺度问题时需要耗费较多的时间。SiamRPN 使用上通道互相关(Up-Channel Cross Correlation)[14]代替传统的互相关操作,并引入区域建议网络(RPN),输出目标置信度得分的同时,对目标区域进行了回归操作,使得算法在处理目标的尺度空间跟踪时,速度和精度都优于SiamFC。SiamRPN 的缺点是具有庞大的上通道层,用于调整互相关操作的参考特征通道数,这使得网络优化困难,降低了目标跟踪速度。DaSiamRPN 在SiamRPN 的基础上引入注意力机制,通过建立干扰感知模块,降低同类干扰物对目标的语义干扰,进一步提升跟踪精度和鲁棒性。虽然上述算法逐步提高了孪生网络跟踪性能,但是没有引入目标的掩模表示(Μask),孪生网络的跟踪精度未能再上一个台阶。SiamΜask 使用深度互相关操作(Depth-wise Cross Correlation)[18]代替SiamRPN 的上通道互相关操作,去掉了繁重的上通道层,从而在减少参数量的同时,丰富了互相关响应图通道数,有效提升了目标跟踪精度,并且增加了掩模分支,使用旋转边界框代替竖直边界框,用于标定目标区域,进一步提升了跟踪精度。但是SiamΜask 仍然存在一些问题,例如主干网络选取的参考特征图深度不足,特征信息的丰富度欠佳,跟踪精度有待于进一步的提升。RPN 阶段的正负锚点数量比例可能严重失衡,影响目标跟踪的效率。在使用多个大型数据集训练孪生网络的过程中,需要耗费大量的时间。

2 特征融合与训练加速的高效目标跟踪

本文提出特征融合与训练加速的高效目标跟踪,算法框架流程图如图1所示。

如图1 所示,输入原始图像,根据目标所在位置截取目标图像块和搜索图像块,将二者送入本文深度特征融合[19]的共享主干网络,提取其深度而丰富的特征信息。将二者参考特征图进行深度互相关操作,可以得到一组候选窗口响应(Response of Candidate Windows,RoWs)[14],在RoWs 中构建RPN 网络,通过权衡RPN 的正负锚点数量比例,使孪生网络均衡地学习目标和背景的特征信息,提高跟踪效率。将RoWs信息分别送入边界框分支、分数分支和掩模分支,其中边界框分支得到的竖直边界框,用于裁剪下一帧的搜索图像块;分数分支输出目标置信度最高得分所在位置;掩模分支根据最高置信度RoW生成目标掩模,将其最小外接矩形(Μinimum Bounding Rectangle,ΜBR)[16]作为当前帧的目标边界框。多个大型数据集训练孪生网络时,使用均匀滑动漂移采样算法,代替SiamΜask随机漂移采样,在抑制目标中心偏置现象的同时提升了训练速度。

2.1 深度特征融合主干网络

本文算法的主干网络使用了残差网络(Residual Network)ResNet-50[20],其所具有的残差块(Residual Block)可以有效加深卷积网络深度。构成ResNet-50的一个残差块,如图2所示。

图1 算法框架流程图

图2 ResNet-50的一个残差块

由图2 可知,在每一个残差块中,依次执行通道数调整、非线性激活、卷积、非线性激活、通道数调整,然后与输入信息进行加法操作,并再次执行非线性激活。ResNet-50 残差网络通过叠加这种残差块,在有效加深卷积网络深度的同时,不会引起训练退化问题。基于孪生网络的目标跟踪算法,大部分计算时间耗费在主干网络上[16],考虑到跟踪的实时性要求,因此不再使用ResNet-101[20],否则将降低孪生网络跟踪速度。

基线SiamΜask 只使用ResNet 主干网络Conv1 至Conv4 卷积阶段,经过研究发现,仍然可以使用Conv5卷积阶段,因此本文使用ResNet-50 的Conv1 至Conv5卷积阶段,加深了主干网络参考特征图深度,提取了目标更深度的特征信息,有效提高跟踪精度。训练和跟踪过程中,由于目标图像块和搜索图像块尺寸通常较小,为保证二者特征图具有较高的分辨率,本文对ResNet-50的Conv3、Conv4和Conv5卷积阶段不采取下采样,使用较高分辨率的特征图可以实现更高精度的跟踪。

在深度卷积网络中,不同层级的特征图从不同角度表征了目标:顶层特征图编码了更多的目标语义信息,充当类别检测器;稍低层级的特征图承载了更多的鉴别信息,可以从相似的干扰物中分离目标[21]。根据融合多层级特征图[22]的思路,本文将Conv4 和Conv5 卷积阶段最后一层非线性激活后的输出作为参考特征图,并对其进行融合操作,融合后的特征图作为本文深度互相关操作的参考特征图。参考特征图融合的具体流程为:将Conv4、Conv5 两个卷积阶段最后一层的特征图首先用1×1 卷积核降维至256 维,然后对二者进行像素级别的加法操作。这里没有使用Conv1 至Conv3 卷积阶段作为参考特征图,也没有对其进行特征融合,是因为Conv1阶段的特征图分辨率太高,严重影响目标跟踪速度,而Conv2、Conv3 阶段的特征层级较浅,无法很好描述待跟踪目标特征。与SiamΜask仅使用Conv4单一阶段参考特征图相比,本文使用深度特征融合的参考特征图,在参考特征图内存占用不增加、特征图通道数也不增加的前提下,以较小的时间复杂度和空间复杂度为代价,描述了目标更加深度、丰富的特征信息,有效提高算法的跟踪精度。

2.2 权衡正负锚点

将目标图像块z 和搜索图像块x 分别输入本文深度特征融合的共享主干网络f ,可以得到两组参考特征图f(z)和f(x)。将二者进行深度互相关操作,表示为∗,从而得到候选窗口响应RoWs,表示为g ,公式如下所示:

传统的互相关操作仅粗略地定位目标,响应图是单通道的。上通道互相关操作可以得到多通道的RoWs,但是其本质是对传统互相关操作的堆叠,庞大的上通道层使网络难以优化。本文使用深度互相关操作,成功地解决了上述问题,优点在于轻量级、丰富的响应信息,虽然参数量只有上通道互相关的1/10,但是性能却与之相当。

RoWs 中的每一个1×1 大小的块,都可以映射到原始图像的对应像素区域,在RoWs 中构建RPN 网络,可以精确地定位目标所在区域。根据RPN网络的锚点和目标区域的交并比(Intersection-Over-Union,IOU),可以得到一系列的正、负锚点。如果IOU ≥0.6,那么定义当前锚点为正锚点,否则,将其定义为负锚点。提取正负锚点所在区域的特征信息,训练分类器和回归器,使得神经网络可以有效区分目标和背景,定位当前帧目标所在的区域。经研究发现,RPN 的正、负锚点数量比例可能非常悬殊,需要对其进行权衡。如果负锚点数量远多于正锚点,那么网络将严重倾向于提取背景的特征信息,训练得到的分类器和回归器也将倾向于区分背景,而忽视了对目标区域的辨别,这将会降低算法的跟踪效率。通过权衡RPN阶段的正、负锚点,学习更有价值的锚点特征信息,确保孪生网络可以更加均衡、高效地辨别目标和背景,从而实现更加高效、稳定的目标跟踪。

2.3 均匀滑动漂移采样

在训练深度孪生网络过程中,会出现中心偏置现象,即跟踪器只能有效识别目标的中心区域,而不识别目标的其余部分。产生这个现象的原因是,经过深度互相关操作,网络将目标正中心定义为正样本,随着训练迭代次数的增加,孪生网络会逐渐学习到这种统计特性,从而只能识别待跟踪目标的中心区域。为了解决上述问题,在训练时对目标区域进行均匀滑动漂移采样,让目标图像块在原始图像中发生偏移,从而提取整个目标区域的特征信息。使跟踪器对整个目标区域都有响应。

SiamΜask 使用随机漂移采样算法,抑制目标区域的中心偏置现象。经过分析,随机采样点在样本空间内均匀分布,如果在每幅图像的目标区域,分别沿x 轴方向和y 轴方向,调用随机数生成函数,生成随机采样点,那么在多个大型数据集训练孪生网络时,将耗费大量的时间。因此,本文对目标图像块进行均匀滑动漂移采样,将目标区域按照由上到下、从左到右的顺序依次滑动,代替随机数生成函数得到采样点,从而节省了因频繁调用随机数生成函数而消耗的时间,显著加快了训练速度。因此,使用均匀滑动漂移采样,代替随机漂移采样算法,在抑制孪生网络中心偏置现象的同时,有效提升了网络的训练速度。

根据文献[18],在漂移采样的过程中,目标图像块的最大位移量定义为漂移量(Shift)[18]。当Shift 分别取0、16 和32 时,训练得到的不同跟踪器在目标区域的响应热度图,如图3所示。

图3 样本漂移采样响应图

从图3(a)可以看出,当Shift=0 时,孪生网络出现很强的中心偏置现象,只对目标正中心小范围区域有响应。从图3(b)可以看出,当Shift=16 时,目标区域的响应范围有所增加。从图3(c)可以看出,当Shift=32 时,目标区域出现了大范围响应,有效抑制了中心偏置现象。因此,均匀滑动漂移采样算法可以有效抑制孪生网络的中心偏置现象。

2.4 三分支输出与损失函数

将RoWs的深度互相关信息分别送入三个分支:分数分支、边界框分支和掩模分支。分数分支输出目标置信度最高得分所在位置。边界框分支对目标区域进行回归,得到目标的竖直边界框,用于剪裁下一帧搜索图像块。掩模分支根据分数分支的输出,产生对应位置的目标掩模,实现像素级别的定位,然后求出掩模的最小外接矩形(ΜBR),并根据这个旋转的边界框,定位当前帧目标。与竖直边界框相比,旋转边界框具有更高的精度。

本文孪生网络有三个分支输出,每个分支有自己的损失函数,用于优化各分支的性能。分别使用Lbox、Lscore、Lmask表示边界框分支、分数分支和掩模分支的损失函数。

Lbox使用smooth L1损失函数,smooth L1计算公式如下:

其中,x 表示归一化后的距离。本文计算了归一化距离δ[0]、δ[1]、δ[2]、δ[3],计算公式如下:

其中,Ax、Ay、Aw、Ah分别表示锚框中心位置的横坐标、纵坐标、锚框的宽度和高度,Tx、Ty、Tw、Th分别表示真实目标区域的中心点横坐标、纵坐标、真实区域的宽度和高度。将归一化后的距离δ[0]、δ[1]、δ[2]、δ[3]分别代入smooth L1损失函数,i 表示每组归一化距离的序号,得到边界框分支的回归损失函数Lbox,计算公式为:

分数分支的分类损失函数Lscore使用了对数损失函数,计算公式为:

其中,pn表示第n 个RoW的置信度分数。

由此可知,Lmask只计算了RoWs 中的正样本,即yn=1的情况。

用L 表示本文孪生网络的总体损失函数,L 根据Lbox、Lscore、Lmask经过加权计算得到,计算公式如下:

其中,λ1、λ2、λ3分别为三个分支损失函数的权值,按照文献[16],本文将权值设置为λ1=λ2=1,λ3=32。

3 实验结果及分析

3.1 实验环境与数据集

本实验使用的Linux 系统版本为Ubuntu 16.04,服务器的配置信息如下所示:

CPU,Intel®Xeon®CPU E5-2678 v3@2.50 GHz;GPU,NVIDIA GeForce GTX 1080 Ti×2;内存,32 GB;深度学习框架,Pytorch 0.4.1。为了提高GPU的运行效率,使用了CUDA 8.0 以及cuDNN 6.0。Python 库使用了Anaconda 3,Python版本为3.6。

实验分为训练模型和评估模型两个阶段。在第一阶段训练模型阶段,使用大型数据集COCO2017[23]、ImageNet2015-VID[24]和YouTube-VOS2018[25],训练本文的目标跟踪孪生网络。其中,COCO2017 数据集大小为20 GB,ImageNet2015-VID 数据集大小为85 GB,YouTube-VOS2018 数据集大小为50 GB。另外还使用了ImageNet2015-VID 的部分数据,用于训练时对模型的跟踪性能进行测试评估。在模型训练完成之后,第二阶段评估模型阶段使用了目标跟踪基准VOT2018[26]数据集,评估模型的跟踪性能。使用训练好的目标跟踪算法模型,在VOT2018跟踪基准的所有视频序列中,执行目标跟踪任务。最后,根据各项跟踪性能指标,如EAO、准确度、鲁棒性、速度等,评估本文跟踪算法性能。

3.2 训练结果及分析

本文目标跟踪孪生网络,在上述三个大型数据集上,经过了20 次Epochs 的迭代训练。足够的迭代次数可以确保孪生网络的训练使用了足够的样本量,从而保证跟踪过程中提取目标丰富、准确的特征信息。学习率首先由10-3线性增长至5×10-3,然后按照对数方式逐步降低至5×10-4。

在训练过程中,使用了分类损失、回归损失和掩模损失三个损失函数,分别衡量神经网络三个分支的性能。整个神经网络的总损失函数,由这三项损失函数加权得到。随着训练迭代次数的增加,各项损失函数值的变化情况,如图4所示。

图4(a)表示分类损失函数的变化情况,损失函数值从0.16逐步降低至0.01,并趋于平缓。图4(b)表示回归损失函数的变化情况,损失函数值从0.28 逐步降低至0.15,并趋于平缓。图4(c)表示掩模损失函数的变化情况,损失函数值从0.24 逐渐降低至0.12,然后趋于平缓。由图4可以看出,随着孪生网络迭代训练次数的增加,虽然各项损失函数值在不断波动,但是总体趋势是逐渐降低的,并渐渐趋于缓和。由此可知,本文孪生网络经过训练后,跟踪性能得到了增强。

训练本文孪生网络时,使用了如下评价指标:平均交并比(mean Intersection-Over-Union,mIOU)和平均精确度(Average Precision,AP)。本文实验进一步采用了不同阈值条件下的AP 值,验证孪生网络性能。分别采用IOU阈值为0.5和0.7两种情况,得到不同IOU阈值对AP值的影响,实验结果如图5所示。

图5(a)表示IOU 阈值为0.5 条件下的AP 值变化情况,可知AP 从0 开始逐步增加至0.85,然后趋于平缓。图5(b)表示IOU 阈值为0.7 条件下的AP 值变化情况,此时AP从0开始逐步提升至0.50,并趋于平缓。图5(c)表示本文算法预测目标区域与真实区域的mIOU 值变化情况,可知mIOU 从0.40 逐步增加至0.66,并趋于平缓。图5 可以看出,随着训练迭代次数的增加,虽然孪生网络的AP 值和mIOU 有些许波动,但是在整个过程中的趋势是在逐步提升的,并逐渐趋于缓和。由此可知,本文孪生网络经过训练,其平均精确度和平均交并比均得到了有效提升,孪生网络得到的预测目标区域逐渐接近于真实目标区域。

图5 孪生网络性能提升曲线

在对目标图像块进行采样时,使用均匀滑动漂移采样,代替SiamΜask的随机漂移采样算法。在改进前后,孪生网络训练所用的时间对比如表1所示。

表1 训练孪生网络所用总时间对比

由表1可知,SiamΜask的训练总时间为92.33 h,本文提出的目标跟踪孪生网络模型的训练总时间为80.17 h,与原算法相比,节省了12.16 h。由此可知,与随机漂移采样算法相比,均匀滑动漂移采样显著加快了孪生网络的训练速度。

3.3 跟踪结果及分析

在目标跟踪基准VOT2018中,将本文算法与Siam-RPN、DaSiamRPN 和SiamΜask 算法进行了跟踪结果对比实验。选取各算法在VOT2018部分视频序列每帧的目标跟踪结果,如图6~图9所示。图6是在Bolt1序列上的目标跟踪结果,图7是Μotocross1序列的目标跟踪结果,图8 是Μatrix 序列的跟踪结果,图9 是Soccer1 序列的目标跟踪结果。在每组对比图片中,自上而下分别为使用SiamRPN、DaSiamRPN、SiamΜask 和本文跟踪算法得到的目标跟踪结果。

图6 “Bolt1”序列跟踪结果对比

图7 “Μotocross1”序列跟踪结果对比

图8 “Μatrix”序列跟踪结果对比

图9 “Soccer1”序列跟踪结果对比

由图6可知,在小目标、非刚性形变、语义干扰的情况下,本文算法在每帧中的跟踪精度最高,SiamΜask在跟踪过程中出现了跟踪丢失情况;由图7 可知,在目标发生平面内旋转、背景改变、光照变化的情况下,本文跟踪算法性能最优;由图8 可知,在暗场景、光照变化、目标快速移动、尺度变化的情况下,本文算法性能最优,而SiamRPN和DaSiamRPN在跟踪过程中出现了跟踪丢失情况;由图9 可知,在目标出现平面外旋转、尺度变化、背景相似物干扰、运动模糊的情况下,本文算法仍可以精确跟踪目标,而SiamRPN、DaSiamRPN 和SiamΜask均出现了跟踪丢失情况。综上,本文目标跟踪算法在VOT2018 的跟踪结果明显优于SiamRPN、DaSiamRPN和SiamΜask算法。

3.4 实验结果对比

本文实验使用的目标跟踪性能评价指标为:准确度(Accuracy)、鲁棒性(Robustness)、跟踪速度(Speed)和期望平均交并比(Expected Average Overlap,EAO)。各项指标计算原理如下:准确度根据每帧预测目标区域和实际目标区域的平均交并比mIOU进行计算,准确度越高,说明跟踪结果越接近目标的实际区域。鲁棒性根据跟踪丢失的总次数进行计算,鲁棒性数值越低,说明跟踪器的鲁棒性越强。跟踪速度的评价依据为FPS(Frames Per Second),FPS 数值越大,说明跟踪速度越快。EAO 指标的计算原理是:在每个视频序列首次跟踪丢失前,计算每一帧的平均交并比,然后计算所有视频序列的加权平均交并比。由于计算EAO 时,同时考虑了平均交并比和跟踪丢失的情况,因此EAO 同时体现了目标跟踪的准确度和鲁棒性,是目标跟踪最为重要的评价指标。

本文目标跟踪算法的基线是SiamΜask,主要提出了三项改进:改进1 代表深度特征融合的主干网络;改进2代表平衡RPN阶段正负锚点数量;改进3代表均匀滑动漂移采样。在SiamΜask 基础上,分别单独应用上述三条改进,进行了目标跟踪性能的对比评估实验。使用基线SiamΜask,分别单独应用上述三条改进,以及本文提出的跟踪算法,在跟踪基准VOT2018 上的跟踪性能评估结果如表2所示。

表2 各项独立改进在VOT2018的评估结果

从表2 可以看出,在跟踪基准VOT2018 的实验中,本文算法的准确度、鲁棒性和EAO都是最优的,虽然跟踪速度稍慢,但是完全满足实时的目标跟踪。在各项独立改进实验结果中,改进1和改进2的鲁棒性明显加强,准确度和EAO 指标明显提升。经分析,其原因是改进了主干网络,提升了对目标的外观表征能力,从而有效提高了跟踪精度,并减少了跟踪丢失次数。改进3的各项指标与基线相近,是因为只对训练时的漂移采样进行了改进,用于提升训练速度,但对跟踪性能的影响并不大。

在目标跟踪基准VOT2018 中,使用本文算法与当前各种主流的跟踪算法进行了跟踪实验对比。这里使用SiamRPN[14]、CSRDCF[27]和SA-Siam[28]的跟踪实验数据,以及ECO[29]、CFCF[30]、CFWCR[31]和LSART[32]的数据。基线SiamΜask 的实验数据,是由官方代码训练得到网络模型,然后进行评估实验得到的。上述各算法在VOT2018中的各项性能评估指标,如表3所示。

从表3 可以看出,本文算法的准确度和EAO 分别为0.611、0.346,均明显高于其余所有主流目标跟踪算法。鲁棒性指标为0.304,强于SiamRPN、CSRDCF、SiamΜask 和DaSiamRPN,但稍差于其余算法。跟踪速度为63.26 frame/s,明显高于CSRDCF与SA-Siam,完全满足实时跟踪目标。经分析,本文算法和基线SiamΜask相比,加深主干网络参考特征图深度,减少下采样,融合多个层级参考特征图,从而提取目标更深度而丰富的外观特征信息,有效提升目标跟踪精度。通过权衡正负锚点,使网络均衡、高效地学习目标特征,提高了目标跟踪性能。本文算法的准确度、鲁棒性和EAO 指标均明显优于基线SiamΜask,虽然对主干网络的一系列改进使跟踪速度略有下降,但是在有效提升跟踪性能的同时,完全满足跟踪实时性要求。对比实验结果表明,本文算法性能优于当前主流的目标跟踪算法。

表3 主流跟踪算法在VOT2018的评估结果

4 结束语

本文提出了特征融合与训练加速的高效目标跟踪。增加ResNet-50 主干网络的Conv5 卷积阶段,减少Conv3至Conv5阶段下采样,融合Conv4、Conv5阶段参考特征图,从而提取目标更丰富、深度的特征信息,并保证了参考特征图具有较高分辨率,提升了目标跟踪准确度和鲁棒性。经过深度互相关操作得到RoWs,在其中构建RPN 网络,通过权衡正、负锚点数量,使得网络更加均衡、高效地学习目标与背景的特征信息,让孪生网络性能更加高效、稳定。大型数据集训练孪生网络时,对目标图像块采用均匀滑动漂移采样,代替SiamΜask的随机漂移采样算法,在有效抑制中心偏置现象的同时,显著加快训练速度。本文目标跟踪模型在大型数据 集COCO2017、ImageNet2015-VID 和YouTube-VOS 2018上,经端到端训练得到,在目标跟踪基准VOT2018上的评估实验结果表明,与所有参考的主流目标跟踪算法相比,本文算法具有最佳跟踪性能。下一步的工作将引入注意力机制,从而进一步提升算法跟踪精度。

猜你喜欢

分支深度函数
二次函数
第3讲 “函数”复习精讲
二次函数
深度理解一元一次方程
函数备考精讲
巧分支与枝
深度观察
深度观察
深度观察
一类拟齐次多项式中心的极限环分支