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

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

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

多目标跟踪评价指标总结——MOTA、IDF1、HOTA等_第1张图片

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=1TFN+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 TPFP,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)

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

多目标跟踪评价指标总结——MOTA、IDF1、HOTA等_第2张图片

知道了上面的概念之后,在阈值为 α \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+FPc{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=01HOTAαdα191α{0.05,0.1,}0.9,0.95HOTAα
除此之外,原论文还提出了一下其他的评价指标,用来衡量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=01TPα1c{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+FPTPAssAα=TP1c{TP}A(c)DetReα=TP+FNTPDetPrα=TP+FPTPDetα=DetReα+DetPrαDetReαDetPrαDetReαDetPrαAssReα=TP1c{TP}TPA(c)+FNA(c)TPA(c)AssPrα=TP1c{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=01XXXαdα191α{0.05,0.1,}0.9,0.95XXXα

你可能感兴趣的:(笔记,目标跟踪,计算机视觉,深度学习)