王 冠,耿明洋,马勃檀,高逸伦,宫 俊
(东北大学 信息科学与工程学院,沈阳 110819)
目标跟踪是具备极高的科研意义和实用价值的一项课题,是集特征提取、目标检测和动态分析于一体的综合性课题,在无人驾驶、智能监控、体感游戏以及军事侦察等领域得到了广泛应用[1].然而在现实场景中跟踪效果很容易受到遮挡、形变、光照以及复杂背景等因素干扰,导致可靠性低和实时性差等一系列问题,因而设计一个可实现对目标实时跟踪的鲁棒算法模型是一个很大的挑战.现有的目标跟踪方法主要可以分为生成式方法和判别式方法两大类.生成式方法主要通过生成式模型来描绘被跟踪目标的外观特征,通过搜索候选目标的方式来重构误差,生成式方法一般采用传统的机器学习算法,如CT[2]、STC[3]、MeanShift[4]等.生成式模型提取到的特征往往不够鲁棒,因此目标外观一旦出现较为显著的变化,跟踪效果就会出现被目标漂移的现象;判别式方法采用判别式模型训练出的分类器将视频中每一帧的目标和背景作区分,这种方法也被称作为检测跟踪模型,如FCNT[5]、MDNet[6]等.判别式模型比传统的生成式模型有更强的鲁棒性和更高的精度,在现有的跟踪方法中已成为主导,目前目标跟踪领域内采用深度学习的方法大多数都在判别式方法的范畴内,但此类模型存在网络参数更新不及时、训练样本匮乏等问题,在跟踪精度与速度方面受到制约,距离实时性的鲁棒跟踪算法这一目标存在着一定差距.
基于孪生网络的跟踪方法是近年来目标跟踪领域研究的热点方向.Luca B.等提出了SiamFC[7](全卷积孪生网络),SiamFC创造性地把原有的跟踪任务等效为匹配的过程,通过相关滤波操作计算出被跟踪目标和模板图片的相似度,利用计算得到的相似度最大区域将被跟踪目标定位.SiamFC在跟踪速度上显著提升,但在精度方面存在较大问题,包括跟踪框尺寸固定,不会随尺度的变化而相应改变,跟踪过程中很容易受到相似目标的干扰导致跟踪效果变差甚至跟踪失败.Bo L.等提出了SiamRPN[8](孪生区域候选网络),将SiamFC与检测领域中的RPN[9](区域候选网络)整合为一个网络,通过RPN中的anchor机制和边框回归机制区分目标与背景,可以进行端到端的离线训练,利用anchor机制获得所有待筛选的目标(包括正例和负例),通过损失函数及设定的重合度阈值对目标进行大致定位,筛选出目标区域,对比网络输出结果和真实目标的差距,如果输出的差距小于某一固定的阈值,则利用边框回归机制对边界框尺寸作线性微调.相比较而言,SiamRPN的跟踪效果得到显著提升,以极快的速度达到了目标跟踪领域的较高准确率.
虽然SiamRPN在速度和精度方面都取得了显著提高,但是由于采用的特征提取基准网络是浅层的AlexNet[10],当被跟踪目标出现尺度、形状的变化时,该基准网络难以提取到目标的有效特征,跟踪过程极易发生漂移现象导致跟踪失败,同时因RPN的anchor机制存在位置预测和尺度估计的局限性,所提取出来的边界框在边界框尺度方面存在一定误差,难以精准地框选目标的整体位置和主要轮廓,因此SiamRPN在跟踪精度方面有待提升.
本文在原有的SiamRPN模型基础上,在特征提取部分将模型基准网络由AlexNet升级为ResNeXt[11],采用多层特征融合的方式,提取出更加鲁棒的特征,引入双重注意力机制模块增强特征的位置特性和通道特性,在候选区域生成部分采用检测领域最新提出的GA-RPN[12]替换SiamRPN中原有的传统RPN,使边界框更加精准地框选目标;最后采用非极大值抑制的方法筛选出响应分数最高的预测区域,从而提高跟踪模型的跟踪效果和表达能力.
SiamRPN(孪生区域候选网络)创造性地将孪生网络与RPN(区域候选网络)相结合,实现了端到端的离线训练.网络结构如图1所示,分为模板分支与目标分支,SiamRPN初始通过孪生网络提取特征,RPN作后续目标-背景的二分类和边界框的回归.SiamRPN放弃了跟踪领域传统的多尺度评测机制和在线跟踪策略,将跟踪过程等效为针对单样本的目标检测过程,将第1帧框选的图片区域作为模板,计算孪生子网络中的模板分支,将其构造成目标分支中区域检测部分的卷积层.因SiamRPN整体结构较为简单使得跟踪速度大幅提升,检测帧率可以达到160FPS.同时,RPN的anchor机制和边框回归机制提升了跟踪精度,在OTB2015以及VOT系列数据集中的各类评价指标均处于领先地位,但因特征提取网络较浅以及RPN的固有局限性,SiamRPN从结构上存在着进一步优化的空间.
图1 孪生区域候选网络主体结构Fig.1 Siamese region proposal network architecture
ResNet于2015年由Kaiming H[13]提出,通过残差块之间的shortcut连接方式消除了因层数增加导致的梯度弥散现象,彻底释放了网络的深度.此后,计算机视觉领域出现了较多采用ResNet作为基准网络的模型,ResNet的结构通过引入不同的机制不断得到优化,效果也相应显著提升.
残差块的结构包括两层单元,输入信息通过块与块之间的shortcut结构可实现恒等映射,如公式(1)所示:
y=F(x,{Wi})+Wx
(1)
其中,每层的输入经由ReLU函数形成残差函数传递到下一层,当输入和输出维数变化时,对x作一个线性变换来调整通道数,W为变换系数.
ResNeXt是ResNet的结构升级版本,采用了VGG[14]网络的堆叠累加的思想和Inception[15]网络的分离-变换-合并思想改动卷积层中残差块结构,即通过在该卷积核所在层两侧加入1×1的卷积层,在不对参数复杂度明显增加的前提下提高了网络性能.此外,由于各分支间拓扑结构相同,ResNeXt的超参数规模也相应大幅缩减,使ResNeXt具有较强的可扩展性.
图2 ResNet与ResNeXt卷积层结构Fig.2 Structure of ResNet and ResNeXt convolutional layer
图2左侧是ResNet中Conv2层具体的拓扑结构,右侧为ResNeXt中Conv2层具体的拓扑结构.从图中可以看出ResNeXt卷积层中各个子分支均具有一致性,分支的个数为路径基数.左侧64个卷积核(1×1,3×3,1×1)对所有的输入集中作卷积计算;右侧通过网络拆分,将每4个卷积核作为1个分支,明确了网络分工并提高了局部适应性,32个路径的输出向量按照通道对应位置点相加的方式求和.
本文模型拟采用在ImageNet数据集上预训练完毕的VGG-19网络Conv 1和Conv 2层与3个相同的ResNeXt-50的Conv 2层组合,构造出全新的网络结构,替换SiamRPN中的AlexNet为基准网络.其中,将卷积核尺寸分别设置为11×11、5×5、3×3,卷积过程步长设置为2,不作额外填充,相邻层之间经由过渡层调整通道数从而将原始的3通道输入图像最终转换为256维的特征图.卷积层各路径分支之间采用分组卷积的组合形式,可以更好地利用PyTorch深度学习框架的底层计算资源,提升模型整体运行速度.
传统RPN的anchor机制将一系列形状和宽高比不同的anchor密集插放在特征图上,这种作法存在两个问题:在位置上较多的预置anchor并没有起到实质的效果,造成计算资源的浪费;在形状上预置生成的anchor大小和宽高比是恒定的,并不能够完全贴合目标.为解决RPN出现的此类共性问题,Guided anchoring机制利用语义特征预测感兴趣目标中心最可能出现的位置,预测特征图中不同位置所对应的形状,从而联合指导anchor的生成,即先预测anchor的形状及位置,然后在预测出的anchor基础上定位目标.本文引入目标检测领域内最近提出的这一机制,替代原有SiamRPN中RPN的anchor机制,即用GA-RPN取代了SiamRPN中原有的RPN.
图3 Guided anchoring结构Fig.3 Guided anchoring architecture
Guided anchoring在结构上有两个分支,如图3所示.其中,上方分支用于预测出anchor的位置和形状,下方分支通过特征整定操作生成新的用于搜索的等效特征图.预测anchor的分支下又可以细分为两个子分支,即位置预测子分支和形状预测子分支,分别利用特征图经过不同的卷积层后提取到的特征来预测anchor的位置信息和形状信息.不同位置的anchor对应的尺寸大小有差异,因此映射到特征图上的范围也会有差别,所以经由一个特征整定模块使原特征图融合了各个位置anchor的形状信息,得到新的特征图用于后续回归操作.
2.3.1 anchor位置预测
在anchor的位置预测子分支中,初始化预设某一特征点(i,j)对应的坐标为((i+0.5)s,(j+0.5)s),采用如下转换方式:
P(i,j|fi)=Sigmoid((i+0.5)s,(j+0.5)s)
(2)
其中,s表示特征图的步长,即特征图对比原图下采样的倍数,同时也等价为原始图片上相邻的anchor相隔的真实距离.对输入特征图作1×1卷积操作,然后使用Sigmoid函数得到每个元素相对应的实际概率值,从而形成概率预测分布图.
2.3.2 anchor形状预测
在anchor的形状预测子分支中,根据给定的特征图fi,该分支对各个位置所对应的最佳anchor形状和尺寸作出预测,结合差异化IOU阈值,从而得到最接近的边界框中最高IOU数值的对应的形状.采用以下转换方式:
w=σ·s·edw,h=σ·s·edh
(3)
其中,将dw和dh作为形状预测子分支的输出值,并将其具体的映射到(w,h)上,s表示特征图的步长,即特征图对比原图下采样的倍数,同时也等价为原始图片上相邻的anchor相隔的真实距离,σ表示比例因子(本文σ取8),通过非线性变换的方式将输出空间从近似值[0;1000]映射到[-1;1],实现逐像素转换.
2.3.3 特征整定
对特征图作原有特征的整定操作,对特征图中各个位置利用可变形卷积的思想作转换,采用以下转换方式:
(4)
其中,fi是第i个位置的特征,(wi,hi)是该特征所对应的anchor形状,NT表示通过3×3可变形卷积思想实现的特征转换函数.从anchor分支计算出预测的偏移量,然后对带偏移量的原始特征图作可变形卷积获得整定后的特征,用于下一步分类和边框回归操作.
本文提出基于孪生区域候选网络(SiamRPN)的目标跟踪模型,在SiamRPN基础上,将原有的特征提取基准网络AlexNet升级为ResNeXt来提取更有效的特征,运用多层特征融合模块融合从浅层到深层网络提取到的特征;嵌入双重注意力机制模块来增强特征的位置特性和通道特性;将传统的RPN替换为GA-RPN,得到更精准的边界框,将不同Guided anchoring模块的IOU阈值作差异化调整,以非极大值抑制的方式筛选出最优跟踪方案.
本文模型结构如图4所示,整个模型可分为模板分支和目标分支,由孪生网络、注意力模块、GA-RPN以及对跟踪结果的筛选操作4部分组成.将该视频第1帧中人工标记的目标真实位置和当前帧的目标搜索区域作为该模型的输入,将非极大值抑制后筛选出的最优分类信息和位置信息作为该模型的输出.
初始化裁剪图像为127×127×3和255×255×3尺寸输入该模型,由预训练完毕的VGG网络Conv1和Conv2层作卷积操作并降维后,导入到由3个ResNeXt的Conv2层组成的特征提取区域,提取不同层次的特征.为了保持特征提取区域输入的特征图维度一致,每个卷积层前的过渡层通过1×1卷积层的bottleneck操作调整通道数.为了使定位更加精准,将ResNeXt的Conv2层步长参数缩减,以均匀采样的方式消除位置偏差.多层特征融合模块将提取到的不同层次特征以线性加权的方式融合后,把尺寸为6×6×256和22×22×256的特征图作为双重注意力机制模块的输入.
本文提出的双重注意力机制模块由位置注意力模块和通道注意力模块两部分组成.运用自注意力机制可在通道和空间上分别有效捕捉特征之间的相互关联程度,并且不变更输入特征图的尺寸和通道数量.为了得到更优秀的特征描述,将两种注意力机制的结果融合成新的特征,输出6×6×256和22×22×256的特征图到GA-RPN区域.
GA-RPN区域中,输入信息分别经由3×3卷积层调整通道数后,作互相关操作输出17×17×2k的向量,通道数为2k,k表示预置anchor的数量.3个内置不同IOU阈值的Guided anchoring模块对输入向量作位置预测和形状估计,输出17×17×2k的分类信息和17×17×4k的位置信息,最后以非极大值抑制(NMS)的方式筛选出最优的跟踪方案作为整个模型的输出.
图4 基于孪生区域候选网络的目标跟踪模型结构Fig.4 Architecture of target tracking model based on siamese region proposal network
在神经网络中不同深度的网络层提取特征的侧重点差异很大,较浅层网络主要提取边缘、纹理、形态等低级信息,而深层次的网络则更加关注语义等高级信息.因此,为了融合从浅层到深层提取到的特征,本文在孪生网络区域设计多层特征融合模块,经由过渡层作维数一致性整合,采用线性加权的方式融合成新的特征.特征融合过程如下:
(5)
其中,各元素采用元素堆叠的方式累加,不改变特征原有的通道数,运用并行计算策略,将高低层特征向量融合成一个复向量,特征与特征之间的优先级相同,因此αi均取值为0.33.多层特征融合模块可从多个原始特征中取得最具代表性的差异化信息,消弥不同特征之间产生的一部分冗余信息,为后续GA-RPN模块的精准决策打下基础.
本文在根据注意力机制[16]提出了双重注意力机制模块用于增强特征的位置特性和通道特性,结构如图5所示,包括
图5 双重注意力机制模块Fig.5 Double attention mechanism module
位置注意力模块和通道注意力模块两个部分,可在空间和通道维度上有效捕获特征之间的相互关联程度,最后融合两种注意力机制模块的输出结果以得到更优的特征描述.
3.2.1 位置注意力模块
位置注意力模块通过引入自注意力机制获取各个位置在特征空间的相互关联程度,对于某个特定位置的特征,采用加权求和的方式将其他位置的聚合特征汇总后更新原有的特征,结构如图5上方分支所示.
不同位置间的权重系数由特征之间的关联程度确定,具有相似特征的位置之间会互相增强表征能力,且与空间上的距离无关.整个过程采用如下公式计算:
(6)
其中,特征图A(C×H×W)分别通过3个卷积层得到3个不同的特征图B、C、D,然后变形为C×N,其中N=H×W.将变形后B的转置与变形后的C相乘后通过softmax函数得到空间注意力响应图S(N×N),接着把S的转置与D作乘积,与尺度系数α相乘变形回到初始形状,最后与特征图A按元素相加得到输出特征图E.将α初始值置为0,并经过学习逐渐更新权重,由原始特征每个位置加权求和后得到输出特征图E的每个位置上对应的值.
3.2.2 通道注意力模块
通道注意力模块通过引入自注意力机制获取特征在通道维度上的依赖关系和相互关联程度,从而更新每个特征通道的权值,由通道之间的相关性来获取语义特征之间的对应联系,结构如图5下方分支所示,整个过程采用如下公式计算:
(7)
该模块分别对特征图A(C×H×W)作类似位置注意力模块中变形、变形与转置结合的操作,将操作后的两个特征图相乘后经由softmax函数得到全新的通道注意力响应图S(C×C),接着把S与A作乘积后,与尺度系数β相乘变形为初始形状,最后与特征图A逐通道相加后得到输出特征图E.将β初始值置为0,并经过学习逐渐更新权重.
GA-RPN论文作者提出,IOU(交并比)阈值作为超参数对该网络作移植后的效果有着较大影响,不同的IOU阈值对边界框的位置与边框回归的效果都会产生一定的数值变动.IOU的数值等于两相关图片中交集与并集面积的比值,计算过程如下:
(8)
因此,本文模型采用IOU差异化阈值作为超参数来匹配相同的Guided anchoring模块.IOU阈值一般在0.5-0.7的范围,通过大量对比验证,将3个Guided anchoring模块IOU阈值分别预设为0.55、0.62、0.66.
本文模型的损失函数由目标-背景的二分类损失函数和边界框的回归损失函数共同组成.其中,二分类损失函数用来衡量被跟踪目标和背景信息的差异性,回归损失函数则用来精准定位边界框,整体损失函数如下:
(9)
(10)
(11)
本文实验的硬件环境为RTX-2070Ti显卡、16GB内存、Intel i 7-9代CPU;软件环境为64位操作系统Win10环境下搭载PyCharm平台、PyTorch框架;数据集为OTB2015和VOT2018两个通用目标跟踪数据集,其中,OTB2015数据集有100个通用的跟踪视频,VOT2018数据集包括60个通用跟踪视频,视频的采集综合考虑了光照、遮挡、形状尺度变化和模糊等不同干扰因素的影响,采用10折交叉验证法按照9:1的比例将整个数据集拆分为训练集和测试集.
本文将数据集视频片段中第1帧图片人工标注的真实目标所在位置作为模板分支的输入图,其他帧图片作为作为目标检测分支的输入图,共同构成一个整体的训练样本,以32个训练样本为一个批次作批标准化处理后训练模型,以随机梯度下降算法作收敛,初始学习率设置为0.01,采用poly学习率下降策略将学习率从0.01呈指数趋势衰减到0.0001,动量设置为0.9,权重衰减系数设置为0.0001,训练共迭代10000次,损失函数见3.4节.
本文在OTB2015数据集上的实验主要考虑中心位置误差和重叠率两方面的因素并以此为依据分别生成准确率图和成功率图.其中,预测框与真实框测距小于规定阈值的图片作为正确检测图片,正确检测图片在该数据集中的占比作为准确率(Precision);预测框与真实框覆盖率高于设定阈值的图片作为成功检测图片,成功检测图片在该数据集中的占比作为成功率(Success).将本文模型与其他9种主流跟踪模型进行对比,其中包括SiamRPN、PTAV、CRSET、SRDCF、SINT、CSR-DCF、SiamFC、Staple和CFNet,由OTB数据集的实验结果生成机制得到准确率及成功率曲线图,包括本文模型以及其他9种经典的跟踪模型.
图6 准确率及成功率Fig.6 Precision and success
实验结果如图6所示,图中[]内的数值分别为本文模型中误差范围小于0.5的准确率数值和覆盖率大于0.5的成功率数值.本文模型在原始的SiamRPN模型基础上作出改进,克服了尺度、形状变化所导致的跟踪效果变差问题,因此在OTB2015数据集的评价指标下,跟踪的准确率和成功率与SiamRPN相比均有小幅上升,准确率达到了0.882,成功率达到了0.678,分别提升了3.7%和6.2%.此外,与其他9种跟踪模型对比,本文模型的跟踪性能更为优异,在准确率曲线图中上升梯度相对较大,在成功率曲线图中下降梯度相对较小,由此表明本文模型在跟踪过程中具备更好的抗干扰能力,鲁棒性较强.
本文在VOT2018数据集上的实验通过平均重叠期望(EAO)、准确度(Accuracy)、鲁棒性(Robustness)这3个性能指标来对该模型作跟踪效果的具体评估,良好的跟踪模型应当具备较高的准确度和平均重叠期望数值,较低的鲁棒性数值.将本文模型与其他3种孪生网络跟踪模型对比,其中包括DaSiamRPN、SiamRPN和SA_Siam_R这3种孪生网络跟踪模型.
实验结果如表1所示,与原始的SiamRPN模型相比,本文所提出的模型在VOT2018数据集上的平均重叠期望提高了4.9%,准确率提高了2.67%,鲁棒性提高了11.2%.此外,准确度-鲁棒性的可视化如图7所示,速度-平均重叠期望如图8所示,本文模型因改进后结构更加复杂导致在跟踪速度方面与其他3种孪生网络跟踪模型(DaSiamRPN、SiamRPN和SA_Siam_R)相比略低,但在平均重叠期望、准确度、鲁棒性方面均有较为明显的提升.本文模型的跟踪速度(31 FPS)略高于跟踪模型实时性阈值25 FPS,满足领域内部跟踪模型对于实时性的普遍要求.
表1 VOT 2018数据集实验结果Table 1 Results of the VOT2018 dataset
图7 准确度-鲁棒性Fig.7 Visualization of accuracy-robustness
图8 速度-平均重叠期望Fig.8 Visualization of speed-EAO
综上所述,在VOT2018标准下,本文模型实现了较为出色的性能,与同属孪生网络跟踪算法体系的其他3种模型相比,具有更好的跟踪效果.
本文在孪生区域候选网络(SiamRPN)的基础上,构建一种用于目标跟踪的模型,通过升级特征提取基准网络,引入多层特征融合模块、注意力机制和GA-RPN,提高了模型的跟踪精度,解决了因尺度、形状变化导致的跟踪效果变差的问题.OTB2015和VOT2018两个数据集的测试数据表明,本文提出的模型具有较高的跟踪精度和较强的抗干扰性,满足跟踪模型对于实时性的要求.但本文模型存在着跟踪速度略低、对其他干扰因素表现较为敏感的问题,下一步尝试引入更多机制,优化网络整体结构,在兼顾模型跟踪精度的前提下同步提高模型的跟踪速度,并就如何将本文模型扩展应用到多目标跟踪领域这一问题作出思考与尝试.