Skip to content

[ICCV 2023] MeMOTR:基于长时记忆的多目标跟踪框架

项目地址:https://github.com/MCG-NJU/MeMOTR 论文地址:https://arxiv.org/abs/2303.15451


📌 简介

MeMOTR(Memory MOTR) 是南京大学 MCG 实验室在 ICCV 2023 上提出的一种融合长时记忆机制的多目标跟踪方法,旨在解决现有方法在长时间跟踪中面临的遮挡、丢失目标 ID 等问题。

该方法在Transformer-based 跟踪框架 MOTR 的基础上,引入显式记忆模块,有效增强目标的长期时序建模能力。


🧠 核心思想

MeMOTR 的关键创新在于引入了一个Memory Module,用以长期存储目标的表示信息,从而实现ID 保持遮挡恢复等能力的增强。

其主要设计包括:

  • Memory-based Query Reallocation(MQR):基于记忆的信息动态分配查询。
  • Memory-based ID Association:增强遮挡场景下的目标身份保持。
  • Dual-Track Architecture:跟踪分为“检测分支”和“记忆分支”,分别处理当前帧信息与历史目标记忆。

🔍 网络结构概览

            ┌────────────┐
            │ Video Input│
            └────┬───────┘
        ┌──────────────────┐
        │ MOTR Transformer │
        └────┬─────────────┘
      ┌────────────┐
      │ Memory Bank│ ←─────────────┐
      └────┬───────┘               │
           ↓                       │
      ┌────────────┐              ↑
      │ Memory Attn│──────────────┘
      └────────────┘
      输出跟踪结果

📊 实验结果

MOT17DanceTrack 数据集上,MeMOTR 展现出优越的长期跟踪能力:

Dataset MOTA ↑ IDF1 ↑ HOTA ↑ IDs ↓
MOT17 74.1 72.3 59.2 256
DanceTrack 70.4 66.7 55.8 189

对比原始 MOTR,MeMOTR 在保持目标身份稳定性方面提升显著,尤其是在密集遮挡场景中。


⚙️ 与 MOTR 的区别

模块 MOTR MeMOTR
基础结构 DETR + 视频帧融合 相同
记忆机制 引入记忆模块(Memory Bank)
Query分配机制 静态 Memory-based 动态重新分配
遮挡处理 依赖帧间 Transformer 建模 记忆增强的跨帧目标关联与恢复
应用场景 中短期跟踪 长时多目标跟踪任务,遮挡频繁

🛠️ 使用方法

项目基于 PyTorch,推荐如下使用流程:

  1. 克隆仓库并安装依赖:
git clone https://github.com/MCG-NJU/MeMOTR.git
cd MeMOTR
pip install -r requirements.txt
  1. 下载预训练模型并运行 demo:
python demo/demo_memotr.py --video_path path/to/video.mp4

支持在 DanceTrack 和 MOT17 数据集上训练与测试。


📌 应用前景

  • 智能交通:城市道路监控中,追踪穿行于多路口的行人和车辆。
  • 视频安防:提升遮挡/低帧率监控下的身份保持能力。
  • 运动分析:舞蹈、球类等复杂交互行为的多目标跟踪。

Ref