当前位置:   article > 正文

【MOT】多目标跟踪任务详细入门介绍(评价指标、数据集等)_多目标轨迹评价指标

多目标轨迹评价指标

简介

多目标跟踪,即 MOT(Multi-Object Tracking),顾名思义,就是在一段视频中同时跟踪多个目标。

而由于是多目标,自然就会产生新目标进入与旧目标消失的问题,这就是与单目标跟踪算法区别最大的一点。而由于这一点区别,也就导致跟踪策略的不同。在单目标跟踪中,我们往往会使用给定的初始框,在后续视频帧中对初始框内的物体进行位置预测。而多目标跟踪算法,大部分都是不考虑初始框的,原因就是上面的目标消失与产生问题。

取而代之,在多目标跟踪领域常用的跟踪策略是TBD(Tracking-by-Detecton)。即在每一帧进行目标检测,再利用目标检测的结果来进行目标跟踪,这一步我们一般称之为数据关联(Data Assoiation)

不得不提的是另一种多目标跟踪算法的分类方式:在线跟踪(Online)与离线跟踪(Offline)。上文提到,大家往往会使用数据关联来进行多目标跟踪。而数据关联的效果,与你能使用的数据是有着直接的关系的。在 Online 跟踪中,我们只能使用当前帧及之前帧的信息来进行当前帧的跟踪。而在 Offline 跟踪中则没有了这个限制,我们对每一帧的预测,都可以使用整个视频的信息,这样更容易获得一个全局最优解。两种方式各有优劣,一般视应用场合而定,Offline 算法的效果一般会优于 Online 算法。而介于这两者之间,还有一种称之为 Near-Online 的跟踪方式,即可以部分利用未来帧的信息。

核心步骤

MOT 算法的通常工作流程:(1)给定视频的原始帧;(2)运行对象检测器以获得对象的边界框;(3)对于每个检测到的物体,计算出不同的特征,通常是视觉和运动特征;(4)之后,相似度计算步骤计算两个对象属于同一目标的概率;(5)最后,关联步骤为每个对象分配数字 ID。
在这里插入图片描述

因此绝大多数 MOT 算法无外乎就这四个步骤:①检测 ②特征提取、运动预测 ③相似度计算 ④数据关联。
其中影响最大的部分在于检测,检测结果的好坏对于最后指标的影响是最大的。

一些术语
Trajectory(轨迹):一条轨迹对应这一个目标在一个时间段内的位置序列
Tracklet(轨迹段):形成 Trajectory 过程中的轨迹片段。完整的 Trajectory 是由属于同一物理目标的 Tracklets 构成的。

评价指标

基础概念

TP:真正 (True Positive, TP)是指被模型预测为正的正样本,可以称为判断为正的正确率,或被检测出来的 GT。
TN:真负 (True Negative, TN)是指被模型预测为负的负样本,可以称为判断为负的正确率。
FP:假正 (False Positive, FP)是指被模型预测为正的负样本,可以称为误报率。
FN:假负 (FALSE Negative, FN)是指被模型预测为负的正样本,可以称为漏报率。
Accuracy:准确度是指被分类器判定正确的比重,这个指标就太简单了,其实就是分类正确的例子占总数的比例:
A c c u r a r y = T P + T N T P + T N + F P + F N Accurary=\frac{TP+TN}{TP+TN+FP+FN} Accurary=TP+TN+FP+FNTP+TN
Precision:精确度是指被分类器判定的正例中真正的正例样本的比重:
P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP
Recall:召回率是指被分类器正确判定的正例占总的正例的比重:
R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP

MOT 指标

Classical metrics

MT:Mostly Tracked trajectories,成功跟踪的帧数占总帧数的 80%以上的 GT 轨迹数量
Fragments:碎片数,成功跟踪的帧数占总帧数的 80%以下的预测轨迹数量
ML:Mostly Lost trajectories,成功跟踪的帧数占总帧数的 20%以下的 GT 轨迹数量
False trajectories:预测出来的轨迹匹配不上 GT 轨迹,相当于跟踪了个寂寞
ID switches:因为跟踪的每个对象都是有 ID 的,一个对象在整个跟踪过程中 ID 应该不变,但是由于跟踪算法不强大,总会出现一个对象的 ID 发生切换,这个指标就说明了 ID 切换的次数,指前一帧和后一帧中对于相同 GT 轨迹的预测轨迹 ID 发生切换,跟丢的情况不计算在 ID 切换中。

CLEAR MOT metrics

FP:总的误报数量,即整个视频中的 FP 数量,即对每帧的 FP 数量求和
FN:总的漏报数量,即整个视频中的 FN 数量,即对每帧的 FN 数量求和
Fragm(FM):总的 fragmentation 数量,every time a ground truth object tracking is interrupted and later resumed is counted as a fragmentation,注意这个指标和 Classical metrics 中的 Fragments 有点不一样
IDSW:总的 ID Switch 数量,即整个视频中的 ID Switch 数量,即对每帧发生的 ID Switch 数量求和,这个和 Classical metrics 中的 ID switches 基本一致
MOTA:注意 MOTA 最大为 1,由于 IDSW 的存在,MOTA 最小可以为负无穷。
M O T A = 1 − F N + F P + I D S W G T MOTA=1-\frac{FN+FP+IDSW}{GT} MOTA=1GTFN+FP+IDSW
MOTP:衡量跟踪的位置误差,其中 t 表示第 t 帧, c t c_t ct 表示第 t 帧中预测轨迹和 GT 轨迹成功匹配上的数目, d t , i d_{t,i} dt,i 表示 t 帧中第 i 个匹配对的距离。这个距离可以用 IOU 或欧式距离来度量,IOU 大于某阈值或欧氏距离小于某阈值视为匹配上了。可以看出来 MOTP 这个指标相比于评估跟踪效果,更注重检测质量。
M O T P = ∑ t , i d t . i ∑ t c t MOTP=\frac{\sum_{t,i}d_{t.i}}{\sum_tc_t} MOTP=tctt,idt.i
HOTA:21 年新提出的评价指标
可以参考:
https://github.com/JonathonLuiten/TrackEval
https://link.springer.com/article/10.1007/s11263-020-01375-2

