简介

HOTA: A Higher Order Metric for Evaluating Multi-object Tracking是IJCV 2020的paper,在此之前以MOTChallenge为主的多目标跟踪benchmark一直采用以MOTA为排名的评价标准,虽然MOTChallenge的metrics中也有IDF1,但是排名还是以MOTA为准。
但是MOTA有些情况下不足以衡量出多目标跟踪的性能,甚至都不如IDF1,所以这篇文章重新考量了多目标跟踪任务,并提出一种Higher Order Tracking Accuracy 的Metric。HOTA可以更好的对齐评价得分与人的视觉上的观感。
MOTA为主的评价在2006年就被提出,并经过MOTChallenge的加持,仍是目前主流的多目标跟踪评价标准,而HOTA刚刚提出不久,目前只有KITTI MOT在使用。即便后续真的替换了MOTA,也将需要很久。

MOTA的问题

检测的比重大于跟踪

MOTA的评价过分强调检测的效果,根据MOTA的计算方式,一种极端情况是,检测的性能非常优秀,但是所有检测到的目标不做跟踪,而是全部分配一个相同的track id,此时的MOTA会非常高,因为IDsw=0。
但是很显然,这个极端情况的跟踪表现为0。
MOTA=1−∣FN∣+∣FP∣+∣IDSW∣∣gtDet∣\begin{aligned} \text {MOTA} = 1 - \frac{|\text {FN}| + |\text {FP}| + |\text {IDSW}|}{|\text {gtDet}|} \end{aligned} MOTA=1−∣gtDet∣∣FN∣+∣FP∣+∣IDSW∣​​
MOTP=1∣TP∣∑TPS\begin{aligned} \text {MOTP} = \frac{1}{|\text {TP}|}\sum _{\text {TP}}{ \mathcal {S}} \end{aligned} MOTP=∣TP∣1​TP∑​S​
MOTP更是如此,在根源是就没有跟踪什么事,而是只评价检测结果。
虽然IDF1可以评价跟踪的效果,但是排名是靠着MOTA的。
ID-Recall=∣IDTP∣∣IDTP∣+∣IDFN∣\begin{aligned}&\text {ID-Recall} = \frac{|\text {IDTP}|}{|\text {IDTP}| + |\text {IDFN}|} \end{aligned} ​ID-Recall=∣IDTP∣+∣IDFN∣∣IDTP∣​​
ID-Precision=∣IDTP∣∣IDTP∣+∣IDFP∣\begin{aligned}&\text {ID-Precision} = \frac{|\text {IDTP}|}{|\text {IDTP}| + |\text {IDFP}|} \end{aligned} ​ID-Precision=∣IDTP∣+∣IDFP∣∣IDTP∣​​
IDF1=∣IDTP∣∣IDTP∣+0.5∣IDFN∣+0.5∣IDFP∣\begin{aligned}&\text {IDF1} = \frac{|\text {IDTP}|}{|\text {IDTP}| + 0.5 \, |\text {IDFN}| + 0.5 \, |\text {IDFP}|} \end{aligned} ​IDF1=∣IDTP∣+0.5∣IDFN∣+0.5∣IDFP∣∣IDTP∣​​

如上图,gt的长度为100,跟踪表现C把gt分为了4段,这个表现其实是比较差的了,但是MOTA高达97%。

Precision的比重大于Recall

定义没有IDsw的MOTA为MODA,也就是多目标检测的准确率(Multi Object Detection Accuracy),其公式如下:
MODA=1−∣FN∣+∣FP∣∣gtDet∣=∣TP∣−∣FP∣∣TP∣+∣FN∣=DetRe⋅(2−1DetPr)\begin{aligned} \begin{aligned} \text {MODA}&= 1 - \frac{|\text {FN}| + |\text {FP}|}{|\text {gtDet}|}&\\&= \frac{|\text {TP}| - |\text {FP}|}{|\text {TP}| + |\text {FN}|}&\\&= \text {DetRe} \cdot (2 - \frac{1}{\text {DetPr}})&\end{aligned} \end{aligned} MODA​=1−∣gtDet∣∣FN∣+∣FP∣​=∣TP∣+∣FN∣∣TP∣−∣FP∣​=DetRe⋅(2−DetPr1​)​​​
可以发现,如果检测的Precision小于等于0.5的话,MODA就会为0,甚至出现负值,而检测的Recall小于等于0.5却不会造成这样的影响。

Evaluation Metric

DetA

