MOTR: End-to-End Multiple-Object Tracking with Transformer

论文 代码

MOTR是基于Transformer的MOT,是第一个真正严格意义上端到端的多目标跟踪框架,超越了此前的TransTrack和TrackFormer等工作。

Motivation

时域建模是MOT的关键挑战,现有方法通过运动和外观相似度来关联检测结果进行跟踪。这种关联后处理无法端到端地利用时域信息。本文扩展DETR提出了MOTR,引入了track query来建模视频中的跟踪实例。track query在帧间传输和更新,逐帧迭代预测目标轨迹。主要贡献包括:

  1. 提出了端到端的MOT框架。MOTR隐式地联合学习外观和运动变化,建模目标的长时变化
  2. 将MOT看成一个序列预测问题,根据历史隐状态生成track query,进行迭代更新和预测
  3. 提出tracklet-aware label assignment为track query和跟踪目标分配一对一的标签,使得一个query负责建模一个目标的整个轨迹。提出进出机制entrance and exit mechanism来处理新出现和丢失的目标
  4. 提出collective average loss(CAL) 和temporal aggregation network (TAN)来强化时域建模能力

图1展示了DETR和本文的MOTR的示意图,二者在结构上很相似,主要区别在于MOTR是序列预测,输入多帧,其次是track query是迭代更新的。

Method

Detect query and track query

首先介绍两种不同的query,detect query就是DETR中的query。而track query是动态更新且长度可变的,一开始被初始化为空。用detect query来检测新出现的目标,被检测目标的detect query用于产生下一帧的track query。当目标消失时,track query会被删除。整个过程参考图2。

Tracklet-Aware Label Assignment

在MOTR中,detect query仅用于检测新出现的目标,而track query预测所有被跟踪物体。为了实现这一目的,引入了跟踪感知标签分配(TALA)。训练时输入的是序列图像。对于每一帧,detect query按照DETR的二分匹配为新出现的目标分配标签,track query为已经跟踪上的目标分配和上一帧一样的标签。

MOTR Architecture

整体框架如图3所示,视频序列首先送入backbone和Deformable DETR encoder提取特征。第一帧中,没有track query,只使用固定长度的detect query送入Deformable DETR decoder。后续帧中,将前一帧的track query和detect query拼接送入decoder,生成用于预测目标框的隐状态(hidden state)。这个隐状态还会送入query interaction module (QIM)来生成下一帧的track query。

Query Interaction Module

QIM包括object entrance and exit mechanism 和temporal aggregation network (TAN)两部分。

Object Entrance and Exit 目标进出机制用于处理新目标的出现和旧目标的消失。如图4左半部分,将track query和detect query拼接送入decoder,生成隐状态。detect的隐状态用于判断目标进入(a),track的隐状态用于判断目标离开(b)。

推理时(a)中分类得分大于阈值的会被保留作为新出现的目标;(b)中分类得分连续M帧都小于阈值的会被移除作为丢失的目标。

Temporal Aggregation Network TAN用来融合历史信息到当前帧的track query。简单来说就是将上一帧的track query和当前帧处理后的隐状态一起送入transformer decoder中。

Collective Average Loss

MOTR需要从数据中学习时域变化,因此训练输入视频片段(video clips),CAL就是把视频每一帧的loss求平均。

与TransTrack和TrackFormer区别

TransTrack 传统的TBD结构,需要额外的IOU匹配。MOTR不需要,可以端到端训练

TrackFormer 关于track query的定义是一样的。但是TrackFormer 利用相邻两帧训练,只能做很短的弱时域关联,因此需要额外的NMS和RE-ID特征来过滤结果。MOTR学习长时的时域关联,不需要启发式的后处理

Experiments

MOT17对检测质量的要求比较高,所以那些解耦检测和跟踪(或关联)的方法表现更好。而本文的联合框架会吃亏,因为detect query需要抑制检测已经被跟踪的目标,可能会出现误判导致检测不到新出现的目标。

Limitations

  • 检测性能不够好,MOTA指标不高。如上所述,detect query会避免去检测已经跟踪上的目标,这可能违背了目标查询的本质,限制了对新目标的检测性能;

  • query的传递是逐帧的,无法并行化,限制了训练时模型学习的效率。