2021CVPR-TransT:基于Transformer 的视觉跟踪

原文标题:Transformer Tracking

中文标题:Transformer 跟踪

代码地址: GitHub - chenxin-dlut/TransT: Transformer Tracking (CVPR2021)

Abstract

        相关性在跟踪领域发挥着至关重要的作用,尤其是在最近流行的基于Siamese的跟踪器中。相关运算是考虑模板与搜索区域相似性的一种简单的融合方式。然而,相关运算本身是一个局部线性匹配过程,容易导致语义信息丢失,陷入局部最优,这可能是设计高精度跟踪算法的瓶颈。有没有比相关性更好的特征融合方法?为了解决这个问题,受 Transformer 的启发,这项工作提出了一种新颖的基于注意力的特征融合网络,该网络仅使用注意力就有效地结合了模板和搜索区域特征。具体来说,所提出的方法包括基于自注意力的自我上下文增强模块和基于交叉注意力的跨特征增强模块。最后,我们提出了一种基于 Siamese 特征提取主干、基于注意力的融合机制以及分类和回归头的 Transformer 跟踪(称为 TransT)方法。实验表明,我们的 TransT 在六个具有挑战性的数据集上取得了非常有希望的结果,特别是在大规模 LaSOT、TrackingNet 和 GOT-10k 基准测试上。我们的跟踪器在 GPU 上的运行速度约为 50 fps。

1. Introduction

        视觉目标跟踪是计算机视觉中的一项基本任务,旨在预测每个视频帧中给定目标的位置和形状。在机器人视觉、视频监控、无人驾驶等领域有着广泛的应用。跟踪的主要挑战是大遮挡、严重变形、类似物体的干扰等。近年来人们做了很多努力,然而,设计高精度和实时跟踪器仍然是一项具有挑战性的任务。

        对于大多数流行的跟踪器(例如 SiamFC、SiamRPN 和 ATOM),相关性在将模板或目标信息集成到感兴趣区域(ROI)中起着至关重要的作用。然而,相关操作本身是一个线性匹配过程,会导致语义信息丢失,这限制了跟踪器捕获模板和ROI之间复杂的非线性交互。因此,以前的模型必须通过使用附加模块,设计有效的在线更新器等来提高非线性表示能力 。这自然引出了一个有趣的问题:是否存在比相关性更好的特征融合方法?

        在这项工作中,受transformer核心思想的启发,我们通过设计一个基于注意力的特征融合网络来解决上述问题,并提出了一种新的transformer跟踪算法(命名为TransT)。所提出的特征融合网络由基于自注意力的自我上下文增强模块基于交叉注意力的跨特征增强模块组成。这种融合机制有效地集成了模板和ROI特征,产生了比相关性更多的语义特征图。图1提供了一些有代表性的可视化结果,说明我们的TransT方法产生了关于目标的深刻的注意力图,并且比其他竞争的跟踪器执行得更好。

我们的主要贡献总结如下。

(1)我们提出了一种新颖的 Transformer 跟踪框架,由特征提取、类 Transformer 融合和头部预测模块组成Transformer-like 融合仅使用注意力将模板和搜索区域特征结合起来,没有相关性。 

(2)我们基于具有自注意力的自我上下文增强模块以及具有交叉注意力的跨特征增强模块来开发特征融合网络。与基于相关性的特征融合相比,我们的基于注意力的方法自适应地关注有用信息,例如边缘和相似目标,并建立远处特征之间的关联,以使跟踪器获得更好的分类和回归结果。 

(3)许多基准测试的大量实验结果表明,所提出的跟踪器的性能明显优于最先进的算法,特别是在大规模 LaSOT、TrackingNet、GOT-10k 数据集上。此外,我们的跟踪器在 GPU 上的运行速度约为 50 fps,满足实时要求。

2. Related Work