DetA为检测的准确率,评价多目标跟踪中检测器的性能,作用与Precision和Recall差不多,所有类别的总acc如下式表示:
DetAα=∣TP∣∣TP∣+∣FN∣+∣FP∣\begin{aligned}&\text {DetA}_\alpha = \frac{|\text {TP}|}{|\text {TP}| + |\text {FN}| + |\text {FP}|}&\end{aligned} ​DetAα​=∣TP∣+∣FN∣+∣FP∣∣TP∣​​​

AssA

AssA为关联的准确率,评价关联的准确率,公式如下所示:
A(c)=∣TPA(c)∣∣TPA(c)∣+∣FNA(c)∣+∣FPA(c)∣\begin{aligned}&\mathcal {A}(c) = \frac{|\text {TPA}(c)|}{|\text {TPA}(c)| + |\text {FNA}(c)| + |\text {FPA}(c)|}&\end{aligned} ​A(c)=∣TPA(c)∣+∣FNA(c)∣+∣FPA(c)∣∣TPA(c)∣​​​
AssAα=1∣TP∣∑c∈{TP}A(c)\begin{aligned}&\text {AssA}_\alpha = \frac{1}{|\text {TP}|} \sum _{c \in \{\text {TP}\}} \mathcal {A}(c)&\end{aligned} ​AssAα​=∣TP∣1​c∈{TP}∑​A(c)​​
DetA,AssA的作用,与Precision,Recall,IDP,IDR,IDF1很相似
Precision,Recall用于评价检测的精准率与召回率,而DetA用于评价检测的准确率。
IDP,IDR,IDF1用于评价匹配的精准率,召回率与F1-score,而AssA用于评价匹配的准确率。
这就需要知道TPA(c)\text {TPA}(c)TPA(c),FNA(c)\text {FNA}(c)FNA(c),FPA(c)\text {FPA}(c)FPA(c)这几个数的意思,首先ccc是一个属于TP的点,可以是TP中的任意一个,根据这个点,我们总能确定出来一个唯一的GT轨迹,同时如果有pred轨迹与GT轨迹在这个点相交的话,我们还能确定出来一条pred轨迹。
需要注意的是,哪怕是同一条GT轨迹上不同的c,也会产生不同的TPA(c)\text {TPA}(c)TPA(c),FNA(c)\text {FNA}(c)FNA(c),FPA(c)\text {FPA}(c)FPA(c),所以这三个值只能与采样绑定,不与数据集绑定。
这一点是与《Evaluating Multiple Object Tracking Performance: The CLEAR MOT Metrics》不同,并没有为一个GT轨迹分配一个最大的匹配度的pred轨迹。


而在这里就需要

HOTA

  • 单一指标评价
  • 评估长期高阶跟踪关联
  • 分解为子指标,允许分析跟踪器性能的不同组成部分。

HOTAα=∑c∈{TP}A(c)∣TP∣+∣FN∣+∣FP∣\begin{aligned}&\text {HOTA}_{\alpha } = \sqrt{\frac{\sum _{c \in \{\text {TP}\}} \mathcal {A}(c) }{|\text {TP}| + |\text {FN}| + |\text {FP}|}}&\end{aligned} ​HOTAα​=∣TP∣+∣FN∣+∣FP∣∑c∈{TP}​A(c)​​​​

HOTA评价是个双重杰卡德系数,也就是取了两遍交并比,首先是A(c)\mathcal {A}(c)A(c)为当前的interest-c对应的GT tracklet,计算得到的True Positive Associations,False Positive Associations与False Negative Associations,这是第一层杰卡德系数,需要注意的是interest-c不值一个,所有需要SUM。如下图所示。
第二层杰卡德系数为SUM后的A(c)\mathcal {A}(c)A(c)比上检测得到的TP,FN,FP。

最后,α\alphaα是一个固定的阈值,所以HOTAα\text {HOTA}_{\alpha }HOTAα​是一个固定阈值下的结果,而HOTA是:
HOTA=∫01HOTAαdα≈119∑α∈{0.05,0.1,...0.9,0.95}HOTAα\begin{aligned} \text {HOTA} = \int _{0}^{1}{ \text {HOTA}_\alpha \; d\alpha } \approx \frac{1}{19} \sum _{\alpha \in \{ \begin{array}{c} 0.05, \; 0.1, \; ... \\ 0.9, \; 0.95 \end{array} \} } \text {HOTA}_\alpha \end{aligned} HOTA=∫01​HOTAα​dα≈191​α∈{0.05,0.1,...0.9,0.95​}∑​HOTAα​​
就是类似于coco的AP计算。

