文章目录
本文仅作个人学习使用
论文地址:MeMOTR
项目地址:MeMOTR
参考:[ICCV 2023] MeMOTR:长时记忆力增强的Transformer 多目标跟踪器 - 知乎 (zhihu.com)
📖论文概述
🌐背景
- 大多数现有的 MOT 方法只利用相邻帧之间的对象特征,而缺乏对长期时间信息建模的能力。
- 行人跟踪数据集(如 MOT17)的运动模式几乎是线性的,因此在目标关联方面没有足够的挑战。
- 在一些复杂的场景中,如集体舞者和体育运动员,将目标联系起来成为一项关键挑战。这些相似的外观和不稳定的运动可能会导致现有方法失败。
📋目的
对于每一个目标的 track query 来说,其应该具有如下良好的特性:
- 同一个 ID 所对应的 track query 随时间的变化应该尽可能平滑,因为对于视频中的目标来说,他们在帧与帧之间的变化往往是缓慢细微的、不易突变的。
- 不同 ID 所对应的 track query 应该尽可能可区分,这样有利于在后续帧中对不同目标进行更好的定位,减少 ID 错误的情况。
目的:更智能地利用时间信息,为跟踪器提供更有效和鲁棒的每个跟踪目标表示,从而缓解上述问题并提高跟踪性能。
💡创新点
-
leverage temporal information by proposing a long-term Memory-augmented Multi-Object Tracking method with TRansformer, coined as MeMOTR.
-
将长时记忆(Long-Term Memory)注入到 track query 中,以获取更加稳定的特征表示。
-
构建了 Memory-Attention Layer,利用 self-attention 使不同 ID 的目标之间进行响应,从而获取更加可区分的特征表示。
-
将第一层 DETR Decoder 作为 detection only 模式,使其与来自上一帧的 track query 尽可能对齐,从而减少特征不对齐所产生的负面影响。
📚文献综述
Tracking-by-Detection
Tracking-by-Query
通常不需要额外的后处理来关联检测结果。而是应用跟踪查询来逐步解码被跟踪对象的位置。
然而,基于查询的方法通常利用相邻帧的信息。尽管跟踪查询可以随着时间的推移不断更新,但大多数方法仍然没有明确利用较长的时间信息。
🔍方法
在现有的 Transformer-based 多目标跟踪框架中,detect query 和 track query 被同时输入到 DETR Decoder 中,进行六层的连续解码,得到最终目标的 bounding box 和 classification。
DETR 中的 detect query
扮演了一个类似于可学习 anchor 的角色,它往往不具备丰富的语义信息;但是 track query
是来自于上一帧的 DETR Decoder 的输出,其具有用于表示该目标的丰富语义信息。因此从直觉上来说,将这两者同时输入到一个模块中,由于两者的语义信息无法对齐,因此很可能引起冲突,从而对网络带来负面影响。
🧬框架
Detection Decoder
将 DETR Decoder 划分成为两部分:
第一层命名为 Detection Decoder,只输入可学习的 detect query
,输出包含了语义信息的 detect query,并且与来自上一帧的 track query
一同输入到后续五层的 Joint Decoder 中进行同步解码,以减少语义不对齐带来的影响。
为了加以区分,我们将没有携带语义信息的可学习目标检测 query 称为 detect query
(记作
Q
d
e
t
Q_{det}
Qdet),将经过第一层 Decoder 之后携带了语义信息的对应输出称为 detect embedding
,记作
E
d
e
t
t
E^t_{det}
Edett,同时,将来自上一帧的 track query
称作 track embedding 以对齐,记作
E
t
c
k
t
E^t_{tck}
Etckt。
Long-Term Memory
每当一个新目标产生的时候,我们利用它本身的特征向量创建一个对应的长时记忆向量
M
t
c
k
t
M^t_{tck}
Mtckt。由于目标会随着时间逐渐发生外观上的转变,因此我们需要不断更新这个长时记忆向量。我们认为目标在连续帧之间的改变往往是平滑的,因此我们采用了指数衰减移动平均数(running average with exponentially decaying weights)来更新这一向量,如下式所示:
M
t
c
k
t
+
1
=
(
1
−
λ
)
M
t
c
k
t
+
λ
⋅
O
t
c
k
t
M_{tck}^{t+1}=(1−λ) M_{tck}^t+λ⋅O_{tck}^t
Mtckt+1=(1−λ)Mtckt+λ⋅Otckt
在实现中,
λ
\lambda
λ 设定在一个非常小的数值(0.01),这样可以保证相邻帧同一个目标的长时记忆向量只发生轻微的改变,从而确保其随着时间进行平滑稳定的更新而不易发生突变。
Temporal Interaction Module
Adaptive Aggregation for Temporal Enhancement
将当前帧与前一帧的输出向量动态结合,输出融合后的特征。这种利用相邻帧进行增强的方式在视频理解中较为常见,在 MOT 领域,例如 MOTR、TrackFormer 中都有类似的做法,它可以有效的增强对视频中物体的表示,并且获得更加鲁棒的特征。
Generate Track Embedding
由于同一帧中有多个相似的对象,学习更多的判别表征对跟踪器也至关重要。因此,采用一种称为记忆-注意层 (memoryattention layer)的多头注意力结构来实现不同轨迹之间的这种相互作用。并且对于每个目标经过 Memory-Attention Layer 之后输出的向量,我们通过简单的加法向其中注入对应目标的长时记忆向量。
📌结论
在 DanceTrack 上达到 SOTA,但在 MOT 17 上比不过传统的 Tracking-by-Detection 方法。
在这篇文章提出了一个使用长时记忆向量增强的 query-based 多目标跟踪器,将更长的时序信息注入到跟踪过程中,从而显著提升了多目标跟踪的性能。