APP下载

基于孪生区域候选网络的无人机指定目标跟踪

2021-03-07黄玉清

计算机应用 2021年2期
关键词:残差卷积深度

钟 莎,黄玉清

(西南科技大学信息工程学院,四川绵阳 621010)

(*通信作者电子邮箱hyq_851@163.com)

0 引言

目标跟踪是计算机视觉的热点研究问题,随着越来越多的图像和视频信息涌入到人们的生活中,目标跟踪逐渐应用到了无人驾驶、视频监控、智能交通控制、智能人机交互等各种真实场景中。传统的跟踪算法分为生成式和判别式两大类[1]:生成式是针对跟踪目标建立外观数据先验分布模型或者提取目标特征,然后在后续帧中进行相似特征搜索,逐步迭代实现目标定位;但生成式方法没有全面利用图像的背景信息,在目标外观发生变化、形变、运动模糊等真实场景下,模型的建立会受到巨大的影响。判别式方法将目标模型和背景信息同时考虑在内,通过对比目标模型和背景信息的差异,将目标模型提取出来,从而得到当前帧中的目标位置。

基于相关滤波的跟踪器在准确率和实时性上都表现出了优越的性能,虽然深度学习已经应用到目标跟踪领域,但基于深度学习的跟踪器性能一直无法超越相关滤波跟踪器。孪生网络通过度量方法衡量两个输入的相似度,最早应用在判断签名是否一致上。后来,Tao 等[2]提出的孪生示例搜索跟踪(Siamese INstance search for Tracking,SINT)算法,是第一个将孪生网络应用在目标跟踪领域的算法,它通过相似性学习的方式进行目标跟踪,将目标跟踪问题转化为模块匹配问题。该算法的提出引起了目标跟踪领域学者的广泛关注。后来,Bertinetto 等[3]提出的全卷积孪生网络(Fully-Convolutional Siamese networks,SiamFC)算法则将目标跟踪转化为一种更通用的相似性学习问题,尽管网络结构非常简单,但帧率远超实时性要求,每秒平均帧数(Frames Per Second,FPS)达到86,准确率达53.35%,并且在多个基准数据集上达到最优性能;但SiamFC 采用的卷积神经网络是AlexNet(Alex Network,AlexNet)[4],而且没有模型更新,只是将第一帧作为模板帧进行计算,因此当目标外观变化剧烈、运动模糊、照明不佳和尺度变化等问题时,将无法实现良好的跟踪效果。在SiamFC 算法的思路下,Li 等[5]通过在SiamFC 网络结构的基础上加入区域候选网络(Region Proposal Network,RPN)[6]提出了孪生区域候选网络(SiamRPN)算法。该算法的踪速度是SiamFC 的两倍,帧率达到160 FPS,准确率也提高了,达到56%。针对孪生网络无法从深度网络中获得更优性能的问题,Li 等[7]提出了基于超深网络的孪生区域候选(Siamese Region Proposal with very deep networks,SiamRPN++)算法,该算法无论是在速度还是准确率上,都超越了相关滤波跟踪器,并且是第一个将深度残差网络应用于孪生网络中并取得很好效果的算法。该算法采用有效的采样策略打破了孪生网络的空间不变性,采用分层的特征聚合结构线性加权融合多层特征,提出了深度可分离的逐通道互相关结构,并结合了RPN 以获得分类和边界框回归的结果。

基于孪生网络的跟踪算法没有在线更新模型,都是将第一帧作为模板帧,学习目标特征将其与后续帧作对比。SiamRPN算法实时性超高,但准确率没有SiamRPN++算法高;且算法的上行通道模块通道数多造成了参数分布的不平衡,互相关计算法复杂;该算法采用AlexNet 提取的特征,没有深度残差网络(deep Residual Network,ResNet)[8]提取到的特征语义信息丰富,在目标模糊和巨大变形时跟踪效果不好。针对这些问题,本文提出了Attention-SiamRPN+算法。该算法采用改进的ResNet-50作为骨架网络提取特征,能在减少计算量的同时获得更丰富的语义信息;为了使提取到的特征更好地应用于后续的逐通道深度互相关,并且对于无人机(Unmanned Aerial Vehicle,UAV)拍摄小目标也能表现更好的跟踪效果,引入通道注意力机制模块筛选特征;保留SiamRPN算法中的RPN,借鉴文献[7]中的分层特征融合,将卷积模块后的RPN 融合,最后得到目标跟踪结果。最后将所提算法应用于UAV 指定目标的实时跟踪,UAV 指定的小目标跟踪效果很好,框选的目标位置很准确,短时间的遮挡也能保持目标不丢失,实时性可达70 FPS。

