SparseTT: Visual Tracking with Sparse Transformers
论文地址:https://arxiv.org/pdf/2205.03776
动机
这篇论文的研究动机是针对当前自注意力机制在目标跟踪任务中存在的问题:缺乏对搜索区域中最相关信息的关注,容易受到背景的干扰,从而导致跟踪性能下降。为了解决这个问题,论文提出了一种稀疏自注意力机制,能够集中关注搜索区域中最相关的信息,从而提高目标跟踪的准确性。同时,论文还引入了一个双头预测器来提高前景-背景分类和目标边界框回归的准确性,进一步提高跟踪性能。
贡献
这篇论文提出了一种基于稀疏Transformer的视觉目标跟踪方法,成功地解决了Transformer模型在全局自注意力机制下对背景信息过度关注而忽略目标信息的问题。此外,该方法还引入了双头预测器来提高前景-背景分类和目标边界框回归的准确性。大量的实验证明了该方法在La-SOT、GOT-10k、TrackingNet和UAV123等数据集上的优越性。相较于TransT,该方法的训练时间缩短了75%。因此,该论文的主要贡献是提出了一种有效的稀疏Transformer跟踪器,并在多个数据集上取得了优异的跟踪性能。
1、Method
提出了一种用于视觉跟踪的Siamese架构,它由特征提取网络、目标聚焦网络和双头预测器组成,如图2所示。特征提取网络是一个权重共享的骨干网络。
使用稀疏 Transformer 构建的目标焦点网络来生成以目标为中心的特征。双头预测器区分前景和背景,输出目标的边界框。注意,方法以实时速度运行,因为在跟踪阶段没有在线更新。
1.1、Target Focus Network
目标焦点网络是用稀疏 Transformer 构建的,它具有编码器-解码器架构,如图 3 所示。
编码器负责对目标模板特性进行编码。解码器负责解码搜索区域特征以生成以目标为中心的特征。
Encoder
在目标聚焦网络中,编码器是一个重要但非必需的组成部分。它由N个编码器层组成,其中每个编码器层都将其前一个编码器层的输出作为输入。注意,为了使网络具有空间位置信息的感知,我们在目标模板特征中加入空间位置编码,并将其和输入到编码器中。因此,第一个编码器层以空间位置编码的目标模板特征作为输入。简而言之,它可以正式表示为:
encoder
(
Z
)
=
{
f
e
n
c
i
(
Z
+
P
e
n
c
)
,
i
=
1
f
e
n
c
i
(
Y
e
n
c
i
−
1
)
,
2
≤
i
≤
N
\begin{aligned} &\operatorname{encoder}(Z)& =\begin{cases}f_{enc}^i\left(\mathbf{Z}+P_{enc}\right),\quad i=1\\ f_{enc}^i\left(\mathbf{Y}_{enc}^{i-1}\right),\quad2\leq i\leq N\end{cases} \\ & \\ & \end{aligned}
encoder(Z)={fenci(Z+Penc),i=1fenci(Yenci−1),2≤i≤N
其中
Z
∈
R
H
t
W
t
×
C
Z\in \mathbb{R}^{H_tW_t\times C}
Z∈RHtWt×C 表示目标模板特征,
P
e
n
c
∈
R
h
t
W
t
×
C
P_{enc}\in \mathbb{R}^{htWt×C}
Penc∈RhtWt×C 表示空间位置编码,
f
e
n
c
i
f^i_{enc}
fenci 表示第
i
i
i 个编码器层,
Y
e
n
c
i
−
1
∈
R
H
t
W
t
×
C
Y^{i−1}_{enc} \in \mathbb{R}^{H_tW_t\times C}
Yenci−1∈RHtWt×C 表示第
(
i
−
1
)
(i − 1)
(i−1) 个编码器层的输出。
H
t
H_t
Ht 和
W
t
W_t
Wt 分别是目标模板特征图的高度和宽度。
在每个编码器层,我们使用多头自注意(MSA)来显式建模目标模板特征的所有像素对之间的关系。其他操作与vanilla Transformer的编码器层相同。
Decoder
解码器是目标聚焦网络的重要组成部分。与编码器类似,解码器由M个解码器层组成。但与编码器层不同的是,每个解码器层不仅输入空间位置编码的搜索区域特征或其前一解码器层的输出,还输入编码器输出的编码后的目标模板特征。简而言之,它可以正式表示为:
decoder
(
X
,
Y
e
n
c
N
)
=
{
f
d
e
c
i
(
X
+
P
d
e
c
,
Y
e
n
c
N
)
,
i
=
1
f
d
e
c
i
(
Y
d
e
c
i
−
1
,
Y
e
n
c
N
)
,
2
≤
i
≤
M
\operatorname{decoder}(X,Y_{enc}^N)=\begin{cases}f_{dec}^i\left(X+P_{dec},Y_{enc}^N\right),i=1\\ f_{dec}^i\left(Y_{dec}^{i-1},Y_{enc}^N\right),2\le i\le M\end{cases}
decoder(X,YencN)={fdeci(X+Pdec,YencN),i=1fdeci(Ydeci−1,YencN),2≤i≤M
式中
X
∈
R
H
s
W
s
×
C
X\in\mathbb{R}^{H_sW_s\times C}
X∈RHsWs×C表示搜索区域特征,
P
d
e
c
∈
R
H
s
W
s
×
C
P_{dec}\in \mathbb{R}^{H_sW_s\times C}
Pdec∈RHsWs×C表示空间位置编码,
Y
e
n
c
N
∈
R
H
t
W
t
×
C
Y^N_{enc}\in \mathbb{R}^{H_tW_t\times C}
YencN∈RHtWt×C表示编码器输出的编码后的目标模板特征,
f
d
e
c
i
f^i_{dec}
fdeci表示第
i
i
i 个解码器层,
Y
d
e
c
i
−
1
∈
m
a
t
h
b
b
R
H
s
W
s
×
C
Y^{i−1}_{dec}\in mathbb{R}^{H_sW_s\times C}
Ydeci−1∈mathbbRHsWs×C表示第
(
i
−
1
)
(i−1)
(i−1)个解码器层的输出。
H
s
H_s
Hs和
W
s
W_s
Ws分别是搜索区域特征图的高度和宽度。
与 vanilla Transformer 的解码器层不同,所提出的稀疏 Transformer 的每个解码器层首先使用稀疏多头自注意力 (SMSA) 计算
X
X
X上的自注意力,然后使用朴素的多头交叉注意 (MCA) 计算
Z
Z
Z 和
X
X
X 之间的交叉注意力。其他操作与vanilla Transformer 的解码器层相同。形式上,所提出的稀疏 Transformer 的每个解码器层可以表示为:
X
^
=
N
o
r
m
(
S
M
S
A
(
Y
d
e
c
i
−
1
)
+
Y
d
e
c
i
−
1
)
Y
^
d
e
c
i
=
Norm
(
MCA
(
X
^
,
Y
e
n
c
N
,
Y
e
n
c
N
)
+
X
^
)
Y
d
e
c
i
=
N
o
r
m
(
F
F
N
(
Y
^
d
e
c
i
)
+
Y
^
d
e
c
i
)
\begin{aligned} \hat{X}& =\mathrm{Norm}\left(\mathrm{SMSA}\left(\boldsymbol{Y}_{dec}^{i-1}\right)+\boldsymbol{Y}_{dec}^{i-1}\right) \\ \hat{Y}_{dec}^i& =\operatorname{Norm}\left(\operatorname{MCA}\left(\hat{X},Y_{enc}^N,Y_{enc}^N\right)+\hat{X}\right) \\ Y^i_{dec}& =\mathrm{Norm}\left(\mathrm{FFN}\left(\hat{Y}^{i}_{dec}\right)+\hat{Y}^{i}_{dec}\right) \end{aligned}
X^Y^deciYdeci=Norm(SMSA(Ydeci−1)+Ydeci−1)=Norm(MCA(X^,YencN,YencN)+X^)=Norm(FFN(Y^deci)+Y^deci)
Sparse Multi-Head Self-Attention.
稀疏多头自关注是为了提高前景和背景的区分能力,减轻前景边缘区域的模糊性。具体来说,在朴素MSA中,注意特征的每个像素值由输入特征的所有像素值计算,这使得前景的边缘区域变得模糊。在我们提出的SMSA中,注意特征的每个像素值只由与它最相似的 K K K个像素值确定,这使得前景更集中,前景边缘区域更具区别性。
具体来说,如图4中间所示,给定一个 q u e r y ∈ R H W × C query\in\mathbb{R}^{HW\times C} query∈RHW×C,一个 k e y ∈ R C × H ′ W ′ key\in\mathbb{R}^{C\times H'W'} key∈RC×H′W′,一个 v a l u e ∈ R H ′ W ′ × C value\in\mathbb{R}^{H'W'\times C} value∈RH′W′×C,我们首先计算查询和键之间所有像素对的相似度,并在相似矩阵中屏蔽掉不必要的标记。
然后,与图 4 左侧所示的朴素缩放点积注意力不同,我们只使用 s o f t m a x softmax softmax 函数对来自相似度矩阵的每一行的 K K K 个最大元素进行归一化。对于其他元素,我们用 0 0 0代替。 最后,我们将相似度矩阵和值进行矩阵乘法,得到最终结果。图4中的右上角和右下角分别显示了在朴素的缩放积法注意力和稀疏的缩放积法注意力中对相似性矩阵的行向量进行归一化的例子。
我们可以看到,朴素缩放的点积注意力放大了相对较小的相似性权重,这使得输出特征容易受到噪声和分散注意力背景的影响。我们可以看到,朴素缩放的点积注意力放大了相对较小的相似性权重,这使得输出特征容易受到噪声和分散注意力背景的影响。然而,这个问题可以通过稀疏缩放的点积注意力得到显着缓解。
1.2、Double-Head predictor
大多数现有的跟踪器采用全连接网络或卷积网络对目标边界框的前景和背景回归进行分类,而没有根据分类和回归任务的特点对头部网络进行深入分析或设计。我们引入了一个双头预测器来提高分类和回归的准确性。具体来说,如图 2 所示,它由一个由两个全连接层和一个由 L L L 个卷积块组成的 conv-head 组成。在训练中添加额外的未聚焦任务以进行额外的监督。在推理阶段,对于分类任务,我们将fc-head输出的分类分数与convo -head输出的分类分数融合;对于回归任务,我们只取卷积头输出的预测偏移量。
1.3、Training Loss
我们生成分类分数和回归偏移量的训练标签。为了端到端训练整个网络,目标函数为分类损失和回归损失的加权和,如下所示:
L
=
ω
f
c
⋅
[
λ
f
c
L
f
c
c
l
a
s
s
+
(
1
−
λ
f
c
)
L
f
c
b
o
x
]
+
ω
c
o
n
v
⋅
[
(
1
−
λ
c
o
n
v
)
L
c
o
n
v
c
l
a
s
s
+
λ
c
o
n
v
L
b
o
x
]
\begin{aligned} L& =\omega_{fc}\cdot\left[\lambda_{fc}\mathcal{L}_{fc}^{class} + \left(1-\lambda_{fc}\right)\mathcal{L}_{fc}^{box}\right] \\ &+\omega_{conv}\cdot\left[\left(1-\lambda_{conv}\right)\mathcal{L}_{conv}^{class}+\lambda_{conv}\mathcal{L}^{box}\right] \end{aligned}
L=ωfc⋅[λfcLfcclass+(1−λfc)Lfcbox]+ωconv⋅[(1−λconv)Lconvclass+λconvLbox]
其中
ω
f
c
,
λ
f
c
,
ω
c
o
n
v
和
λ
c
o
n
v
\omega_{fc}, \lambda_{fc}, \omega_{conv}和\lambda_{conv}
ωfc,λfc,ωconv和λconv是超参数。在实践中,我们设
ω
f
c
=
2.0
\omega_{fc} = 2.0
ωfc=2.0,
λ
f
c
=
0.7
\lambda_{fc} = 0.7
λfc=0.7,
ω
c
o
n
v
=
2.5
\omega_{conv} = 2.5
ωconv=2.5,
λ
c
o
n
v
=
0.8
\lambda_{conv} = 0.8
λconv=0.8。函数
L
f
c
c
l
a
s
s
\mathcal{L}^{class}_{fc}
Lfcclass和
L
c
o
n
v
c
l
a
s
s
\mathcal{L}^{class}_{conv}
Lconvclass均通过focal loss实现,函数
L
f
c
b
o
x
\mathcal{L}^{box}_{fc}
Lfcbox和
L
c
o
n
v
b
o
x
\mathcal{L}^{box}_{conv}
Lconvbox均通过IoU loss实现。