目录
论文
摘要
更复杂和强大的神经网络模型的设计显着推进了视觉目标跟踪的最新技术水平。 这些进步可归因于更深层次的网络,或引入新的构建块,例如Transformer。 然而,在追求提高跟踪性能的过程中,运行时间常常受到阻碍。 此外,高效的跟踪架构很少受到关注。 在本文中,我们介绍了 Exemplar Transformer,这是一种利用单个实例级注意层进行实时视觉对象跟踪的转换器模块。 我们的视觉跟踪器 E.T.Track 包含 Exemplar Transformer 模块,在 CPU 上以 47 FPS 的速度运行。 这比其他基于Transformer的模型快 8 倍。 与可以在标准 CPU 上实时运行的轻量级跟踪器相比,E.T.Track 在 LaSOT [16]、OTB-100 [52]、NFS [27]、TrackingNet [36] 和 VOTST2020 [29] 数据集上始终优于所有其他方法。 代码和模型可在 https://github.com/pblatter/ettrack 获得。
1 引言
估计视频序列中对象的轨迹,称为视觉跟踪,是计算机视觉中的基本问题之一。 深度神经网络通过更深的网络 [4]、更准确的边界框 [31] 或引入新模块(例如Transformer[53、8、48)] 显着提高了视觉跟踪方法的性能。 然而,这些进步通常是以更大的计算开销的模型为代价的。 虽然自动驾驶、机器人和人机交互等应用对实时视觉跟踪的需求不断增加,但高效的深度跟踪架构却很少受到关注。 这需要视觉跟踪器能够在有限的硬计算约束下实时运行,同时准确且稳健。
针对机器翻译提出的Transformer[45]在许多基于视觉的任务中也表现出了优异的性能,包括图像[3]和视频[51]分类、对象检测[7],甚至多任务学习[6]。视觉跟踪领域也观察到了类似的性能优势[53,42,48]。虽然Transformer使跟踪器能够提高准确性和鲁棒性,但它们严重受到高计算成本的影响,导致运行时操作减少,如图1所示。在这项工作中,我们开始寻找一个Transformer模块,能够提高跟踪精度和鲁棒性,同时不影响运行时间。
在这项工作中,我们提出了 Exemplar Attention,这是一个用于视觉跟踪的单个实例级注意力层。 我们的注意力模块利用特定领域的知识来提高跟踪器的性能,同时保持可观的运行时间。 具体来说,我们建立在两个假设之上。首先,在跟踪单个对象时,一个全局查询值具有足够的描述性。其次,一小组范例值可以充当数据集样本之间的共享内存。 因此,与传统的注意力模块相比,我们的约束实例级范例注意力捕获了关于目标对象的更明确的信息。
我们通过将 Exemplar Transformer 层集成到 Siamese 跟踪架构中来开发 Exemplar Transformer Tracker (E.T.Track)。 具体来说,我们用 Exemplar Transformer 层替换了跟踪头中的卷积层。 Exemplar Transformer 层的额外表现力显着提高了基于常规卷积层的模型的性能。 如图 1 所示,将其与mobile
LightTrack [54](LT-Mobile)进行比较时,增加的性能增益会在运行时产生微不足道的成本。 我们进一步将用于单个对象跟踪的变换器层与其他通用变换器层进行比较。 我们发现 Exemplar Transformer 始终优于竞争方法,证明了为视觉跟踪任务明确设计注意力层的好处。
我们在六个基准数据集上验证了我们的方法:LaSOT [16]、OTB-100 [52]、UAV-123 [35]、NFS [27]、TrackingNet [36] 和 VOT-ST2020 [29]。 我们提出的跟踪器在 CPU 上以每秒 46.8 帧 (FPS) 的速度运行,同时通过在具有挑战性的 LaSOT 数据集上实现 59.1% 的 AUC,在实时 CPU 跟踪器中设置了一个新的最先进技术。
总之,我们的贡献是:
- 我们介绍了 Exemplar Transformer,这是一个基于单个实例级注意力层的转换器层,称为 Exemplar Attention。
- 我们基于我们的 Exemplar Transformer 层开发了一个基于 transformer 的跟踪架构。
- 我们的跟踪器在 CPU 上实时运行,同时在 5 个基准测试中优于以前的实时跟踪器。
2 相关工作
Siamese Trackers: 近年来,Siamese 跟踪器因其性能和简单性而广受欢迎。 基于 Siamese 的跟踪框架将视觉对象跟踪制定为模板匹配问题,利用搜索和图像块之间的互相关。 Bertinetto 等人的原创作品介绍了 SiamFC [4],这是第一个将特征相关性纳入 Siamese 框架的模型。 李等[31] 引入区域提议网络以提高效率并获得更准确的边界框。 Siamese 跟踪器前沿的最新进展包括使用额外的分支 [49]、用于更精确的边界框回归的细化模块 [55] 以及各种模型更新机制 [17、18、56、58]。与以前的孪生跟踪器不同,我们建议将 Examplar Transformer 模块合并到预测头中,并在忽略不计的运行时间增加的情况下提高跟踪器的性能。
Transformers in Tracking: Transformer [45] 是作为一个模块引入的,它通过使每个元素都能关注所有其他元素来改进神经机器翻译中远程依赖关系的学习。 在计算机视觉中,Transformer 已被用于图像 [3] 和视频 [51] 分类、目标检测 [7],甚至密集预测任务的多任务学习 [6]。 与我们的工作更相关的是,Transformer 也被用来提高视觉跟踪器的性能。 STARK [53] 利用Transformer 对目标对象和搜索区域之间的全局时空特征依赖关系进行建模。 除了常规搜索和模板补丁之外,这是通过将动态更新的模板集成到编码器中来实现的。 [48] 引入了一种Transformer 架构,通过额外利用时间上下文来改进标准的 Siamese-like 管道。 编码器模型通过利用自注意力块相互增强多个模板特征。 在解码器中,模板和搜索分支由交叉注意块桥接,以传播时间上下文。 [8] 还通过用基于 Transformer 的特征融合网络替换常规相关操作来改进基于 Siamese 的跟踪器。 基于 Transformer 的融合模型聚合了全局信息,为标准线性相关操作提供了一个更好的替代方案。 另一方面,ToMP [34] 利用Transformer 来预测卷积核的权重,以便在搜索区域和模板补丁中定位目标。 在这项工作中,我们还设计了用于跟踪的变压器架构。 与之前用于跟踪的转换器不同,Exemplar Transformer 是轻量级的,可以用于实时运行的计算量有限的硬件。
Efficient Tracking Architectures: 随着自动驾驶和人机界面等应用对实时视觉跟踪需求的增加,高效的深度跟踪架构必不可少。 然而,令人惊讶的是,很少有人关注可以在计算有限的硬件上运行的高效跟踪器。 KCF [21] 和 fDSST [13] 采用手工制作的功能来实现 CPU 上的实时操作。 虽然速度很快,但与更新和更复杂的方法相比,它们对手工制作特征的依赖显着阻碍了它们的性能。 相比之下,我们提出了一种高效的深度跟踪器,它在可比的运行时间下运行,但与更昂贵的深度跟踪器的性能相当。 与我们的工作更相关的是,LightTrack [54] 使用神经架构搜索 (NAS) 来寻找轻量级且高效的 Siamese 跟踪架构。相反,我们提出了一个高效的Transformer 层,可以补充现有架构如LightTrack。具体来说,我们的Transformer 层可以作为卷积层的替代品,提高性能而对运行时间的影响可以忽略不计。
Efficient Transformers: 对 transformer 架构 [15、37、7、51] 的极大兴趣导致了各种高效模型变体的开发,这些变体可以分为 4 个主要类别 [44]。 低秩/核方法假设并利用自注意力矩阵的低秩近似 [26, 9]。 内存/下采样方法学习侧内存模块以同时访问多个tokens,或者简单地减少序列长度 [43、59、33]。 Fixed/Factorized/Random Patterns 限制了 self-attention 的视野,例如使用 block patterns [40, 59, 33, 38]。 Learnable Patterns 用动态模式 [47, 50, 28] 代替了标准transformer 中的固定模式。 我们的工作属于内存/下采样和固定/分解/随机模式的交集。 与上述旨在设计通用注意力层的作品不同,Exemplar Attention 是通过利用特定领域的知识来设计用于单个对象视觉跟踪任务的。
3 Efficient Tracking with Transformers
为了在保证性能良好的情况下满足实时跟踪,在计算受限的设备上部署时是一个具有挑战性的问题。 在本节中,我们介绍了 Exemplar Transformer,这是一种基于单实例级注意层的Transformer架构,用于单个对象跟踪。 虽然是轻量级架构,但我们的 Exemplar Transformer 显着缩小了与计算量大的基于 transformer 的跟踪器的性能差距 [53、48、8]。3.1节首先介绍了原始的Transformer ,接下来是我们的 Exemplar Transformer 公式。3.2 介绍我们的 E.T.Track。 具体来说,它首先概述了整体架构,并介绍了如何在跟踪器中使用 Exemplar Transformers。
3.1 Exemplar Transformers
Standard Transformer: 为机器翻译而引入的 Transformer [45] 接收一维输入序列
x
∈
R
N
×
D
x\in \mathbb{R}^{N\times D}
x∈RN×D,具有 N 个维度为 D 的特征向量。输入序列由一系列定义为
e
q
1
:
T
(
x
)
=
f
(
A
(
x
)
+
x
)
eq1: T(x)=f(A(x)+x)
eq1:T(x)=f(A(x)+x)
函数
f
(
⋅
)
f(·)
f(⋅) 是一个轻量级前馈网络 (FFN),它独立映射每个特征向量。 函数 A(·) 表示作用于整个序列的自注意力层。 具体来说,作者使用了“Scaled Dot-Product Attention”,定义为
e
q
2
:
A
(
x
)
=
s
o
f
t
m
a
x
(
Q
⏞
f
Q
(
x
)
K
T
⏞
f
K
(
x
)
d
k
)
V
⏞
f
V
(
x
)
=
s
o
f
t
m
a
x
(
(
x
W
Q
)
⏞
f
Q
(
x
)
(
W
K
T
x
T
)
⏞
f
K
(
x
)
d
k
)
(
x
W
V
)
⏞
f
V
(
x
)
eq2: A(x)=softmax(\frac{\overset{{f_{Q}(x)}}{\overbrace{Q}} \overset{{f_{K}(x)}}{\overbrace{K^{T}}} }{\sqrt{d_{k}} } )\overset{{f_{V}(x)}}{\overbrace{V}} = softmax(\frac{\overset{{f_{Q}(x)}}{(\overbrace{xW_{Q})}} \overset{{f_{K}(x)}}{(\overbrace{W_{K}^{T}x^{T})}} }{\sqrt{d_{k}} } )\overset{{f_{V}(x)}}{(\overbrace{xW_{V})}}
eq2:A(x)=softmax(dkQ
fQ(x)KT
fK(x))V
fV(x)=softmax(dk(xWQ)
fQ(x)(WKTxT)
fK(x))(xWV)
fV(x)
查询
Q
∈
R
N
×
D
Q
K
Q\in \mathbb{R}^{N\times D_{QK}}
Q∈RN×DQK,键
K
∈
R
N
×
D
Q
K
K\in \mathbb{R}^{N\times D_{QK}}
K∈RN×DQK和值
V
∈
R
N
×
D
V
V\in \mathbb{R}^{N\times D_{V}}
V∈RN×DV表示输入序列的投影,而
d
k
\sqrt{d_{k}}
dk 是归一化常数。 因此,自注意力计算所有表示之间的相似性得分,并且线性组合特征表示,并相应地调整等式 1 中的输入表示 x。
Exemplar Attention: 我们现在介绍 Exemplar Attention,它是 Exemplar Transformer 模块的关键构建块。 我们假设,虽然所有特征之间的直接联系在机器翻译和一些视觉任务中是必不可少的,但在关注被跟踪的单个对象时,这种设计选择可能不是最优的。 我们在下面描述了各个组件所需的修改。
标准的查询函数
f
Q
f_{Q}
fQ 将特征图的每个空间位置独立地投影到查询空间。 与机器翻译不同,机器翻译的每个特征都代表一个特定的词或标记,在视觉任务中,相邻的空间表示通常对应着同样的对象。因此,我们聚合了特征图
X
∈
R
H
×
W
×
D
X\in \mathbb{R}^{H\times W\times D}
X∈RH×W×D的信息,其中
H
×
W
H\times W
H×W 表示空间维度。 具体来说,我们使用输出空间维度为
S
×
S
S\times S
S×S的二维自适应平均池化层,然后进行展平操作。 该操作表示为
Ψ
S
(
X
)
\Psi_{S}(X)
ΨS(X),将输出空间维度减小到
S
2
S^{2}
S2。 然后将 X 的压缩表示投影到查询空间,就像在标准自注意力公式中一样。
e
q
3
:
Q
=
Ψ
S
(
X
)
W
Q
∈
R
S
2
×
D
Q
K
eq3: Q=\Psi_{S}(X) W_{Q} \in \mathbb{R}^{S^{2} \times D_{Q K}}
eq3:Q=ΨS(X)WQ∈RS2×DQK
我们假设对于单实例跟踪,一个全局查询值足以识别感兴趣的对象,同时还降低了模块的计算复杂性。 因此,我们设置 S = 1。这种设计选择得到了成功用于分类体系结构 [20] 中全局池化以及基于transformer的对象检测 [7] 的进一步支持。
如式2所示,键和值是输入的每个空间位置线性投影。 然后,自注意力层可以学习空间相关性,但代价是每个特征都会影响到所有其他特征。 这消除了卷积层中内置的空间偏差。 我们不需要细粒度的特征图并仅依赖样本内关系,而是学习一小组样本表示。 示例表示封装了数据集信息,以便在给定全局查询指令和捕获的信息的情况下动态调整注意力层。 为此,我们优化了一小组与输入无关(与式2不同)的exemplar keys
K
=
W
^
K
∈
R
E
×
D
Q
K
K = \hat{W}_{K} \in \mathbb{R}^{E\times D_{QK}}
K=W^K∈RE×DQK。 因此,相似性矩阵关联了全局查询(The similarity matrix therefore associates the global query, Eq. 3, to exemplars.)。 然后,我们的注意力层通过用卷积运算替换投影
f
V
(
.
)
f_{V}(.)
fV(.)来细化局部级的输入表示
e
q
4
:
V
=
W
V
⊛
X
∈
R
E
×
H
×
W
×
D
V
eq4: V=W_{V} \circledast X \in \mathbb{R}^{E \times H \times W \times D_{V}}
eq4:V=WV⊛X∈RE×H×W×DV
其中,
W
V
∈
R
E
×
Z
×
Z
W_{V}\in \mathbb{R}^{E \times Z \times Z}
WV∈RE×Z×Z可以是任意的空间维度Z,而样本的数量 E 可以任意选择。我们在实验中使用 E = 4,它明显小于尺寸 H × W,保持可比较的运行时间。
e
q
5
:
A
(
x
)
=
s
o
f
t
m
a
x
(
(
Ψ
S
(
X
)
W
Q
⏞
)
f
Q
(
x
)
(
W
^
K
T
⏞
)
f
K
(
.
)
d
k
)
(
W
V
⊛
X
)
⏞
f
V
(
x
)
eq5: A(x)=softmax(\frac{(\overset{{f_{Q}(x)}}{\overbrace{\Psi_{S}(X) W_{Q}})} \overset{{f_{K}(.)}}{\overbrace{(\hat{W}_{K}^{T}})} }{\sqrt{d_{k}} } )\overset{{f_{V}(x)}}{\overbrace{(W_{V} \circledast X)}}
eq5:A(x)=softmax(dk(ΨS(X)WQ
)fQ(x)(W^KT
)fK(.))(WV⊛X)
fV(x)
但是也可以写为:
e
q
6
:
A
(
x
)
=
[
s
o
f
t
m
a
x
(
(
Ψ
S
(
X
)
W
Q
)
(
W
^
K
T
)
d
k
)
W
V
]
⊛
X
eq6: A(x)=[ softmax(\frac{({{\Psi_{S}(X) W_{Q}})} {{(\hat{W}_{K}^{T}})} }{\sqrt{d_{k}} } ){{W_{V} ]\circledast X}}
eq6:A(x)=[softmax(dk(ΨS(X)WQ)(W^KT))WV]⊛X
Exemplar Attention虽然受到scaled dot-product attention的启发,但在概念上却非常不同。在自注意力式2中,
f
{
Q
,
K
,
V
}
f_{\{Q,K,V\}}
f{Q,K,V}充当其对应特征空间的投影,相似性函数学习所有空间位置之间的关系。换句话说,自我注意力仅依赖于样本内关系,因此需要细粒度表示。相反,Exemplar Attention通过使用全局查询指令在单个实例上强制使用注意力。全局查询封装了目标的表示,其是从输入图像动态生成的,并使用卷积运算在特征图上局部应用。为了能够使用单个查询指令,我们利用数据集信息通过端到端优化来形成示例表示,消除了对样本内相似性函数的需要。两种注意力机制的比较如图2所示。
3.2 E.T.Track Architecture
在本节中,我们介绍了整个工作中使用的基础跟踪架构。 虽然 Exemplar Transformers 可以合并到任何跟踪架构中,但我们评估了它在轻量级 Siamese 跟踪器上的效果。 E.T.Track 架构的概览如图 3 所示。
我们的模型采用轻量级骨干模型 LT-Mobile [54]。 该模型由 NAS 在由高效轻量级构建块组成的搜索空间上识别。 特征提取主干由 3×3 卷积层、深度可分离卷积层和带有压缩和激励模块的mobile inverted bottleneck layers组成。
Exemplar Transformer 层可以替代架构的任何卷积操作。 我们替换了分类和边界框回归分支中的所有卷积,同时保持轻量级骨干架构不变。 这消除了在 ImageNet [14] 上重新训练主干的需要。
搜索和模板框架最初是通过主干网络处理的。 表示之间的相似性是通过逐点互相关计算的。 然后将生成的相关图送入跟踪器头,在那里由分类分支和边界框回归分支并行处理。 边界框回归分支预测到边界框所有四个边的距离。 分类分支预测每个区域是前景还是背景的一部分。 在训练过程中,边界框回归分支将地面真实边界框内的所有像素视为训练样本,因此,即使只有一小部分输入图像被分类为前景,模型也能够确定对象的确切位置。 该模型是通过优化二元交叉熵 (BCE) 损失和预测边界框与真实边界框之间的 IoU 损失 [57] 的加权组合来训练的。 有关更多详细信息以及有关数据预处理的更多信息,我们建议读者参阅 [61]。
4 实验
我们首先在4.1节中介绍了跟踪器的实现细节。第4.2节介绍了与最先进技术的对比,第4.3节介绍了消融研究。代码和经过训练的模型将在发布时发布。
4.1 实现细节
Architecture: 我们采用 LightTrack [54] 的 LT-Mobile 架构作为我们的baseline,因为它的性能与效率之间存在权衡。LT-Mobile由一个小的编码器,然后后续分支为分类和回归头。 分类头由 6 个卷积模块组成,而回归头由 8 个组成。每个卷积模块由深度可分离卷积 [23]、批量归一化层 [25] 和整流(Rectified)线性单元组成。 E.T.Track 将每个卷积模块替换为在第 3.1 节中介绍的 Exemplar Transformer Layer, 注意力模块的可学习“值”参数使用 kaiming 初始化 [19] 进行初始化,而可学习的“key”参数使用正态分布进行初始化。 FFN 由 2 个具有 ReLU 激活、比率为 0.1 的 dropout [41] 和 LayerNorm [2] 的线性层组成。
Training: 所有模型都使用 Nvidia GTX TITAN X 进行训练,并在 Intel® Core™ i78700 CPU @ 3.20GHz 上进行评估。 我们的 E.T.Track 架构的训练基于 LightTrack [54] 中使用的训练框架,而后者又基于 OCEAN [61]。 按照惯例,我们使用 ImageNet 预训练权重初始化主干。 这些模型使用动量为 0.9 的随机梯度下降 [39] 进行优化,权重衰减为 1e-4,持续 50 个epoch。 在前 10 个 epoch 中,主干参数保持不变。 我们在 5 个 epoch 的预热期间使用步进学习率调度器,将学习率从2e-2增加到1e-1,其次是学习率从 1e-1 到 2e-4 的对数递减。 我们使用 3 个 GPU,每个 GPU 对每个批次采样 32 个图像对。 采样图像对由一个 256×256 的搜索框和一个 128×128 的模板框组成,从 LaSOT [16]、TrackingNet [36]、GOT10k [24] 和 COCO [32] 的训练分割中采样。 具体来说,这两帧在 LaSOT [16] 和 GOT10k [24] 的 100 帧、TrackingNet [36] 的 30 帧和 COCO [32] 的 1 帧范围内采样。 两个补丁都进一步随机移动和缩放。