QDTrack: Towards Real-Time Multiple Object Tracking with Joint Detection and Association
📌 论文链接:https://arxiv.org/abs/2210.06984 📦 项目代码:https://github.com/SysCV/qdtrack
🔍 背景简介
QDTrack(Quasi-Dense Tracker) 是由慕尼黑工业大学与商汤科技联合提出的一种基于检测器的多目标跟踪(MOT)方法,属于 Tracking-by-Detection 框架下的研究成果。
核心思想是:利用目标检测器中提取的密集特征(quasi-dense feature)进行帧间关联,无需复杂的重识别(Re-ID)网络或外部检测器模块,实现更简洁且高效的端到端 MOT 系统。
🧠 方法概述
QDTrack 采用标准的目标检测器(如 Faster R-CNN)为基础,添加一个轻量级的关联模块,在保持精度的同时,提升了处理速度。
✅ 核心模块
-
检测器(Detector) 使用如 Faster R-CNN、Cascade R-CNN 等成熟检测器作为基础框架。
-
密集特征提取(Quasi-Dense Feature Extraction) 使用 ROIAlign 从特征图中提取目标区域特征,不再依赖传统 ReID 模块。
-
帧间相似度建图(Affinity Estimation) 对前一帧和当前帧的目标候选区域做特征比对,计算相似度(例如 cosine 距离)。
-
轨迹分配(Track Assignment) 使用匈牙利匹配算法完成帧间关联。
🔧 技术细节
| 项目 | 说明 |
|---|---|
| 检测器 | Faster R-CNN, Cascade R-CNN 等 |
| 特征提取方式 | ROIAlign + 共享主干 CNN |
| 匹配策略 | Top-K 最近邻 + 匈牙利算法匹配 |
| 数据集 | MOT17、MOT20 |
| 训练策略 | 分阶段训练(先检测器,后关联模块) |
| 推理速度 | 快于传统 ReID 基方法,适合实时场景部署 |
📊 实验结果
QDTrack 在多个主流数据集(如 MOT17、MOT20)上达到了 SOTA 性能,尤其在速度和精度的权衡上表现出色。
| 数据集 | MOTA↑ | IDF1↑ | HOTA↑ | FPS↑ |
|---|---|---|---|---|
| MOT17 | 69.7 | 65.2 | 59.3 | 15+ |
| MOT20 | 65.6 | 60.1 | 54.5 | 10+ |
🔁 与其他方法对比
| 方法 | 特点 |
|---|---|
| QDTrack | 无需 ReID,利用检测器内特征进行端到端关联 |
| CenterTrack | 检测与跟踪共享主干,目标回归偏移预测 |
| FairMOT | 基于 anchor-free,融合 ReID 和检测目标 |
| ByteTrack | 基于 IOU 匹配,速度快但缺少语义关联能力 |
QDTrack 以“轻量级、高效率、可扩展”的优势在工业界和学术界中均具良好适用性。
📦 快速使用(基于 MMTracking)
QDTrack 已集成至 MMTracking,使用方式如下:
# 安装 MMTracking 环境
git clone https://github.com/open-mmlab/mmtracking.git
cd mmtracking
pip install -v -e . # or python setup.py develop
# 下载预训练模型并运行推理
python demo/demo_mot_vis.py \
configs/mot/qdtrack/faster-rcnn_r50_fpn_4e_mot17halftrain_test-qmtrack.py \
checkpoints/qdtrack_faster-rcnn.pth \
--input your_video.mp4 --show
🧠 适用场景
- 视频监控系统中的人员/车辆跟踪
- 智能交通(车流分析、车道监控)
- 零售店行为分析
- 工业机器人动态目标跟踪