2.1. Visual Object Tracking

        近年来,基于Siamese的方法在跟踪领域更加流行。SiamFC 是一项开创性的工作,它将朴素的特征相关性与 Siamese 框架相结合。之后,SiamRPN 将Siamese网络与 RPN 相结合,并利用深度相关性进行特征融合,以获得更精确的跟踪结果。已经进行了一些进一步的改进,例如添加额外的分支、使用更深层次的架构、利用无锚架构等等。这些主流的跟踪架构可以分为两部分:用于提取图像特征的主干网络,以及用于计算模板和搜索区域之间的相似度的基于相关性的网络。此外,一些流行的在线跟踪器(例如 ECO、ATOM 和 DiMP)也严重依赖相关操作。然而,有两个问题被忽视了。首先,基于相关性的网络没有充分利用全局上下文,因此很容易陷入局部最优。其次,通过相关性,语义信息在一定程度上丢失,这可能导致对目标边界的不精确预测。因此,在这项工作中,我们设计了一种基于注意力的 Transformer 变体结构来代替基于相关性的网络来进行特征融合。

2.2. Transformer and Attention

        Transformer 最初由 Vaswani 等人提出并应用于机器翻译。简而言之,Transformer 是一种借助基于注意力的编码器和解码器将一个序列转换为另一个序列的架构。注意力机制着眼于输入序列,并在每一步决定序列的哪些其他部分是重要的,因此有助于从输入序列中捕获全局信息。Transformer 在许多顺序任务(自然语言处理、语音处理和计算机视觉)中取代了循环神经网络,并逐渐扩展到处理非顺序问题。Carion 等人将目标检测视为一个集合预测问题,并采用中的编码器解码器架构作为检测头。COCO 上的实验表明,DETR 方法取得了与优化的 Faster R-CNN 基线相当的结果。受到 DETR 成功以及检测和跟踪之间的密切关系(如 RPN 和 SiamRPN)的激励,我们尝试将 Transformer 引入跟踪领域。与 DETR 不同,我们不直接遵循原始 Transformer 中的编码器-解码器架构,因为它与跟踪任务不太匹配。而是采用 Transformer 的核心思想,利用注意力机制来设计自我情境增强(ECA)和跨特征增强(CFA)模块。ECA和CFA的集成侧重于模板和搜索区域之间的特征融合,而不是仅从一张图像中提取信息。这种设计理念更适合视觉目标跟踪。

        人们已经做出了一些努力来将注意力机制引入跟踪领域。ACF 学习注意力网络来在不同的相关滤波器之间进行切换。MLT 采用逐通道注意力为匹配网络提供特定目标信息。这两篇作品只是借用了注意力的概念来搭建模型或特征选择。为了提高跟踪性能,利用不同的注意力层(例如通道注意力(channel-wise attention)、时空注意力(spatial temporal attention)和残差注意力(residual attention))来增强相关匹配框架内的模板信息。SiamAttn 在应用深度互相关之前,探索了自注意力和交叉分支注意力来提高目标特征的判别能力。CGACD从模板和搜索区域的相关性结果中学习注意力,然后利用学习到的注意力来增强搜索区域特征以进行进一步的分类和回归。这些工作通过注意机制提高了跟踪精度,但它们仍然高度依赖于融合模板和搜索区域特征的相关性操作。在这项工作中,我们利用 Transformer 的核心思想,设计了一种新的基于注意力的网络,直接融合模板和搜索区域特征,而不使用任何相关操作

3. Transformer Tracking

        本节介绍了所提出的 Transformer 跟踪方法,名为 TransT。如图2所示,我们的TransT非常简洁,由三个组件组成:主干网络、特征融合网络和预测头。主干网络分别提取模板和搜索区域的特征。然后,通过所提出的特征融合网络对特征进行增强和融合。最后,预测头对增强的特征进行二元分类和边界框回归以生成跟踪结果。我们介绍了 TransT 每个组件的详细信息,介绍了特征融合网络中的两个重要模块,然后提供了一些说明和讨论。

3.1. Overall Architecture

