多目标跟踪(MOT,Multiple Object Tracking)。

评价指标

MOTA

MOTA 全称 Multiple Object Tracking Accuracy,计算公式为:

MOTA = 1 - \frac{\sum_t(FN_t + FP_t + IDSW_t)}{\sum_t GT_t}

其中:

  • ​\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 = 2FN = 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。

IDSW.jpg

为了加深理解,再放一张图。下图左侧图片中:

  • 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 = 6FP = 4(空心点),FN = 1(Frame 1,无目标检出),IDSW = 1(Frame 5)。

IDSW2.png

上图右侧图片描述的是 Track Fragment,也就是跟踪过程中产生中断的次数,不过它和 MOTA 的直接相关性不大。

MOTA 的值越大代表跟踪效果越好,最大为 1,最小可能为负数。需要注意,MOTA 会综合惩罚 FN、FP 和 IDSW,但它很容易受检测错误主导,因此不能单独反映关联质量。

MOTP

MOTP 全称 Multiple Object Tracking Precision,计算公式为:

MOTP = \frac{\sum_{t,i} d_{t,i}}{\sum_t c_t}

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

MOTP.png

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%

ID-switch-FP-FN-and-fragmentation-illustration-Milan-et-al-2016.png

HOTA

HOTA 全称 Higher Order Tracking Accuracy,它是一个比较新的指标,目标是用一个单一指标更均衡地评估跟踪器性能,同时考虑检测、关联和定位。它也可以分解为多个子指标,用于分析跟踪器在不同方面的表现。

下图描述了 HOTA 中包含的 3 个子指标:定位(Loc)、检测(Det)和关联(Ass)指标。Re 代表 Recall,Pr 代表 Precision。和 MOTA 一样,匹配发生在检测阶段。

HOTA-SUB-METRIC.webp

先来看一下定位 Loc 指标的定义:

LocA = \int_0^1 \frac{1}{|TP_\alpha|}\sum_{c\in TP_\alpha} S(c) \, d\alpha

公式中,​\text {TP}_α 指的是在 IoU 或距离阈值为 α 的情况下,TP 的集合;​\text {S(c)} 指的是匹配 pair ​\text c 的相似度。如果基于 IoU,那么​\text {S(c)} 可以理解为匹配框之间的 IoU;如果使用距离,则通常需要先转换成相似度方向,避免和距离越小越好的定义冲突。

HOTA 通常会在多个阈值 α 上计算,然后求平均。

Loc-IoU.webp

再来看 Det 指标:

DetRe_\alpha = \frac{|TP|}{|TP| + |FN|}
DetPr_\alpha = \frac{|TP|}{|TP| + |FP|}

得到 ​\text {DetA}_α

DetA_\alpha = \frac{DetRe_\alpha \cdot DetPr_\alpha} {DetRe_\alpha + DetPr_\alpha - DetRe_\alpha \cdot DetPr_\alpha}

也可以写成:

DetA_\alpha = \frac{|TP|}{|TP| + |FN| + |FP|}

Det 指标中的 TP、FN、FP 等概念和 MOTA 中类似。

再来看 Ass 指标:

AssRe_\alpha = \frac{1}{|TP|} \sum_{c\in TP} \frac{|TPA(c)|}{|TPA(c)| + |FNA(c)|}
AssPr_\alpha = \frac{1}{|TP|} \sum_{c\in TP} \frac{|TPA(c)|}{|TPA(c)| + |FPA(c)|}

得到 ​\text {AssA}_α

AssA_\alpha = \frac{AssRe_\alpha \cdot AssPr_\alpha} {AssRe_\alpha + AssPr_\alpha - AssRe_\alpha \cdot AssPr_\alpha}

也可以写成:

AssA_\alpha = \frac{1}{|TP|} \sum_{c\in TP} A(c)

其中:

A(c) = \frac{|TPA(c)|}{|TPA(c)| + |FNA(c)| + |FPA(c)|}

最终可以计算 ​\text {HOTA}_α

HOTA_\alpha = \sqrt{ \frac{\sum_{c\in TP} A(c)} {|TP| + |FN| + |FP|} }

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 描述了这几个概念:

HOTA1.png

IDF1

IDF1 全称 Identity F1 Score,用于衡量模型在追踪过程中保持目标身份一致性的能力。它本质上是身份匹配层面的 F1 分数:

IDF1 = \frac{2IDTP}{2IDTP + IDFP + IDFN}

其中:

  • IDTP(True Positive ID):身份匹配正确的检测数量。
  • IDFP(False Positive ID):预测身份中没有正确匹配到 GT 身份的数量。
  • IDFN(False Negative ID):GT 身份中没有被正确匹配到预测身份的数量。

在 MOT 的 IDF1 计算中,通常不会使用 IDTN。IDF1 重点关注的是预测轨迹和 GT 轨迹之间的身份匹配质量。

IDTP 等项更详细的解释可以看多目标跟踪评价指标 IDF1 的计算方式以及例子-CSDN 博客这篇文章。


更多评价指标

MOT-Challenge-Results.png

数据集

名称 年份 时长 跟踪数量 / 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

[5] MOT Challenge - Results

[6] HOTA: A Higher Order Metric for Evaluating Multi-Object Tracking

[7] 多目标跟踪评价指标总结 —— MOTA、IDF1、HOTA 等_mota 指标-CSDN 博客

[8] MOT 评价指标 IDF1-CSDN 博客

[9] 多目标跟踪评价指标 IDF1 的计算方式以及例子-CSDN 博客