一句话定义
多目标跟踪(MOT)用「检测器逐帧给框 + 跟踪器维护每条轨迹的运动状态」的 tracking-by-detection 范式组织全视频:SORT 用卡尔曼滤波预测 + IoU 匹配实现实时,DeepSORT 加外观 ReID 特征与级联匹配抗遮挡,轨迹全生命周期(确认/丢失/删除)由状态机管理。
为什么重要
视频结构化的一切上层指标(客流计数、轨迹分析、跨镜追踪、行为事件)都建立在「同一物理目标跨帧身份不变」之上;SORT 用 200 行代码证明「预测 + 匹配」的框架有效性,是理解所有现代 MOT 系统(ByteTrack、OC-SORT 等)的公共骨架。
直观类比
空中交通管制:雷达每帧报出所有飞机的新位置(检测),管制员手里有一张「旧航迹 × 预测位置」的表(卡尔曼预测),把新报告与预测一一配对(匈牙利算法求全局最优指派),配不上的旧航迹进入「失联待观察」,连续失联才销户,新报告才会开户——身份管理系统加上运动预测,就是 MOT。
前置知识
kp-023(单目标跟踪与轨迹连续性概念);kp-017(IoU 与检测输出)。
核心概念
- Tracking-by-Detection:检测为主、关联为辅的现代 MOT 主范式。
- 卡尔曼滤波(KF):线性高斯下的运动状态估计,预测 + 更新两步。
- 匈牙利算法:在代价矩阵上求全局最优一对一指派。
- 运动代价:预测框与检测框的 IoU(SORT)或马氏距离(DeepSORT)。
- 外观 ReID 嵌入:DeepSORT 用行人重识别网络给每个框一个外观向量,余弦距离参与匹配。
- 轨迹状态机: Tentative(待确认)→ Confirmed → Lost → Deleted,用命中/失踪计数器驱动。
- 评测指标:MOTA 综合漏检/误检/身份切换,IDF1 衡量身份一致性。
原理与机制
SORT 的完整循环:每条轨迹维护 KF 状态(框中心、面积、长宽比及各自速度);每帧先用运动模型预测本帧位置,然后与检测器输出构造代价矩阵(1 − IoU),匈牙利算法求最小代价指派;配对成功用检测更新 KF 与轨迹「命中数」,未配对轨迹「失踪数 + 1」,连续失踪超过阈值删除;连续数帧都有配对的新轨迹才转正(抑制误检轨迹)。DeepSORT 在此之上:匹配分两级——对 Confirmed 轨迹先用外观余弦距离 + 马氏距离门限做级联匹配(优先匹配近期轨迹),再对剩余用 IoU 匹配兜底,遮挡数十帧仍可重连。指标含义必须分清:MOTA 可为负(误检多于真值时),它不直接度量身份质量,身份质量看 IDSW 与 IDF1。
公式与模型
KF: x̂ₜ = F·x̂ₜ₋₁ (预测) xₜ = x̂ₜ + K(zₜ − H·x̂ₜ) (更新)
代价: C(i, j) = 1 − IoU(track_i, det_j)
指派: 匈牙利算法求 min Σ C(i, π(i)) 的最优一对一匹配
MOTA = 1 − ( FN + FP + IDSW ) / Σ GT
IDF1 = 全局最优身份指派下正确识别帧数 / 全部检测帧数图示
实例与案例
商场客流与热区分析:行人检测 + DeepSORT 输出各顾客轨迹,入口线穿越计数即客流;轨迹驻留时长即热区。球场战术板:全场自下而上姿态(kp-020)+ MOT 输出每名球员的时序轨迹。路口监控的车牌级跟踪:检测 + 轨迹 + 轨迹末帧抠车牌,规避逐帧 OCR 的重复计算。ByteTrack 的工程启示:低分检测框不再丢弃而是参与第二轮匹配,显著降低遮挡期 IDSW,说明「关联策略的收益可大于换更强检测器」。
# SORT 风格主循环(伪代码骨架)
tracks = kf.predict_all() # 预测全部轨迹
C = 1 - iou_matrix(tracks, detections) # 代价矩阵
pairs = hungarian(C) # 全局最优指派
for t, d in pairs: kf.update(t, detections[d])
unmatched_tracks.age += 1; delete_if_age_gt(max_age)
for d in unmatched_dets: spawn_tentative_track(d)常见误区
- 以为 MOTA 高就是身份对:MOTA 主要由检测质量决定(FN+FP 权重大),身份质量必须看 IDSW/IDF1。
- 检测器可以随便换:MOT 的上限由检测召回决定,遮挡场景换更强检测器的收益常大于调跟踪参数。
- 轨迹状态机可有可无:没有 Tentative 阶段会把每个误检都立为轨迹,IDSW 与假轨迹爆炸。
- 外观特征离线训练就想用:ReID 模型与场景强相关(监控视角、着装风格),跨场景需重训或微调。
与其他知识点的关系
逐帧框来自 kp-017;关联与身份管理的思想在 kp-014 回环、kp-023 重检测中都有对应物;关键点轨迹(kp-020)是 MOT 输出的常见下游。
自测题
- SORT 的三个组件及其各自作用是什么?
答案要点:KF 做运动预测平滑与短时外推;匈牙利算法在 IoU 代价矩阵上全局最优指派;轨迹状态机管理确认与删除。
- DeepSORT 相比 SORT 加了什么、解决什么?
答案要点:外观 ReID 嵌入 + 级联匹配与马氏门限;遮挡后凭外观重连,降低 IDSW。
- 为什么 MOTA 可能为负?
答案要点:误检与身份切换总数超过真值总数时,1 − (FN+FP+IDSW)/GT < 0,说明检测环节严重过检。
延伸阅读
- Bewley 2016《Simple Online and Realtime Tracking》
- Wojke 2017《Simple Online and Realtime Tracking with a Deep Association Metric》