3.1.1. Feature Extraction

        与基于 Siamese 的跟踪器一样,TransT 方法也采用一对图像块(即模板图像块 z ∈ R3×Hz0×Wz0 和搜索区域图像块 x∈ R3×Hx0×Wx0)作为主干网络的输入。模板块是从视频序列第一帧中的目标中心开始扩展两倍边长得到的,包括目标及其局部周围场景的外观信息。搜索区域块是从前一帧中目标的中心坐标扩大四倍边长得到的,并且搜索区域通常覆盖目标的可能移动范围。搜索区域和模板被重塑为正方形,然后由主干处理。我们使用 ResNet50 的修改版本进行特征提取。具体来说,删除ResNet50的最后一个阶段,并将第四阶段的输出作为最终输出。还将第四级下采样单元的卷积步长从2更改为1,以获得更大的特征分辨率。此外,我们将第四阶段的3×3卷积修改为步幅为2的扩张卷积以增加感受野。主干网处理搜索区域和模板以获得它们的特征图 fz ∈ RC×Hz×Wz 和 fx ∈ RC×Hx×WxHz,Wz = Hz0/8, Wz0/8 、Hx,Wx = Hx0/8, Wx0/8 且 C = 1024

3.1.2. 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都可以看作是一组长度为d的特征向量。如图2所示,特征融合网络将fz1和fx1分别作为模板分支和搜索区域分支的输入。

        首先,两个自我上下文增强(ECA)模块通过多头自注意力自适应地关注有用的语义上下文,以增强特征表示。然后,两个交叉特征增强(CFA)模块同时接收自己和另一个分支的特征图,并通过多头交叉注意力融合这两个特征图。这样,两个ECA和两个CFA就形成了一个融合层,如图2灰色虚线框所示。融合层重复N次,然后再添加一个CFA来融合两个分支的特征图,解码得到一个特征图f∈Rd×HxWx(我们在本工作中使用N = 4)。ECA和CFA模块的详细信息将在3.2节中介绍。

3.1.3. Prediction Head Network

        预测头由分类分支和回归分支组成,其中每个分支都是具有隐藏维度 d 和 ReLU 激活函数的三层感知器。对于特征融合网络生成的特征图 f ∈ Rd×HxWx,头部会对每个向量进行预测,以获得 HxWx 个前景/背景分类结果,以及 HxWx 个相对于搜索区域大小的归一化坐标。我们的跟踪器直接预测归一化坐标,而不是调整锚点或锚框,完全丢弃基于先验知识的锚点或锚框,从而使跟踪框架更加简洁。

3.2. Ego-Context Augment and Cross-Feature Augment Modules

3.2.1. Multi-head Attention

注意力是设计特征融合网络的基本组成部分。给定查询 Q、键 K 和值 V,注意力函数是缩放点积注意力(scale dot-product attention),如方程 (1) 中定义。

其中 dk 是键K的维度。

将注意力机制扩展到多个头,使该机制能够考虑各种注意力分布,并使模型关注信息的不同方面。多头注意力机制如式(2)所示。

其中 WQi ∈ Rdm×dk、WKi ∈ Rdm×dk、WVi ∈ Rdm×dv 和 WO ∈ Rnhdv×dm 是参数矩阵。采用 nh = 8、dm = 256 和 dk = dv = dm/nh = 32 作为默认值。

3.2.2. Ego-Context Augment (ECA)

ECA的结构如下所示。ECA通过使用残差形式的多头自注意力,自适应地整合来自特征图不同位置的信息。

如式(1)所示,注意力机制没有能力区分输入特征序列的位置信息。因此,我们对输入 X ∈ Rd×Nx 引入空间位置编码过程。使用正弦函数来生成空间位置编码。最后,ECA的机制可以总结为:

其中 Px ∈ Rd×Nx 是空间位置编码,XEC ∈ Rd×Nx 是 ECA 的输出。

3.2.3. Cross-Feature Augment (CFA)

CFA的结构如下所示。CFA 通过使用残差形式的多头交叉注意力来融合来自两个输入的特征向量。

与ECA类似,CFA中也使用空间位置编码。 此外,还使用了FFN模块来增强模型的拟合能力,FFN是一个全连接的前馈网络,由两个线性变换层组成,中间有一个ReLU

因此,CFA的机制可以概括为:

其中Xq ∈ Rd×Nq是模块其中一个分支的输入,Pq ∈ Rd×Nq是Xq对应的空间位置编码。Xkv ∈ Rd×Nkv 是另一个分支的输入,Pkv ∈ Rd×Nkv 是 Xkv 坐标的空间编码。

