多目标跟踪(MOT,Multiple Object Tracking)。
评价指标
MOTA
MOTA 全称 Multiple Object Tracking Accuracy,计算公式为:
其中:
- \text {GT}_t 为第 \text t 帧中的目标数量。公式中的求和符号表示把所有帧的目标数量加起来。
- \text {FN}_t 为漏检数量。比如第 \text t 帧中本该有 5 个目标,但与 GT 成功匹配的检测只有 4 个,此时存在 1 个 GT 漏检,即
FN = 1。 - \text {FP}_t 为虚检数量。比如第 \text t 帧中检测出 6 个目标,但实际上 GT 中只有 5 个目标;若这 6 个目标里只有 4 个能和 GT 目标匹配,那么
FP = 2,FN = 1。 - \text {IDSW}_t 即 Identity Switches,表示跟踪序列中目标 ID 的切换次数。
以下图为例,左侧图片中的 Person A 和 Person B 在 Frame 1-3 中的 ID 分别为 1 和 2,但是在 Frame 4-5 两个人发生了重合,此后的 Frame 6 中 Person A 和 Person B 的 ID 分别变成了 2 和 1。右侧图片中,Person 的 ID 是 1,但是 Frame 3 以后丢失了对 Person 的跟踪,Frame N 中重新检测到目标时,被分配了一个新 ID 2。
为了加深理解,再放一张图。下图左侧图片中:
- Frame 1 中 Det 框与 GT 太远,导致 GT 漏检(FN),且检测框虚检(FP)。
- Frame 2 中 Det 框与 GT 距离变近,该框为 TP。
- Frame 3-4 中,出现了 2 个 Det 框(红实心点和蓝空心点),红色为 TP,蓝色为 FP,而且此时蓝色 Det 框生成了一条新轨迹。
- Frame 5 中,红色 Det 框与 GT 距离过远,为 FP;蓝色 Det 框很近,为 TP,而且此时 ID 从红色切换为了蓝色,发生了 ID Switch。
- Frame 6 中,红色框消失,蓝色框仍为 TP。
在这 6 帧中,GT = 6,FP = 4(空心点),FN = 1(Frame 1,无目标检出),IDSW = 1(Frame 5)。
上图右侧图片描述的是 Track Fragment,也就是跟踪过程中产生中断的次数,不过它和 MOTA 的直接相关性不大。
MOTA 的值越大代表跟踪效果越好,最大为 1,最小可能为负数。需要注意,MOTA 会综合惩罚 FN、FP 和 IDSW,但它很容易受检测错误主导,因此不能单独反映关联质量。
MOTP
MOTP 全称 Multiple Object Tracking Precision,计算公式为:
MOTP 描述的是检测结果的定位精度,即检测框与对应 GT 之间的平均度量距离。\text c_t 表示第 \text t 帧中与 GT 匹配的数量,\text d_{t,i} 表示第 \text t 帧第 \text i 个匹配 pair 之间的距离或重叠度量。
在 CLEAR MOT 原始定义中,MOTP 可以基于距离或重叠度量实现。实际使用时,如果采用 IoU,常见写法可能是平均 IoU,也可能使用 1 - IoU 作为距离。因此 MOTP 越大越好还是越小越好,取决于具体实现。这个在目标匹配算法中有提到过:多目标跟踪中的目标匹配算法 - FunnyWii's Zone。
MT
MT 全称 Mostly Tracked,描述的是 GT trajectory 被成功跟踪超过 80% 生命周期的轨迹占比。它主要关心轨迹在多长时间内被跟踪到,并不直接关心 ID 是否发生变化。与之相对,ML(Mostly Lost)通常表示成功跟踪时间小于 20% 的轨迹占比。
以下图为例,
(a) 中,有 5 / 6 = 83.33% 的时间是匹配的,MT = 100%
(b) 中为 4 / 6 = 66.67%,MT = 0
(c) 中有 2 条轨迹,轨迹 1 有 5 / 6 匹配,轨迹 2 有 1 / 3 匹配,2 条轨迹中的 1 条大于 80%,因此 MT = 50%
(d) MT 也是 100%
HOTA
HOTA 全称 Higher Order Tracking Accuracy,它是一个比较新的指标,目标是用一个单一指标更均衡地评估跟踪器性能,同时考虑检测、关联和定位。它也可以分解为多个子指标,用于分析跟踪器在不同方面的表现。
下图描述了 HOTA 中包含的 3 个子指标:定位(Loc)、检测(Det)和关联(Ass)指标。Re 代表 Recall,Pr 代表 Precision。和 MOTA 一样,匹配发生在检测阶段。
先来看一下定位 Loc 指标的定义:
公式中,\text {TP}_α 指的是在 IoU 或距离阈值为 α 的情况下,TP 的集合;\text {S(c)} 指的是匹配 pair \text c 的相似度。如果基于 IoU,那么\text {S(c)} 可以理解为匹配框之间的 IoU;如果使用距离,则通常需要先转换成相似度方向,避免和距离越小越好的定义冲突。
HOTA 通常会在多个阈值 α 上计算,然后求平均。
再来看 Det 指标:
得到 \text {DetA}_α:
也可以写成:
Det 指标中的 TP、FN、FP 等概念和 MOTA 中类似。
再来看 Ass 指标:
得到 \text {AssA}_α:
也可以写成:
其中:
最终可以计算 \text {HOTA}_α :
Ass 指标中的 TPA、FNA、FPA 是新提出的概念。它们是围绕某个匹配检测 c 对应的预测轨迹和 GT 轨迹,在整个序列中的关联关系来定义的:
- TPA(c)(True Positive Association):对给定匹配检测 \text c,同一预测轨迹和同一 GT 轨迹在其他帧中也正确关联的数量。
- FNA(c)(False Negative Association):对给定匹配检测 \text c,属于同一 GT 轨迹但没有被同一预测轨迹正确关联的数量。
- FPA(c)(False Positive Associations):对给定匹配检测 \text c,属于同一预测轨迹但没有对应到同一 GT 轨迹的数量。
下图来自提出 HOTA 概念的论文《HOTA: A Higher Order Metric for Evaluating Multi-Object Tracking》。论文中的 Fig. 2 描述了这几个概念:
IDF1
IDF1 全称 Identity F1 Score,用于衡量模型在追踪过程中保持目标身份一致性的能力。它本质上是身份匹配层面的 F1 分数:
其中:
- IDTP(True Positive ID):身份匹配正确的检测数量。
- IDFP(False Positive ID):预测身份中没有正确匹配到 GT 身份的数量。
- IDFN(False Negative ID):GT 身份中没有被正确匹配到预测身份的数量。
在 MOT 的 IDF1 计算中,通常不会使用 IDTN。IDF1 重点关注的是预测轨迹和 GT 轨迹之间的身份匹配质量。
IDTP 等项更详细的解释可以看多目标跟踪评价指标 IDF1 的计算方式以及例子-CSDN 博客这篇文章。
更多评价指标
数据集
| 名称 | 年份 | 时长 | 跟踪数量 / ID | 场景 | 对象类型 |
|---|---|---|---|---|---|
| MOT15 | 2015 | 16 分 | 1221 | 户外 | 行人 |
| MOT16/17 | 2016 | 9 分 | 1276 | 户外 & 室内 | 行人 & 车辆 |
| CVPR19/MOT20 | 2019 | 26 分 | 3833 | 人群密集场景 | 行人 & 车辆 |
| PathTrack | 2017 | 172 分 | 16287 | YouTube 人物场景 | 人物 |
| VisDrone | 2019 | - | - | 无人机摄像头户外视角 | 行人 & 车辆 |
| KITTI | 2012 | 32 分 | - | 汽车摄像头交通场景 | 行人 & 车辆 |
| UA-DETRAC | 2015 | 10 时 | 8200 | 交通场景 | 车辆 |
| CamNeT | 2015 | 30 分 | 30 | 户外 & 室内 | 人物 |
参考文章
[1] 深入理解 MOT 评价指标_mota-CSDN 博客
[2] Multi-Object Tracking | computervision-recipes
[3] Introduction to Tracker KPI | Medium
[4] Evaluation Metrics for Multiple Object Tracking | Medium
[6] HOTA: A Higher Order Metric for Evaluating Multi-Object Tracking
评论