多目标跟踪MOT16数据集和评价指标

deepsort和MOT16指标评价 如何评价deepsort跟踪性能,常用的有MOT challenge提供的数据集,根据训练数据集的ground truth文件,对比deepsort跟踪窗口位置和跟踪ID,可以得到一系列评价指标。网上有很多有关MOT评价指标介绍和算法,近来找到一个纯采用python的算法代码,在此分享。 github网站在此:https://github.com/JonathonLuiten/TrackEval 克隆到本地 git clone https://github.com/JonathonLuiten/TrackE 阅读详情

最近要做一个有关多目标跟踪的项目,刚刚接触MOT,所以先来了解一下MOT16这个比较经典的数据集以及比较经典的评价标准。

1. 多目标跟踪

多目标跟踪处理的对象是视频,从视频的第一帧到最后一帧,里边有多个目标在不断运动。多目标跟踪的目的就是将每个目标和其他目标进行区分开来,具体方法是给每个目标分配一个ID,并记录他们的轨迹。

刚开始接触,可能觉得直接将目标检测的算法应用在视频的每一帧就可以完成这个任务了。实际上,目标检测的效果是很不稳定的,其实最大的区别在于,仅仅使用目标检测无法给对象分配ID,并且多目标跟踪算法能够优化轨迹,能让目标框更加稳定。

多目标跟踪中一个比较经典的和深度学习结合比较好的方法就是Detection Based Tracking,对前后两帧进行目标检测,然后根据得到的前后两帧的所有目标进行匹配,从而维持ID。初学者接触比较多的就是SORT和Deep SORT算法了。

2. MOT16数据集

MOT16数据集是在2016年提出来的用于衡量多目标跟踪检测和跟踪方法标准的数据集,专门用于行人跟踪。官网地址是:https://motchallenge.net/

从官网下载的数据是按照以下的文件结构进行组织的:

- MOT16
	- train
		- MOT16-02
			- det
				- det.txt
			- gt
				- gt.txt
			- img1
			- seqinfo.init
		- MOT16-04
		- MOT16-05
		- MOT16-09
		- MOT16-10
		- MOT16-11
		- MOT16-13
	- test
		- MOT16-01
			- det
				- det.txt
			- img1
			- seqinfo.ini
		- MOT16-03
		- MOT16-06
		- MOT16-07
		- MOT16-08
		- MOT16-12
		- MOT16-14		

在MOT16数据集中,是包含了检测得到的框的,这样是可以免去目标检测这个部分,提供统一的目标检测框以后,然后可以比较目标跟踪更关注的部分,而不用在花费精力在目标检测上。

  1. seqinfo.ini

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

[Sequence]
name=MOT16-09
imDir=img1
frameRate=30
seqLength=525
imWidth=1920
imHeight=1080
imExt=.jpg
  1. 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
1,-1,650.8,455.86,63.98,193.94,0.33276,-1,-1,-1
1,-1,721.23,446.86,41.871,127.61,0.27401,-1,-1,-1
2,-1,460.48,442.1,90.896,274.69,0.26749,-1,-1,-1
2,-1,643.66,461.78,59.629,180.89,0.18023,-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
3,-1,1359.1,413.27,120.26,362.77,2.3387,-1,-1,-1
3,-1,571.03,402.13,104.56,315.68,0.79923,-1,-1,-1
3,-1,1482.5,390.88,128.96,388.88,0.35271,-1,-1,-1
...
600,-1,708.37,476.87,20.435,63.306,-0.1483,-1,-1,-1
600,-1,421.14,446.86,41.871,127.61,-0.19971,-1,-1,-1
600,-1,613.25,412.69,51.78,157.34,-0.38627,-1,-1,-1
600,-1,375.27,454.06,48.246,146.74,-0.42444,-1,-1,-1

从左到右分别代表:

  • frame: 第几帧图片

  • id: 这个检测框分配的id,在这里都是-1代表没有id信息

  • bbox(四位): 分别是左上角坐标和长宽

  • conf:这个bbox包含物体的置信度,可以看到并不是传统意义的0-1,分数越高代表置信度越高

  • MOT3D(x,y,z): 是在MOT3D中使用到的内容,这里关心的是MOT2D,所以都设置为-1

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

  1. gt.txt

