TADAM
Abstract
目前的多目标跟踪方法主要关注于两个方向来改进跟踪性能,一是基于跟踪信息从之前帧预测当前帧中的位置,二是生成更具判别性的身份嵌入(identity embedding)来增强数据关联。有一些工作将这两个方向组合到一个框架中,但是仍然是将它们视作两个独立的任务,因此获得了很少相互作用的效果。在这篇论文中,作者提出了一种新的具有协同作用的统一模型,它确保了位置预测和嵌入关联之间的协同工作。这两个任务是通过时间感知目标注意力和干扰物注意力以及身份感知记忆聚合模型链接到一起的。具体而言,注意力模块确保预测更加关注于目标而不是干扰物,因而更具可靠性的嵌入可以提取用于关联。另一方面,这种可靠的嵌入可以通过记忆聚合增强身份感知能力从而增强注意力模块并且抑制漂移。通过这种方式,位置预测和嵌入关联协同作用,增强了跟踪器对于遮挡的鲁棒性。实验表明,提出的TADAM在MOTChallenge上领先于现有的大多数跟踪方法,获得了SOTA的表现。
MOT Introduction
多目标跟踪(MOT)任务目的在于在每一帧中定位目标并且保持其身份标识以形成跨帧轨迹。目前MOT领域的研究主要集中在TBD范式下,也就是将多目标跟踪问题分为两个步骤,首先是每帧上检测出所有目标,然后通过跨帧目标之间的数据关联来形成轨迹,数据关联时身份嵌入(identity embedding)常被用来衡量两个目标的相似性。这种二阶段的策略揭示了两种改进跟踪性能的方式,一种是增强检测,一种则是增强基于嵌入的数据关联。
大多数现有的在线方法通常只解决这两个方面中的一个以获得更好的跟踪结果,然而目前跟踪中最常见的挑战之一,遮挡,会对这两个方面都造成影响。
常见的预测方法很少考虑对象之间的交互,因此在处理遮挡时位置预测是不够强的。在严重遮挡下做的预测可能会导致边界框漂移,即目标的预测位置开始跟随一个邻近的目标,然后由于边界框预测出错提取的嵌入也开始恶化,最终导致帧间关联错误。这种情况下,进行预测反而会对嵌入造成损害,而且,仅仅改善嵌入也只能减少关联阶段的错误而不能阻止位置预测的错误。也就是说,这类方法都是将位置预测和嵌入关联视作两个独立的问题,它们之间没有真正的协同作用。如下图(a)所示,位置预测和嵌入关联并没有在遮挡时从彼此中受益,随着跟踪的进行,目标的位置预测发生了漂移,提取的嵌入也含有了噪声。
在这篇论文中,作者提出了一个统一的模型,将位置预测和嵌入关联联合优化彼此受益,增强了跟踪对于遮挡的鲁棒性并改善了跟踪的性能。为了实现真正的协同作用,作者让一个任务参与到另一个任务的过程中,这两个任务通过由目标注意力模块和干扰注意力模块以及判别性记忆聚合组成的链接桥接在一起。针对关联优化的身份嵌入不仅用于计算亲和度,还用于生成对目标的关注以及通过注意力模块抑制漂移。 大体的思路如图(b)
本文贡献:
- 提出了一个统一的在线 MOT 模型,该模型在位置预测和嵌入关联之间带来了相互增益,从而实现了对遮挡的更强鲁棒性。
- 应用时间感知目标注意力和干扰注意力以及身份感知记忆聚合来链接这两个任务。
- 构建的TADAM跟踪器在MOTChallenge基准上获得了SOTA表现。
Proposed Method—TADAM
Preliminary of position prediction by regression
它优于其他基于视觉线索的预测方法。该方法首先训练一个二阶段的Faster R-CNN检测器,其中RPN被训练用于粗糙的proposal框的生成,一个回归head和分类head被训练用于调整边框和推断框内目标的类别。在跟踪时,第一个阶段的RPN会被丢弃,利用训练好的回归head从其先前位置 B t − 1 t a B_{t-1}^{ta} Bt−1ta 得到预测特征 F t t a F_t^{ta} Ftta来预测目标的新位置 B t t a B_t^{ta} Btta,分类head给出对应的置信度。上面框架图的(a)部分若不和其他部分相连,则描述了这种基于位置预测的跟踪过程。 E t t a E_t^{ta} Etta表示用于关联的嵌入,它随后在嵌入提取步骤获得。位置预测的能力主要来自于用给定的不太准确的框推断紧密拟合的边界框,并采用Faster R-CNN中的四个边的位移的 s m o o t h L 1 smooth L_1 smoothL1 损失来训练,分类head则通过交叉熵来训练。这种位置预测方法摆脱了主动跟踪目标的数据关联,而通过匈牙利算法进行匹配仍然需要通过比较身份嵌入来搜索新检测中丢失目标的重新出现。这篇论文提出的方法目的在于在位置预测设计之上带来跨任务协同作用。
Temporal-Aware Target Attention and Distractor Attention
问题:当对目标 T t a T^{ta} Tta从t-1帧到 t t t 帧进行位置预测时,预测特征 F t t a F_t^{ta} Ftta是根据目标之前的边框 B t − 1 t a B_{t-1}^{ta} Bt−1ta再第 t 帧上提取得到的,目标的新位置则通过 F t t a F_t^{ta} Ftta预测得到。但是,当一个干扰物 T d i T^{di} Tdi离目标很近并且其边界框 B t − 1 d i B_{t-1}^{di} Bt−1di和目标边界框 B t − 1 t a B_{t-1}^{ta} Bt−1ta有较大的重叠的时候,做出一个正确的预测可能是很难的。假定 T t a T^{ta} Tta被 T d i T^{di} Tdi遮挡,即 T d i T^{di} Tdi在目标的前面,那么预测的边框 T t a T^{ta} Tta将更接近 T d i T^{di} Tdi,这是因为 F t t a F_t^{ta} Ftta的很大一部分来自 F t d i F_t^{di} Ftdi ,而这些特征实际上属于 T d i T^{di} Tdi。在这种场景下的连续位置预测可能会导致 B t t a B_t^{ta} Btta逐步偏移向 B t d i B_t^{di} Btdi。
为了解决这个问题,作者引入了一个target-attention(TA)模块来增强 F t t a F_t^{ta} Ftta 中属于 T t a T^{ta} Tta的区域,一个distractor-attention(DA)模块来抑制 F t t a F_t^{ta} Ftta中属于 T d i T^{di} Tdi的部分。
- TA: 由目标最新的原始身份嵌入 E t t a E_t^{ta} Etta和目标的历史聚合嵌入参考 E r t a E_r^{ta} Erta计算得到;
- DA: 根据 E t d i E_t^{di} Etdi和干扰物遮挡参考 E r d i E_r^{di} Erdi计算得到。
简单起见,一个跟踪目标的干扰物选为其附近与其有最大IoU的另一个目标。这两个注意力作用于特征 F t t a F_t^{ta} Ftta 可以获得一个调整后的预测特征 F ~ t t a \tilde{F}_{t}^{t a} F~tta ,因而可以生成 B t t a B_t^{ta} Btta的一个更好的位置预测。为了进一步加强注意力模块的鲁棒性,一个判别性记忆聚合被设计用来随时间提供目标的聚合引用,以使得注意力模块具有判别性和时间感知能力,该模块的细节下文会阐述。
为了增强或者抑制
F
t
t
a
F_t^{ta}
Ftta中的一些区域,计算从参考嵌入
E
r
t
a
E_r^{ta}
Erta投影到新提取的原始嵌入
E
t
t
a
E_t^{ta}
Etta的注意力。嵌入的维度为
R
C
×
H
×
W
\mathcal{R}^{C \times H \times W}
RC×H×W ,
E
t
i
t
a
E_{t_{i}}^{t a}
Etita和
E
r
j
t
a
E_{r_{j}}^{t a}
Erjta表示
E
t
t
a
E_t^{ta}
Etta和
E
r
t
a
E_r^{ta}
Erta上空间上的某个点,因此维度为
R
C
\mathcal{R}^{C}
RC,不难知道
i
,
j
∈
[
1
,
H
W
]
i, j \in[1, H W]
i,j∈[1,HW]。判别性聚合目标参考嵌入
E
r
j
t
a
E_{r_{j}}^{t a}
Erjta 作为输入(如何获得这个参考嵌入下一节详解),一个从历史记忆参考
E
r
j
t
a
E_{r_{j}}^{t a}
Erjta到
E
t
i
t
a
E_{t_{i}}^{t a}
Etita的聚合non-local目标注意力可以形式上表述如下,其中
θ
\theta
θ和
ϕ
\phi
ϕ是计算两者相关性的卷积层,
ρ
\rho
ρ则是另一个用于生成
E
r
j
t
a
E_{r_{j}}^{t a}
Erjta 输出representation的卷积层。
f
(
E
t
i
t
a
,
E
r
j
t
a
)
=
θ
(
E
t
i
t
a
)
ϕ
(
E
r
j
t
a
)
ρ
(
E
r
j
t
a
)
(1)
f(E_{t_{i}}^{t a},E_{r_{j}}^{t a})=\theta (E_{t_{i}}^{t a})\phi(E_{r_{j}}^{t a})\rho(E_{r_{j}}^{t a}) \tag{1}
f(Etita,Erjta)=θ(Etita)ϕ(Erjta)ρ(Erjta)(1)
通过序列化 E r j t a E_{r_{j}}^{t a} Erjta上的j 和 E t i t a E_{t_{i}}^{t a} Etita上的i 之间的所有位置对,可以获得从参考reference E r t a E_{r}^{t a} Erta 到新嵌入 E t t a E_{t}^{t a} Etta的整体非局部注意力。由于 E r t a E_{r}^{t a} Erta是具有身份感知记忆的聚合,因此这个过程成为了目标历史参考和当前帧嵌入之间的判别性聚合非局部注意力。
类似的,判别性聚合非局部干扰物注意力按照下式求得
g
(
E
t
i
t
a
,
E
r
j
d
i
)
=
θ
(
E
t
i
t
a
)
ϕ
(
E
r
j
d
i
)
ρ
(
E
r
j
d
i
)
(2)
g(E_{t_{i}}^{t a},E_{r_{j}}^{di})=\theta (E_{t_{i}}^{t a})\phi(E_{r_{j}}^{di})\rho(E_{r_{j}}^{di}) \tag{2}
g(Etita,Erjdi)=θ(Etita)ϕ(Erjdi)ρ(Erjdi)(2)
目标注意力中具有较大值的位置,那么这些部分更可能属于目标,而干扰注意力中具有较大值的位置,这些区域则更有可能属于干扰物。因此可以使用下面的式子精细调整特征图,得到
F
~
t
t
a
\tilde{F}_{t}^{t a}
F~tta,
F
~
t
t
a
=
F
t
t
a
⊕
w
[
f
(
E
t
i
t
a
,
E
r
j
t
a
)
⊖
g
(
E
t
i
t
a
,
E
r
j
d
i
)
]
(3)
\tilde{F}_{t}^{t a}=F_t^{ta}\oplus w[f(E_{t_{i}}^{t a},E_{r_{j}}^{t a})\ominus g(E_{t_{i}}^{t a},E_{r_{j}}^{di})] \tag{3}
F~tta=Ftta⊕w[f(Etita,Erjta)⊖g(Etita,Erjdi)](3)其中f和g表示两个注意力计算的向量化,
⊕
\oplus
⊕和
⊖
\ominus
⊖则表示逐元素相加和相减,w表示一个用于调节注意力输出值的权重,
E
t
t
a
E_{t}^{t a}
Etta是当前帧上的嵌入,
E
r
t
a
E_{r}^{t a}
Erta和
E
r
d
i
E_{r}^{d i}
Erdi则是从相应的记忆中取得的判别性目标参考和干扰参考。这两个注意力的组合在整个框架图上如(b)部分所示,使用上面注意力后的
F
~
t
t
a
\tilde{F}_{t}^{t a}
F~tta来进行位置预测,目标的位置
B
t
t
a
B_t^{ta}
Btta可以在更多关注目标更少关注干扰的前提下完成。
一种简单情况:
虽然来自TA的增强和来自DA的抑制使位置预测更加集中和更少分心,但它们对于简单的情况不一定有用,尤其是在几乎没有遮挡的目标上
因此,在上面整个注意力公式中使用一个固定的权重w来控制所有程度遮挡下的注意力输出,显然是次优的。经历严重遮挡的目标应该期待更大的增强和更强的抑制,而那些与邻居几乎没有重叠的目标应该保持原样,不进行处理。因此,为了解决这个问题,一个对于目标注意力和遮挡注意力的自适应权重被设计如下,其中
i
o
u
(
,
)
iou(,)
iou(,)表示两个框的交并比,
B
t
t
a
B_t^{ta}
Btta表示目标框,
B
t
d
i
B_t^{di}
Btdi表示相应的干扰框,
o
min
o_{\min }
omin表示加权生效的最小重叠值,
m
a
x
(
,
)
max(,)
max(,)表示两个输入的最大值。
w
=
m
a
x
(
i
o
u
(
B
t
t
a
,
B
t
d
i
)
−
o
m
i
n
,
0
)
1
−
o
m
i
n
(4)
w=\frac{max(iou(B_t^{ta},B_t^{di})-o_{min},0)}{1-o_{min}} \tag{4}
w=1−ominmax(iou(Btta,Btdi)−omin,0)(4)可以发现,当目标和干扰物IoU大于
o
m
i
n
o_{min}
omin时上述权重非零且在0和1之间取值,否则上述权重为0。在参与进一步细化之前,目标注意力和干扰注意力的输出由这个权重自适应地调节。也就是说,目标注意力和干扰注意力不参与简单情况,而它们的大部分结果用于处理更严重的情形。
Identity-Aware Memory Aggregation
在每一帧上,TA和DA使用当前帧的原始目标嵌入
E
t
t
a
E_t^{ta}
Etta 来生成修正后的特征
F
~
t
t
a
\tilde{F}_{t}^{t a}
F~tta 。类似的,
E
t
t
a
E_t^{ta}
Etta也被注意力处理为修正后的嵌入
E
~
t
t
a
\tilde{E}_{t}^{t a}
E~tta 用于关联和聚合,这个过程和
F
~
t
t
a
\tilde{F}_{t}^{t a}
F~tta生成公式类似。由于要聚合的
E
~
t
t
a
\tilde{E}_{t}^{t a}
E~tta的维度为
R
C
×
H
×
W
\mathcal{R}^{C \times H \times W}
RC×H×W,聚合后产生的参考特征需要空间维度进行attention计算,所以我们必须保留聚合前后的空间信息。此外,对于整体聚合,聚合应该能够自动确定输入是否值得更新,而不是存储每个输入的累积。为了解决这些问题,我们设计了一个带有卷积门控循环单元 (GRU) 的判别性记忆模块,其中 GRU 中的矩阵乘法被卷积替换。这为跨帧的时间关系建立了记忆并保持了空间维度。聚合嵌入记忆的更新用下式进行描述,这个update()为记忆更新函数,
E
r
t
−
1
E_{r_{t-1}}
Ert−1表示之前的记忆状态,
E
r
t
E_{r_{t}}
Ert表示使用
E
~
t
\tilde{E}_{t}
E~t和
E
r
t
−
1
E_{r_{t-1}}
Ert−1更新得到的聚合嵌入。这个公式同时适用于目标和干扰,update()和GRU论文中状态计算一致,只不过点积换成了卷积以适用于二维输入。
E
r
t
=
u
p
d
a
t
e
(
E
~
t
,
E
r
t
−
1
)
(5)
E_{r_{t}}=update(\tilde{E}_{t},E_{r_{t-1}}) \tag{5}
Ert=update(E~t,Ert−1)(5)
记忆聚合与嵌入提取的联合学习
从各自的记忆中检索到的目标参考嵌入和干扰参考嵌入需要在它们的嵌入空间中很好地分离。否则,注意力模块的输出不会对指定位置产生正确的注意力,而是会在属于任何对象的区域之间产生相似级别的响应。同时,由于用于数据关联的嵌入最初需要在没有聚合的情况下可以区分,当然希望所有嵌入在记忆聚合(memory aggregation)之前和之后都能区分身份。为此,作者采用一个联合判别性学习过程来优化时间聚合和嵌入生成。
从骨干网络提取的目标嵌入首先经过四个状态初始化卷积层,这使得它可以区分不同的 i d id id 。如果它不是序列中的第一个嵌入,那么就用上面的公式更新它以进行后续的聚合以及判别性学习。上述两个过程使用两个判别性id损失联合训练,一个交叉熵损失计算预测id和真实id之间的差距,另一个三元组损失用于最大化不同id间的差异同时最小化相同id内的差异。
当给定长度为 1 的输入进行聚合时,实际上获得了没有实际聚合的结果嵌入。 因此,可以通过提供single-length输入,将记忆模块用作框架中的嵌入提取方法。 随着同一个目标的输入变长,记忆聚合不断生成聚合的判别性嵌入。 通过这种方式,就可以实现记忆聚合和嵌入提取的联合优化。
最后,来整体回顾 T A D A M TADAM TADAM框架是如何做到任务间的协同作用的——通过聚合判别性嵌入,可以在关注目标和抑制干扰的注意力模块中获得更正确的注意力。在位置预测中应用注意力会导致更强的漂移抵抗力。 相反,在复杂场景中使用更正确和更长的预测边界框,我们可以积累更多由注意力模块细化的嵌入,并通过聚合为它们提供更可靠的表示。