1 Attention-SiamRPN+

Attention-SiamRPN+算法也采用孪生网络结构,模板图像分支与搜索图像分支共享权值,模板图像分支输入图像像素为127× 127× 3,搜索区域图像像素为255× 255× 3。骨架网络为改进的ResNet-50(详见1.2 节),用作特征提取;注意力机制模块衔接在ResNet-50 的conv4、conv5 模块后,筛选残差网络提取出的有用特征并重新分配权值(详见1.3 节);之后,将筛选后的特征图送入RPN 模块,采用文献[5]中的RPN模块(分类和回归函数见1.4.2 节)。在RPN 模块中,首先进行深度互相关操作,互相关之后进行分类和边界框回归,分类是将图像分为前景和背景,边界框回归是得到边界框的中心左边和宽高。RPN 模块采用分层融合的方式,线性加权组合两个RPN 的分类和回归结果,本文算法的网络结构模型如图1所示。

1.1 空间感知采样策略

孪生网络跟踪器中使用的收缩部分和特征提取器具有严格的平移不变性的固有限制,表示为式(1),其中Δτj是平移移位子窗口运算符。收缩部分具有结构对称性的固有限制,适用于相似性学习,由式(2)表示。

由于想要从更深的网络中获得特征信息,采取深层网络不可避免要进行填充以使网络更深,从而会破坏严格的平移不变性。文献[7]中的实验表明,均匀分布的采样方式让目标在中心点附近进行偏移,定量结果中32 位移热图更接近测试对象的位置分布。为了避免对象产生强烈的中心偏差,通过空间感知采样策略使用ResNet-50主干网络训练SiamRPN,偏移64 像素使得训练深度的孪生跟踪器效果最好,因此本文中直接采用结果最好的64像素位移进行采样。

1.2 改进的ResNet-50

ResNet 是2015 年提出的深度残差网络,有两种残差单元。深度残差网络的原理是假定某段神经网络的输入是y,网络单元期望输出是H(y),如果直接把输入y传到输出作为初始结果,那么此时需要学习的目标就是F(y)=H(y) -y,如图2 所示,这就是一个ResNet 的残差学习单元。ResNet 相较于其他网络是将学习目标做了变化,不同于其他网络是学习一个完整的输出H(y)。ResNet 只是输出和输入的差(H(y) -y),即残差。残差单元模块通过快捷连接(shortcut connection)实现,通过shortcut将这个模块的输入和输出进行一个元素方面(element-wise)的叠加。

根据文献[9]中实验的结论,8倍上采样比32倍上采样效果好很多,得到的图像细节更多[9],原ResNet 具有32 像素的大步幅,不适用于密集的孪生网络预测,为了跟踪时定位更准确,通过将conv4 和conv5 卷积块修改为具有单位空间步幅,最后两个块的有效步幅从16 个像素和32 个像素减少到8 个像素,并且通过扩张卷积来增加其接受场,这样设置是为了增加感受野和利用上预训练参数。而且本文为了获得深层特征,避免层数过多,无法满足实时性,根据文献[7]中的消融实验,保留了对跟踪性能贡献最多的conv4 和conv5 卷积块,去除了ResNet-50中的conv3卷积块,这样可以使计算量更小,使算法实时性更高。由于保留了所有图层的填充,因此模板特征的空间大小增加到15,这给后续的深度互相关模块带来了很大的计算负担。因此,本文将中心7× 7区域裁剪为模板特征,其中每个特征单元仍然可以捕获整个目标区域。在实验中多次调试ResNet,发现将ResNet 特征提取器的学习率设置为RPN的1/10,特征表示会更适合于跟踪任务。

图1 Attention-SiamRPN+算法网络结构Fig.1 Network structure of Attention-SiamRPN+algorithm