最后,根据DetA和AssA,HOTA可以通过下列计算:
HOTAα=∑c∈{TP}A(c)∣TP∣+∣FN∣+∣FP∣=DetAα⋅AssAα\begin{aligned}&\begin{aligned} \text {HOTA}_\alpha&\quad = \sqrt{\frac{\sum _{c \in \{\text {TP}\}} \mathcal {A}(c) }{|\text {TP}| + |\text {FN}| + |\text {FP}|}}&\\&\quad = \sqrt{\text {DetA}_\alpha \cdot \text {AssA}_\alpha }&\end{aligned}&\end{aligned} ​HOTAα​​=∣TP∣+∣FN∣+∣FP∣∑c∈{TP}​A(c)​​=DetAα​⋅AssAα​​​​​​

HOTA分解为sub-metric

HOTA分解为detection和association

DetAα=∣TP∣∣TP∣+∣FN∣+∣FP∣\begin{aligned}&\text {DetA}_\alpha = \frac{|\text {TP}|}{|\text {TP}| + |\text {FN}| + |\text {FP}|}&\end{aligned}​DetAα​=∣TP∣+∣FN∣+∣FP∣∣TP∣​​​
AssAα=1∣TP∣∑c∈{TP}A(c)\begin{aligned}&\text {AssA}_\alpha = \frac{1}{|\text {TP}|} \sum _{c \in \{\text {TP}\}} \mathcal {A}(c)&\end{aligned}​AssAα​=∣TP∣1​c∈{TP}∑​A(c)​​
A(c)=∣TPA(c)∣∣TPA(c)∣+∣FNA(c)∣+∣FPA(c)∣\begin{aligned}&\mathcal {A}(c) = \frac{|\text {TPA}(c)|}{|\text {TPA}(c)| + |\text {FNA}(c)| + |\text {FPA}(c)|}&\end{aligned}​A(c)=∣TPA(c)∣+∣FNA(c)∣+∣FPA(c)∣∣TPA(c)∣​​​

detection分解为precision和recall

DetReα=∣TP∣∣TP∣+∣FN∣\begin{aligned} \text {DetRe}_\alpha&= \frac{|\text {TP}|}{|\text {TP}| + |\text {FN}| } \end{aligned} DetReα​​=∣TP∣+∣FN∣∣TP∣​​
DetPrα=∣TP∣∣TP∣+∣FP∣\begin{aligned} \text {DetPr}_\alpha&= \frac{|\text {TP}|}{|\text {TP}| + |\text {FP}| } \end{aligned} DetPrα​​=∣TP∣+∣FP∣∣TP∣​​
DetAα=DetReα⋅DetPrαDetReα+DetPrα−DetReα.DetPrα\begin{aligned} \text {DetA}_\alpha&= \frac{\text {DetRe}_\alpha \cdot \text {DetPr}_\alpha }{\text {DetRe}_\alpha + \text {DetPr}_\alpha - \text {DetRe}_\alpha .\text {DetPr}_\alpha } \end{aligned} DetAα​​=DetReα​+DetPrα​−DetReα​.DetPrα​DetReα​⋅DetPrα​​​

association分解为precision和recall

AssReα=1∣TP∣∑c∈{TP}∣TPA(c)∣∣TPA(c)∣+∣FNA(c)∣\begin{aligned} \text {AssRe}_\alpha&= \frac{1}{|\text {TP}|} \; \sum _{c \in \{\text {TP}\}} \frac{|\text {TPA}(c)|}{|\text {TPA}(c)| + |\text {FNA}(c)|} \end{aligned} AssReα​​=∣TP∣1​c∈{TP}∑​∣TPA(c)∣+∣FNA(c)∣∣TPA(c)∣​​
AssPrα=1∣TP∣∑c∈{TP}∣TPA(c)∣∣TPA(c)∣+∣FPA(c)∣\begin{aligned} \text {AssPr}_\alpha&= \frac{1}{|\text {TP}|} \; \sum _{c \in \{\text {TP}\}} \frac{|\text {TPA}(c)|}{|\text {TPA}(c)| + |\text {FPA}(c)|} \end{aligned} AssPrα​​=∣TP∣1​c∈{TP}∑​∣TPA(c)∣+∣FPA(c)∣∣TPA(c)∣​​
AssAα=AssReα⋅AssPrαAssReα+AssPrα−AssReα⋅AssPrα\begin{aligned} \text {AssA}_\alpha&= \frac{\text {AssRe}_\alpha \cdot \text {AssPr}_\alpha }{\text {AssRe}_\alpha + \text {AssPr}_\alpha - \text {AssRe}_\alpha \cdot \text {AssPr}_\alpha } \end{aligned} AssAα​​=AssReα​+AssPrα​−AssReα​⋅AssPrα​AssReα​⋅AssPrα​​​

Reference

  • py-motmetrics
  • TrackEval