XCF ∈ Rd×Nq 是 CFA 模块的输出。根据式(6),CFA模块根据Xkv和Xq之间的多次缩放乘积计算注意力图然后根据注意力图对Xkv重新进行加权并将其添加到Xq中,以增强特征图的表示能力。

3.2.4. Differences with the original Transformer

        我们的方法借鉴了 Transformer 的核心思想,即采用注意力机制。但我们并没有直接采用DETR中Transformer的结构。相反,我们设计了一种新的结构,使其更适合跟踪框架。我们方法中的交叉注意操作比 DETR 中的交叉注意操作起着更重要的作用,因为跟踪任务侧重于融合模板和搜索区域特征。跟踪器与我们的方法和原始 Transformer 的实验比较如第 4.3 节所示。

3.2.5. What does attention want to see?

        为了探索注意力模块在我们框架中的工作原理,我们在一个代表性的跟踪片段中可视化了所有注意力模块的注意力图,如图 4 所示,以查看注意力想要看到的内容。我们使用数字n(1≤n≤4)来表示当前融合层的数量。总共有四层,从左到右融合层越来越深。最后一个单一注意力图是从最后一个交叉注意力得到的,用于解码。

        第一行显示搜索区域的自注意力图。当n = 1时,模板中没有信息,注意力模块尝试查看与环境不同的所有对象。同样的事情发生在第二行,即模板的自注意力图。有趣的是,注意力更多地集中在关键信息上,例如蚂蚁尾巴上的红点。第三行和第四行是分别应用于搜索区域和模板的交叉注意力图。此时,注意力模块接收来自模板和搜索区域的特征。 为了在相似目标的干扰下定位目标,注意力模块倾向于关注重要信息,即蚂蚁尾巴上的彩色点。当n=2时,此时每个注意力模块的输入已经融合了搜索区域和模板信息搜索区域自注意力图对相似干扰项的关注已经减少,模型似乎已经识别到目标。搜索区域的交叉注意力图似乎非常确定其估计。对于模板,注意力模块开始关注边界信息

        随着融合层的加深,搜索区域自注意力图倾向于加强目标的位置,而搜索区域的交叉注意力图则侧重于已识别目标的边界。 这样,模板特征就成为一个包含大量目标边界信息的信息库,而搜索区域特征仍然保留其空间信息。我们注意到模板的最后几个注意力图不再遵循初始空间位置,而是遵循令人费解的分布。或许这是因为,在目标被识别之后,模板分支的特征不再需要保留模板本身的信息,而是存储大量目标的边界信息,成为为回归服务的特征库。通过注意力图的可视化,我们可以看到注意力模块自动寻找全局有用信息,从而使跟踪器取得良好的效果。

3.3. Training Loss

        预测头接收Hx×Wx的特征向量,并输出Hx×Wx个二元分类和回归结果。我们选择位于真实边界框中的像素点对应的特征向量的预测作为正样本,其余为负样本所有样本都会贡献分类损失,而只有正样本才会贡献回归损失。为了减少正负样本之间的不平衡,将负样本产生的损失权重降低16倍。我们采用标准二元交叉熵损失进行分类,其定义为

其中 yj 表示第 j 个样本的真实标签,yj = 1 表示前景,pj 表示模型预测的前景的概率。

对于回归,我们采用 L1-范数损失 L1(. , .) 和广义 IoU 损失 LGIoU(. , .) 的线性组合。回归损失可以表示为:

其中 yj = 1 表示正样本,bj 表示第 j 个预测边界框,^b 表示归一化的真实边界框。λG = 2 和 λ1 = 5 是实验中的正则化参数。

4. Experiments