这个文件只有train的子文件夹中有,test中没有,其中内容的格式和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
...
136,1,912,484,97,109,0,7,0.93878
137,1,912,484,97,109,0,7,0.86735
138,1,912,484,97,109,0,7,0.79592
139,1,912,484,97,109,0,7,0.72449
140,1,912,484,97,109,0,7,0.65306
...
338,1,912,484,97,109,0,7,0
339,1,912,484,97,109,0,7,0
340,1,912,484,97,109,0,7,0
341,1,912,484,97,109,0,7,0
...
599,1,912,484,97,109,0,7,1
600,1,912,484,97,109,0,7,1

1,2,1338,418,167,379,1,1,1
2,2,1342,417,168,380,1,1,1
3,2,1346,417,170,380,1,1,1
...

从左到右分别是:

  • frame: 第几帧图片

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

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

  • 是否忽略:0代表忽略

  • classes:目标的类别个数(这里是驾驶场景包括12个类别),7代表的是静止的人。

第8个类代表错检,9-11代表被遮挡的类别

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

总结:

  • train中含有的标注信息主要来自det.txt和gt.txt。test中只含有det.txt。

  • det.txt含有的有用信息有:frame, bbox, conf

  • gt.txt含有的有用信息有:frame,bbox, conf, id, class

  • output.txt(使用deepsort得到的文件)中含有的有用信息有:frame,bbox, id

3. MOT中的评价指标

评价出发点:

  • 所有出现的目标都要及时能够找到;

  • 目标位置要尽可能与真实目标位置一致;

  • 每个目标都应该被分配一个独一无二的ID,并且该目标分配的这个ID在整个序列中保持不变。

评价指标数学模型:评价过程的步骤:

  1. 建立 目标与假设最优间的最优一一对应关系,称为correspondence

  2. 对所有的correspondence,计算位置偏移误差

  3. 累积结构误差 a. 计算漏检数 b. 计算虚警数(不存在目标却判断为目标) c. 跟踪目标发生跳变的次数

  1. MOTA(Multiple Object Tracking Accuracy)

FN为False Negative, FP为False Positve, IDSW为ID Switch, GT是Ground Truth物体的数量。

MOTA主要考虑的是tracking中所有对象匹配错误,主要是FP,FN,IDs. MOTA给出的是非常直观的衡量跟踪其在检测物体和保持轨迹时的性能,与目标检测精度无关。

MOTA取值小于100,但是当跟踪器产生的错误超过了场景中的物体,MOTA可以变为负数。

ps: MOTA&MOTP是计算所有帧相关指标后再进行平均的,不是计算每帧的rate然后进行rate平均。

  1. MOTP(Multiple Object Tracking Precision)

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

  1. MT(Mostly Tracked)

满足Ground Truth至少在80%的时间内都匹配成功的track,在所有追踪目标中所占的比例。注意这里的MT和ML与当前track的ID是否发生变化无关,只要Ground Truth与目标匹配上即可。

  1. ML (Mostly Lost)

满足Ground Truth在小于20%的时间内匹配成功的track,在所有追踪目标中所占的比例。

  1. ID Switch

Ground Truth所分配的ID发生变化的次数,如图1中(a)所示。

  1. FM (Fragmentation)

FM计算的是跟踪有多少次被打断(既Ground Truth的track没有被匹配上),换句话说每当轨迹将其状态从跟踪状态改变为未跟踪状态,并且在稍后的时间点跟踪相同的轨迹时,就会对FM进行计数。此处需要注意的是,FM计数时要求ground truth的状态需要满足:tracked->untracked->tracked,如图1中(b)所示,而(c)中的不算FM。需要注意的是,FM与ID是否发生变化无关。

  1. FP (False Positive)

当前帧预测的track和detection没有匹配上,将错误预测的track点称为FP,如图1所示。是否匹配成功与匹配时所设置的阈值有关。

  1. FN (False Negative)

当前帧预测的track和detection没有匹配上,将未被匹配的ground truth点称为FN(也可以称为Miss)

  1. ID scores

MOTA的主要问题是仅仅考虑跟踪器出错的次数,但是有一些场景(比如航空场景)更加关注一个跟踪器是否尽可能长的跟踪一个目标。这个问题通过构建二分图来解决,主要计算对象是IDTP、IDFP、IDFN。

  • IDP:

  • IDR:

  • IDF1:  正确识别的检测与真实数和计算检测的平均数之比

4. 参考资料

Evaluating Multiple Object Tracking Performance: The CLEAR MOT Metrics.

https://motchallenge.net/

https://blog.youkuaiyun.com/u012477435/article/details/104158573