MOT:A Higher Order Metric for Evaluating Multi-object Tracking相关推荐

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

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

  2. MOT:Metrics MOTA

    简介: MOTChallenge是多目标跟踪领域最为常用的benchmark,其中2D MOT15,3D MOT15,MOT16,MOT17,MOT20都是多目标跟踪领域常用的数据集. 下面我们按照M ...

  3. Paper:《First Order Motion Model for Image Animation》翻译与解读

    Paper:<First Order Motion Model for Image Animation>翻译与解读 目录 <First Order Motion Model for ...

  4. Paper/CV之IA:《First Order Motion Model for Image Animation图像动画的一阶运动模型》翻译与解读

    Paper/CV之IA:<First Order Motion Model for Image Animation图像动画的一阶运动模型>翻译与解读 目录 <First Order ...

  5. MOT:多目标跟踪总结与思考

    Task 多目标跟踪(MOT)是一种常见的计算机视觉任务,任务要求检测到连续视频帧中的目标,并为每一个目标分配一个track id,这个id在视频序列中具有唯一性. 多目标跟踪任务在带有时序性质的任务 ...

  6. 破解版matlab安装Higher Order Spectral Analysis Toolbox-亲测成功

    破解版matlab安装Higher Order Spectral Analysis Toolbox-亲测成功 1.下载所需toolbox,随意保存于某个文件夹! 2.解压该压缩文件--继续解压hosa ...

  7. 【论文泛读】Deep-HOSeq: Deep Higher Order Sequence Fusion for Multimodal Sentiment Analysis

    论文题目:Deep-HOSeq: Deep Higher Order Sequence Fusion for Multimodal Sentiment Analysis 时间:2020 来源:ICDM ...

  8. 2/7 SELECT语句:排序(ORDER BY)

    序号 说明 操作 1 排序数据 ORDER BY 2 按多个列排序 用,分隔 3 指定排序方向 降序:DESC 或 升序(默认):ASC 4 ORDER BY结合LIMIT 顺序:FROM-ORDER ...

  9. Tableau数据分析:NC Retail Order Data(英)Data Science Program Lab#1(GTI)

    Tableau数据分析:NC Retail Order Data(英) NCSU 2021 Summer Online Data Science Author:©Sylvan Ding

  10. 深度学习论文阅读目标检测篇(七)中英对照版:YOLOv4《Optimal Speed and Accuracy of Object Detection》

    深度学习论文阅读目标检测篇(七)中英对照版:YOLOv4<Optimal Speed and Accuracy of Object Detection> Abstract 摘要 1. In ...

最新文章

  1. 学习换脸:Switching Eds: Face swapping with Python, dlib, and OpenCV
  2. 最大似然估计学习总结
  3. 关闭Bind 递归查询功能
  4. 谷歌查看html地址_跑谷歌购物广告前,你需要了解这些
  5. Hyperledger Fabric 智能合约实战 (5) sdk node软件安装
  6. 1.7 截取(提取)子字符串(substring())
  7. AgilePoint商业流程管理平台
  8. 安川交流伺服电机的驱动
  9. c# 修改系统日期格式
  10. 应届生开40万年薪?OPPO大手笔招揽芯片人才引热议
  11. Xilinx发布新版SDAccel开发环境加速数据中心应用
  12. 最好用的10款手机库存管理软件,我来教你怎么选
  13. ES6--变量的解构赋值
  14. 寒假训练1—H(第一次写出结构体数组)
  15. 跑腿小程序需要服务器吗,小程序设置流程
  16. AE开发之图层渲染20210603
  17. 手机功能测试抓log方式(四种)
  18. NLP_task4文本表示_CBOW和Skip-gram模型
  19. ❤️学懂C语言文件操作读这篇就够了(万字总结,附习题)❤️
  20. [技术干货] 惠普3par命令行配置snmptrap

热门文章

  1. 基于PG与PostGIS搭建实时矢量瓦片服务
  2. PS实战-涂抹掉原图上的文字
  3. 基于MES的生产车间管理信息系统
  4. 黄金分割法 c语言程序,优化程序-黄金分割法C语言程序设计
  5. 电子邮件群发最好用的邮箱是哪个?
  6. Tensorflow之搭建神经网络八股
  7. 约翰霍普金斯大学计算机专业,约翰霍普金斯大学计算机科学专业介绍_计算机科学专业排名及就业方向和前景-小站留学...
  8. 坑爹的苹果机不执行ajax请求,苹果机加载外部Jquery失败
  9. APK文件如何查看源代码
  10. mysql spj_MySQL查询优化器--非SPJ优化--ORDERBY优化