基本概念
在目标跟踪领域,目标轨迹(Ground Truth Trajectory,简称GT轨迹)和预测轨迹(Predicted Trajectory,简称PT轨迹)是两个关键概念,它们用于评估目标跟踪算法的性能。
目标轨迹(Ground Truth Trajectory,GT轨迹):
GT轨迹是真实世界中目标的真实运动轨迹。通常,这是通过手动标注或使用其他感知设备(例如摄像头或传感器)获得的真实运动轨迹数据。GT轨迹代表了我们希望目标跟踪算法能够准确地预测的运动路径。
预测轨迹(Predicted Trajectory,PT轨迹):
PT轨迹是目标跟踪算法生成的预测运动轨迹。这是算法对目标位置的估计,通常在每个时刻都会生成一个新的位置预测。PT轨迹代表了算法对目标运动的预测。
那么如何判定一个PT是成功跟踪还是失败跟踪?
在目标跟踪的评估中,一个常见的场景是通过计算交并比(Intersection over Union,IoU)或其他相似的空间度量来确定在每一帧中目标的位置预测与真实位置的匹配程度。如果匹配程度达到了某个预定的阈值(比如 IoU 大于某个值),那么就认为目标在该帧被成功跟踪。
Classical metrics
MT:Mostly Tracked trajectories(轨迹),成功跟踪的帧数占总帧数的80%以上的GT轨迹数量
一个目标出现的总帧数为X,成功跟踪的帧数为Y,如果X/Y>80%,那么认定该目标被成功跟踪,即MT数量+1。不管这条轨迹上 ID 如何的变化(比如预测的时候发生了变化),但只要还是这条轨迹占到真实轨迹的 80% 以上就可以认为是 MT
ML:Mostly Lost trajectories,成功跟踪的帧数占总帧数的20%以下的GT轨迹数量
一个目标出现的总帧数为X,成功跟踪的帧数为Y,如果X/Y<20%,那么认定该目标被跟踪的十分失败,即MT数量+1
ID switches(IDSW):因为跟踪的每个对象都是有ID的,一个对象在整个跟踪过程中ID应该不变,但是由于跟踪算法不强大,总会出现一个对象的ID发生切换,这个指标就说明了ID切换的次数,指前一帧和后一帧中对于相同GT轨迹的预测轨迹ID发生切换,跟丢的情况不计算在ID切换中(必须发生ID切换)。
对于目标A来说,他的预测轨迹为GTA,预测轨迹为PTA。在t帧时,A的PTA ID是0,如果在t+1帧,PTA ID变为1。那么认为预测轨迹ID发生切换,IDSW+1。当然这个目标A必须是一个TP,不能是误检的对象(FN)。
Fragments:碎片数,成功跟踪的帧数占总帧数的80%以下的预测轨迹数量
CLEAR MOT metrics
FP:总的误报数量,即整个视频中的FP数量,即对每帧的FP数量求和。
误检,把没有目标的地方框了起来,这样的框的数量
FN:总的漏报数量,即整个视频中的FN数量,即对每帧的FN数量求和
漏检,有目标的地方没有框起来,这样的没框出目标的数量
Frag(FM):就是一条轨迹被切断的次数,GT轨迹还存在的情况下,跟踪器确不再跟踪这个轨迹了,这可能是漏检(FN)或者id switch的情况,则记录轨迹碎片,在gt的轨迹结束后跟踪器还继续跟踪的这种情况也会记录轨迹碎片,IDS是FM中的一种特殊情况,所以一般FM的值比IDS大。注意:不同于Fragments
MOTA(multiple object tracking accuracy):注意MOTA最大为1,由于IDSW的存在,MOTA最小可以为负无穷。MOTA 越接近于 1 表示跟踪器性能越好,由于有跳变数的存在,MOTA 可能存在小于 0 的情况。MOTA 主要考虑的是 tracking 中所有对象匹配错误,主要是 FP、FN、IDs、MOTA 给出的是非常直观的衡量跟踪其在检测物体和保持轨迹时的性能,与目标检测精度无关。
FN = 1,FP=1,IDSW=1,GT=4,MOTA=0.25
MOTP(multiple object tracking precision):衡量跟踪的位置误差,其中t表示第t帧, ct表示第t帧中预测轨迹和GT轨迹成功匹配上的数目, dt,i表示t帧中第i个匹配对的距离。这个距离可以用IOU或欧式距离(检测框的中心点与GT的中心点之间的距离)来度量,IOU大于某阈值或欧氏距离小于某阈值视为匹配上了。可以看出来MOTP这个指标更注重检测质量。
dt,i=1–IOU=0.22,ct=1,MOTP=0.22
FAF:每一帧的平均误报率,FP/总帧数
ID scores metrics
MOTA的主要问题是仅仅考虑跟踪器出错的次数,但是有一些场景(比如航空场景)更加关注一个跟踪器是否尽可能长的跟踪一个目标。
有如上三个跟踪器,对于GT轨迹A的跟踪效果如图显示。在(a)中有2个fragments,在(b)(c)中有8个。在(a)(b)中预测轨迹1占据了4/6的帧数,而在(c)中占据了5/6的帧数。由于(c)的IDSW会更多,它的MOTA指标会更低。但(c)中匹配时间要更长一些,如果我们关注跟踪时长的话,显然(c)这个跟踪器会更好一些,于是ID scores就被提出来了。总之,MOTA的主要问题是它考虑了跟踪器做出错误决定的次数,比如IDSW。而在某些情况下不想丢失跟踪对象的位置,我们更关心这个跟踪器跟踪某个对象的时间长短。因此,ID scores被提出。
但目前的问题是如何将GT和预测出来的轨迹匹配上,比如(a)中为何不将GT与预测轨迹2匹配来算出正确跟踪时间是2/6 ?因此,我们希望将每一个GT与一个计算轨迹匹配起来,并最小化所有GT轨迹和计算轨迹的不匹配帧数(FP+FN的数量),可以建立一个二分匹配问题来解决。然后ID scores相关指标都基于匹配的结果来进行计算。具体的二分匹配问题如下:
IDP(Identification precision):
IDR(Identification recall):
IDF1(Identification F1,是IDP和IDR的调和均值):
最重要是看IDTP,IDFP,IDFN这几个指标的计算,对于track1来说,IDTP,最大跟踪长度为2,对应的id可以是1、2、3、4、5。当确定TP的id=1后,fp=跟踪成功帧数-IDTP,IDFN就是ID的漏检,也就是本该检测的id都是1,结果有2345。id为2345对应的帧数就是FN,即ID是误检的。
HOTA metrics
在多目标跟踪评估指标中,MOTA和IDSw 仅度量一帧时间步回溯的关联性。它评估当前检测是否与前一帧的检测具有正确的关联。
由于关联性仅在一个时间步上进行测量,将其称为一阶关联(first-order association)。如果考虑关联性跨足两个时间步的指标,可以称之为二阶关联(second-order association)。
相比之下,HOTA衡量了视频的所有帧上的关联性。我们将这个概念称为高阶关联(higher-order association),并命名为HOTA。
在IDF1中,每个轨迹仅与单个其他轨迹匹配,并通过其与这个单一轨迹的对齐程度进行评分。我们将这称为一阶匹配(first-order matching)。相比之下,HOTA能够衡量每个轨迹与所有可能匹配轨迹的匹配程度,我们将其称为高阶匹配(higher-order matching)。因此,从关联和匹配的角度来看,HOTA可以被视为高阶的。
HOTA是三种IOU的结合,即检测、定位、关联。
https://zhuanlan.zhihu.com/p/405983694?utm_id=0
https://zhuanlan.zhihu.com/p/35391826
https://blog.csdn.net/fuss1207/article/details/126806570