先贴一个整体流程图:
Abstract
跟踪背景:Transformer近期在提升视觉跟踪算法中展示了明显的潜力。然而,现存的基于transformer的跟踪器大部分来说使用Transformer来混合并增强由CNN生成特征。
本文做法:相反地,本文提出了一个基于全注意力的Transformer跟踪算法,Swin-Transformer Tracker (SwinTrack)。SwinTrack用Transformer既做了特征提取也做了特征混合,让目标和搜索区域间充分地交互。为了进一步提升性能,我们综合地观察了特征混合、位置编码、训练损失等不同策略的影响。
本文优势:这些工作都让SwinTrack成为一个简单但有效的baseline。在LaSOT上实现了0.702的SUC,超过STARK 3.1%,同时运行速度为45FPS。此外,其在LaSOT_{ext}, TrackingNet, GOT-0k上的性能分别为0.476 SUC, 0.840 SUC, 0.694 AO。
1. Introduction
Transformer在视觉领域的发展:近期,Transformer在视觉任务上取得了巨大的进展。将Transformer架构引入视觉领域的工作可以被广泛地分为2类:1. 将Transformer看作CNN的补充,将attention机制和卷积网络联合起来的混合结构;2. 致力于探索一个全注意力模型,认为Transformer在未来将会打败CNN结构,并将attention机制作为网络的基本构建块。其中,第2类的工作在开始时发展时并不好,ViT是第一个在视觉领域的全注意力模型,但他的许多后续变体在性能上都不如卷积网络,直至Swin-Transformer的出现。
Swin-Transformer:使用了一个基于分层窗口的注意力架构(hierarchical window attention-based architecture)来解决在Transformer架构中的两大主要问题:1. 视觉元素的各种规模(the variety of visual elements in scale)和2. 高分辨率图像的高计算复杂度。不同于ViT家族使用了一个固定尺寸的特征图,Swin-Transformer通过逐渐合并邻域patches来构建特征图。通过这样的分层特征图,传统的多尺度预测技术可以用于克服尺度问题。此外,Swin-Transformer引入了一个非重叠窗口划分操作(a non-overlapping window partition operation),使得子注意力计算限制在这个窗口内。因此,Swin-Transformer大大减少了计算复杂度。进一步,划分窗口也在周期性地翻转从而在弥合前面各层的窗口。
Transformer的两大优势:1. Transformer是sequence-to-sequence的模型,更容易联合多个模态的数据,在网络架构设计上更加灵活。2. 来自attention机制的长期建模能力突破了传统基于CNN/RNN限制。
VOT背景及本文观点:VOT在很长时间内都是一项具有挑战的研究。但许多问题还没有被解决,包括被遮挡后或离开视野后重定位,相似物干扰等。STARK和TransT是两个最新的跟踪算法,他们都用了一个混合结构,即ResNet作为backbone,Transformer作为编解码网络。但是我们认为:通过充分利用全注意力模型和Swin-Transformer的backbone,我们能够显著提升现有跟踪器的性能。
本文实验优势:通过对attention机制本质属性的观察和一系列彻底的实验,我们设计了一个非常有效的跟踪器SwinTrack,其在LaSOT上的性能提升了3.1%,同时FPS是45,轻量级的版本是97FPS.
SwinTrack的主要设计点:
- Swin-Transformer作为bakbone;
- 在跟踪器的不同部分正确选择不同的候选网络;
- 引入untied positional encoding为级联后的特征提供正确的位置编码;
- 引入IoU-aware classfication score作为分类预测分支,选择更精准的目标边界框。
2. Related Work
2.1 Transformer in Vision Tasks
Transformer起源于NLP:Transformer最初在[39]中提出,应用于机器文本翻译领域。由于其更并行化且有更好的性能,Transformer快速地替代了LSTM模型并很快在NLP领域占据了绝对的地位。
DETR首次应用在视觉领域:自2020年开始,Transformer快速地引入了视觉领域。DETR吸引了一大堆的关注,它将目标检测建模为一个直接的集合预测问题,其移除了大部分手动地过程并实现了SOTA地性能。之后,DETR的变体和其他基于transformer的模型也迅速被提出在图像和视觉任务中。
ViT是第一个应用在视觉领域的全注意力模型:在NLP中大型预训练模型已经实现了巨大的成功,比如说BERT和GPT家族等。研究人员为了复制其成功,提出了ViT模型。ViT将图像换分为多个固定尺寸的patches作为token+一个线性映射+正确的位置编码。图像token被送入到标准的Transformer编码器中。后续,许多ViT的编码也逐渐被提出。
Swin-Transformer视觉领域效果最好的全注意力模型:在标准ViT中,各层的token数量的固定的。为了控制计算复杂度并可以使用多尺度架构,带有基于窗口注意力的多尺度Vision Transformers被提出。其中,Swin-Transformer可能是最著名的一个,因为它在多个任务上达到了SOTA。
2.2 Siamese Tracking
通过从多个序列中学习一个通用的匹配函数,跟踪就是在一个区域内找到和目标模板最匹配的地方。Siamese方法将目标跟踪建模为一个匹配问题。具体地,SiamFC引入全卷积的Siamese网络用于跟踪并在精度和速度间展示了一个很好的平衡。为了提升处理尺度变化的能力,SiamRPN融入RPN网络并提出基于anchor网络,实现了更快地速度和更高的跟踪精度。之后,大量地扩展被提取,脑阔更深的backbone(SiamRPN++),多阶段结构(C-RPN, Cract),无anchor的跟踪器(Ocean)
2.3 Transformer in Visual Tracking
已经有几个基于Transorformer的跟踪器被提出。TransT提出了ECA和CFA模块,用交叉注意力替代传统的相关操作。STARK探索时空Transformer并融入模板更新机制。
3. Swin Transformer Tracking
3.1 Overview
本文基于Siamese网络框架,包括4个主要成分:
- Swin-Transformer backbone: 共享权重,分别提取模板和搜索区域的特征;
- attention encoder-decoder network: 编码器混合来自模板和搜索区域的特征,通过注意力机制逐层的级联tokens,解码器生成最终搜索区域的特征图并送入Head network中;
- positional encoding:帮助模型区分来自不同源的tokens;
- head network:获得IoU感知分类相应图和目标框估计图。
其整体架构图如下:
3.2 Transformer-based Feature Extraction
相比AlexNet和ResNet等作为Backbone,Swin-Transformer给了一个更紧凑的特征表达和更丰富的语义信息帮助接下来的网络更好地定位目标。
3.3 Transformer-based Feature Fusion
编码器:
以上流程称为concatenation-based fusion。相比于cross-attention-based fusion(模板分支和搜索分支独立进行自注意力,最后再交叉注意力), concatenation-based fusion通过权重共享节省了模型计算量。
为什么编码器没有使用基于窗口的自/交叉注意力?:因为本文选择swin-Transformer的阶段3做为输出,tokens的数量足够小了,这样基于窗口的注意力和全注意力的FLOPS差不多。
解码器:
3.4 Positional Encoding
(待补充......)
Untied absolute positional encoding
Relative positional bias
Generalize to multiple dimensions
Generalize to concatenation-based fusion
3.5 Head and Training Loss
Head. head网络课分为2个分支:分类分支和边界框回归分支。每个分支都是一个三层感知机。分类分支用于前背景分类,回归分支用于边界框回归。
Classification loss. 使用IoU-aware classficiation score做为训练目标和varifocal loss做为训练的损失函数。具体地,IoU-aware classficiation score(IACS)指的是预测框和真实框之间的IoU,其用于从候选池中选择一个更精准的边界框。将IACS的预测分数记为p, q为目标分数(正样本下,q为iou,负样本下q为0),则varifocal loss可表达为下式:
由此,分类损失的公式如下,其中b和b^分别为预测框和真实框。
Regression loss. 即GIOU损失,其中只计算正样本的giou,忽略负样本的。
4. Experiments
4.1 Implementation
三个版本,其中C是Swin-Transformer第一阶段的隐藏层的通道数,N是特征混合阶段中编码器的block的个数:
SwinTrack-T | SwinTrack-B | SwinTrack-B-384 | |
Backbone | Swin Transformer-Tiny | Swin Transformer-Base | Swin Transformer-Base |
Template | [112x112] | [112x112] | [192x192] |
Search | [224x224] | [224x224] | [384x384] |
C | 384 | 512 | 512 |
N | 4 | 8 | 8 |
Training. AdamW优化器,lr=5e-5, weight decay=1e-4, 8个V100训练300个epoch。lr在210 epochs后下降10%
Inference. 有一系列后处理过程。
4.2 Ablation Study and Analysis
用SwinTrack-T做的消融。
分别对Comparison with ResNet backbone, feature fusion, decoder, position encoding, loss function, positional augmentations, post processing进行了讨论,结果如下表:
4.3 State-of-the-art Comparison
4个数据集上进行了性能对比,结果如下:
运行速度和参数量对比: