多目标跟踪评价指标——MOTA、IDF1、HOTA等

首先了解一下MOT challenge的评价指标,这些指标都是MOT任务比较常用且流行的指标:

MOTA

首先需要了解的是:

  • fragmentation是在第t帧当中发生的ID分配错误(ID switch)。也就是说,如果在ground truth第j个轨迹的第t帧之前,跟踪器(tracker)把该轨迹的ID都预测正确了,但是第t+1帧预测错误了,那么ID switch的个数+1,值得注意的是,即使第t+1帧之后跟踪器仍然把该轨迹的ID预测错误了,但是错误的ID为同一个,那么ID switch个数不会增加。举个直观一点的例子,假设周杰伦在第1帧的时候走入镜头,在第100帧的时候走出镜头,跟踪器的boungding box一直能够跟上,但是在第50帧的时候把周杰伦识别成了彭于晏,那么这100帧内ID switch的个数为1。假设第t帧中ID switch的个数为 ϕ t \phi_t ϕt​,那么所有帧的个数为 Φ = ∑ t ϕ t \Phi=\sum_t \phi_t Φ=∑t​ϕt​。
  • false positive f p t f_{p_t} fpt​​指的是在第t帧中,跟踪器检测到了的bounding box但是在ground truth中却不存在bounding box的个数。
  • false negative f n t f_{n_t} fnt​​指的是在第t帧中,跟踪器漏检了的bounding box但是在ground truth中存在bounding box的个数。
  • true positive t p t t_{p_t} tpt​​指的是在第t帧中,跟踪器和ground truth同时都有的bounding box。
  • 大写的 T P , F P , F N TP,FP,FN TP,FP,FN就是true positive, false positive, false negative在所有帧中的总和**(注意,只考虑bounding box,没有考虑bounding box的ID,也就是说,只要框住了就算TP,ID错了也算TP)**。

M O T A = 1 − F N + F P + Φ T \mathrm{MOTA}=1-\frac{FN+FP+\Phi}{T} MOTA=1−TFN+FP+Φ​

其中T指的是ground truth中bounding box的数量。可以看出,MOTA其实是对FN、FP、 Φ \Phi Φ进行了惩罚,然后又利用T进行正则。

IDF1

I D P = I D T P I D T P + I D F P I D R = I D T P I D T P + I D F N I D F 1 = 2 I D T P 2 I D T P + I D F P + I D F N \begin{aligned} I D P &=\frac{I D T P}{I D T P+I D F P} \\ I D R &=\frac{I D T P}{I D T P+I D F N} \\ I D F_{1} &=\frac{2 I D T P}{2 I D T P+I D F P+I D F N} \end{aligned} IDPIDRIDF1​​=IDTP+IDFPIDTP​=IDTP+IDFNIDTP​=2IDTP+IDFP+IDFN2IDTP​​

I D P IDP IDP其实就是ID+Precision,在模式识别中:
P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP​

这里的 I D P IDP IDP其实就是把每个ID当作单独的一类去计算Precision,同理, I D R IDR IDR则对应ID+Recall, I D F 1 IDF_1 IDF1​则对应ID+F1 score, I D F 1 IDF_1 IDF1​本质上没有什么实际物理含义,只是对 I D P IDP IDP和 I D R IDR IDR的一个调和平均。

HOTA

首先, T P , F P , F N TP,FP,FN TP,FP,FN的概念和MOTA中的一样,都是只考虑检测框的前提下统计的。

然后明确几个新的概念(可能有点绕,可以多读几遍):

  • T P A ( c ) \mathrm TPA(c) TPA(c) True Positive Association:对于给定的 T P TP TP集合中,预测的ID和ground truch的ID都为c的情况即为 T P A ( c ) \mathrm TPA(c) TPA(c),也就是说,只是把bounding box和ID都考虑进去了。
  • F N A ( c ) \mathrm FNA(c) FNA(c) False Negative Association:对于给定的 T P TP TP集合中(注意,仍是TP),ground truth的ID为c,但是预测的ID不为c的情况,以及 F N FN FN集合中,ground truch的ID为c的情况即为 F N A ( c ) \mathrm FNA(c) FNA(c)。
  • F P A ( c ) \mathrm FPA(c) FPA(c) False Positive Associations:对于给定的 T P TP TP集合中(注意,仍是TP),预测的ID为c,但是ground truth的ID不为c的情况,以及 F P FP FP集合中,预测的ID为c的情况即为 F P A ( c ) \mathrm FPA(c) FPA(c)。

