王金栋,张惊雷,2,文 彪
1.天津理工大学 电气工程与自动化学院,天津300384
2.天津理工大学 天津市复杂系统控制理论及应用重点实验室,天津300384
视觉目标跟踪是计算机视觉的一项基本任务,旨在准确预测连续视频帧中给定感兴趣目标的位置和形状。它在视频监控、军事侦察与打击、人机交互、智能交通等领域有着广泛的应用[1]。跟踪任务在外观变形、光照变化、外观相似、运动模糊、遮挡、尺度变化等方面有着公认的研究困难,如何找到一种行之有效的方法,能够具有足够的鲁棒性处理以上可能存在的各种复杂情况成为当下亟待解决的问题[2]。
卷积神经网络是一种特殊的深层前馈网络[3]。随着卷积神经网络和深度学习在目标检测领域取得成功,越来越多的研究者将其运用到目标跟踪中,并取得了很好的效果[4]。受基于深度残差学习的图像识别算法[5]启发,孪生网络算法[6]开始被提出,因其在速度与精度上取得了良好平衡,受到学者们的广泛关注。SiamFC[7]作为孪生类算法代表,将目标跟踪视为图像对匹配任务,将感兴趣的目标图像作为模板,在后续帧中通过相关操作找寻匹配度最高的样本,表现出了不错的效果,此类算法在训练阶段完全离线,保证了跟踪速度。SiamRPN[8]在孪生结构的基础上引入应用于目标检测的区域提议网络(region proposal network,RPN)来预测目标的位置和置信度,使得孪生网络具备多尺度检测的能力,并且可以准确地回归目标的位置和大小。SiamRPN++[9]在SiamRPN[8]的基础上进行改进,采用均匀分布的采样方式来解决网络的平移不变性问题,同时采用深度交叉互相关操作来解决SiamRPN[8]网络中分类与回归分支中模板图像与搜索图像的特征维度不对称的问题,进一步提升了跟踪精度。SiamMask[10]提出了一种使用Mask输出来跟踪物体,对跟踪目标进行分割,通过分割就可对目标进行动作以及行为预测,能够更好地适应目标运动场景的跟踪任务。SiamBAN[11]去掉了预定义的锚框,使得模型的参数量下降,提升跟踪器对感兴趣目标的跟踪速度。SiamFC++[12]在SiamFC 网络上增加了分类与状态估计分支,去除先验知识的同时明确分类得分,提升了跟踪器的性能。Siam R-CNN[13]将两段式结构与重检测用于跟踪,重检测的方法能够更好地应对目标变化带来的挑战,更适合于长时跟踪的任务。这些进一步的改进算法大都在孪生网络的基础上添加额外的分支,使用更深的网络,利用无锚结构。此外,一些流行的在线跟踪器,如ECO[14]、ATOM[15]和DiMP[16],也严重依赖相关性运算。因此,主流的跟踪框架大致可以分为两部分:一是用于提取图像特征的主干网络;二是计算模板和搜索区域相似度的相关性网络。
虽然孪生网络类算法结构简单,但采用的相关操作为一个线性匹配过程,会导致特征间语义信息丢失,这无法满足跟踪器捕获模板与搜索区域之间的非线性交互信息。因此,以往的模型必须在孪生网络的基础上采用必要的手段来提升网络的非线性表示能力,提出一种较相关性操作更好的特征融合方法是非常有必要的。为了解决上述问题,研究人员将可变形的注意力架构引入目标跟踪任务中。2021年,基于可变形注意力架构的目标跟踪算法TransT(transformer tracking)[17]被提出。该算法基于孪生网络的输入,在特征融合时采用自注意增强模块与交叉注意模块来取代经典孪生网络类算法中的互相关操作,对提取的重要特征进行加强关注,对特征进行了自注意力和互注意力的运算,有效提升了算法的准确率[18]。该方法有效融合了模板和搜索区域之间的特征,产生了较相关操作时更多的语义特征图,在公开测试数据集上取得了有竞争力的跟踪指标得分和良好的跟踪效果。
针对TransT 算法在特征增强过程中对输入的每一个特征映射序列进行注意力分数的计算且多次融合时需要多次计算,易产生非常大的计算参数量,导致大量算力资源被消耗的问题,本文结合实际目标跟踪任务对算法有效性以及经济性的需求,提出了一种稀疏自注意力算法,由粗到细地计算注意力,实现近似线性的自注意力计算。此外,在特征提取部分本文在原骨干网络中加入金字塔切分注意力模块,可有效直接提取不同尺度的上下文特征信息,改变孪生类网络采用多尺度方法提取图像特征的处理方式。在多个公开测试集上的实验表明,本文算法较现有主流跟踪算法结果更优,并且满足实时跟踪需求。
Chen 等人在2021 年提出TransT[17]算法,该算法在孪生网络的基础上引入Transformer特征融合网络代替传统孪生网络中的互相关操作,算法一经发布,就以优异的性能受到广泛关注。
TransT 算法首先以ResNet50 为主干进行图像特征的提取,特征图像通过1×1 卷积来进行通道降维,降维后的图像展平为特征向量,输入到自注意增强模块(egocontext augment,ECA)与交叉注意力模块(cross-feature augment,CFA)来进行特征增强与特征融合,最后利用头部预测网络进行前景与背景的分类以及目标位置的归一化预测,其过程如图1所示。
TransT 算法通过Transformer 架构来对模板图像与搜索图像进行特征的融合,使得经过融合后的输出不再是相似得分图,而是真正的融合特征图像。TransT的特征融合部分采用自注意模块(ECA)和交叉注意模块(CFA)构成Transformer架构,通过注意力机制来关注图像的重要信息,同时建立起远距离特征之间的依赖关系,可以捕捉到全局的信息。在预测部分采用二分类方法对输入的特征融合后的向量进行分类与回归。
TransT 算法在具有挑战性的大规模数据集上有着不错的表现,但在进行非常关键的特征增强时,拥有庞大的参数量以及计算复杂度,这就要求实验或实际应用系统有更大的内存容量以及强劲的多进程运算处理能力,实际使用成本偏高。因此迫切需要设计一种近乎线性的自注意力计算方法,以实现跟踪精度与计算复杂度之间的有效平衡。
本文算法对TransT 网络结构进行改进,总体结构如图2所示。特征提取网络DEPSANe(tdouble enhance pyramid split attention net)在残差网络ResNet50 的基础上进行改进,在特征融合部分采用了增强的自注意增强模块(EECA)替代原网络中的自注意增强模块(ECA),降低自注意力计算复杂度的同时减少长序列在向后传输的过程中造成的信息丢失。
图2 E-TransT的算法结构Fig.2 Algorithm structure of E-TransT
TransT 算法采用ResNet50 作为骨干网络提取特征,提取出的特征信息无法体现远距离的依赖关系,特征空间信息较弱,在特征融合时无法聚焦更多有关联的信息,影响跟踪器的性能。
本文对原骨干网络结构ResNet50 进行了改进,引入金字塔切分注意力模块(pyramid split attention,PSA),同时去掉ResNet50 网络的最后一个阶段,将第四阶段输出当作最终输出,DEPSANet的网络设计与ResNet50的网络设计对比如表1所示。
表1 DEPSANet与ResNet50网络对比Table 1 Comparison of DEPSANet and ResNet50 network
PSA模块首先将输入图像在通道上进行分组,对每一分组采用不同卷积核大小来进行卷积操作,将卷积后的特征图像在通道上进行拼接,再通过空间权重增强(SE weight module)来获得不同尺度特征图的注意力权值,由此可使得提取的特征获得不同尺度的上下文信息以及像素级的关注。PSA整体架构如图3所示。
图3 金字塔切分注意力架构Fig.3 Pyramid split attention architecture
图3 中,Xi表示输入切分而成的tensor,Fi表示不同分组卷积所提取的特征图,F为融合多尺度特征信息的特征图。K0、K1、K2、K3分别为不同大小的卷积核,实验中设置K0为3,K1为5,K2为7,K3为9;G0、G1、G2、G3分别为输入切分而成的分组数量,实验中设置它们依次为1、4、8、16。
目标跟踪任务需在视频图像序列首帧选取感兴趣目标,目标被视为前景,除此之外都被视为背景。由于视频序列之间有着时间以及空间上的联系,每一帧图像都与前后帧图像在不同尺度空间上有着信息依赖,对特征提取网络进行重新设计,为图像提供不同尺度的空间信息来丰富特征空间,使得特征融合网络可以捕获更关键的信息,提升算法的跟踪精度与鲁棒性。
如表1所示,通过将PSA模块代替原ResNet50网络第二以及第三阶段的3×3卷积操作,同时将第四阶段的下采样单元的卷积步长由2 变为1,并将这一阶段作为最终的输出,以此来形成新的骨干网络DEPSANet。虽然引入较少的参数,但是获得了全局的空间信息以及允许更大的特征分辨率图像的输入。
TransT 算法在特征融合时进行了多次特征增强操作,虽然可以捕获全局信息,但所有的输入序列进行计算带来大的内存占用和高的计算复杂度,以及复杂度与跟踪精度不呈线性相关等问题。本文根据目标跟踪算法的经济性与实际承载平台,提出一种稀疏性的自注意力计算方式,选择性地进行自注意力计算,实现对有用信息的关注以及无关信息的跳过,使跟踪器的精度与复杂度之间达成平衡。
首先,对输入特征图进行图像嵌入,嵌入后的维度为Dx,长度为N的序列通过线性变换得到查询向量q(query)、键向量k(key)与值向量v(value)。之后,这些向量分别与相应的初始化矩阵相乘得到注意力机制中的查询矩阵Q(query)、键矩阵K(key)、值矩阵V(value)。整个过程如式(1)所示。
其中,Wq、Wk、Wv为可学习的权重参数,由于计算机中乘法的计算速度比加法慢,在衡量计算复杂度时主要考虑乘法带来的影响。对于矩阵乘法(a,b)×(b,c),计算复杂度为O(abc)。通常情况下,查询矩阵Q、键矩阵K与值矩阵V的维度相同,即Dq=Dk=Dv=d,则此过程的计算复杂度为O(2DkNDx+DvNDx)=O(NDx(2Dk+Dv))=O(N)。
注意力分数的计算如式(2)所示。
其中,C为矩阵的维度。在自注意力计算时,其特殊在于Q=K=V,该过程可视为输入的图像特征本身之间进行相似度计算,再计算自注意力的分数,该数值决定了深度学习网络对重点特征信息的关注程度。此过程的计算复杂度为O(2DkNDx+DvNDx+N2Dk+1+DxN2)=O(N2)。由此可见,自注意力计算会产生二次型的计算复杂度。
稀疏自注意力(sparse self-attention)通过选择特定的Q与K进行自注意力计算来减少计算量。实现高效计算的同时减少长序列输入在特征增强过程中产生的信息丢失,计算稀疏自注意力分数的公式如式(3)所示。
其中,为第L个采样层的第i个查询矩阵Q,为第L个采样层筛选出与查询矩阵Q进行自注意力得分最高的j个键矩阵K,为第L个采样层j个值矩阵V。
整个稀疏自注意力的过程是先对输入的特征图进行下采样操作,对下采样的每个层进行自注意力的计算,每一个采样层的查询向量qi在计算注意力分数之后,筛选出与之计算的注意力得分最高的j个键向量k,然后在下采样过程中将查询向量qi与这j个键向量k的子向量进行计算,最后通过加权平均不同采样层的自注意力来得到全局关注信息。此过程的计算复杂度为O(2DkNDx+DvNDx+2NDk+1+2NDx)=O(N)。由此可见,通过稀疏自注意力的计算可将二次型的计算复杂度降低为线性复杂度。每一个采样层通过部分序列的自注意力的计算聚焦重要消息,该过程可表示为:
其中,为第L层所关注的重要信息,分别为下采样不同层之间参与稀疏自注意计算的所有键矩阵K和值矩阵V叠加而成的矩阵。T iL为不同采样层进行稀疏注意计算的向量,在不同采样层之间采用不同颜色表示。计算过程的示例如图4所示。
图4 稀疏信息聚合架构展示Fig.4 Illustration of sparse message aggregation architecture
每个采样层聚焦的信息进行叠加,最终得到自注意力所关注的重要信息,整个过程可表示为:
其中,m为自注意力所关注的重要信息,为可学习的权重平均矩阵。在此引入可学习的权重平均矩阵目的是防止产生大的注意偏移。
不同采样层有目标的区域通过自注意力的计算来获得特征信息增强,在颜色区域以外跳过自注意力的计算,整个过程的参数量由之前的2.31×108减少到现在的1.57×108,满足感兴趣区域信息增强的同时降低无关区域计算引入的算力消耗,内存占用由12 GB降低到8 GB,训练时长由7天缩减为3天。实验结果还表明自注意力的稀疏化计算保留了前景区域需要增强的特征及其参数,使得训练出的跟踪器能够稳定准确地发挥性能。同时,这样做还可以降低Transformer 架构长序列输入时可能会出现的传输过程中的特征信息缺失,可最大程度上保留全局信息的完整性。
原TransT 算法中采用多头自注意力(multi-head self-attention)来进行自注意力计算,整个过程带给模型非常高的计算成本,在实际训练过程中表现出模型复杂度与跟踪器性能非线性的问题。因此,本文算法采用稀疏自注意力来构建新的自注意增强模块EECA。本文算法中的EECA模块的结构如图5所示。
图5 改进的自注意增强模块EECAFig.5 Improved self-attention enhancement module EECA
整个EECA模块可以总结为式(6),其中PX为正弦函数的绝对位置编码。
EECA 模块采用残差形式,利用稀疏自注意力,聚合特征图不同位置的信息,在此过程中对自注意力计算增强后的特征图与原特征图进行残差计算,可产生更多带有关注特征的特征图。在消融实验中,稀疏自注意力替代多头自注意力使得算法的性能变得更好,由此可见,EECA模块在算法结构中具有有效性。
本文在骨干网络中引入金字塔切分注意力,使得提取的特征更能体现空间上的依赖关系,在特征融合时可关注到特征信息的空间细节。自注意力对特征信息进行细节关注与信息增强,对于后续特征融合非常重要,但自注意力计算有着非常庞大的参数量。因此,本文算法采用稀疏自注意力的方式来计算自注意力分数,跳过了无前景区域的自注意计算,降低了计算复杂度,减少了信息在传输过程中的丢失,最大程度地保留了信息的完整性。
为评估改进后的算法性能,本文使用LaSOT、TrackingNet、Got-10k、OTB-2015、VOT系列等不同属性的测试集进行测试,并与基准TransT[17]算法,经典深度学习算法SiamFC[7]、SiamRPN[8]、SiamRPN++[9]、SiamMask[10]、SiamBAN[11]、SiamFC++[12]、SiamR-CNN[13]、ECO[14]、ATOM[15]、DiMP[16]进行对比。本文算法使用Python3.7 实现,深度学习框架使用Pytorch1.2.0,实验平台为NVIDIA GeForce 1080Ti 的Linux 服务器,使用LaSOT 与Got-10k 等比例选取作为训练集进行训练。
LaSOT 包含1 400 个视频序列,每个视频平均包含的帧数达到了2 512 帧,每一帧都做了精细的人工标注。数据集分为70 个类别,每个类别由20 个视频序列组成,其中1 120 个视频序列用作训练集,280 个视频序列作为测试集,评价指标为成功率(AUC)、归一化精度(Pnorm)和精度(precision,P)。TrackingNet是YouTubeBB稀疏标注的目标测试集的子集,包含30 643个视频,21种目标类别,且包含详细的运动特征,评价指标与LaSOT数据集评价指标一致。GOT-10k 包含10 000 个训练集视频,其中分别有180 个数据集被作为测试集以及验证集,包含563 个目标种类,评价指标包括平均重合度(average overlap,AO)、成功率(success rate,SR,有0.5和0.75两个阈值),以及帧率(Speed)。
VOT 数据集是现阶段针对实际目标跟踪任务遇到的不同挑战的评测数据集,且每年都进行一定程度的更新。实验中采用了VOT2016、VOT2018、VOT2018-LT以及VOT2019数据集对算法进行测试评估。这些数据集都包含60个视频序列,评价指标包括准确度(accuracy,Acc),鲁棒性(robustness,Rob,跟踪目标的稳定性,数值越大,稳定性越差),丢失数量(lost number,LB),平均重叠率(expected average overlop,EAO)。特别地,在VOT2018-LT测试集上采用精确度(precision,Pre)、召回率(recall,Rec)、二分类精确度指标(F1)评价指标。与其他数据集不同,该数据集是模拟实际跟踪任务中的长时跟踪场景,且在之前的数据属性基础上增加了两种挑战:完全遮挡和超出视野。当目标在帧图像中完全消失时,需要跟踪器能判断目标是否消失并在目标出现时能够重新检测。这些挑战的适时补充将在很大程度上逼近真实跟踪任务可能遇到的场景。
OTB-2015 数据集共有100 个视频序列,共58 897帧。该数据集包含长序列与短序列,囊括了光照变化、尺度变化、遮挡、形变、运动模糊、快速运动、平面内旋转、平面外旋转、完全消失、相似背景、低分辨率等11种跟踪难点。评价指标包括:成功率图(success plot,指交叠比)与精确度图(precision plot,用中心位置偏差来表示)。评价方式分为三种:一遍过评测(one-pass evaluation,OPE)、时域鲁棒性评测(temporal robustness evaluation,TRE)以及空域鲁棒性评测(spatial robustness evaluation,SRE)。
在大规模数据集上的测试结果如表2 所示。本文算法在LaSOT数据集上的评价指标均达到了最好的结果;在TrackingNet 数据集的测试结果中,以82.2%的成功率、87.4%的归一化精度、81.5%的精度超越了现有的主流目标跟踪算法。本文算法在GOT-10k 数据集的速度评价指标上虽然不是最优结果,但达到了55 FPS,较原算法实时性更高。
表2 大规模数据集测试结果Table 2 Evaluation results on large datasets
通常情况下,视频数据的数据流是非常稳定的,即固定的采样速率,在此背景下,只要算法每秒处理的图片数量大于每秒采样的图片数量,就认为算法能够实时处理。因此,对跟踪任务而言,如果算法每秒处理的图像数量大于视频每秒采集图像的数量,那么就认为算法可以实时跟踪目标。通过对目标跟踪算法进行分析研究,发现满足实时性的算法都具有几个共同的特征:在GPU上运行;采用深度学习框架;稀疏的更新策略。
本文算法在拥有GPU 的服务器上进行训练与测试,采用了Pytorch的深度学习框架,依托于稀疏且快速的学习算法,具备以上所述特征。同时,算法的帧率超过了GOT-10k中视频流的速率,故认为算法满足跟踪的实时性要求。
为了说明本文算法针对目标遮挡、形变、快速移动、尺度变化等的有效性,实验中针对表3列举的4种VOT系列的不同数据集进行了测试。在短时视频序列数据集VOT2016、VOT2018 以及VOT2019 中,本文算法较TransT 算法在VOT 数据集3 个评价指标中均有不同程度的提升。在长时序列数据集VOT2018-LT中,本文算法较TransT算法在精确度指标上有着1.3个百分点的性能提升。
表3 VOT数据集测试结果Table 3 Evaluation results on VOT datasets 单位:%
VOT 系列数据集中完全消失这一跟踪挑战数据量很少,大都偶遮挡但没有消失,同时短序列的数量远大于长序列的数量,样本分布不均,会对跟踪器性能造成一定程度的影响。因此,为进一步验证算法的泛化性与可靠性,将本文算法在OTB-2015测试上进行算法评测,成功率图和精确度图分别如图6和图7所示。结果表明本文算法跟踪成功率与准确度最优。
图6 多种算法在OTB-2015上平均重合度归一化测试结果Fig.6 Average overlap(AO)normalization evaluation results for many algorithms on OTB-2015
图7 多种算法在OTB-2015上不同阈值归一化测试结果Fig.7 Different thresholds normalization evaluation results for many algorithms on OTB-2015
为验证本文算法中各改进算法的有效性,在OTB-2015 数据集上设计了消融实验。为更明确各改进模块在不同架构与不同参数下的有效性,采用了4种评价指标:MOP(mean overlap precision,平均重合度精度,阈值为0.5),MDP(mean distance precision,20 像素的平均距离精度);MCLE(mean center location error,平均中心位置误差)以及FPS(帧率)。在网络结构方面,随着卷积层的加深,训练参数量也随之增加,为了更好地适应跟踪任务的需求。浅层网络是本文算法开展研究的前提。综上,设计的消融实验配置如表4所示。
表4 消融研究配置Table 4 Configurations of ablation study
为了探究PSA 模块对骨干网络的有效性以及稀疏自注意力替换多头自注意力的横向比较有效性,设计了如表4所述的4种不同类型的跟踪器。通过控制PSA的数量以及自注意力模块来实现消融过程。
消融实验结果如表5 所示。在骨干网络中引入PSA模块后,平均重合度精度较原网络有着2个百分点的提升,且随着PSA 的引入数量增加,可实现平均重合度精度的进一步提升;在引入稀疏自注意力后,在平均重合度精度、20像素的平均距离精度和平均中心位置误差这3个指标中最优。可见,改进的模块在模型性能优化过程中具有有效性与可依赖性。此过程还完成了稀疏注意力与多头注意力的横向对比,验证了稀疏自注意力能够更适应跟踪任务需求。
表5 消融实验结果Table 5 Results of ablation study
算法可视化结果如图8 所示。图8(a)中,第108 和126 帧,由于目标被遮挡,TransT 跟踪框已经发生偏移,第439帧由于目标姿态发生变化,TransT跟踪框仅框定目标部分,而本文算法仍能框定目标。在快速运动与目标形变的图8(b)中,从首帧时的整个手掌张开,到第36帧手掌快速移动,到第59帧时目标发生形变,本文算法都能准确框定目标,TransT 仅能标定目标一部分,整个过程也未能完整框定目标,表明本文算法对目标快速移动和目标外形变化跟踪时有较强的鲁棒性。图8(c)中,第159帧由于目标从左侧行驶至右侧,过程中目标正脸被遮挡,但所有算法均未受到太大影响,第1 265帧由于镜头变化导致目标尺度发生变化,TransT跟踪框发生偏移,而本文算法可精确框定目标。图8(d)中,第33帧和105 帧由于目标发生形变与姿态变化,TransT 跟踪框产生跟踪偏移,至251 帧相似目标出现,TransT 跟踪框完全偏移目标,而本文算法更加精确地跟踪目标。
图8 算法对比可视化结果Fig.8 Comparison of algorithm visualization results
本文在经典TransT算法的基础上,提出一种基于稀疏自注意力的Transformer架构目标跟踪算法E-TransT,减少了多次特征增强时参与运算的参数量,在降低算力消耗的同时改进了双输入结构对于图像多尺度信息的处理方式。实验表明,本文算法在多个测试集中有着最好的性能评价指标,这将有利于后续对算法的进一步改进提升。