Transformer Tracking (一 原文阅读)
来源:CVPR2021 https://arxiv.org/abs/2103.15436
Code:https://github.com/chenxin-dlut/TransT
主要思想:在基于Siamese的追踪器中,特征融合的方式大多是使用相关性操作来考虑模版分支和搜索分支之间相似性,但是相关性操作本身是一个局部线性匹配过程,容易丢失语义信息并陷入局部最优。受Transformer的启发,提出了一种基于注意力的特征融合网络,该网络包括一个自我注意的自我上下文增强模块和一个交叉注意的跨特征增强模块。这种融合机制有效地融合了模板特征和ROI特征,产生了更多的语义特征映射。
文章翻译:
Abstract:相关性在追踪领域有着至关重要的作用,尤其是在最近流行的基于Siamese的网络追踪器中。相关性是一种简单的融合方法,它考虑了模版区域和搜索区域之间的相似性。但是,相关性操作本身是一个局部线性匹配过程,容易丢失语义信息并陷入局部最优,这可能是设计高精度追踪算法的瓶颈。是否有比相关性更好的特征融合方法呢,为了解决这个问题,受transformer的启发本文提出了一个基于注意力的特征融合网络,该网络有效的将模版和搜索区域特征仅通过注意力进行融合。具体来说,所提出的方法包括基于自我注意的自我上下文增强模块和基于交叉注意的跨特征增强模块。最后我们提出了一个基于Siamese backbone的Transformer追踪器(TransT)它同时具有注意力融合机制和分类回归头。实验证明TransT在6个数据集上都有不错的表现。
Introduction:视觉目标跟踪是计算机视觉中的一项基本任务,其目的是预测给定目标在每一帧视频中的位置和形状。它在机器人视觉,视频监控,无人驾驶和其他领域中具有广泛的应用。跟踪的主要挑战是大遮挡、严重变形、相似目标的干扰等。近年来已经做了很多工作,然而设计高精度和实时的跟踪器仍然是一个具有挑战性的任务。对于大多数流行的跟踪器(如SiamFC、SiamRPN和ATOM),相关性在集成将模板或目标信息到感兴趣区域(ROI)中起着关键作用。但是,相关运算本身是线性匹配过程,并且导致语义信息丢失,这限制了跟踪器捕获模板和ROI之间复杂的非线性交互作用。因此,以前的模型必须通过使用其他模块引入流行的结构,设计有效的在线更新器来提高非线性表示能力。这自然会引入一个有趣的问题:有没有比相关性更好的特征融合方式。在这项工作中,受Ttransformer的核心思想启发,我们通过设计一个基于注意力的特征融合网络来解决上述问题,并提出了一种新的Transformer跟踪算法。该特征融合网络由基于自我注意的自我上下文增强模块和基于交叉注意的交叉特征增强模块组成。这种融合机制有效地融合了模板特征和ROI特征,产生了更多的语义特征映射。图1提供了一些具有代表性的视觉结果,说明我们的TransT方法产生了关于目标的洞察力注意图,并且比其他竞争跟踪器表现更好。 我们的主要贡献总结如下:
我们提出了一种新颖的Transformer跟踪框架,该框架由特征提取,类似于Transformer的融合和头部预测模块组成。 类似于Transformer的融合仅使用注意力即可将模板和搜索区域功能结合在一起,而无需相关性。
我们开发了基于自我注意的自我-上下文增强模块和基于交叉注意的交叉特征增强模块的特征融合网络。与基于相关的特征融合方法相比,基于注意力的方法自适应地关注边缘和相似目标等有用信息,并在距离较远的特征之间建立关联,使跟踪器获得更好的分类和回归结果。
在许多基准上的大量实验结果表明,所提出的跟踪器的性能明显优于最新算法,尤其是在大规模LaSOT,TrackingNet,GOT-10k数据集上。 此外,我们的追踪器在GPU上的运行速度约为50fps,可以满足实时性要求
Related work:
visual Object Tracking:近些年来基于Siamese的方法在追踪领域受到了广泛关注。SiamFC是一项开拓性的工作,它将朴素的特征相关性与Siamese框架相结合。之后,SiamRPN将Siamese网络与RPN结合,利用深度互相关操作进行特征融合,获得更精确的跟踪结果。还有一些进一步的改进,比如添加额外的分支,使用更深层次的架构,利用无锚架构等。这些主流的跟踪体系结构可以分为两部分:一个骨干网来提取图像特征,然后是一个基于相关性的网络来计算模板和搜索区域之间的相似性。此外一些流行的追踪器,ATOM、DiMP也严重依赖于关联操作。然而,有两个问题被忽视了。首先,基于关联的网络没有充分利用全局上下文,容易陷入局部最优。其次,通过相关性,语义信息已在某种程度上丢失了,这可能导致对目标边界的准确预测。 因此,在这项工作中,我们基于注意力设计了一种Transformer的变体结构,以取代基于相关性的网络进行特征融合。
Transformer and Attention:Transformer由Vaswaniet等人首先提出,并应用于机器翻译中。Transformer是一种借助基于注意力的编码器和解码器将一个序列转换为另一个序列的体系结构。注意力机制着眼于输入序列,并在每个步骤中确定该序列的哪些其他部分很重要,因此有助于从输入序列中捕获全局信息。Transformer已经在许多顺序任务(自然语言处理、语音处理、计算机视觉)中取代了RNN,并逐渐扩展到处理非顺序问题。Carionet等人将对象检测视为一个集合预测问题,并采用中的编码器-解码器体系结构作为检测头。关于COCO的实验表明,DETR方法可达到与优化的Faster R-CNN基线相当的结果。由于DETR的成功以及检测和跟踪之间的紧密关系(例如RPN 和SiamRPN ),我们尝试将Transformer引入跟踪领域。与DETR不同,我们不直接遵循原始Transformer中的编码器-解码器体系结构,因为它与跟踪任务不太匹配。我们采用了Transformer的核心思想,并利用注意力机制来设计自我上下文(ECA)和交叉特征增强(CFA)模块。ECA和CFA的集成重点在于模板和搜索区域之间的特征融合,而不是仅仅从中的一幅图像中提取信息。这种设计理念更适合于视觉对象跟踪。
为了在跟踪领域引入关注机制已经做出了一些努力。ACF学习注意力网络来在不同的相关滤波器之间进行切换。MLT 采用了基于通道的注意,以提供具有特定于目标的信息的匹配网络。它们只是借用注意的概念来进行模型或特征的选择。为了提高跟踪性能,可以使用不同的注意层(例如,通道注意,时空注意和残余注意)来增强相关匹配框架内的模板信息。SiamAttn通过自我注意和交叉分支注意来提高学生的辨别能力在应用深度互相关之前,对目标特征进行分类。CGACD 从模板和搜索区域的相关结果中学习注意力,然后采用学习的注意力来增强搜索区域的特征,以进行进一步的分类和回归。这些工作通过注意力机制提高了跟踪精度,但是在融合模板和搜索区域特征时仍然高度依赖于相关运算。 在这项工作中,我们利用了Transformer的核心思想,并设计了一个基于新注意力的网络,无需使用任何相关操作即可直接融合模板和搜索区域功能。
Transformer Tracking:
本节介绍了拟议的transformer跟踪方法,称为TransT。 如图2所示,我们的TransT非常简洁,由三个部分组成:backbone,feature fusion network和prediction head。骨干网分别提取模板区域和搜索区域的特征。然后,利用所提出的特征融合网络对特征进行增强和融合。最后,预测头对增强特征执行二分类和边界框回归以生成跟踪结果。我们介绍了TransT每个组件的详细信息,介绍了特征融合网络中的两个重要模块,然后提供了一些说明和讨论。
Overall architecture:
Feature Extractor:与基于siamese的跟踪器一样[1,22],本文提出的TransT方法采用一对图像修补片(即图像修补片)。,模板图像补丁z R3 Hz0 wz0和搜索区域图像补丁x R3 Hx0 Wx0)作为骨干网的输入。在视频序列的第一帧中,模板补丁距离目标中心的侧边长度扩大了两倍,其中包括目标的外观信息及其局部周围场景。搜索区域补丁是前一帧中目标中心坐标边长的四倍,搜索区域通常覆盖目标的可能移动范围。搜索区域和模板被重塑为正方形,然后由骨干网处理。我们使用ResNet50的修改版本进行特征提取。具体来说,我们去掉了ResNet50的最后一个阶段,将第四阶段的输出作为最后的输出。我们还将第四阶段的下采样单元的卷积步长由2改为1,以获得更大的特征分辨率。此外,我们在第四阶段将3×3卷积修改为扩展卷积,步长为2,以增加感受野。骨干对搜索区域和模板进行处理以获得特征图fz∈RC×Hz×Wz和fx∈RC×Hx×Wx.Hz,Wz = Hz08,Wz08,Hx,Wx = Hx08,Wx08andC = 1024。
Feature fusion Network:我们设计了一个特征融合网络,以有效地融合fz和fx。首先,一个1×1卷积可减小通道维数fz和fx,得到两个较低维的特征图,fz0∈Rd×Hz×Wz和fx0∈Rd×Hx×Wx。在实验中将d设为256,由于基于注意力的特征融合网络以一组特征向量作为输入,我们将fz0和fx0在空间维度上展开,得到fz1 Rd hzwz和fx1 Rd HxWx。fz1和fx1都可以看作是一组长度特征向量。如图2所示,特征融合网络分别以fz1和fx1作为模板分支和搜索区域分支的输入。首先,两个自我-语境认知(ECA)模块通过多头自我注意自适应地对有用的语义语境进行识别,增强特征表达。然后,两个交叉特征增强(cross-feature augment, CFA)模块同时接收各自分支和其他分支的特征映射,并通过多头交叉注意将这两个特征映射进行融合。用这种办法,两个ECA和两个CFA组成来一个聚合层,如图2中虚线框所示。融合层重复N次,然后附加CFA融合两个分支的特征图,对特征图f∈Rd×HxWx进行解码(在本文中令N = 4)。
Prediction Head Network:预测头由分类分支和回归分支组成,其中每个分支是具有隐藏维和ReLU激活函数的三层感知器。对于特征融合网络生成的特征图f∈Rd×HxWx,头部对每个矢量进行预测,以获得HxWx地面/背景分类结果,以及相对于搜索区域大小的HxWx标准化坐标。我们的跟踪器可以直接预测归一化的坐标,而无需调整锚点或锚点盒,完全抛弃基于先验知识的锚点或锚点盒,从而使跟踪框架更加简洁。
Ego-Context Augment and Cross-Feature Aug-ment Modules:
Multi-head Attention:注意是设计我们的特征融合网络的基本要素。给定查询Q,键K和值V,注意函数是比例点乘积注意,由等式(1)定义,其中dk是关键维数。如[38]中所述,将注意力机制(1)扩展为多个头部可以使该机制考虑各种注意力分布,并使模型关注信息的不同方面。多头注意机制如式(2)所定义。读者可参考文献[38]进行更详细的描述。
Ego-Context Augment (ECA):ECA的结构如图3的左侧所示。ECA通过使用残差形式的多头自注意,自适应地集成了来自特征图不同位置的信息。如等式(1)所示,注意机制不具有区分输入特征序列的位置信息的能力。因此,我们将空间位置编码过程引入到输入X∈Rd×Nx中。根据[4],我们使用正弦函数来生成空间位置编码。 最后,ECA的机制可以概括为
其中Px∈Rd×Nxis是空间位置编码,而XEC∈Rd×Nx是ECA的输出。
Cross-Feature Augment (CFA):CFA利用多重交叉注意以残差的形式融合两个输入的特征向量。与ECA相似,CFA中也使用了空间位置编码。 另外,FFN模块用于增强模型的拟合能力,该模块是一个完全连接的前馈网络,由两个线性变换组成,其中两个线性变换之间存在一个ReLU,即
因此,CFA的机制可以概括为:
其中Xq∈Rd×Nq是应用该模块的分支的输入,Pq∈Rd×Nq是与Xq对应的空间位置编码。Xkv∈Rd×Nkv是另一个分之的输入,并且Pkv∈Rd×Nk表示Xkv坐标的空间编码。Xcf是CFA的输出。根据等式(6),CFA根据Xkv和Xq之间的多个比例乘积计算注意力图,然后根据注意力图重新加权Xk,并将其添加到Xq以增强特征图的可表示性。 Differences with the original Transformer:我们的方法借鉴了Transformer的核心思想,即利用注意机制。但我们并不是直接采用DETR中Transformer的结构。相反,我们设计了一个新的结构,使其更适合于跟踪框架。由于跟踪任务集中在模板特征和搜索区域特征的融合上,因此,该方法的交叉注意操作比DETR方法更重要。第4.3节给出了该方法与原Transformer的实验比较。
What does attention want to see:为了探究注意力模块在我们的框架中是如何工作的,我们将所有注意力模块的注意力映射可视化在一个具有代表性的跟踪剪辑中,如图4所示,看看注意力想要看到什么。我们使用数字n(1≤n≤4)表示融合层的当前数目。 总共有四层,融合层从左到右更深,从最后的交叉注意获得最后的单个注意图,并用于解码。第一行显示了搜索区域的自我注意地图。当n= 1时,模板中没有任何信息,注意模块会尝试查看所有与环境不同的对象。同样的事情发生在第二行,即模板的自我注意映射。有趣的是,注意力更多地集中在关键信息上比如蚂蚁尾巴上的红点。 第三和第四行是分别应用于搜索区域和模板的交叉注意图。 此时,注意模块从模板和搜索区域接收特征。为了在类似目标的干扰下定位目标,注意模块倾向于注意重要信息,即蚂蚁尾巴上的有色点。 当n = 2时,此时,每个注意模块的输入已将搜索区域和模板信息融合在一起。搜索区域自我注意地图在类似干扰物上的焦点已减少,该模型似乎已识别出目标。 到搜索区域的交叉注意图似乎很确定它的估计。 对于模板,注意模块开始关注边界信息。随着融合层的加深,搜索区域的自我注意图倾向于增强目标的位置,而搜索区域的交叉注意图则集中在识别目标的边界上。这样,模板特征便成为包含大量目标边界信息的信息库,而搜索区域特征仍保持其空间信息。我们注意到,模板的最后几个注意力图不再遵循初始空间位置,而是令人费解的分布。 也许这是因为,在确定了目标之后,模板分支的特征不再需要自行保留模板的信息,而是存储了许多目标的边界信息,成为了用于回归的特征库 。通过注意图的可视化,我们可以看到注意模块自动寻找全局有用信息,从而使跟踪器取得良好的效果。
Training loss:预测头接收Hx×Wx特征向量,并输出Hx×Wx二分类和回归结果。我们选择与真实边界框内的像素相对应的特征向量预测作为正样本,其余为负样本。所有样本均会导致分类损失,而只有正样本会导致回归损失。为了减少正负样本之间的不平衡,我们将负样本所产生的损失降低了16倍。我们采用标准的二进制交叉熵损失进行分类,定义为
其中yj为第j个样本的ground-truth标签,yj= 1为前景,pj为学习模型预测的前景概率。
对于回归,我们采用l1-归一lossL1和广义IoU loss lGIoU的线性组合,回归损失可表示为:
其中yj = 1表示正样本,bj表示第j个预测边界框,而ˆb表示归一化地面真实边界框。λG= 2和λ1= 5是我们实验中的正则化参数。
Experiments:
Implementation Details:Offline Training 我们在COCO、TrackingNet、LaSOT和GOT-10k数据集的训练分割上训练我们的模型。对于视频数据集(TrackingNet,La-SOT和GOT-10k),我们直接从一个视频序列中采样图像对,以收集训练样本。对于COCO检测数据集,我们对原始图像进行一些转换以生成图像对。 应用通用数据增强(例如转换和亮度抖动)来扩大训练集。搜索区域补丁和模板补丁的大小分别为256×256和128×128。骨干参数用ImageNet预训练的[35] ResNet-50 [18]初始化,我们模型的其他参数用Xavier初始化。我们用AdamW 训练模型,设置骨干wang网络的学习率为1e-5,其他参数学习速率为1e-4,权重衰减为1e-4。我们在两个批次大小为38的NvidiaTitan RTX GPU上训练网络,总共1000个epoch,每个epoch1000次迭代。500个epoch后学习率降低10倍。
Online Tracking:在在线跟踪中,预测头输出1024个方框及其置信度值,然后采用窗口惩罚对这些值进行后处理。具体而言,将形状为32×32的Hanning窗口应用于得分,并由参数w加权(在此工作中选择为0.49)。 最终得分可以定义为
其中,score是跟踪器输出的原始分数。score h是“汉宁”窗口中相应位置的值。 根据窗口罚分,将惩罚先前帧中距离目标较远的特征点的置信度。 最后,我们选择置信度得分最高的框作为跟踪结果。
Evaluation on TrackingNet, LaSOT and GOT-10K DataSets :在本小节中,我们将TransT方法与2020年发布的十二种最新跟踪器(SiamR-CNN [39],Ocean [48],KYS [3],DCFST [49],SiamFC ++ [44],PrDiMP [10],CGACD [13],Sia-mAttn [46],MAML [40],D3S [26],SiamCAR [16]和SiamBAN [5])和六个代表性的跟踪器 (DiMP [2],SiamPRN ++ [21],ATOM [9],ECO [8],MDNet [31]和SiamFC [1]).我们在表1中报告了LaSOT[14]、Track-ingNet[30]和GOT-10k[19]大尺度数据集的详细对比结果。
LaSOT:LaSOT是一个最近的具有高质量注释的大规模数据集,其中包含1400个挑战视频:1120个用于训练,280个用于测试。我们遵循一次评估(成功度和精度),在最后的测试集中比较不同的跟踪算法。然后,我们在表1中报告成功(AUC)和精确度(P andPNorms)分数。该表表明,所提出的方法获得最佳性能,比其他追踪器要好得多,只有SiamR-CNN [39]除外,但是SiamR-CNN的机器运行速度不到5fps,而我们的追踪器以50fps运行。图5报告了一个具有代表性的最先进算法的基于属性的评估,说明TransT在所有属性上的性能比其他竞争跟踪器好得多.
Tracking Net:TrackingNet 是一个大规模的跟踪数据集,涵盖了不同的对象类和场景。 它的测试集包含511条公开可用的ground-truth。我们将跟踪器的输出提交给官方的在线评估服务器,并在表1中报告成功(AUC)和精确度(P和PNorm)结果。我们的TransT的AUC,P和PNorms分别为81.4%,86.7%和80.3% 分别超越所有以前的方法。
GOT-10K:GOT-10k [19]数据集包含用于训练的10k个序列和用于测试的180个序列。我们遵循[19]中定义的协议,并提交跟踪输出到官方评估服务器。然后,我们在表1中报告获得的结果(即AO和SRT).TransT-GOT表示仅使用GOT-10k转换集进行训练.TransT和TransT-GOT方法达到了最佳性能。 在主要AO指标中,TransT-GOT方法的性能比SiamR-CNN高2.2%。
Ablation Study and Analysis:
Post-processing:在先前的工作中,例如SiamRPN ,SiamRPN ++ 和Ocean ,最终跟踪结果是通过后处理方案选择的,这些方案包括余弦窗罚分,比例尺变化罚分和边界框平滑处理。但是,这些后处理方案对参数敏感,因为需要针对不同的测试集仔细调整三个参数。为了避免这个问题,在这项工作中,我们仅采用窗口惩罚对所有测试集使用默认参数进行后处理。为了显示后处理的效果,我们在表2中比较了带有和不带有后处理步骤的TransT变体。TransT是我们的跟踪器,TransT-np是我们的无后处理跟踪器。首先,从表2中,我们可以得出结论,无需进行后处理的TransT仍可达到最先进的性能,这归因于类似Transformer的融合方法。其次,后处理步骤进一步提高了跟踪准确性,在这些基准的几乎所有指标中都产生了最佳记录.
Comparison with the original Transformer:为了展示我们的特征融合网络的优越性,我们使用原始的Transformer设计了追踪器。具体来说,我们将图2中的特征融合网络替换为原始的Transformer结构,并保持其他组件不变。因为Transformer的输出大小与解码器输入的大小一致,所以我们将模板特征输入到编码器,将搜索区域特征输入到解码器。训练数据和策略与第3节中的TransT相同。比较结果如表2所示。TransT(ori)表示具有原始Transformer的跟踪器,而TransT(ori)-np是不带有后处理的TransT(ori)方法 。首先,TransT(ori)-np变体在LaSOT上的AUC得分为60.9%,在TrackingNet上的AUC得分为80.9%,在GOT-10k上的AOscore为68.6%,这也比许多最新算法更好 。这表明在处理特征融合方面,Trans-former结构要比简单的相关运算更好。其次,通过观察从TransT vs TransT(ori)和TransT-np vs TransT(ori)-np,我们可以得出结论:拟议的Transformer在性能上要比原始Transformer结构更好。 此外,我们还看到TransT和TransT(ori)方法都可以进行后处理。
Comparison with correlation:之前的Siamese跟踪器使用互相关来计算模板和搜索区域之间的相似度。但是,相关性是线性局部比较,输出相似性图。 这种简单方法会导致语义损失,并且缺乏全局信息。与基于相关的方法相比,首先,我们基于注意力的方法可以建立长距离的特征关联,从而有效地聚集了模板和搜索区域的全局信息。其次,我们的方法输出的特征具有丰富的语义信息,而不仅仅是相似性图。我们进行实验以比较CFA与相关性,并探讨ECA的影响。 为了进行公平的比较,对于不带CFA的TransT,我们保持CFA中的FFN不变,仅删除交叉注意层,并使用深度相关性替换最后一个CFA模块。比较结果示于表3。比较结果表明,用相关层代替CFA后,性能显着下降。没有ECA,跟踪器的性能会下降。没有ECA和CFA的情况,性能会进一步下降,并且后处理的影响会更大。 这些结果表明,如果没有注意模块,跟踪器的可定位性将大大降低,并且在后续处理中需要更多地依赖于先验信息。
Evaluation on other Datasets:我们在一些常用的小型数据集上评估了跟踪器,包括NFS [20],OTB2015 [43]和UAV123 [29]。 我们还收集了一些最新的跟踪器和基线跟踪器进行比较。 结果示于表4。NFS:我们在NFS [20]数据集的30 fps版本上评估了建议的跟踪器,该版本包含具有快速移动物体的具有挑战性的视频。以前最好的方法PrDiMP的AUC得分达到63.5%。 我们的方法在性能上优于PrDiMP,增益为2.2%。OTB2015共包含100个序列和11个挑战属性。表4显示,我们的方法与最先进的算法(如PrDiMP和SiamRPN++)取得了相当的结果。UAV123 包括从无人机捕获的123个低空航拍视频,并采用成功和精确度指标进行评估。 如表4所示,建议的方法表现最好。
Conclusions:我们提出了一种基于Transformer特征融合网络的新颖,简单,高性能的跟踪框架。 所提出的网络仅使用注意力机制进行特征融合,包括基于自我注意的自我上下文增强模块和基于交叉注意的跨特征增强模块。注意机制建立了远距离特征关联,使跟踪器自适应地关注有用信息并提取丰富的语义信息。所提出的融合网络可以取代相关性以合成模板和搜索区域特征,从而有利于对象定位和边界框回归。在许多基准上的大量实验结果表明,所提出的跟踪器在以实时速度运行时,其性能优于最新算法。
注:代码复现细节会在后续的文章中给出