图2 残差网络单元Fig.2 Residual network unit

1.3 注意力机制网络

通道注意力机制是对卷积网络提取出的不同通道特征图的语义属性进行筛选的过程[10-11]。每个通道特征表示图像在不同卷积核上的分量,是由卷积层提取到的,而每个通道的特征表示纹理、颜色等不同类别的特征。在各种跟踪环境中,通道的特征都是不同的,定位目标时需要更多浅层的颜色、形状等特征,而在多个目标相似时又需要更深的特征来描述目标。通道注意力机制模块的原理是将残差网络提取到的特征通道重新分配权值,与模板目标特征相关度越大的权值越大,相关度越小的权值越小。

本文算法中的深度互相关是根据文献[7]中的结论做的改进,由于深度互相关得到的特征通道都是两两正交的,因此本文在深度互相关模块前引入通道注意力机制,筛选贡献更大、更有效的特征,使得后续的深度互相关作出更有效的特征响应;因为本文算法将应用于UAV 指定目标跟踪,增加注意力机制也使算法更适用于小目标跟踪。并且以此训练的网络模型对于目标外观变化以及背景环境变化剧烈的情况下,会有更好的适应能力。

通道注意力块由具有全局平均池化层(Global Average Pooling,GAP)、修正线性单元层(Rectified Linear Unit,ReLU)和具有Sigmoid 激活的降维层组成,如图3 所示。给定一组通道特征c),通道注意力参数由β(如式(3))表示,网络的输出表示为对输入执行通道级的重新缩放,由式(4)可得网络的输出值。本文算法中,在骨干网络改进的ResNet-50 的conv4、conv5 卷积模块后加入通道注意力机制模块,使得训练的深度网络增强对目标外观变化的适应能力,在某些特定环境下,跟踪器的性能更好。

其中:δ为ReLU函数;σ为Sigmoid函数。

图3 通道注意力机制网络Fig.3 Channel attention mechanism network

1.4 RPN+RPN融合

1.4.1 互相关

基于Siamese 网络的跟踪算法将视觉跟踪公式化为互相关问题,并从具有孪生网络结构模型中学习跟踪相似度图的深层模型,一个分支用于学习目标特征表示,另一个分支用来搜索区域。目标区域在序列的第一帧中框出,看作模板示例z,在后续帧x中找到最相似的区域,用式(5)表示此过程:

其中:φ(z)代表孪生网络特征提取器的模板分支输出;φ(x)代表孪生网路特征提取器搜索分支输出;*代表相关运算;b用于建模相似度值的偏移量。

SiamFC 算法中利用互相关层获得用于目标定位的单个通道响应图;在SiamRPN 算法中,通过添加巨大的卷积层来缩放通道(UP-Xcorr),互相关被扩展为嵌入更高级别的信息,例如锚点。繁重的上行通道模块造成了严重的参数分布不平衡(例如RPN 模块包含20M个参数,而特征提取模块仅包含4M个参数,M表示未知数),这使得训练优化很难在SiamRPN中进行,并且边界框预测和基于锚的分类是不对称的。为了对差异进行编码,模板分支和搜索分支通过两个非共享的1×1 卷积层,将通道减少到256,然后具有相同通道数的两个特征图逐通道进行相关运算,分类和回归分支各自互相关运算如式(6)所示。

1.4.2 RPN

RPN 由深度互相关、分类与回归三部分组成,结构如图4所示。

图4 RPN结构Fig.4 Structure of RPN

本文中的互相关采用的是深度互相关,逐通道地作相关运算;分类是用于前景和背景的分类;回归是用于候选区域的回归,生成边界框的位置。假设有k个锚点,则RPN 需要输出2k个分类通道和4k个回归通道,分类损失函数采用快速区域卷积网络(Faster Region-Convolutional Neural Network,Faster R-CNN)[6]算法中的损失函数,即交叉熵损失,如式(7)所示:

其中:yi为第i个样本的值;pi为其概率值。边界框回归采用具有标准化坐标的平滑损失L1,假设Ax、Ay、Aw、Ah表示锚点框的中心点和形状,Tx、Ty、Tw、Th表示真值框的中心点和形状,归一化距离为式(8)所示。然后经过平滑的L1损失,如式(9)所示,那么回归的损失可表示如式(10)。最后总的损失函数如式(11)。