下面这张图片来自原论文,较为清楚地解释了以上概念:

知道了上面的概念之后,在阈值为 α \alpha α(可以是IoU也可以是距离)的情况下:
H O T A α = ∑ c ∈ { T P } A ( c ) ∣ T P ∣ + ∣ F N ∣ + ∣ F P ∣ \mathrm{HOTA}_{\alpha}=\sqrt{\frac{\sum_{c \in\{\mathrm{TP}\}} \mathcal{A}(c)}{|\mathrm{TP}|+|\mathrm{FN}|+|\mathrm{FP}|}} HOTAα​=∣TP∣+∣FN∣+∣FP∣∑c∈{TP}​A(c)​ ​
其中:
A ( c ) = ∣ TPA ⁡ ( c ) ∣ ∣ TPA ⁡ ( c ) ∣ + ∣ FNA ⁡ ( c ) ∣ + ∣ FPA ⁡ ( c ) ∣ \mathcal{A}(c)=\frac{|\operatorname{TPA}(c)|}{|\operatorname{TPA}(c)|+|\operatorname{FNA}(c)|+|\operatorname{FPA}(c)|} A(c)=∣TPA(c)∣+∣FNA(c)∣+∣FPA(c)∣∣TPA(c)∣​
考虑不同的阈值 α \alpha α:
H O T A = ∫ 0 1 H O T A α d α ≈ 1 19 ∑ α ∈ { 0.05 , 0.1 , … } 0.9 , 0.95 H O T A α \mathrm{HOTA}=\int_{0}^{1} \mathrm{HOTA}_{\alpha} d \alpha \approx \frac{1}{19} \sum_{\substack{\alpha \in\{0.05,0.1, \ldots\} \\ 0.9,0.95}} \mathrm{HOTA}_{\alpha} HOTA=∫01​HOTAα​dα≈191​α∈{0.05,0.1,…}0.9,0.95​∑​HOTAα​
除此之外,原论文还提出了一下其他的评价指标,用来衡量tracker更加具体的方面:
LocA ⁡ = ∫ 0 1 1 ∣ T P α ∣ ∑ c ∈ { T P α } S ( c ) d α \operatorname{LocA}=\int_{0}^{1} \frac{1}{\left|\mathrm{TP}_{\alpha}\right|} \sum_{c \in\left\{\mathrm{TP}_{\alpha}\right\}} \mathcal{S}(c) d \alpha LocA=∫01​∣TPα​∣1​c∈{TPα​}∑​S(c)dα
T P α \mathrm{TP}_{\alpha} TPα​指的是在(IoU或者距离)阈值为 α \alpha α的情况下的 T P TP TP数量, S ( c ) \mathcal{S}(c) S(c)指的是所有 T P TP TP实际的IoU或距离。
DetA ⁡ α = ∣ T P ∣ ∣ T P ∣ + ∣ F N ∣ + ∣ F P ∣ AssA ⁡ α = 1 ∣ T P ∣ ∑ c ∈ { T P } A ( c ) DetRe ⁡ α = ∣ T P ∣ ∣ T P ∣ + ∣ F N ∣ DetPr ⁡ α = ∣ T P ∣ ∣ T P ∣ + ∣ F P ∣ Det ⁡ α = Det ⁡ Re ⁡ α ⋅ Det ⁡ Pr ⁡ α Det ⁡ Re ⁡ α + DetPr ⁡ α − DetRe ⁡ α ⋅ DetPr ⁡ α AssRe ⁡ α = 1 ∣ TP ⁡ ∣ ∑ c ∈ { T P } ∣ TPA ⁡ ( c ) ∣ ∣ TPA ⁡ ( c ) ∣ + ∣ FNA ⁡ ( c ) ∣ AssPr ⁡ α = 1 ∣ T P ∣ ∑ c ∈ { T P } ∣ T P A ( c ) ∣ ∣ T P A ( c ) ∣ + ∣ F P A ( c ) ∣ Ass ⁡ α = AssRe ⁡ ess ⁡ α ⋅ Ass ⁡ α AssRe ⁡ α + AssPr ⁡ α − AssRe ⁡ α ⋅ Ass ⁡ 2 Pr ⁡ α \begin{aligned} &\operatorname{DetA}_{\alpha}=\frac{|\mathrm{TP}|}{|\mathrm{TP}|+|\mathrm{FN}|+|\mathrm{FP}|}\\ &\operatorname{AssA}_{\alpha}=\frac{1}{|\mathrm{TP}|} \sum_{c \in\{\mathrm{TP}\}} \mathcal{A}(c)\\ &\operatorname{DetRe}_{\alpha}=\frac{|\mathrm{TP}|}{|\mathrm{TP}|+|\mathrm{FN}|}\\ &\operatorname{DetPr}_{\alpha}=\frac{|\mathrm{TP}|}{|\mathrm{TP}|+|\mathrm{FP}|}\\ &\operatorname{Det}_{\alpha}=\frac{\operatorname{Det} \operatorname{Re}_{\alpha} \cdot \operatorname{Det} \operatorname{Pr}_{\alpha}}{\operatorname{Det} \operatorname{Re}_{\alpha}+\operatorname{DetPr}_{\alpha}-\operatorname{DetRe}_{\alpha} \cdot \operatorname{DetPr}_{\alpha}}\\ &\operatorname{AssRe}_{\alpha}=\frac{1}{|\operatorname{TP}|} \sum_{c \in\{\mathrm{TP}\}} \frac{|\operatorname{TPA}(c)|}{|\operatorname{TPA}(c)|+|\operatorname{FNA}(c)|}\\ &\operatorname{AssPr}_{\alpha}=\frac{1}{|\mathrm{TP}|} \sum_{c \in\{\mathrm{TP}\}} \frac{|\mathrm{TPA}(c)|}{|\mathrm{TPA}(c)|+|\mathrm{FPA}(c)|}\\ &\operatorname{Ass}_{\alpha}=\frac{\operatorname{AssRe} \operatorname{ess}_{\alpha} \cdot \operatorname{Ass}_{\alpha}}{\operatorname{AssRe}_{\alpha}+\operatorname{AssPr}_{\alpha}-\operatorname{AssRe}_{\alpha} \cdot \operatorname{Ass}^{2} \operatorname{Pr}_{\alpha}} \end{aligned} ​DetAα​=∣TP∣+∣FN∣+∣FP∣∣TP∣​AssAα​=∣TP∣1​c∈{TP}∑​A(c)DetReα​=∣TP∣+∣FN∣∣TP∣​DetPrα​=∣TP∣+∣FP∣∣TP∣​Detα​=DetReα​+DetPrα​−DetReα​⋅DetPrα​DetReα​⋅DetPrα​​AssReα​=∣TP∣1​c∈{TP}∑​∣TPA(c)∣+∣FNA(c)∣∣TPA(c)∣​AssPrα​=∣TP∣1​c∈{TP}∑​∣TPA(c)∣+∣FPA(c)∣∣TPA(c)∣​Assα​=AssReα​+AssPrα​−AssReα​⋅Ass2Prα​AssReessα​⋅Assα​​​
如果要计算以上指标去掉下角标 α \alpha α的话,和MOTA类似,对不同的 α \alpha α积分即可:
X X X = ∫ 0 1 X X X α d α ≈ 1 19 ∑ α ∈ { 0.05 , 0.1 , … } 0.9 , 0.95 X X X α \mathrm{XXX}=\int_{0}^{1} \mathrm{XXX}_{\alpha} d \alpha \approx \frac{1}{19} \sum_{\substack{\alpha \in\{0.05,0.1, \ldots\} \\ 0.9,0.95}} \mathrm{XXX}_{\alpha} XXX=∫01​XXXα​dα≈191​α∈{0.05,0.1,…}0.9,0.95​∑​XXXα​

