超全!目标跟踪中的评价指标有哪些?
作者 | 范厘针 编辑 | 汽车人
原文链接:https://zhuanlan.zhihu.com/p/602323326
点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
点击进入→自动驾驶之心【目标跟踪】技术交流群
后台回复【目标跟踪综述】获取单目标、多目标、基于学习方法的领域综述!
跟踪的评价指标有哪些?
首先明确评价目标跟踪算法的出发点:
希望所有出现的目标都要被及时找到;
希望每个目标的位置要与真实的目标位置一致;
希望每个目标都被分配一个唯一的ID,并且分配给这个目标的ID在整个序列中保持不变。
用于评价的文件
det.txt
这个文件是保存模型推理的检测结果的文件,内容如下:
1,-1,1359.1,413.27,120.26,362.77,2.3092,-1,-1,-1
1,-1,571.03,402.13,104.56,315.68,1.5028,-1,-1,-1
2,-1,1494.4,408.29,112.14,338.41,0.16075,-1,-1,-1
2,-1,572.83,364.89,128.96,388.88,-0.011851,-1,-1,-1
从左到右分别代表:
frame: 代表第几帧图片
id: 表示分配给这个检测框的id,在这里都是-1,那么表示的是没有id信息
bbox(四位): 分别是左上角的坐标以及检测框的长宽
conf:这个bbox包含物体的置信度,可以看到这里的数值并不是趋于0-1范围,分数越高代表置信度越高
MOT3D(x,y,z): 是在MOT3D中使用到的内容,但我们这里只关心MOT2D,所以这三个数值都设置为-1
可以看出以上内容提供的信息,和目标检测中推理出的信息没有太大区别,所以也在一定程度上可以用于检测器的训练。
gt.txt
这个文件和det.txt类似。
1,1,912,484,97,109,0,7,1
2,1,912,484,97,109,0,7,1
3,1,912,484,97,109,0,7,1
从左到右分别是:
frame: 代表第几帧图片
ID:表示的是轨迹的ID,可以看出gt里边是按照轨迹的ID号进行排序的
bbox: 分别是左上角的坐标以及检测框的长宽
是否忽略:0代表忽略,1代表不忽略
classes:目标的类别个数,因为在这个数据集中是12个类别,而7代表的是人,第8个类代表错检,9-11代表被遮挡的类别
评价过程的步骤
建立目标与标签之间的对应关系
对所有的对应关系,计算位置偏移误差
统计主要的误差:计算漏检数、计算误报数、跟踪目标在该序列中发生跳变的次数
目标跟踪的评价指标如下:
MOTA(Multiple Object Tracking Accuracy)
MOTA主要考虑在跟踪中所有对象的匹配错误,主要是FP,FN,IDs。FN为False Negative,FP为False Positve,IDSW为ID Switch,即ID切换次数,GT是Ground Truth,表示的是物体的数量。
MOTA能非常直观地衡量跟踪器在检测物体和保持轨迹时的性能,与目标检测精度无关。它的取值一般小于100,当跟踪器产生的错误超过了场景中的物体时,MOTA就会变为负数。
MOTP(Multiple Object Tracking Precision)
d为检测目标i和给它分配的ground truth之间在所有帧中平均度量的距离,在这里是使用框与框之间的IOU值进行度量。如果是通过IOU度量,那么MOTP是越大越好,但如果使用欧氏距离进行度量,那么MOTP就越小越好;而c为在当前帧匹配成功的数目。
MOTP主要量化检测器的定位精度,几乎和跟踪器实际性能没有关系。
注意 MOTA&MOTP是计算所有帧相关指标后再进行平均的,不是计算每帧的rate然后进行rate平均。
MT(Mostly Tracked)
Mostly Tracked表示的是满足Ground Truth在至少80%的时间内都成功匹配的track,在所有追踪目标中所占的比例。
ML (Mostly Lost)
Mostly Lost表示的是满足Ground Truth在小于20%的时间内匹配成功的track,在所有追踪目标中所占的比例。
注意这里的MT和ML与当前track的ID是否发生改变没有关系,只要Ground Truth能与目标匹配上就行了。
ID Switch
表示GT所分配的ID发生变化的次数。
FM (Fragmentation)
FM计算的是跟踪有多少次被打断,也就是Ground Truth的track没有被匹配上,换句话说:每当轨迹将其状态从跟踪状态变为未跟踪状态,并在稍后跟踪上相同的轨迹时,就会对FM进行计数。
在FM计数时要求ground truth的状态满足:tracked->untracked->tracked,如上图中(b)所示,而(c)中的不算FM。
需要注意的是,FM与ID是否发生变化无关。
FP (False Positive)
如果当前帧所预测的track和detection没有匹配上,将错误预测的track称为FP。是否匹配成功与匹配时所设置的阈值有关。
FN (False Negative)
如果当前帧所预测的track和detection没有匹配上,将未匹配上的gt称为FN,也可以称作Miss。
ID scores
MOTA也有缺点,因为它仅仅考虑跟踪器出错的次数,但是在一些场景中,比如航空场景,会更加关心一个跟踪器是否尽可能长时间地成功跟踪一个目标。这个可以通过构建二分图来解决,可以通过IDTP、IDFP、IDFN计算得出,具体指标有IDP、IDR、IDF1。IDP:
IDR:
正确识别的检测与真实数和计算检测的平均数之比IDF1
以上本文提到的,就是目标跟踪里大部分的评价指标了。
超全!目标跟踪中的评价指标有哪些?相关推荐
- (转) 深度学习在目标跟踪中的应用
深度学习在目标跟踪中的应用 原创 2016-09-05 徐霞清 深度学习大讲堂 点击上方"深度学习大讲堂"可订阅哦!深度学习大讲堂是高质量原创内容的平台,邀请学术界.工业界一线专家 ...
- [转]深度学习在目标跟踪中的应用
原文链接:https://zhuanlan.zhihu.com/p/22334661 开始本文之前,我们首先看上方给出的3张图片,它们分别是同一个视频的第1,40,80帧.在第1帧给出一个跑步者的边框 ...
- 一文详解目标跟踪中的相关滤波
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文来源:AI干货知识库 / 导读 / 目标跟踪是计算机视觉领域的一个重要问题,目前广泛应用在体育赛事 ...
- 综合评价模型的缺点_【必备】目标检测中的评价指标有哪些?
在人工智能领域,机器学习的效果需要用各种指标来评价.当一个目标检测模型建立好了之后,即模型训练已经完成,我们就可以利用这个模型进行分类识别.那么该如何去评价这个模型的性能呢? 上期我们一起学习了全卷积 ...
- 智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-汇总
总结: Siamese网络衡量两个输入的相似程度,输出是一个[0,1]的浮点数,表示二者的相似程度.孪生神经网络有两个输入(Input1 and Input2),将两个输入feed进入两个神经网络(N ...
- (FFT)快速傅里叶变换在目标跟踪中的运用
随着科学技术的不断发展,许多用于加快计算速度的算法应运而生,快速傅里叶变换就是其中之一,快速傅里叶变换是傅里叶变换的一种快速计算方式.傅里叶变换在科学研究中运用非常广泛,刚开始出现时,主要用于信号分析 ...
- 无迹卡尔曼滤波UKF—目标跟踪中的应用(算法部分)
无迹卡尔曼滤波UKF-目标跟踪中的应用(算法部分) 原创不易,路过的各位大佬请点个赞 机动目标跟踪/非线性滤波/传感器融合/导航等探讨代码联系WX: ZB823618313 仿真部分见博客: [无迹卡 ...
- 无迹卡尔曼滤波UKF—目标跟踪中的应用(仿真部分)
无迹卡尔曼滤波UKF-目标跟踪中的应用(仿真部分) 原创不易,路过的各位大佬请点个赞 机动目标跟踪/非线性滤波/传感器融合/导航等探讨联系WX: ZB823618313 算法部分见博客: [无迹卡尔曼 ...
- 交互式多模型算法IMM——机动目标跟踪中的应用
机动目标跟踪--交互式多模型算法IMM 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--交互式多模型算法IMM 机动目标跟踪--交互式多模型算法IMM 1. 对机动目 ...
最新文章
- SAP Link Between Material Document and Accounting Document Table
- 在SQLSERVER企业管理器中如何创建触发器
- 制作CDKEY:有效期的处理
- r4烧录卡内核安装_R4 Wood内核怎么用?R4烧录卡Wood R4内核详细使用教程
- 周立功USBCANFD_200U的Python调用
- 常见运维问题以及解决方案
- B1105 Spiral Matrix (画图)
- Vue脚手架创建项目报错 ERROR command failed: npm install --loglevel error --legacy-peer-deps
- 【评测】常用免疫细胞培养基
- 如何使用条形码字体在Crystal Report中创建代码39?
- android音乐播放器横评,14款Android音乐播放器年度横评 安卓播放器对比测评
- 拯救者笔记本 除尘后 开机蓝屏
- php数字转换题目,PHP将整数数字转换为罗马数字实例分享
- WFA程序C#窗体间传值
- 四大盈利互联网经营理念
- WIN10手动添加开机启动项,自己测试可用
- ruby-to_ary
- 联想笔记本切换任务栏时卡顿
- SpringBoot 学习之 No bean named ‘xxx’ available
- tensorflow00:windows下训练并测试MNIST数字识别详细笔记
热门文章
- 小白安装Revit2021的Lookup和Manager文件步骤(附文件)
- 在jdk11中使用javafx
- 八一八我亲身逃离传销的经历
- 利用python爬取猫眼电影榜单TOP100
- 福利 | 手把手教你做好一场技术分享
- 【SMS】SMS协议介绍之短消息中心(SC)
- 关于error:java :程序包org.apache.ibatis.io不存在这件事。
- 信息学奥赛一本通测评网 1199 全排列 递归算法 Dangerise
- win10 关机变注销重启_如何在Windows 10中更改Windows 10注销,登录和关机声音
- 读书笔记-请求即是恭维