多目标跟踪(MOT,Multiple Object Tracking)。
评价指标 {#%E8%AF%84%E4%BB%B7%E6%8C%87%E6%A0%87}
MOTA {#mota}
MOTA全称Multiple Object Tracking Accuracy,计算公式为:
MOTA=1-\cfrac{\sum_{t}(FN_t+FP_t+IDSW_t)}{\sum_{t}GT_t}
其中,
-
GT_t为第t帧中的目标数量。\sum_{}{}即把所有帧的目标数量求和。
-
FN_t为漏检数量。比如第t帧中本该有5个目标,但是检测结果只能有4个与之匹配,此时存在1个GT的漏检,即FN=1。
-
FP_t为虚检数量。比如第t帧中检测出6个目标,但是实际上GT中只有5个目标,若这6个目标只有4个目标能和GT中的目标匹配,那么FP=2,FN=1。
-
IDSW_t即Identity Switches,表示跟踪序列中目标ID的切换次数。以下图为例,左侧图片中的Person A和Person B在Frame1-3中的ID分别为1和2,但是在Frame4-5两个Person发生了重合,此后的Frame6中Person A和B的ID分别变成了2和1。在右侧图片中,Person的ID=1,但是Frame3以后丢失了对Person的跟踪,FrameN中重新检测到目标,被分配了一个新ID=2。
为了加深理解再放一张图,下图左侧图片中:
Frame1中Det框与GT太远,导致GT漏检(FN),且检测框虚检(FP);
Frame2中,Det框与GT距离变进,该框为TP;
Frame3-4中,出现了2个Det框(红实心点&蓝空心点),红色为TP,蓝色为FP,而且此时蓝色Det框生成了一条新轨迹;
Frame5中,红色Det框与GT距离过远,为FP;蓝色Det框很近,为TP,而且此时ID从红色切换为了蓝色,发生了ID Switch;
Frame6中,红色框消失,蓝色框仍为TP。
在这6帧中,GT=6,FP=4(空心点),FN=1(Frame1,无目标检出),IDSW=1(Frame5)。
上图的右侧图片则是描述了Track Fragment的情况,描述的是跟踪过程中产生中断的次数,不过和MOTA相关性不大。
MOTA的值越大代表跟踪效果越好,最大为1,最小可能为负数。
MOTP {#motp}
MOTP全称Multiple Object Tracking Precision,计算公式为:
MOTP=\cfrac{\sum_{t,i}d_{t,i}}{\sum_{t}c_t}
MOTP描述的是检测结果的精度,即检测框与对应GT间的平均度量距离。c_t表示第t帧与GT匹配的数量,d_{t,i}表示匹配的pair之间的距离,可以是IOU或欧氏距离。若为IOU,MOTP越大越好;若为欧氏距离,MOTP越小越好。这个在目标匹配算法中有提到过:多目标跟踪中的目标匹配算法 - FunnyWii's Zone
MT {#mt}
MT全称为Mostly Tracked,描述的是满足80%时间都能成功匹配的轨迹占比。并不关心ID是否发生变化。以下图为例,(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)也是100%。
HOTA {#hota}
HOTA全称Higher Order Tracking Accuracy,它是一个比较新的指标,旨在用一个单一指标,评估跟踪器性能,这个单一指标能够公平地评估跟踪的所有方面;同时能够评估长期跟踪关联;同时分解为3个子指标,可以分析跟踪器性能的不同方面。
下图描述了HOTA中包含的3个子指标,:定位(Loc)、检测(Det)和关联(Ass)指标。Re代表Recall,Pr代表Precision。和MOTA一样,匹配发生在检测阶段。
先来看一下定位Loc指标的定义:
LocA=\int_0^1 \cfrac{1}{|TP_a|}\sum_{c\in TP_a}S(c) da
公式中TP_a指的是在IoU或距离阈值为\alpha的情况下,TP的数量,S(c)指的是所有TP实际的IoU或距离
再来看Det指标,
DetRe_{\alpha}=\cfrac{|TP|}{|TP|+|FN|}
DetPr_{\alpha}=\cfrac{|TP|}{|TP|+|FP|}
得到DetA_{\alpha}:
DetA_{\alpha}=\cfrac{DetRe_{\alpha} \cdot DetPr_{\alpha}}{DetRe_{\alpha} + DetPr_{\alpha}-DetRe_{\alpha}\cdot DetPr_{\alpha}}
DetA_{\alpha}=\cfrac{|TP|}{|TP|+|FN|+|FP|}
Det指标中的TP等概念和MOTA中一样。
再来看Ass指标,
AssRe_\alpha=\cfrac{1}{|TP|}\sum_{c\in TP}\cfrac{|TPA(c)|}{|TPA(c)+FNA(c)|}
AssPr_\alpha=\cfrac{1}{|TP|}\sum_{c\in TP}\cfrac{|TPA(c)|}{|TPA(c)+FPA(c)|}
得到AssA_\alpha:
AssA_\alpha=\cfrac{AssRe_\alpha\cdot AssPr_\alpha}{AssRe_\alpha+AssPr_\alpha-AssRe_\alpha \cdot AssPr_\alpha}
AssA_\alpha=\cfrac{1}{|TP|}\sum_{c \in TP}A(c)
其中
A(c)=\cfrac{|TPA(c)|}{|TPA(c)+FNA(c)+FPA(c)|}
最终可以计算HOTA_\alpha
HOTA_\alpha=\sqrt{\cfrac{\sum_{c \in TP}A(c)}{|TP|+|FN|+|FP|}}
Ass指标中的TPA等指标是新提出的概念:
-
TPA(c) True Positive Association:对于给定TP集合 ,预测的ID & GT的ID都为c的情况,即TPA(c)。需要同时考虑BBox和ID。
-
FNA(c) False Negative Association:对于给定TP集合, GT的ID为c,但预测ID不为c的情况;以及在FN集合 ,GT的ID为c的情况,即FNA(c)
-
FPA(c) False Positive Associations:对于给定TP集合 ,预测ID为c,但GT的ID不为c的情况;以及在FP集合,预测ID为c的情况,即FPA(c)
下图来自提出HOTA概念的论文《HOTA: A Higher Order Metric for Evaluating Multi-Object Tracking》,论文中的Fig.2描述了这几个概念:
IDF1 {#idf1}
全称Identity F1 Score。用于衡量模型在追踪过程中保持追踪目标身份的准确性。即正确识别的检测与平均真实数和计算检测数之比^[8]^。
IDF1=\cfrac{2IDTP}{2IDTP+IDFP+IDFN}
其中:
-
IDTP (True Positive ID):表示正确匹配的目标身份,即将真实目标与跟踪结果正确匹配的情况。
-
IDFP (False Positive ID):表示错误匹配的目标身份,即将真实目标与跟踪结果错误匹配的情况。
-
IDFN (False Negative ID):表示未匹配到的真实目标身份,即未将真实目标与任何跟踪结果匹配的情况。
-
IDTN (True Negative ID):表示正确未匹配的目标身份,即未将真实目标与跟踪结果匹配且没有错误匹配的情况。
Halo的编辑器似乎出了些问题....单单这篇文章不能修改任何东西。就离谱。IDTP等项更详细的解释可以看多目标跟踪评价指标IDF1的计算方式以及例子-CSDN博客这篇文章。
更多评价指标 {#%E6%9B%B4%E5%A4%9A%E8%AF%84%E4%BB%B7%E6%8C%87%E6%A0%87}
数据集 {#%E6%95%B0%E6%8D%AE%E9%9B%86}
| 名称 | 年份 | 时长 | 跟踪数量/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 | 户外 & 室内 | 人物 |
参考文章 {#%E5%8F%82%E8%80%83%E6%96%87%E7%AB%A0}
[2] Multi-Object Tracking | computervision-recipes (microsoft.github.io)
[4] Evaluation Metrics for Multiple Object Tracking | by Renu Khandelwal | Medium
[6] [2009.07736] HOTA: A Higher Order Metric for Evaluating Multi-Object Tracking (arxiv.org)