其中:λ为超参数,用来平衡回归和分类两个分支。

1.4.3 RPN分层特征融合

算法的骨干网络是ResNet-50,采用了深度网络提取特征,如果只获取最后一层网络提取的特征,就只会获得深层特征。视觉跟踪需要丰富的表示形式,其范围从低到高、缩放范围从小到大、分辨率从精细到粗糙。即使卷积网络中的特征深度很大,但仅靠隔离层还是不够的,将这些表示进行复合和聚合可改善对识别和定位的推断。浅层特征主要集中于颜色、形状等低级信息,这对于目标定位是必不可少的,但浅层特征缺少语义信息;深层特征具有丰富的语义信息,这在某些挑战性场景(例如运动模糊、巨大变形)中可能是有益的。Fan等[12]提出的孪生级联区域生成网络(Siamese Cascaded Region Proposal Network,C-RPN)算法将三个RPN 模块级联起来,这种堆叠的思路使得算法的精度有所提高。算法中使用丰富的分层信息来帮助跟踪,在网络中提取了多分支特征以协同推断目标定位。对于改进的残差网络ResNet-50,从最后两个残差块提取多层特征,以进行分层融合,将这些输出分别称为F4(z)和F5(z)。如图1 所示,conv4、conv5 的输出分别馈入通道注意力机制模块和RPN,由于两个RPN 模块的输出大小具有相同的空间分辨率,因此加权总和直接用于分类和边界框回归的输出,加权融合层conv-bn-relu 模块将所有输出组合在一起,如式(12)所示。

2 实验与结果分析

2.1 实验环境

实验平台是使用Linux 16.04 版本下Pytorch 0.4.1 框架的Python语言搭建,CPU处理器为Intel Xeon e3-1231-v3,内存是1 TB,GPU显卡为GTX1080Ti,显存为11 GB。

2.2 网络训练

本文算法的骨干网络在ImageNet[13]数据集上进行预训练,用于图像标记。整个网络模型在ImageNet DET 和ImageNet VID 数据集的训练集上训练网络。在训练和测试中,使用单尺度图像,其中模板图像为127×127 像素,搜索区域图像为255×255,批处理图像个数为28(14对)。

网络训练和设置借鉴文献[14],将两个同级卷积层附加到经过大幅缩减的ResNet-50 中,以使用5 个锚点执行候选分类和边界框回归,其中锚点率设置为[0.33,0.5,1,2,3]。本文使用0.001 的热身学习速率训练RPN 分支的前5 轮迭代(epoch),最后15 个epoch 对整个网络进行了端到端训练。初始学习率(lr)为0.005,训练期间使用0.000 5的衰减和0.9的动量值(momentum),最终学习率下降到0.000 5,整个训练周期为428 460 次。整个网络训练损失是分类损失和用于回归的标准平滑L1损失之和,分类损失权值初始设置为1,回归权值初始设置为1.2。

2.3 算法评估

本文算法评估的测试视频序列来源于权威的目标跟踪算法评估平台VOT和OTB,VOT2018[15]中包含了各种大小物体、尺度变化大、目标遮挡严重、运动快速等跟踪难点,总共60 段视频序列;OTB2015[16]包含了OTB50 中的所有视频以及再更新的视频总共100 段视频序列。本文在VOT2018 平台测试中,测试了准确率(Accuracy)、预期平均重叠率(Expected Averaged Overlap,EAO);在OTB2015 平台测试中,采用了一次通过评估模式(One-Pass Evaluation,OPE),通过成功率曲线和精度曲线对算法性能评估。成功率曲线计算跟踪重叠率大于某个阈值的帧数占所有帧数的百分比,其中重叠率是指目标跟踪框与真实目标框的重叠面积与总面积之比,本文设定重叠率阈值为0.65。精度曲线为追踪算法估计的目标位置(bounding box)的中心点与人工标注(ground-truth)的目标的中心点,这两者的距离(中心位置误差)小于给定阈值的视频帧的百分比,本文设置的像素阈值为20。以每秒平均帧数(FPS)来代表跟踪算法速度。测试跟踪器时的学习率lr=0.33,窗口影响因子Window_Influence=0.04,惩罚因子Penalty_K=0.04。