ID scores

MOTA 的主要问题是它考虑了跟踪器做出错误决定的次数,比如 IDSW。而在某些情况下不想丢失跟踪对象的位置,我们更关心这个跟踪器跟踪某个对象的时间长短。因此,ID scores 被提出,它们是在介绍 MTMC 的一篇论文中被提出的。
IDP:识别精确度 (Identification Precision)是指每个行人框中行人 ID 识别的精确度。公式为:
I D P = I D T P I D T P + I D F P IDP=\frac{IDTP}{IDTP+IDFP} IDP=IDTP+IDFPIDTP
其中 I D T P IDTP IDTP I D F N IDFN IDFN 分别是真正 ID 数和假正 ID 数。
IDR:识别回召率 (Identification Recall)是指每个行人框中行人 ID 识别的回召率。公式为:
I D R = I D T P I D T P + I D F N IDR=\frac{IDTP}{IDTP+IDFN} IDR=IDTP+IDFNIDTP
其中 I D F N IDFN IDFN 是假负 ID 数。
IDF 1:识别 F 值 (Identification F-Score),Identification F 1,是 IDP 和 IDR 的调和均值。公式为:
I D F 1 = 2 1 I D P + 1 I D R = 2 I D T P 2 I D T P + I D F P + I D F N IDF1=\frac{2}{\frac{1}{IDP}+\frac{1}{IDR}}=\frac{2IDTP}{2IDTP+IDFP+IDFN} IDF1=IDP1+IDR12=2IDTP+IDFP+IDFN2IDTP

参考:
https://zhuanlan.zhihu.com/p/405983694
https://zhuanlan.zhihu.com/p/35391826

数据集

MOT

官网: https://motchallenge.net/

  • 15 年的都是采集的老的数据集的视频做的修正。参考论文:MOTChallenge 2015: Towards a Benchmark for Multi-Target Tracking『 https://arxiv.org/abs/1504.01942』
  • 16 年的是全新的数据集,相比于 15 年的行人密度更高、难度更大。特别注意这个 DPM 检测器,效果非常的差,全是漏检和误检。参考论文:MOT 16: A Benchmark for Multi-Object Tracking:『 https://arxiv.org/abs/1603.00831』
  • 17 年的视频和 16 年一模一样,只是提供了三个检测器,相对来说更公平。也是现在论文的主流数据集。
  • 19 年的是针对特别拥挤情形的数据集,只有 CVPR 19 比赛时才能提交。

数据集格式

拿 MOT 17 举例

文件目录
- MOT17
    - train
        - MOT17-02-DPM
            - det
                - det.txt
            - gt
                - gt.txt
            - img1
            - seqinfo.init
        - MOT17-02-FRCNN
        ...
    - test
        - MOT17-01-DPM
            - det
                - det.txt
            - img1
            - seqinfo.ini
        - MOT17-01-FRCNN
        ...

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
seqinfo. ini

在每个子文件夹中都有这个,主要用于说明这个文件的一些信息,比如长度,帧率,图片的长和宽,图片的后缀名。

[Sequence]
name=MOT17-02-DPM
imDir=img1
frameRate=30
seqLength=600
imWidth=1920
imHeight=1080
imExt=.jpg
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
det. txt

这个文件中存储了图片的检测框的信息 (检测得到的信息文件),部分内容展示如下:

1,-1,1359.1,413.27,120.26,362.77,2.3092,-1,-1,-1
  • 1

从左到右分别代表:

  • frame: 第几帧图片
  • id: 这个检测框分配的 id,在这里都是-1 代表没有 id 信息
  • bbox (四位): 分别是左上角坐标和长宽
  • conf:这个 bbox 包含物体的置信度,可以看到并不是传统意义的 0-1,分数越高代表置信度越高
  • MOT 3 D (x, y, z): 是在 MOT 3 D 中使用到的内容,这里关心的是 MOT 2 D,所以都设置为-1

可以看出以上内容主要提供的和目标检测的信息没有区别,所以也在一定程度上可以用于检测器的训练。

gt. txt

这个文件只有 train 的子文件夹中有,test 中没有,其中内容的格式和 det. txt 有一些类似,部分内容如下:

1,1,912,484,97,109,0,7,1
  • 1

从左到右分别是:

  • frame: 第几帧图片

  • ID: 也就是轨迹的 ID,可以看出 gt 里边是按照轨迹的 ID 号进行排序的

  • bbox: 分别是左上角坐标和长宽

  • 是否忽略:0 代表忽略

  • classes: 目标的类别个数(这里是驾驶场景包括 12 个类别),7 代表的是静止的人。第 8 个类代表错检,9-11 代表被遮挡的类别
    在这里插入图片描述

  • 最后一个代表目标运动时被其他目标包含、覆盖、边缘裁剪的情况。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/802791
推荐阅读
相关标签
  

闽ICP备14008679号