MOT:Metrics MOTA

2021-11-17 12:27:30 浏览数 (1)

简介:

MOTChallenge是多目标跟踪领域最为常用的benchmark,其中2D MOT15,3D MOT15,MOT16,MOT17,MOT20都是多目标跟踪领域常用的数据集。 下面我们按照MOTChallenge中的评价标准进行介绍,当然MOTChallenge也主要参考《Evaluating Multiple Object Tracking Performance: The CLEAR MOT Metrics》

评价指标:

总结

CLEAR MOT Metrics认为一个好的多目标跟踪器应该有如下三点特性: 1.所有出现的目标都要能够及时找到(检测的性能) 2.找到目标位置要尽可能可真实目标位置一致(检测的性能) 3.保持追踪一致性,避免跟踪目标的跳变 (匹配的性能) 所以可以看出,多目标跟踪和目标检测是密不可分的,检测的性能不可避免的会对跟踪的性能造成影响。 MOTChallenge的评价指标一共有十一个,分别是

Measure

Better

Perfect

Description

MOTA

higher

100%

跟踪的准确度,和出现FN,FP,IDs的数量负相关,可能出现负值。

MOTP

higher

100%

跟踪的精度,GT和检测的bbox的匹配交叠

IDF1

higher

100%

引入track ID的F1

FAF

lower

0

每帧的平均误报警数

MT

higher

100%

命中的轨迹占总轨迹的占比,定义命中的轨迹为长度小于ground truth 80%的轨迹

ML

lower

0

丢失的轨迹占总轨迹的占比,定义丢失轨迹为长度小于ground truth 20%的轨迹

FP

lower

0

FP的总数量,false positives也就是误检

FN

lower

0

FN的总数量,false negatives也就是漏检

IDs

lower

0

ID改变的总数量

Frag

lower

0

轨迹被打断的总数量

Hz

higher

Inf

处理速度,不包括检测器的耗时,而且这个指标由作者提供,MOTChallenge是计算不出来的,因为递交的是offline文件。

MOTA

begin{aligned} text {MOTA} = 1 - frac{|text {FN}| |text {FP}| |text {IDSW}|}{|text {gtDet}|} end{aligned} 其中,FN为False Negative,FP为False Positive,IDSW为ID Switch,GT为Ground Truth 物体的数量。MOTA考虑了tracking中所有帧中对象匹配错误,主要是FN,FP,ID Switch。MOTA给出了一个非常直观的衡量跟踪器在检测物体和保持轨迹时的性能,与物体位置的估计精度无关。MOTA取值应小于100,当跟踪器产生的错误超过了场景中的物体,MOTA会为负数。需要注意的是,此处的MOTA以及MOTP是计算所有帧的相关指标再进行平均(既加权平均值),而不是计算每帧的rate然后进行rate的平均。 注意MOTA中的FN,FP是检测的结果,而不是跟踪的结果,也就是说MOTA中只有IDs是和跟踪有关系的,剩下的都是检测。MOTA相比于IDF1要更偏向与检测。

MOTP

begin{aligned} text {MOTP} = frac{1}{|text {TP}|}sum _{text {TP}}{ mathcal {S}} end{aligned}

其中,d为检测目标i和给它分配的ground truth之间在所有帧中的平均度量距离,在这里是使用bounding box的overlap rate来进行度量(在这里MOTP是越大越好,但对于使用欧氏距离进行度量的就是MOTP越小越好,这主要取决于度量距离d的定义方式);而c为在当前帧匹配成功的数目。MOTP主要量化检测器的定位精度,几乎不包含与跟踪器实际性能相关的信息。

IDF1

IDF1 = frac{2times IDP times IDR} {IDP IDR} IDR = frac{IDTP} {IDTP IDFN} IDP = frac{IDTP} {IDTP IDFP} 而IDTP,IDFN和IDFP就引入了ID考量的TP,FN和FP,这种考量是一种min-cost原则的匹配计算。 比如存在一段GT track,是10个1,有2个predict的track,是track1和track2:

truth :1-1-1-1-1-1-1-1-1-1 track1:1-1-2-2-3-3-4-4-5-5 track2:1-1-2-2-1-1-2-2-1-1

那么预测的结果是:

track

IDTP

IDFN

IDFP

IDP

IDR

IDF1

track1

2

8

8

20%

20%

20%

track2

6

4

4

60%

60%

60%

那么为什么track2的IDTP是6而不是4呢? 因为用id1区匹配GT的话,min-cost更小。

FN&FP&IDs&Frag

假设GT只有一条,用虚线表示,也就是说在GT中由6帧图像,并只有一个track id。下面由a,b,c,d四张图,涵盖了FN,FP,IDs和Frag的情况。 在图a中,GT被预测为红蓝两条,红色轨迹F1时并没有匹配上GT,所以GT实际上是一个FN,也就是实际为目标,但是被遗漏了。同理红色轨迹的F1结果,也就是一个FP,因为实际上是一个不存在的东西被判定成了目标。 同理,蓝色轨迹F3,F4也是FP,又因为GT由4到5时,id从红色变成蓝色,所以存在IDs。 在图b中,还是同样的GT,这次红蓝两条轨迹没有交叠,在F3的地方GT断开了,所以存在一次Frag。

Reference:

  • py-motmetrics
  • TrackEval

0 人点赞