表1为四种算法在VOT2018和OTB2015平台上各种指标评估结果,图5 为OTB2015 平台上的四种算法的成功率与精度曲线图、VOT2018 平台上的预期平均重叠率排序图。ECOHC 表示提取方向梯度直方图(Histogram of Oriented Gradient,HOG)和颜色(Color)特征的高效卷积算子(Efficient Convolution Operators,ECO)跟踪算法。在VOT2018 平台评估中,本文算法的准确率、预期平均重叠率、成功率、精度分别为59.4%、39.5%、68.7%、89.4%,比其他三种算法要好,其中SiamRPN 算法是速度最快的算法,帧率高达160 FPS,但是其准确率没有本文算法高。图6、7 为四种算法针对评估平台上的某两段视频序列的跟踪结果,选取的两段视频序列分别是运动模糊的车辆和无人机跟拍的远距离目标。在视频1 中,车辆存在运动模糊的现象;视频2 中目标较小,且运动过程中存在遮挡和尺度变化的现象。从两段视频序列跟踪结果可以看出,本文算法无论是在运动模糊环境中,还是在小目标、尺度变化大的情景中,都表现出更优的跟踪结果。

表1 四种算法评估指标Tab.1 Evaluation indicators of four algorithms

图5 四种算法评估结果Fig.5 Evaluation results of four algorithms

2.4 Attention-SiamRPN+算法应用于无人机指定目标跟踪

无人机拍摄的视频序列存在目标模糊、视频抖动、尺度变化、目标小等问题,现将所提算法应用于无人机指定目标跟踪中,分析算法对于无人机指定目标的跟踪性能,并给出与其他三种算法对比的跟踪结果。

针对无人机视频序列的四种算法对比,如图8 为四种算法跟踪结果。本文算法在目标模糊、尺度变化大时都能很好地适应,准确地定位框选出目标位置,短时间的遮挡能准确定位目标,长时间的遮挡无法很好定位目标,因为该算法和其他孪生跟踪算法都是基于第一帧目标进行学习训练的,没有在线更新模型,并且缺乏预测机制,当目标短时间的遮挡时,还能保持前几帧的学习特征,定位出目标,但长时间的遮挡就会导致目标跟丢。ECO-HC 算法因为遮挡目标定位不准确;SiamFC 算法因为目标遮挡导致跟丢目标;SiamRPN 算法因为有相似目标,框选了其他物体和目标。四种算法的速度分别为:47.7 FPS(SiamFC),51.6 FPS(ECO-HC),139.8 FPS(SiamRPN),64.5 FPS(Attention-SiamRPN+)。本文算法的实时性第二,虽然没有SiamRPN 算法的实时性高,但是已满足实际无人机目标跟踪实时性的要求,并且准确率更高。

图6 视频1跟踪结果Fig.6 Video 1 tracking results

图7 视频2跟踪结果Fig.7 Video 2 tracking results

图8 无人机拍摄视频跟踪结果Fig.8 UAV shooting video tracking results

3 结语

针对无人机指定目标跟踪中运动模糊、目标小、目标抖动等问题,本文提出了基于孪生区域候选注意力机制网络的跟踪算法Attention-SiamRPN+。该算法采用改进的ResNet-50提取特征,引入注意力机制模块筛选特征,最后用RPN 实现分类与边界框回归。实验结果表明:增加的注意力机制模块使得模型可以更好地适应环境以及目标的变化;ResNet-50可以提高算法的实时性,以更适用于无人机的指定目标实时跟踪。本文算法中沿用目标检测算法的损失函数,对于目标的框选不是特别精确,未来的研究重点是针对损失函数做改进,使算法更适用于目标的定位。

猜你喜欢

残差卷积深度
基于全卷积神经网络的猪背膘厚快速准确测定
多级计分测验中基于残差统计量的被试拟合研究*
基于残差-注意力和LSTM的心律失常心拍分类方法研究
四增四减 深度推进
深度思考之不等式
用于处理不努力作答的标准化残差系列方法和混合多层模型法的比较*
融合上下文的残差门卷积实体抽取
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①