STARK:Learning Spatio-Temporal Transformer for Visual Tracking论文翻译阅读
简介
本文提出了一种以一种新的编解码器变压器为关键组件的跟踪体系结构。编码器对目标对象和搜索区域之间的全局时空特征依赖性进行建模,而解码器学习一个查询嵌入来预测目标对象的空间位置。我们的方法将对象跟踪转换为一个直接边界框预测问题,而不使用任何建议或预定义的锚点。使用编码-解码器变压器,对象的预测只使用一个简单的全卷积网络,它可以直接估计对象的角。整个方法是端到端的,不需要诸如余弦窗口和边界框平滑等任何后处理步骤,从而在很大程度上简化了现有的跟踪管道。所提出的跟踪器在五个具有挑战性的短期和长期基准测试上实现了最先进的性能,同时以实时速度运行,比SiamR-CNN[47]快6倍。这里的代码和模型都是开源的。
1.引言
- 视觉目标跟踪是计算机视觉中一个基础但具有挑战性的研究课题。在过去的几年里,基于卷积神经网络,目标跟踪[25,9,47]取得了显著的进展。然而,卷积内核并不擅长建模图像内容和特征的长期依赖关系,因为它们只处理空间或时间上的局部邻域。目前流行的跟踪器,包括离线的Siam跟踪器和在线学习模型,几乎都是建立在卷积操作[2,37,3,47]之上的。因此,这些方法仅在建模图像内容的局部关系方面表现良好,但仅限于捕获长期的全局交互。这种缺陷可能会降低模型处理全局上下文信息对定位目标对象很重要的场景的能力,例如经历大规模变化或频繁进出视图的对象。
- 通过使用transformer[46],在序列建模中解决了远程交互的问题。transformer在自然语言建模[11,39]和语音识别[34]等任务上取得了巨大的成功。近年来,transformer被应用于判别计算机视觉模型中,引起了[12,5,35]的广泛关注。受最近的检测transformer(DETR)[5]的启发,我们提出了一种新的带解码器变压器的端到端跟踪架构,以提高传统卷积模型的性能。
- 空间信息和时间信息对目标跟踪都很重要。前者包含用于目标定位的对象外观信息,而后者包括跨帧的对象的状态变化。以前的Siamese追踪器[25,51,14,6]只利用空间信息进行跟踪,而在线方法[54,57,9,3]使用历史预测进行模型更新。虽然这些方法很成功,但它们并没有明确地模拟空间和时间之间的关系。在这项工作中,考虑到建模全局依赖的优越能力,我们利用transformer来整合空间和时间信息进行跟踪,生成用于目标定位的区分时空特征。
- 更具体地说,我们提出了一种新的用于目标跟踪基于编解码器transformer的时空结构。新的架构包含三个关键组件:编码器、解码器和预测头。
- 编码器接受初始*目标对象、当前图像和动态更新的模板*的输入。编码器中的自我注意模块通过其特征依赖性来学习输入之间的关系。由于模板图像在整个视频序列中进行更新,编码器可以捕获目标的空间和时间信息。
- 解码器学习一个查询嵌入(query embedding)来预测目标对象的空间位置。基于corner(角点)的预测头(location head)用于估计当前帧中目标对象的边界框bbox。同时,学习一个得分头(score head)来控制动态模板图像的更新。
- 大量的实验表明,我们的方法在短期[18,36]和长期跟踪基准测试[13,22]上都建立了新的最先进的性能。例如,我们的时空transformer跟踪器在GOT-10K[18]和LaSOT[13]上的性能分别超过SiamR-CNN[47]3.9%(AO分数)和2.3%(成功率)。同样值得注意的是,与以前的长期跟踪器[8,47,53]相比,我们的方法的框架要简单得多。具体来说,以往的方法通常由多个组件组成,如基础跟踪器[9,50]、目标验证模块[21]和全局检测器[40,19]。相比之下,我们的方法只有一个以端到端方式学习的单一网络。此外,我们的跟踪器可以以实时速度运行,比SiamR-CNN快6×(30 fps 对比 5 fps。在特斯拉V100GPU上测试)。如图1所示。
!
- 总之,这项工作有三项贡献:
- 我们提出了一种新的transformer架构,专门用于视觉跟踪。它能够捕获视频序列中时空信息的全局特征依赖性。
- 整个方法都是端到端的,不需要诸如余弦窗口和边界框平滑等任何后处理步骤,从而在很大程度上简化了现有的跟踪流水线过程。
- 所提出的跟踪器在五个具有挑战性的短期和长期基准测试上实现了最先进的性能,同时以实时速度运行。
2.相关工作
2.1 transformer在语言和视觉上的应用
- transformer最初由Vaswani等人[46]提出用于机器翻译任务,并已成为语言建模的主流架构。
- transformer以一个序列作为输入,扫描序列中的每个元素,并学习它们的依赖关系。这个特性使transformer在本质上擅长捕获顺序数据中的全局信息。
- 近年来,transformer在图像分类[12]、目标检测[5]、语义分割[49]、多目标跟踪[44,35]等视觉任务中显示出了巨大的潜力。
- 我们的工作受到最近的工作DETR[5]的启发,但有根本的差异:
1. 所研究的任务是不同的。DETR是为目标检测而设计的,而本工作是用于目标跟踪的。
2. 网络输入量不同。DETR将整个图像作为输入,而我们的输入是由一个搜索区域和两个模板组成的三重联体。它们的特征从主干中首先变平并连接起来,然后发送到编码器。
3. 查询的设计和训练策略都有所不同。DETR使用100个对象查询,并在训练期间使用匈牙利算法来匹配预测pred和真实值groundtruth。相比之下,我们的方法只使用一个查询,并且总是将其与groundtruth相匹配,而不使用匈牙利算法。
4. 边框头bbox head有所不同。DETR使用一个三层感知器来预测盒子。我们的网络采用基于角的预测头进行更高质量的定位。 - 此外,TransTrack[44]和TrackFormer[35]是最近的两个代表性工作。
- TransTrack[44]有以下功能。(1)编码器将当前帧和前一帧的图像特征作为输入。(2)它有两个解码器,它们分别将学习到的对象查询和来自最后一帧的查询作为输入。通过不同的查询,将编码器的输出序列分别转换为检测盒和跟踪盒。(3)使用匈牙利算法[24],基于IoUs对预测的两组盒子进行匹配。
- 而TrackFormer[35]则有以下功能。(1)它只接受当前的帧特征作为编码器的输入。(2)只有一个解码器,其中学习到的对象查询和来自最后一帧的跟踪查询相互交互。(3)它仅仅通过注意力操作将轨迹随时间的变化联系起来,而不依赖于任何额外的匹配,如运动或外观建模。
- 相比之下,我们的工作与这两种方法有以下根本的区别。(1)网络输入量不同。我们的输入是由当前搜索区域、初始模板和动态模板组成的三重联体。(2)我们的方法通过更新动态模板来捕获被跟踪目标的外观变化,而不是将对象查询更新为[44,35]。
2.2 时空信息开发
- 时空信息的开发是目标跟踪领域的一个核心问题。现有的跟踪器可分为空间类和时空类。大多数离线的Siamese跟踪器[2,26,25,60,29]只属于空间跟踪器,它们将对象跟踪视为初始模板和当前搜索区域之间的模板匹配。
- 为了提取模板与搜索区域在空间维度上的关系,大多数跟踪器采用了相关变量,包括朴素相关[2,26]、深度相关[25,60]和点相关[29,52]。这些方法近年来虽然取得了显著的进展,但它们只是捕获了局部相似性,而忽略了全局信息。而transformer中的自注意机制可以捕捉随机关系,适用于成对匹配任务。
- 与仅限空间的跟踪器相比,时空跟踪器进一步利用时间信息来提高跟踪器的鲁棒性。这些方法也可以分为两类:基于梯度的方法和无梯度的方法。
- 基于梯度的方法在推理过程中需要进行梯度计算。其中一个经典的工作是MDNet[37],它通过梯度下降更新特定领域的层。为了提高优化效率,后期的工作[9,3,27,48,55]采用了更先进的优化方法,如高斯-牛顿方法或基于元学习的更新策略。然而,许多用于部署深度学习的真实设备并不支持反向传播,这限制了基于梯度的方法的应用。
- 相比之下,无梯度方法在现实应用中具有更大的潜力。一类无梯度的方法[54,57]利用一个额外的网络来更新Siamese追踪器[2,61]的模板。
- 一项具有代表性的工作LTMU[8]学习一个元更新器来预测当前状态是否足够可靠,可以用于长期跟踪的更新。虽然这些方法很有效,但它们会导致空间和时间之间的分离。相比之下,我们的方法将空间和时间信息作为一个整体集成,同时使用transformer学习它们。
2.3 跟踪管道和后处理
- 以前的跟踪器[25,51,60,47]的跟踪管道很复杂。具体来说,他们首先生成大量具有置信度分数的候选区边框,然后使用各种后处理来选择最佳的边界方框作为跟踪结果。常用的后处理包括余弦窗口、尺度或长宽比惩罚、边界盒平滑、基于轨迹的动态规划等。
- 虽然它会带来更好的结果,但后处理会导致性能对超参数很敏感。有一些跟踪器[16,19]试图简化跟踪管道,但它们的性能仍然远远落后于最先进的跟踪器。本文工作试图缩小这一差距,通过预测每一帧中的一个边界框来实现最佳性能。
3. 方法
在本节中,我们提出了用于视觉跟踪的时空transformer网络,称为stark。为了清晰起见,我们首先介绍了一种简单的基线(baseline)方法,它直接应用原始的编码器-解码器transformer进行跟踪。基线方法只考虑了空间信息,并取得了良好的性能。
之后,我们对baseline进行扩展来学习目标定位的时间和空间特征表示。我们引入了一个动态模板和一个更新控制器来捕获目标对象的外观变化。
3.1 一个简单的基于transformer的基线跟踪器
我们提出了一个基于视觉transformer的简单基线框架。网络架构如图2所示。它主要由三个组成部分组成:卷积主干网、编解码器变压器和边界盒预测头。
- 主干网络(backbone)
我们的方法可以使用任意的卷积网络作为特征提取的骨干。不失一般性,我们采用普通的ResNet[15]作为主干。更具体地说,除了删除最后一阶段和完全连接的层外,原始的ResNet[15]没有其他变化。
主干的输入是一对图像:模板、搜索区。
初始目标对象的模板图像:
当前帧的搜索区域:
通过主干后,模板z和搜索图像x被映射到两个特征映射图:
- 编码器
从主干网输出的特性映射在输入编码器之前需要进行预处理。具体来说,首先使用一个瓶颈层(bottelneck)来将信道数(channel)从C减少到d。然后将特征图变平(flatten)并沿空间维度(一维向量拼接)连接,生成长度为
,维度为d的特征序列。作为编码器的输入。s是主干网络最后一个特征图相比于原图的降采样率(如4x/8x/16x/32x/64x)。
该编码器由N个编码器层组成,每个编码器层由一个多头的自注意力模块和前馈网络注意模块(FFN)组成。由于原始transformer[46]的排列不变性,我们在输入序列中添加了正弦位置嵌入(sin embedding)。
该编码器捕获序列中所有元素之间的特征依赖性,并使用全局上下文信息强化原始特征,从而允许模型学习用于对象定位的区别性特征。 - 解码器
解码器从编码器中获取一个目标查询(query)和一个增强的特征序列作为输入。
与采用100个对象查询的DETR[5]不同,我们只在解码器中输入一个查询来预测目标对象的一个边界框。此外,由于只有一个预测,我们删除了DETR中用于预测关联的匈牙利算法[24]。与编码器类似,解码器堆栈M个解码器层,每一个层由一个自注意模块、一个编解码器注意模块和一个前馈网络组成。在编码器-解码器注意模块中,目标查询可以关注模板上的所有位置和搜索区域特征,从而学习最终的边界盒预测的鲁棒表示。 - 预测头
DETR[5]采用三层感知器来预测对象盒坐标。然而,正如GFLoss[28]所指出的,直接回归坐标等价于拟合一个狄拉克三角洲分布,这没有考虑到数据集的模糊性和不确定性。这种表示对于对象跟踪中的遮挡和杂乱背景等挑战不灵活和鲁棒。为了提高box估计质量,通过估计box 角点的概率分布,设计了一种新的预测头。
如图3所示,我们首先从编码器的输出序列中提取搜索区域特征,然后计算搜索区域特征与解码器嵌入的输出之间的相似性。然后,将相似度得分与搜索区域特征进行逐个元素地相乘,以增强重要区域,削弱区分性较差的区域。