MOT:A Higher Order Metric for Evaluating Multi-object Tracking

2023-05-16

简介

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=1gtDetFN+FP+IDSW
MOTP = 1 ∣ TP ∣ ∑ TP S \begin{aligned} \text {MOTP} = \frac{1}{|\text {TP}|}\sum _{\text {TP}}{ \mathcal {S}} \end{aligned} MOTP=TP1TPS
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+IDFNIDTP
ID-Precision = ∣ IDTP ∣ ∣ IDTP ∣ + ∣ IDFP ∣ \begin{aligned}&\text {ID-Precision} = \frac{|\text {IDTP}|}{|\text {IDTP}| + |\text {IDFP}|} \end{aligned} ID-Precision=IDTP+IDFPIDTP
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.5IDFN+0.5IDFPIDTP
图1
如上图,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 − 1 DetPr ) \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=1gtDetFN+FP=TP+FNTPFP=DetRe(2DetPr1)
可以发现,如果检测的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+FPTP

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α=TP1c{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)这几个数的意思,首先 c c c是一个属于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+FPc{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 = ∫ 0 1 HOTA α    d α ≈ 1 19 ∑ α ∈ { 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=01HOTAα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+FPc{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+FPTP
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α=TP1c{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+FNTP
DetPr α = ∣ TP ∣ ∣ TP ∣ + ∣ FP ∣ \begin{aligned} \text {DetPr}_\alpha&= \frac{|\text {TP}|}{|\text {TP}| + |\text {FP}| } \end{aligned} DetPrα=TP+FPTP
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α=TP1c{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α=TP1c{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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MOT:A Higher Order Metric for Evaluating Multi-object Tracking 的相关文章

随机推荐

  • 树莓派I2C基本用法

    文章目录 一 I2C二 I2C配置1 I2C02 I2C13 I2C34 I2C45 I2C56 I2C6 三 I2C工具总结 一 I2C 树莓派默认打开I2C功能 xff0c 如果I2C没有打开 xff0c 可以使用命令sudo rasp
  • 树莓派RTC

    文章目录 一 RTC准备二 RTC芯片三 为什么使用hwclock显示找不到硬件总结 一 RTC准备 在使能树莓派RTC之前 xff0c 需要先为树莓派RTC模块安装电池 xff08 一般为纽扣电池 xff09 二 RTC芯片 树莓派4B使
  • 树莓派debian11更换国内源

    更换国内源 修改文件 etc apt sources list deb https mirrors tuna tsinghua edu cn debian bullseye main contrib non free span class
  • cpptools占用率过高

    问题描述 使用vscode发现在系统中cpptools CPU占用率达到百分百 电脑发生严重卡顿 解决方案 xff1a 此问题的出现是因为使用了C C 43 43 这个插件 xff0c 如果直接禁用此插件就可以解决这个问题 如果希望使用这个
  • ROS话题的定义和使用

    ROS话题的定义和使用 自定义话题消息 自定义话题消息主要包括以下步骤 xff1a 定义msg文件在package xml中添加功能中依赖在CMakeList txt中添加编译规则编译生成语言相关文件 编写 msg文件 进入要定义 msg文
  • 如何在VScode中利用git来下载GitHub上的源码

    一 Git安装与下载 官网下载地址 xff1a Git Downloads https git scm com downloads xff08 注意安装时选择的默认编辑器选择vscode xff0c 然后修改安装路径其他默认下一步就ok了
  • PhpStorm 2018 安装及破解方法

    https blog csdn net u012278016 article details 81772566
  • mitmproxy笔记

    mitmproxy证书在http mitm it下载 或者在 mitmproxy ubuntu安装mitmproxy xff0e 可以到官网下载二进制文件 xff0e pip安装出了问题 xff0e Firfox和Chrome有各自独立的证
  • [Extensive Reading]目标检测(object detection)系列(十六)YOLOv4:平衡速度与精度

    简介 YOLOv4是YOLO之父Joseph Redmon宣布退出计算机视觉的研究之后推出的YOLO系列算法 xff0c 其作者Alexey Bochkovskiy也参与了YOLO之前系列算法 xff0c YOLOV4 Optimal Sp
  • 【Python】Python函数名后的->(横线和大于号)代表什么?

    目录 参考例子优点 参考 本文主要参考以下链接 xff1a 在def定义函数的时候 64 和 gt 代表什么 python中 gt 是什么意思python 定义函数 def 后面的 xff1e xff0c xff1a 表示的含义 例子 如下
  • Keil软件中使用“Go To Definition Of ”时提示“source browser:‘xxxx‘undefined definition/reference”

    在编写DMA的初始化函数时 xff0c 为了节约时间 xff0c 直接用了之前的模板 xff0c 但是在用DMA DeInit 函数时 xff0c 当右键点击此语句使用 Go To Definition Of 时 xff0c 该功能失效 x
  • 期末单片机复习题及答案(答案不保证全部正确95分)

    作者主页 xff1a 凉开水白菜 作者简介 xff1a 共同学习 xff0c 互相监督 xff0c 热于分享 xff0c 多加讨论 xff0c 一起进步 点赞 x1f44d 收藏 再看 xff0c 养成习惯 订阅的粉丝可通过PC端文末加我微
  • 带时间窗的车辆路径问题的多目标模因算法

    求解带时间窗车辆路径问题的多目标模因算法 1 问题描述和数学建模建立多目标模因算法 解的构造自适应局部搜索链 xff08 1 xff09 多方向局部搜索策略 xff08 2 xff09 强化的局部搜索链技术 xff08 3 xff09 自适
  • [嵌入式]stm32内部温度传感器实验

    实验概述 文章目录 实验概述一 概述二 实验平台 xff08 1 xff09 硬件平台ALIENTEK MiniSTM32 开发板 xff08 2 xff09 软件平台 三 实验过程1 STM32 内部温度传感器简介2 硬件设计3 软件设计
  • 用ipad的第一次写博客

    试着用用 用平板第一次写博客 练练手 张大炮到此一游
  • kazam的安装和使用

    kazam xff1a 介绍 xff1a 一款Linux端的录屏j兼具截图软件 主要是录屏有声音 软件 xff1a kazam 安装内容 xff1a 步骤如下 1 命令行执行语句sudo apt get install kazam 2 如果
  • VINS-Fusion 外参标定效果分析(一)

    测试流程 xff1a 在 EuRoC V1 01 easy 数据集上测试 VINS Fusion 在线外参估计效果 使用估计前后不同的外参得到两条完整轨迹 xff0c 使用 rpg trajectory evaluation 工具对比了两条
  • VINS-Fusion 外参标定效果分析(二)

    测试边缘化对外参标定的影响 参考VIN Fusion中原本的vector2double double2vector和optimization函数 xff0c 在代码中添加vector2double ex double2vector ex和o
  • keil遇到的警告汇总

    文章目录 警告 191 D 警告 191 D user Dataex c 500 warning 191 D type qualifier is meaningless on cast type 警告 xff1a 191 D xff1a 类
  • MOT:A Higher Order Metric for Evaluating Multi-object Tracking

    简介 HOTA A Higher Order Metric for Evaluating Multi object Tracking是IJCV 2020的paper xff0c 在此之前以MOTChallenge为主的多目标跟踪benchm