付利华, 王路远, 章海涛, 闫绍兴, 吴会贤, 王俊翔
(北京工业大学信息学部, 北京 100124)
视频目标跟踪(video object tracking,VOT)是对视频序列中特定目标进行检测以获取其位置和运行轨迹信息的任务. 基于第1帧给定的特定目标框,在视频序列后续帧中标注相同目标物体框,即为半监督的单目标视频跟踪. 单目标视频跟踪是计算机视觉领域的研究热点,广泛应用于智能安防、无人机、自动驾驶等诸多领域.
目前,VOT方法主要有2种方法:基于相关滤波的VOT方法和基于孪生网络的VOT方法. 基于相关滤波的VOT方法的思想是利用样本周期矩阵生成大量图像,并利用生成的图像对滤波器进行训练,然后将训练后的滤波器与当前帧中感兴趣区域的特征在傅里叶域进行卷积以获得相关性响应图,从而依据响应图中的峰值位置得出目标在当前帧中的位置. 这种方法主要是通过训练一个判别力强的相关滤波器来区分前景和背景[1-2]. 随着对特征改进的不断研究,相关滤波所采用的特征变得越来越复杂,计算速度逐渐降低,使得这类方法具有的实时性优势也逐渐消失.
基于孪生网络的VOT方法,通过将目标跟踪问题简化为相似度匹配问题,将第1帧中以目标为中心的图像块作为模板帧,与当前帧的搜索区域做互相关操作,求取目标在当前帧的位置. 基于孪生网络的VOT方法无须在线更新,跟踪速度快,是目前主流的实时VOT方法. AlexNet[3]作为现有大多数基于孪生网络的VOT方法所采用的特征提取网络,特征提取能力不强,此类方法仅采用网络最后一层输出的特征,虽然其语义信息较为丰富,但缺点是表观信息不足,达不到目标跟踪精准定位的需求;另外,离线训练的深度特征不适用于训练集中没有出现的目标.
针对以上问题,本文提出基于残差密集孪生网络的VOT方法. 该方法采用残差密集孪生网络作为特征提取网络,提高网络的特征提取能力,进而提高目标跟踪的性能.
本文提出一种基于残差密集孪生网络的VOT方法,网络模型具有孪生特征提取子网和多个区域候选网络(region proposal network,RPN). 孪生特征提取子网由参数共享的模板分支残差密集网络和检测分支残差密集网络组成. 此外,本文将卷积注意力机制(convolutional block attention module,CBAM)[4]引入残差密集网络中的残差密集块,进一步提高了模型对目标区域特征的判别能力. 基于残差密集孪生网络的视频单目标跟踪的网络整体结构如图1所示.
残差密集网络[5]最先是在图像超分辨率重构中提出的,其残差密集块能更好地融合各卷积层的特征,获取丰富的细节信息. 本文在残差密集网络的基础上进行改进,并融入到VOT任务中以获得更高的跟踪精度.
参数共享的模板分支和检测分支是构成残差密集孪生网络的主要部分. 其中每个分支包含浅层特征提取模块和残差密集特征提取模块. 浅层特征提取模块提取图像的浅层特征,由2个卷积层构成;残差密集特征提取模块由4个级联的残差密集块组成. 表1展示了残差密集网络的详细参数设置.
残差密集块包括3个部分:密集特征提取、密集特征融合和卷积注意力. 密集特征提取包含一组紧密连接的瓶颈层,密集特征融合包含一个Concat层和一个1×1卷积层. 图2展示了残差密集块的网络结构.
图2 残差密集块结构
在密集特征提取中,每一层的输入是之前所有层的输出.通过密集连接,网络保留了之前特征图中的所有有用信息,提高了模型的泛化能力.对于密集特征提取中的第l个卷积层,其特征是之前所有卷积层的输出特征Fi,i=0, 1, …,l-1,第l个卷积层的特征输出为Fl,其数学表述公式为
Fl=φConv([F0,F1,…,Fl-1])
(1)
式中:φConv表示卷积操作;[F0,F1, …,Fl-1]表示对特征使用Concat连接.
使用一组紧密连接的卷积层提取特征后,通过密集特征融合来自适应地保留特征信息,并调整特征通道的数量以进行残差学习;将密集特征融合后的特征输入卷积注意力,通过注意力机制进行特征的自适应加权,抑制背景信息且更关注目标区域;最后,残差学习将上一层残差块的特征融合到当前残差密集块,促进块之间信息的交流.
注意力机制在图像分割、目标跟踪和目标识别等许多领域有广泛应用.卷积注意力结合了通道注意力和空间注意力以达到特征的自适应优化.本文模型在残差密集块中引入卷积注意力以抑制背景信息,增强目标的相关特征,从而增强模型对特征的区分能力,提高模型对目标外观变化的反应能力.
如图3所示,卷积注意力包含通道注意力和空间注意力,从通道和空间学习不同位置上的特征信息的重要性.基于学习得到的结果,对特征信息进行自适应地加权,提高了特征的判别性.
图3 卷积注意力结构
给定特征图F∈RC×H×W,输入卷积注意力,输出一维通道注意力图WC∈RC×1×1和二维空间注意力图WS∈R1×H×W,其数学表述公式为
F′=WC(F)⊗F
(2)
F″=WS(F′)⊗F′
(3)
式中⊗表示元素级乘法.
在进行元素级乘法时,需要保证注意力特征图与输入特征图具有同样的维度.F″为经过卷积注意力优化后的特征.
(4)
式中:σ表示sigmoid函数;W0、W1为全连接层的参数.
(5)
区域候选网络由分类分支和回归分支两部分组成,分类分支对前景和背景进行区分,回归分支对目标边界框的偏移进行估计,其结构如图4所示.通过区域候选网络,将VOT中的前景- 背景分类与目标边界框估计相分离,可以获取更为精确的边界框预测,提升跟踪器的性能.
图4 区域候选网络结构
本文为了实现2个分支的相互关操作,将通道互相关引入区域候选网络.首先,使用3×3卷积层调整残差密集块的特征以适应跟踪任务.因为边界框回归和基于锚点的分类是非对称的,所以采用2个不同的卷积层对模板分支和检测分支的特征分别进行调整;然后,对2个有同样通道数的特征图逐通道进行互相关操作;最后,基于1×1卷积将不同通道的输出进行融合,分别获得2个分支的结果.
基于通道互相关,显著降低了目标跟踪的计算成本和内存使用,使2个分支的参数量得到平衡,提高了训练过程的稳定性.
对于模板分支,通过残差密集网络提取特征Fx,将其输入到区域候选网络的2个分支,通过卷积核大小为3×3的卷积层对其进行处理,得到特征Fx,cls和Fx,reg;同样,对于检测分支,使用相同的方式对特征Fz进行处理,得到特征Fz,cls和Fz,reg.进一步,在分类分支和回归分支分别执行逐通道的互相关操作,并通过卷积核大小为1×1的卷积层融合来自不同通道的输出,具体过程为
(6)
(7)
Acls中每个点都是一个2 000维向量,为对应每个锚点的原图区域的前景与背景概率.类似地,Areg中每个点都是一个4 000维向量(dx, dy, dw, dh),描述锚点与对应的实际标注间的距离.
在训练阶段中,分类分支采用交叉熵损失函数.对于回归分支,首先需要计算锚框与实际标注间的归一化距离,计算公式为
(8)
(9)
(10)
(11)
式中:Ax、Ay、Aw、Ah分别为锚点中心点的坐标与长宽;Gx、Gy、Gw、Gh分别为相应的实际标注的中心点坐标与长宽.
然后,通过平滑L1损失smoothL1来指导锚点,拉近其与真实标注间的距离,其数学表述为
(12)
式中:x为模型的预测值;σ为模型的超参数.
回归分支的损失计算为
(13)
此外,分类分支采用交叉熵损失.最后,模型的总损失为
loss=Lcls+λLreg
(14)
式中:Lcls为分类分支的损失;λ为平衡两部分损失的超参数.
因为目标跟踪需要区分前景和背景,进行准确的目标定位,所以仅使用单层特征是不够的,基于不同层的特征便于进行精确的跟踪定位和提高模型的鲁棒性.
考虑到感受野的差异,残差密集网络中不同层的特征有较大差异.浅层特征主要是预测目标边界框所要求的外观信息,例如颜色和纹理等;深层特征主要是语义信息,对于运动模糊、明显外观变形等挑战性的场景,深度特征可以提高模型鲁棒性,避免跟踪器漂移.
在本文模型中,基于残差密集网络的第2、3和第4残差密集块的特征一起进行目标跟踪.分别将对应的3个特征图作为3个独立候选区域网络的输入,再将3个候选区域网络的输出做加权求和,公式为
(15)
(16)
式中:Acls,l为第l个残差密集块特征对应区域候选网络中分类分支的输出;Areg,l为第l个残差密集块特征对应区域候选网络中回归分支的输出;αl和βl分别为融合分类分支和回归分支输出的权重.
本文在公开数据集OTB100和VOT2016上进行实验,以评价本文模型的有效性.本文模型在Intel(R) Core i7-8700K@ 3.70GHz CPU、NVIDIA GeForce GTX 1080 Ti GPU和Ubuntu 16.04操作系统下,基于PyTorch开源框架实现.
为了更好地将残差密集网络适用于VOT,先基于ImageNet数据集[6]对主网络进行预训练;然后使用ImageNet VID[6]、COCO[7]、ImageNet DET[6]和YouTube-BB数据集[8]训练整个网络,以学习VOT中对通用目标的相似性度量.
类似于SiamRPN[9]提取训练样本的方法,从以上训练数据集中选取帧间间隔小于100帧的图像对进行裁剪和缩放,模板帧图像的大小为127×127像素,检测帧图像的大小为255×255像素.为克服平移不变性对孪生网络不能适用深度网络的限制,进一步处理训练样本,通过均匀分布的采样方法将目标在中心点附近偏移,偏移范围为图像中心±64像素.
基于随机梯度下降方式对网络参数进行训练.整个训练阶段有20个epoch,对前5个epoch采用固定的主网络参数,基于0.001 0的学习率对区域候选网络进行训练.后续的15个epoch对整个网络进行了学习率从0.005 0衰减到0.000 5的端到端的训练.
本文比较了本文算法与目前流行的4种实时目标跟踪算法,包括SiamRPN[9]、SiamFC[10]、CREST[11]和DCFNet[12].将本文算法与上述4种算法在OTB2015数据集中的Biker、Bird1、Bolt、Liquor和Singer2等5个视频序列进行比较和测试.图5展示了不同VOT方法在5个有代表性的帧上的跟踪结果.
图5 本文算法与4种VOT算法在OTB2015的部分定性结果
如图5所示,对VOT中遇到的相关挑战,本文算法大多数情况下可以较好地跟踪图像中的目标位置.
1) 视频帧序列Biker的主要挑战是快速运动和平面外旋转.当目标快速旋转时,目标的外观变化很快.实时更新的目标跟踪算法CREST[11]在目标转身时发生更新错误,导致跟踪漂移;在目标转身时,SiamRPN[9]同样丢失了跟踪目标;在跟踪过程中,DCOCNet[12]产生了更新错误,导致跟踪位置发生偏差.本文方法利用残差密集孪生网络和卷积注意力机制,即使目标发生了平面外旋转,在整个视频帧序列也都能表现良好,达到较好的目标跟踪精度.
2) 视频帧序列Bird1的主要挑战是遮挡和尺度变化,当目标被遮挡时,容易出现跟踪漂移,不能很好地预测目标所在的位置.从图5中的第2行可以看出,其他4种比较方法都发生了跟踪漂移.CREST[11]和DCFNet[12]在目标跟踪中在线更新网络模型,当目标被遮挡时,错误更新了网络模型,以至于发生了目标丢失;SiamRPN[9]和SiamFC[10]因为其网络模型相对简单,所以算法不能很好地应对遮挡和尺度变化等挑战,同样在跟踪过程中发生了目标丢失.本文方法基于密集残差网络提取获取对目标更具判别力的特征,并采用卷积注意力机制进一步增强了特征中的有用信息,因此,在整个视频序列的跟踪过程中没有产生跟踪漂移.
3) 视频帧序列Bolt和Liquor的主要挑战是相似语义的干扰.由于SiamRPN[9]和SiamFC[10]采用特征提取能力有限的AlexNet[3]作为主网络,使得模型不能很好判别同一类别的物体,当目标周围有与目标非常相似的物体时,会出现目标跟踪漂移.因为CREST[11]和DCFNet[12]在目标跟踪过程中实时更新网络模型以获得视频序列中目标持续的外观变化,所以这2种方法对于相似语义的干扰在整个过程中具有较好的跟踪表现.本文方法基于残差密集网络可以提取细粒度的特征,并且卷积注意力能够提高模型的类内辨别力,因此,在整个视频序列的跟踪过程中,本文方法表现良好.
4) 视频帧序列Singer2的主要挑战是背景杂乱.在Singer2的场景中光线昏暗,无法区分目标穿着的衣服和周围的环境,背景信息很容易误导跟踪.在跟踪过程中,SiamFC[10]提取的特征不能很好地区分目标,在跟踪过程中发生了跟踪漂移;DCFNet[12]对网络模型进行实时更新,当受到目标周围背景的干扰时,可能会错误更新网络模型而丢失目标.本文方法基于残差密集网络可以提取对目标具有更强判别力的特征,将目标与背景进行区分,而其余方法则在一定程度上存在目标跟踪漂移问题.
本文分别在OTB2015数据集和VOT2016数据集上将本文算法与目前比较流行的VOT算法进行了定量实验,包括SiamRPN[9]、SiamFC[10]、CREST[11]、DCFNet[12]、ECO-HC[13]、CSR-DCF[14]、SiamRPN++[15]、SiamDW[16]、GradNet[17]和SiamR-CNN[18].
2.3.1 OTB2015数据集
OTB2015数据集有100个广泛使用的跟踪视频序列.评估方法是准确率图和成功率图.准确率图显示跟踪结果中心位置与目标实际标注中心位置之间的距离小于20像素的帧数百分比.成功率图显示当阈值在0~1变化时跟踪成功帧的比例.成功率图的曲线下面积(area under curve,AUC)用于对跟踪算法进行排名.图6展示了本文方法和现有主流跟踪方法在OTB2015数据集上的评估结果.
图6 不同跟踪方法在OTB2015上的成功率和准确率
1) 本文方法获得比基于相关滤波的VOT算法CREST[11]、DCFNet[12]、ECO-HC[13]和CSR-DCF[14]更高的准确率和成功率.本文方法基于度量学习对搜索区域中的候选图像与模板图像进行相似度比较,并且具有更复杂的网络结构和大量的训练样本,因此,本文方法具有比以上算法更优的跟踪性能.
2) 本文方法获得比基于孪生网络的VOT算法SiamRPN[9]、SiamFC[10]、SiamDW[14]和GradNet[17]更高的准确率和成功率.本文方法将残差密集孪生网络作为主网络,网络层次更深,特征提取能力也更好,因此,本文方法具有比以上4种算法更优的跟踪性能.与SiamR-CNN[18]相比,本文方法的跟踪精度还存在一定的差距.
3) 本文获得比基准算法SiamRPN[9]更高的准确率和成功率,说明了本文方法的有效性.本文方法的跟踪性能与SiamRPN++[15]相比仍存在一定差距,主要原因是本文方法的网络模型参数较少,是SiamRPN++[15]的1/2,但本文方法能获得比SiamRPN++[15]更快的运行速度,达到67帧/s.
2.3.2 VOT2016数据集
VOT2016数据集包括60个具有不同挑战难点的公开视频序列.与其他VOT方法类似,本文采用VOT竞赛的评价标准,即利用准确率、鲁棒性和期望平均重叠率(expected average overlap,EAO)评估本文跟踪方法.
表2展示了评估结果.由表可知:1) 本文方法在VOT2016数据集上能获得较高的准确率和鲁棒性,其准确率和EAO分别是0.61和0.396,仅落后于SiamRPN++[15]算法.2) 本文方法的鲁棒性与SiamDW[16]相当,并列第3位.本文方法与基准方法SiamRPN[9]相比,在3个衡量指标上都有所提高.
表2 不同跟踪方法在VOT2016数据集上的评估结果
1) 本文提出一个基于残差密集孪生的VOT方法,能有效地处理VOT问题. 本文方法设计了参数共享的残差密集孪生网络,能提取更细粒度的、不同层次的特征,解决了以往基于孪生网络的VOT方法特征提取能力不足,无法很好应对目标表观变形、平面外旋转等挑战的问题.
2) 针对以往基于孪生网络的VOT方法没有关注感兴趣区域的问题,本文在残差密集网络的残差密集块中设计了一种卷积注意力,可以提高模型对目标外观变化的响应能力. 为了进一步提高模型的跟踪精度,将残差密集网络的不同层特征进行融合,共同用于目标跟踪. 实验结果表明,本文方法能有效地解决目标遮挡、目标表观变化过大等问题,较好地实现目标的跟踪.