4.1. Implementation Details

        离线训练。我们在COCO、TrackingNet、LaSOT和GOT10k数据集的训练集上训练我们的模型。对于视频数据集(TrackingNet, LaSOT和GOT-10k),我们直接从一个视频序列中对图像对进行采样以收集训练样本。对于COCO检测数据集,我们对原始图像进行一些变换来生成图像对。采用常用的数据增强(如平移和亮度抖动)来扩大训练集。搜索区域补丁大小为256×256,模板补丁大小为128×128。使用ImageNet-pretrained ResNet-50初始化主干参数,使用Xavier init初始化模型其他参数。使用AdamW对模型进行训练,设置主干网络的学习率为1e-5,其他参数学习率为1e-4,权重衰减为1e-4。在两个Nvidia Titan RTX gpu上训练网络,批处理大小为38,总共1000个epoch,每个epoch有1000次迭代。500个epoch之后,学习率降低10倍。

        在线跟踪。在在线跟踪中,预测头输出1024个具有置信度分数的预测框,然后采用窗口惩罚对这些分数进行后处理。具体来说,将形状为32 × 32的Hanning window应用于分数,并通过参数w(在本工作中选择为0.49)进行加权。最终得分得分可以定义为:

其中Score是跟踪器输出的原始分数。Scoreh是汉宁窗上相应位置的值。基于窗口惩罚,前几帧中远离目标特征点的置信度将受到惩罚。最后,选择置信度得分最高的框作为跟踪结果。

4.2. Evaluation on TrackingNet, LaSOT and GOT-10k Datasets

        在本小节中,我们将 TransT 方法与 2020 年发布的 12 个最先进的跟踪器(SiamR-CNN、Ocean、KYS、DCFST、SiamFC++、PrDiMP、CGACD、SiamAttn、MAML、D3S、SiamCAR、SiamBAN)以及之前提出的六个代表性跟踪器(DiMP、SiamPRN++、ATOM、ECO、MDNet 和 SiamFC)。在表 1 中报告了大规模 LaSOT、TrackingNet 和 GOT-10k 数据集的详细比较结果。

        LaSOT. LaSOT 是最近一个具有高质量注释的大规模数据集,其中包含 1400 个具有挑战性的视频:1120 个用于训练,280 个用于测试。 我们按照一次性评估(成功和精度)来比较 LaSOT 测试集上的不同跟踪算法。然后,我们在表 1 中报告了成功(AUC)和精度(P 和 PNorms)分数。该表显示,所提出的方法获得了最佳性能,明显优于除 SiamRCNN 之外的其他跟踪器,但 SiamR- CNN 在我们的机器上仅运行不到 5 fps,而我们的跟踪器以 50 fps 运行。

        Comparison with correlation. 先前的siamese跟踪器使用互相关来计算模板和搜索区域之间的相似性。然而,相关性是线性局部比较,输出相似度图。这种简单的方法会导致语义丢失并且缺乏全局信息。与基于相关的方法相比,首先,我们的基于注意力的方法可以建立长距离的特征关联,从而有效地聚合模板和搜索区域的全局信息。其次,我们的方法输出具有丰富语义信息的特征,而不仅仅是相似度图。我们进行实验来比较 CFA 与相关性并探讨 ECA 的影响。为了进行公平比较,对于没有 CFA 的 TransT,我们保持 CFA 中的 FFN 不变,仅删除交叉注意层,并用深度相关性替换最后一个 CFA 模块。 对比结果如表3所示。对比结果表明,用相关层替换CFA后,性能明显下降。如果没有 ECA,跟踪器的性能就会下降。 如果同时没有ECA和CFA,性能会进一步下降,并且后处理的影响会变得更大。这些结果表明,没有注意力模块,跟踪器的定位能力显着下降,并且在后处理中需要更多地依赖先验信息。

4.4. Evaluation on Other Datasets

        我们在一些常用的小规模数据集上评估我们的跟踪器,包括 NFS、OTB2015 和 UAV123。我们还收集了一些最先进的和基线跟踪器进行比较。 结果如表4所示。

5. Conclusions

        在这项工作中,我们提出了一种基于 Transformer-like 特征融合网络的新颖、简单且高性能的跟踪框架。所提出的网络仅使用注意机制进行特征融合,其中包括基于自注意的自我上下文增强模块和基于交叉注意的跨特征增强模块。注意力机制建立长距离特征关联,使跟踪器自适应地关注有用信息并提取丰富的语义信息。所提出的融合网络可以代替相关性来合成模板和搜索区域特征,从而促进目标定位和边界框回归。许多基准测试的大量实验结果表明,所提出的跟踪器在以实时速度运行时,其性能明显优于最先进的算法。