对于多目标追踪问题,我们认为一个理想的评价指标应该满足下述三点要求:
1)所有出现的目标都要能够及时找到
2)找到目标位置要尽可能可真实目标位置一致
3)保持追踪一致性,避免跟踪目标的跳变
标准CLEAR-MOT测量,包括两个评价标准:
1)Multi-Object Tracking Accuracy(MOTA)
多目标跟踪准确度:
其中mt,fpt,和mmet分别是t帧时漏检、误检和错误匹配的数量。MOTA可以分为3个部分:
漏检率,计算的是基于所有帧中总目标数的占比:
误检率:
错误匹配率:
将这三种不同错误比率合计起来就是总错误率Etot,而1−Etot是跟踪准确率的结果。MOTA计算跟踪在所有帧中所有目标的误检,漏检和错误匹配。非常直观的给出了衡量跟踪识别目标和保持一致性的能力,且与估计目标位置精确度无关。
2)Multi-ObjectTracking Precision (MOTP)
多目标跟踪精度:所有帧中匹配的目标-预测对的总位置估计误差,与匹配对数的比值。它衡量了跟踪估计目标位置精确度的能力,但不衡量跟踪的识别目标结构能力,以及保持跟踪一致性能力等。
MOTP和MOTA两个指标同时很高,那么tracker的性能就越好。
Note:这里在计算MOTP和MOTA时,都是计算的整个tracking过程的平均值,而不是每一帧的结果,这是因为单帧计算这些变量然后再计算平均往往会导致和直观上不同的结果。对于MOTP和MOTA,在计算最终均值或者比率之前,先汇总所有帧中的错误很重要。如果先计算每帧的错误率,然后再合计求平均,那么结果可能违反直观意义。如下图所示。虽然序列中的大多数目标都漏检了,但是如果先求每帧的错误率,再求平均,那么任然只有50%的漏检率。但是先分别合计所有帧中所有漏检和目标数,然后再求平均,则漏检率有80%,这更符合直观意义。
计算错误率
假设有一个长度为8帧的序列。从第一帧到第四帧有o1,o2,o3,o4o_1,o_2,o_3,o_4o1,o2,o3,o4四个可见的目标,但是都没有被跟踪识别出来。从第五帧到第八帧只有一个o4目标,不过被h1跟踪识别出来了。对于第一帧到第四帧来说目标百分之百的被漏检了,漏检率就是100%。而第五帧到第八帧都没有漏检,漏检率为0%。那么平均漏检率就为(100%*4+0%*4)/8=50%。但是换一种算法,所有帧出现的总目标个数有20个,漏检个数有16个,则漏检率为16/20=80%,显然后一种算法的结果更符合直观意义一些。
此外,额外引入了若干指标来进行评价:
↑:表示得分越高越好,反之亦然。
Recall(↑):正确匹配的检测目标数/ground truth给出的目标数
Precision(↑):正确匹配的检测目标数/检测出的目标数
MT(↑):目标的大部分被跟踪到的轨迹占比(大于百分之八十)
ML(↓):目标的大部分跟丢的轨迹占比(小于百分之二十)
PT(↓):目标部分跟踪到的轨迹占比(1 - MT – ML)
FM(↓):真实轨迹被打断的次数
IDS(↓):一条跟踪轨迹改变目标标号的次数
MOTA(↑):结合了丢失目标,虚警率,标号转换之后的准确性
MOTP(↑)::所有跟踪目标的平均边框重叠率