跳转至

Multiple Object Tracking as ID Prediction

会议: CVPR 2025
arXiv: 2403.16848
代码: https://github.com/MCG-NJU/MOTIP
领域: 目标检测/多目标跟踪
关键词: 多目标跟踪, ID预测, in-context learning, DETR, 端到端

一句话总结

本文提出MOTIP,将多目标跟踪中的目标关联问题重新定义为in-context ID预测任务:给定携带ID嵌入的历史轨迹,直接用标准Transformer解码器预测当前检测的ID标签,无需启发式匹配算法即在DanceTrack上以69.6 HOTA大幅超越前SOTA CO-MOT (65.3)。

研究背景与动机

领域现状:多目标跟踪(MOT)主流范式分为两类:(1) Tracking-by-Detection(如ByteTrack、OC-SORT)依赖卡尔曼滤波+手工匹配规则;(2) Tracking-by-Propagation(如MOTR、CO-MOT)用track query在帧间传播但检测和跟踪query的联合解码存在冲突。

现有痛点:(1) 启发式匹配算法(Hungarian、IoU匹配)依赖人工先验,面对非线性运动和相似外观时失效,每次改进都需大量人工分析和超参调优;(2) Track query方法的检测-跟踪冲突导致联合解码性能受限;(3) ReID方法虽用分类监督训练,推理时仍需余弦相似度+匹配规则,训练-推理不一致。

核心矛盾:传统分类无法处理推理时遇到的"未见过的轨迹ID"(分布外问题),导致无法直接将关联建模为分类任务。

本文目标 设计一种端到端关联方法:(1) 训练和推理流程一致;(2) 保持检测和关联的解耦以避免冲突;(3) 不依赖任何手工匹配规则。

切入角度:MOT中的ID标签本质上是表示"一致性"而非"语义类别"——一条轨迹只要在所有帧中预测相同label就算正确,不需要预测特定的固定数字。因此可以随机分配ID嵌入作为in-context prompt,将关联转化为分布内的分类问题。

核心 idea:用可学习ID字典为每条轨迹分配随机ID嵌入作为上下文提示,然后用标准Transformer Decoder将当前检测的关联转化为K+1类分类问题。

方法详解

整体框架

输入视频帧经Deformable DETR检测得到目标级特征和检测框。维护一个ID字典(K+1个可学习嵌入)。历史轨迹的目标特征与对应ID嵌入拼接形成tracklet token。当前帧检测的特征与特殊token \(i^{spec}\) 拼接后作为Query,历史tracklet作为Key/Value输入标准Transformer Decoder,输出经线性分类头预测K+1类ID标签。

关键设计

  1. In-context ID Prediction范式

    • 功能:解决传统ID分类的分布外泛化问题
    • 核心思路:为每条活跃轨迹 \(\mathcal{T}^m\) 随机分配ID标签 \(k_m \in \{1, ..., K\}\),对应ID嵌入 \(i^{k_m}\)。预测时只需根据历史携带的ID信息预测相同标签,而非全局固定标签
    • 设计动机:MOT的ID不重要,重要的是"一致性"。允许随机分配使得推理时遇到的任何新轨迹的预测结果仍在 \(\{1, ..., K+1\}\) 分布内
    • 实际设K=50,通过回收已结束轨迹的ID处理长视频
  2. Tracklet Token构造(特征+ID嵌入拼接)

    • 功能:将跟踪线索和身份提示融合为统一表示
    • 核心操作:\(\tau_t^{m, k_m} = \text{concat}(f_t^m, i^{k_m})\),其中 \(f_t^m\) 是C维DETR输出嵌入,\(i^{k_m}\) 是C维可学习ID嵌入,拼接后为2C维
    • 设计动机:拼接而非加法使ID信息和外观信息保持独立通道,便于ID Decoder分别利用两种线索
    • 当前帧检测使用特殊token \(i^{spec}\) 替代ID嵌入,表示"身份未知"
  3. 轨迹增强策略(Trajectory Augmentation)

    • 功能:弥补训练时使用GT轨迹导致的过拟合
    • 两种增强:(a) 随机遮挡(Random Occlusion):以 \(\lambda_{occ}\) 概率随机丢弃轨迹中的token,模拟遮挡;(b) 随机交换(Random Switch):以 \(\lambda_{sw}\) 概率交换同一帧内两条轨迹的ID token,模拟推理时的错误ID分配
    • 设计动机:推理时轨迹可能因遮挡或相似目标的错误匹配而受损,训练中引入类似噪声增强鲁棒性
    • 两者概率均设为0.5