多目标跟踪评价指标总结——MOTA、IDF1、HOTA等相关推荐

  1. 【MOT评价指标】MOTA MOTAL MOTP Rcll IDF1 MT ML FP FN ID_SW Frag Hz

    转自:https://blog.csdn.net/ycc2011/article/details/86633768 根据MOTchallenge官方解释给出: resource:

  2. 【MOT评价指标】MOTA MOTAL MOTP Rcll IDF1 MT ML FP FN ID_SW Frag Hz

    根据MOTchallenge官方解释给出: resource:

  3. 多目标跟踪评价指标及其计算方式

    基于MOT的benchmark记录相关的评价指标以及其计算方式和意义 MOTA ( Multiple Object Tracking Accuracy) MOTA计算所有帧的匹配情况,t为帧数,FN为 ...

  4. MOT多目标跟踪评价指标

    MOT网址: https://motchallenge.net/results/MOT17/ 指标 Avg Rank:这是每个跟踪器在所有当前评估测量中的平均等级 MOTA:Multiple Obje ...

  5. 【MOT】多目标跟踪通用流程方法总结

    从整体框架分类: TBD(Tracking-by-Detecton),或者DBT(Detection-based-Tracking),具体来说首先使用物体检测器检测目标,然后,利用运动.位置.外观线索 ...

  6. 【多目标跟踪指标】IDF1 与 MOTA的指标对比与图示

    之前在csdn上发了一个多目标跟踪指标的"中文翻译"的思维导图,后面很多人不经同意直接转载和消除水印,但是后面过了两年之后,发现在转载的一些平台发现当初翻译和理解的有些问题,但是后 ...

  7. 多目标跟踪(MOT,Multiple Object Tracking)评价指标

    简述 在事先不知道目标数量的情况下,对视频中的行人.轿车.卡车.自行车等多个目标进行检测并赋予ID进行轨迹跟踪.不同的目标拥有不同的ID,以便实现后续的轨迹预测.精准查找等工作. 多目标跟踪中即要面对 ...

  8. (HOTA)多目标跟踪MOT指标计算方法

    基本内容: 先附上Track_eval下载地址:.GitHub - JonathonLuiten/TrackEval: HOTA (and other) evaluation metrics for ...

  9. 【多目标跟踪任务——评价指标】

    多目标跟踪任务--评价指标 1. MOTA (Multiple Object Tracking Accuracy) 2. MOTP (Multiple Object Tracking Precisio ...

最新文章

  1. Win10系列:JavaScript访问文件和文件夹
  2. BERT在小米NLP业务中的实战探索
  3. JQuery遍历控件的方法
  4. 几种排序算法性能的比较
  5. 使用NoSQL实现实体服务–第1部分:概述
  6. github pages_如何使用GitHub Actions和Pages发布GitHub事件数据
  7. 二十、子程序设计(函数)
  8. Linux 下 的 Oracle,如何安装 tnsname
  9. 关于java接口、父类子类之间调用和强制转换的关系
  10. Anylogic学习--------选项列表
  11. H5 打开微信小程序 公众号
  12. 数据可视化平台Superset 简介
  13. 太原理工软件学院c语言2020,庆祝软件学院成立十周年创意设计之logo投稿入围展示...
  14. 编程实现幂函数,(指数为整数)
  15. android休眠状态,【Android休眠】之Android休眠机制
  16. 群体优化算法工具箱分享(GA、PSO、CS、GWO、WOA、HHO)
  17. java.lang.ClassNotFoundException:如何解决
  18. 秦岚微博之夜喜提热搜第一 优雅公主裙演绎真人版辛德瑞拉
  19. python 常用的内置模块
  20. 计算方法:三次样条插值原理

热门文章

  1. 小野さん と ペット
  2. java poi 读取word_Java poi读取word文档(本篇只能读取text内容)
  3. node.js - 收藏集
  4. 南大人工智能AI学院夏令营面试经历
  5. 深度强化学习—— 译 Deep Reinforcement Learning(part 0: 目录、简介、背景)
  6. 干货 | “深耕内容”背景下,携程如何做景酒优质内容的挖掘
  7. Apache Drill详解
  8. 解决to_csv循环追加数据不会覆盖前面的数据
  9. 【田姓】宗谱——【郡望堂号】
  10. alt在计算机中代表什么,计算机中alt+enter是什么快捷键