(完)

多目标跟踪中经典的MOT16数据集和评价指标 最近要做一个有关多目标跟踪的项目,刚刚接触MOT,所以先来了解一下MOT16这个比较经典的数据集以及比较经典的评价标准。 1. 多目标跟踪 多目标跟踪处理的对象是视频,从视频的第一帧到最后一帧,里边有多个目标在不断运动。多目标跟踪的目的就是将每个目标和其他目标进行区分开来,具体方法是给每个目标分配一个ID,并记录他们的轨迹。 已开始接触,可能觉得直接将目标检测的算法应用在视频的每一帧就可以完成... 阅读详情

相关推荐

目标跟踪MOT测评

本文基于MOT官方评估工具:motchallenge-devkit(MATLAB代码)进行测评 motchallenge-devkit下载 地址:https://github.com/xstgavin/amilan-motchallenge-devkit git clone后用matlab打开文件夹,这里我选用的是matlab R2018a TDM-GCC安装 首先运行compile.m,若出现 说明缺少C++编译环境,这里建议安装TDM-GCC 百度网盘链接:https://pan.baidu.com/

min_coder的博客 1310

多目标跟踪数据集 :mot16、mot17数据集介绍以及多目标跟踪指标评测

数据集百度网分享: 点击此处 提取码: miao 文件格式: 解压MOT16后在文件夹下面有两个目录:test 和 train。分别代表训练集和测试集。 这两个目录分别有7个子目录。 每个子目录下都是一段视频的抽帧图片及标注。由于train里面的内容比较全,train里面的数据比test多了一个ground truth,所以下面以train为例介绍。 MOT16-02 在“MOT16\train\MOT16-02”目录下有三个目录和一个文件,三个目录分别是:det、gt和img1。一个文件是seqin

小呆苗的博客 4万+

多目标跟踪MOT踩坑记录