损失函数

\[\mathcal{L} = \lambda_{cls}\mathcal{L}_{cls} + \lambda_{L1}\mathcal{L}_{L1} + \lambda_{giou}\mathcal{L}_{giou} + \lambda_{id}\mathcal{L}_{id}\]

前三项为DETR标准检测损失(Focal + L1 + GIoU),第四项 \(\mathcal{L}_{id}\) 为标准交叉熵ID分类损失。权重分别为2.0、5.0、2.0、1.0。整个模型端到端训练,DanceTrack上8块RTX 4090不到一天。

实验关键数据

主实验:DanceTrack测试集(Table 1)

方法 额外数据 HOTA↑ DetA AssA↑ IDF1
ByteTrack 47.7 71.0 32.1 53.9
OC-SORT 55.1 80.3 38.3 54.6
CO-MOT 65.3 80.1 53.5 66.5
MOTIP 69.6 80.4 60.4 74.7
MOTRv2 69.9 83.0 59.0 71.7
MOTIP 72.0 81.8 63.5 76.8

SportsMOT测试集(Table 2)

方法 HOTA↑ AssA↑
OC-SORT 68.1 54.8
MeMOTR 68.8 57.8
MOTIP 72.6 63.2

消融实验(Table 4,DanceTrack验证集)

self-attn 轨迹增强 HOTA AssA
57.7 43.9
60.2 48.2
69.6 60.4

关键发现

  • 在最具挑战性的DanceTrack上HOTA超CO-MOT 4.3个点,AssA超6.9个点(无额外数据)
  • 不使用额外数据的MOTIP (69.6)已接近使用额外数据的MOTRv2 (69.9)
  • 不使用Hungarian算法的简单argmax推理即达SOTA,说明模型本身已学会全局最优关联
  • BFT鸟类跟踪上同样SOTA(70.5 HOTA),验证跨场景泛化能力

亮点与洞察

  1. 重新定义问题空间:将MOT关联从"距离度量+匹配"转为"上下文ID预测+分类",优雅地解决了推理时分布外问题
  2. 极简架构,强大效果:整个ID预测模块就是一个标准Transformer Decoder + 线性分类头,没有任何定制结构
  3. 轨迹增强的重要性:随机遮挡+随机交换带来的HOTA提升(60.2→69.6)说明训练-推理gap是端到端MOT的关键瓶颈
  4. Self-attention的隐式匹配功能:检测间的自注意力让模型能交换身份信息避免重复分配,使得甚至不需要Hungarian算法

局限性

  1. 推理策略较为简单(argmax+阈值),更复杂的ID分配策略可能进一步提升
  2. 仅使用目标级特征作为跟踪线索,未利用位置/运动信息(虽然结果已很好)
  3. K=50限制了单帧最大目标数,超密集场景可能需要调整
  4. 对检测质量有较强依赖,DETR检测器的性能直接影响跟踪上限

相关工作与启发

  • MOTR/MeMOTR:Track query传播范式,MOTIP的解耦设计避免了检测-跟踪冲突
  • CO-MOT:将检测query分为track和detect两组减少冲突,MOTIP更彻底地解耦
  • In-context Learning:MOTIP借鉴了NLP中的上下文学习思想——给定历史"提示"预测当前标签
  • ReID方法(FairMOT等):训练用分类、推理用余弦相似度的不一致问题,MOTIP完全解决

评分

  • ⭐ 创新性:9/10 — 将MOT关联重新定义为in-context ID预测,思路新颖且直击要害
  • ⭐ 实验完备性:9/10 — DanceTrack/SportsMOT/BFT三个基准全面SOTA,消融充分
  • ⭐ 实用价值:8/10 — 架构简洁易复现,8块4090一天训练完
  • ⭐ 总体:9/10 — 开创性的MOT关联范式,"简单到令人惊讶"的设计取得压倒性优势

相关论文