文章目录tracking MOT log0. 数据集1.Github2.资源综述3.工具包CodeMOT 工具包MOT 评估 Python版4.算法Codedeep sort `python`计算多目标跟踪性能1 实验:Deep SORT2 实验:Resnet50 MOT163 实验:Resnet50 MOT174 实验:计算MOT17的gt的指标5 实验:Deep SORT(MOT16用gt.t...

To Be Continue 3万+

多目标跟踪算法,零基础极速入门(一)

一、多目标跟踪 MOT16 数据集介绍及评价指标 1.多目标跟踪 多目标跟踪处理的对象是视频,从视频的第一帧到最后一帧,里边有多个目标在不断运动。多目标跟 踪的目的就是将每个目标和其他目标进行区分开来,具体方法是给每个目标分配一个 ID,并记录他们的轨迹。 刚开始接触,可能觉得直接将目标检测的算法应用在视频的每一帧就可以完成这个任务了。实际上, 目标检测的效果是很不稳定的,其实最大的区别在于,仅仅使用目标检测无法给对象分配ID,并且跟踪能够优化整个跟踪过程,能让目标框更加稳定。 多目标跟踪中一个比较经

swniantftftftftftf的博客 8231

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

多目标跟踪,即 MOT(Multi-Object Tracking),顾名思义,就是在一段视频中同时跟踪多个目标。而由于是多目标,自然就会产生新目标进入与旧目标消失的问题,这就是与单目标跟踪算法区别最大的一点。而由于这一点区别,也就导致跟踪策略的不同。在单目标跟踪中,我们往往会使用给定的初始框,在后续视频帧中对初始框内的物体进行位置预测。而多目标跟踪算法,大部分都是不考虑初始框的,原因就是上面的目标消失与产生问题。取而代之,在多目标跟踪领域常用的跟踪策略是。

weixin_44606353的博客 6719

多目标跟踪MOT相关论文和代码资源列表

前言 这段时间在整理毕设,所以这里结合了SpyderXu分享的内容把多目标跟踪相关的文献资源共享一下,由于文章很多,所以我这里只整理3年以内的,对于年限久远的,这里只取提供了代码的和比较经典的。并且尽可能注释了相关算法在MOT数据集上的名称。各自算法的性能比较可以看论文以及MOT官网。以下内容我都同步到了我的知乎和github 在线跟踪(Online) Name Source Pub...

huangpiao 4519

将MOT16数据集转化为VOC格式

import cv2 import os import numpy as np import time import argparse import shutil import codecs import progressbar train_16 = ['MOT16/train/MOT16-02/', 'MOT16/train/MOT16-04/', 'MOT16/train/MOT16-05/', 'MOT16/train/MOT.

m0_49264693的博客 2369

多目标跟踪(MOT)最新综述,一文快速入门

多目标跟踪(MOT)最新综述,一文快速入门 0 写在前面 去年暑期实习的时候,误打误撞进了一家自动驾驶公司,做了多目标跟踪的工作,工作也是秋招时靠着相关工作拿到了几个算法岗offer,后来毕业课题也换成了多目标跟踪。 前段时间毕业整体资料,在B站上传了一个由自己改进算法制作的行人多目标跟踪demo——《大规模密集行人检测跟踪,行人多目标跟踪,MOT20效果可以,可用于视频智能监控、自动驾驶等》 链接:https://www.bilibili.com/video/BV1zv411p7N2 https://ww

qq_41590635的博客 1万+

关于目标跟踪算法:DeepSort的环境部署

关于目标跟踪算法:DeepSort的环境部署

weixin_43608857的博客 1132

基于深度学习的干扰识别

本文是记录我上半年仿真和复现干扰识别的过程,展示的主要是一些需要注意的点以及仿真的相关结果。

qq_55218335的博客 1704

网络工程师的Python入门实战:手把手教你写交换机配置备份脚本

本文详细介绍了如何利用Python为网络工程师开发一个高效的交换机配置备份脚本,涵盖环境搭建、设备连接方案、智能设备发现、多因素认证、异常处理、配置差异对比等关键步骤。通过实战案例展示如何将备份时间从4小时缩短至15分钟,显著提升运维效率,特别适用于华为交换机等设备的配置导出与备份需求。

weixin_30291791的博客 306

MOT Benchmark Dataset介绍与MOT性能评估说明

MOT Benchmark官方网站:https://motchallenge.net/ 论文:MOT16:A Benchmark for Multi-Object Tracking 论文下载:https://arxiv.org/abs/1603.00831 附MOT数据集百度网盘下载地址: 多目标跟踪MOT_2DMOT2015数据集下载链接 多目标跟踪MOT16_Benc...

魔筝炼药师 7702

Linux -- 图形界面配置Samba;system-config-samba工具

图形界面配置Samba6.6.1 system-config-sambasystem-config-samba是Red Hat公司专门为Samba服务器管理编写的图形界面的管理工具,通过system-config-samba几乎可以完成对Samba服务器的所有配置,所以在只希望通过Samba服务器实现一些简单的资源共享时,system-config-samba是一个不错的选...

weixin_33695450的博客 2201

【亲测免费】 多目标跟踪入门教程:从零开始掌握MOT技术

多目标跟踪入门教程:从零开始掌握MOT技术 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在计算机视觉领域,多目标跟踪(Multi-Object Tracking, MOT)是一个备受关注且应用广泛的技术。它不仅在智能监控、自动驾驶、体育分析等领域有着重要的应用,同时也是深度学习和计算机视觉研究的热点之一。为了帮助初学者快速入门这一复杂而有趣的领域,我们推出了这份“7...

gitblog_06650的博客 753

从零开始:用ADS仿真设计一个2.4GHz Wi-Fi低噪声放大器(含完整电路图)

本文提供了一份详细的ADS软件仿真指南,手把手教你从零开始设计一个2.4GHz Wi-Fi低噪声放大器。内容涵盖核心指标理解、晶体管选型与建模、匹配网络设计、偏置电路集成,并通过S参数仿真、噪声优化及线性度验证等步骤,最终呈现完整的优化电路图,助力射频初学者掌握LNA设计全流程。

weixin_29197835的博客 807

ESP32 WiFi自平衡小车硬件与PID控制实战

自平衡小车是典型的嵌入式实时反馈控制系统,其核心依赖姿态感知(如MPU6050)、电机驱动(如L298N)与闭环控制算法(如PID)的协同。系统通过IMU采集俯仰角,经互补滤波融合处理,再由PID控制器实时计算PWM输出,驱动直流电机产生恢复力矩;WiFi模块(ESP32内置)则提供远程遥控接口,实现AP模式下的Web指令交互。该架构兼具硬实时性(毫秒级采样与响应)与软实时性(HTTP服务),广泛应用于机器人教学、智能小车开发及边缘控制原型验证。本文围绕ESP32平台,详解传感器接口、驱动电路设计、PID抗

weixin_42509513的博客 393

多目标跟踪MOT(Multiple Object Tracking)最全综述

多目标跟踪,一般简称为MOT(Multiple Object Tracking),也有一些文献称作MTT(Multiple Target Tracking)。在事先不知道目标数量的情况下,对视频中的行人、汽车、动物等多个目标进行检测并赋予ID进行轨迹跟踪。不同的目标拥有不同的ID,以便实现后续的轨迹预测、精准查找等工作。MOT是计算机视觉领域的一项关键技术,在自动驾驶、智能监控、行为识别等方向应用广泛。如下图所示,对于输入视频,输出目标的跟踪结果,包括目标包围框和对应的ID编号。

Orange_sparkle的博客 6万+

Docker新手必看:解决‘Unable to find image’错误的完整指南

本文针对Docker新手常见的‘Unable to find image’错误,提供了完整的排查与解决指南。文章深入剖析了权限不足、网络连接失败、Docker服务未运行等核心原因,并给出了将用户加入docker组、配置镜像加速器等实用解决方案,帮助读者彻底理解并解决镜像拉取问题。

weixin_29230901的博客 244

MOT和MTMC指标总结及详细计算方法

MOT和MTMC指标总结及详细计算方法 1、MOTA:多目标跟踪准确度 (Multiple Object Tracking Accuracy) 衡量单摄像头多目标跟踪准确度的一个指标 FN 为 False Negative(漏报),整个视频漏报数量之和。 FP 为 False Positve(误报),整个视频误报数量之和。 IDSW 为 ID Switch(ID 切换总数,误配):上图图 (a),从红色的切换到了蓝色,记为一个 IDSW,整个视频误配数量之和,其值越小越好。 GT 是 Ground T

藏晖的博客 1万+

【论文复现】——基于欧式聚类的车载点云道路提取

针对车载激光点云道路信息提取的问题,提出了一种基于欧式聚类的道路提取方法。首先通过统计滤波去除噪点以免对后续处理结果产生影响,然后用坡度滤波去除路坎点,使道路边界与人行道、绿化带等与路坎相连的地物形成10~25 cm的高程阶跃,最后用欧式聚类将路面点云与其他地物点云聚类为一簇或多簇并保留道路簇,从而实现道路点云的精确提取。

点云侠的博客 1135

基于Python的新闻聚合与推荐系统:抓取多新闻网站内容并根据用户兴趣进行个性化推荐

本文介绍了如何使用Python构建一个新闻聚合与推荐系统,涵盖了从新闻数据抓取、用户兴趣建模到推荐算法实现的全过程。通过爬虫技术抓取新闻网站内容,使用TF-IDF、Word2Vec等算法进行内容分析,并通过推荐算法向用户推送个性化的新闻,最终帮助用户快速获取自己感兴趣的信息。你可以根据具体需求,进一步扩展和优化系统。例如,加入更多的推荐算法、优化爬虫的抓取效率、增强前端展示的互动性等。通过本文的指导,您应该能够构建一个完整的新闻聚合与推荐系统,并为用户提供个性化的新闻推荐服务。

2201_76125261的博客 1515

(HOTA)多目标跟踪MOT指标计算方法

计算MOT指标的方法指南,包含了最新的HOTA指标,

qq_45091388的博客 6504

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

多目标跟踪(MOT)研究领域的全面总结

在多目标跟踪(MOT)研究中,

weixin_49090702的博客 2734

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

[MOT Challenge]官方生成多目标跟踪算法性能评价指标结果,解决test数据集没有gt文件和官网注册问题

多目标跟踪benchmark MOT challenge的使用流程以及注册流程,解决Test数据集为什么没有gt

Bartender_VA11的博客 8746

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Tracking数据集及评价指标

一、单目标跟踪数据集 目前比较常用的单目标跟踪数据集有OTB和VOT。 1、OTB数据集(Object Tracking Benchmark) 1)简介 用的最广泛的是OTB-50和OTB-100,里面涉及到灰度图像和彩色图像,也涉及到目标跟踪的11个属性,包括光照变化、尺度变化、遮挡、形变、运动模糊、快速运动、平面内旋转、平面外旋转、出视野、背景干扰、低像素。 每个图像序列都对应着两个或多个属性...

藏晖的博客 6120
上一篇: 为什么机器学习项目非常难管理?
下一篇: 边缘计算+ AI融合:为您的IT和自动化运营做好准备
Wang_AI
博客等级 码龄12年 996粉丝 162原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值