MOT challenge使用方法及数据集说明

article/2025/8/7 5:49:50

https://zhuanlan.zhihu.com/p/384838953

MOT challenge数据集介绍:

训练集和测试集:

一共8个视频序列,4个训练集,4个测试集。测试集的gt没有给出,因此想要得到测试集的结果需要在MOT官网上传你的结果去评估。 每个图片都是jpg格式,且命名为6个数字的文件如(000001.jpg) 平均每帧有246个行人。 除了行人,注释还包括车辆和自行车等其他类别。

标注det.txt和gt.txt文件:

如下图所示,每一列分别代表一些信息

1:该目标出现的帧号

2:该目标被分配的唯一ID号,在det(检测)文件中为-1

3:目标bbox左上角的x坐标。

4:目标bbox左上角的y坐标。

5:目标bbox的宽

6:目标bbox的高

7:置信度。det中表示该目标是行人的概率,gt中若评估该目标则设为1,忽略则设置为0

8:gt中表示该目标的类别,Det为-1

9:可见率,gt中表示该目标可见的程度,可能被遮挡或者是图像边框裁剪导致目标不完整,值为0-1。det中为-1

det样例:

gt样例: 

测试集提交格式:

每个视频序列一个txt文本,命名为sequence.txt,每一行表示一个目标,包含10个值,以,分割:<frame>,<id>,<bb_left>,<bb_top>,<bb_width>,<bb_height>,<conf>,<x>,<y>,<z>

前7个值和训练集的gt意义一样,conf填充1,最后3个值表示3D MOT,评估2D数据集时,最后3个值xyz填充为-1,同样,评估3D数据集时,将bbox4个值填充为-1

对应frame, id和bbox坐标都是从1开始,如下:

提交时,需要将所有视频序列的结果打包成zip,包括训练集,只需要将训练集的gt复制过来。 

评估:

评价跟踪性能的好坏,MOTchallenge提供了一个评估脚本可以直接下载使用,点击网站,截止2021-06-26官方发布的最新的评估方法 数据关联 即预测和gt进行匹配。

评估tracker性能的好坏,有两个先决条件:

决定每个假设输出是TP还是FP

通过计算GT和预测的框的IOU,当大于阈值0.5时被评估是TP,小于阈值则为FP。

所有预测都没有找到GT中的目标,则被评估为FN,TN表示背景。

FN和FP越少表示结果越好。

很明显,很可能同一个目标会被多个假设匹配。在计算数字之前在一个GT最多对应一个假设,一个假设不能对应多个GT的限制下要建立GT和假设目标的对应关系。

细节:

①我们认为每个GT轨迹有唯一的开始和结束点,没有片段。当一个目标离开视野,又重新出现,被视为一个新的目标分配新的id。

②如果gt_{i}和假设pre_{j}在第t-1帧时匹配,即使在第t帧gt_{i}pre_{j}的距离低于阈值t_{d},仍然将gt_{i},pre_{j}匹配。

另请注意,虽然 id-sw的数量保持较低当然是可取的,但仅凭它们的绝对数量并不总是能表达评估整体性能,而应考虑恢复目标的数量。

举例说明:

4个例子表示匹配的情况。

每条虚线表示一个GT的轨迹,每条实线表示不同预测的轨迹,不同颜色表示不同ID,如红线表示ID1,蓝线表示ID2。

阴影部分表示GT和预测的阈值范围。阴影中的轨迹没有被涂黑的GT,表示没有预测和GT匹配被评估为FN,被涂黑的表示被跟踪到,实线连接的目标被涂成实心表示该ID和GT匹配成功,评估为TP。实线的空心被评估为FP,虚线的空心被评估为FN。

当GT在第t帧和ID2匹配成功,然而在第t-1帧和ID1匹配成功,即发生了ID转换。如(a)的4,5。

从图c可以看到,第三帧时蓝色轨迹和上面的GT轨迹距离最近但是还是将GT分配给了红色轨迹,是因为第二帧是红色轨迹和GT匹配成功,如果红色轨迹也在阈值范围内后面就优先匹配红色轨迹。

对比图a,第5帧时,红色轨迹在阈值外,蓝色轨迹最靠近GT​​​​​​​且在阈值内,将GT分配给了蓝色轨迹,发生了id-sw。 

图d,表示了re-id特征不够鲁棒,第5帧蓝色轨迹更靠近GT且第4帧GT轨迹断了,没有映射,因此将蓝色轨迹分配给GT,导致id-sw。

tracker-to-target分配算法:

①对所有帧,通过​​​​​​​匈牙利算法匹配预测bbox和GT。

②相比于mot17,考虑了非常拥挤的情况,将预测框和distractor,static person, reflection, person on vehicle,class=(8,7,12,2)这些类别的gt overlap>0.75(注意:mot16-17是0.5)的框排除。

③在最终评估的时候,只使用被标注为pedestrains的框。

motmetrics对应code:

def eval_frame(self, frame_id, trk_tlwhs, trk_ids, rtn_events=False):# results 预测的bbox和idtrk_tlwhs = np.copy(trk_tlwhs)trk_ids = np.copy(trk_ids)# gtsgt_objs = self.gt_frame_dict.get(frame_id, [])gt_tlwhs, gt_ids = unzip_objs(gt_objs)[:2]# ignore boxesignore_objs = self.gt_ignore_frame_dict.get(frame_id, [])ignore_tlwhs = unzip_objs(ignore_objs)[0]# remove ignored resultskeep = np.ones(len(trk_tlwhs), dtype=bool)iou_distance = mm.distances.iou_matrix(ignore_tlwhs, trk_tlwhs, max_iou=0.5)# pdb.set_trace()# 从预测中剔除掉和需要忽略的gt相匹配的bboxif len(iou_distance) > 0:match_is, match_js = mm.lap.linear_sum_assignment(iou_distance)match_is, match_js = map(lambda a: np.asarray(a, dtype=int), [match_is, match_js])match_ious = iou_distance[match_is, match_js]match_js = np.asarray(match_js, dtype=int)match_js = match_js[np.logical_not(np.isnan(match_ious))] # 得到和需要忽略的gt匹配的预测下标keep[match_js] = Falsetrk_tlwhs = trk_tlwhs[keep]trk_ids = trk_ids[keep]# get distance matrixiou_distance = mm.distances.iou_matrix(gt_tlwhs, trk_tlwhs, max_iou=0.5)# accself.acc.update(gt_ids, trk_ids, iou_distance)if rtn_events and iou_distance.size > 0 and hasattr(self.acc, 'last_mot_events'):events = self.acc.last_mot_events  # only supported by https://github.com/longcw/py-motmetricselse:events = Nonereturn events

度量目标类别定义为沿着视野范围可达的没有物理遮挡的所有直立行走的人。

reflections,反射,在透明墙和窗户背后的人被排除。 骑自行车或者其他交通工具的人也被排除在目标类别之外。 在最终评估的时候只使用那些被标记为pedestrains的框。 

定义:

MOTA:

t是帧的下标, GT_{t}表示t帧时ground truth的目标数量。MOTA的值域为(-∞, 100] 为负表示跟踪导致的错误的数量超过了场景中所有物体的总和。

MOTP:

 

d_{t,i}表示TP和对应的gt目标的边框重叠率, C_{t}表示t帧的匹配数量。

所以MOTP衡量的是位置精度,实际是检测器的定位精度,所以MOTP和跟踪器的表现关系不大。

Track quality measures 跟踪质量度量:

每个GT的轨迹可以被分为: - mostly tracked(MT) - partially tracked(PT) - mostly lost(ML) 这个度量不需要GT在整个轨迹中保持相同ID。 如果跟踪到的时间占gt的生命周期的80%,则被认为是MT,如果少于20%则被认为是ML,其他都是PT。 the number of track fragmentations(FM) 轨迹段的数量表示没有跟踪到的gt轨迹的次数。

MOT Challenge使用方法:

在官网点击右上角的log in

 在MOT下方找到create a new method

 点击Create a new method,填写对应的信息

其中,shortname不能重复,需要起一个比较特殊的,填写后可以看到主页的MOT下面出现了刚刚建立的项目,此时所有的信息都是空的

 点击类似于维修符号的按键,填写相关信息,其中benchmark可以选择我们使用的数据集MOT17,hardware填写上实验使用的cpu或gpu的数据,runtime需要用数字展示,可以将时间计算单位定义为秒

 填写完毕后,可以在主页看到以下的更新

点击类似纸飞机的图标,滑到底部可以看到上传数据的字样

需要将得到的txt文本压缩成压缩包进行上传,同时注意它只接受42个txt,所以不能测试部分数据就上传。 提交时,需要将所有视频序列的结果打包成zip,包括训练集,只需要将训练集的gt复制过来。

 


http://www.hkcw.cn/article/rOYMJnKDaf.shtml

相关文章

顶刊SCS | 基于视觉语言大模型推理分割的建筑足迹尺度功能分类, 样本数据和代码已开源!

论文介绍 题目&#xff1a;Visual-language reasoning segmentation (LARSE) of function-level building footprint across Yangtze River Economic Belt of China 期刊&#xff1a;Sustainable cities and society&#xff08;中科院一区TOP&#xff0c;IF10.5&#xff09;…

WWW22-可解释推荐|用于推荐的神经符号描述性规则学习

论文来源&#xff1a;WWW 2022 论文链接&#xff1a;https://web.archive.org/web/20220504023001id_/https://dl.acm.org/doi/pdf/10.1145/3485447.3512042 最近读到一篇神经符号集成的论文24年底TOIS的&#xff0c;神经符号集成是人工智能领域中&#xff0c;将符号推理与深…

MCP 架构设计:为什么需要服务器和客户端?

MCP 架构设计&#xff1a;为什么需要服务器和客户端&#xff1f; 在开发 MCP 系统时&#xff0c;我们采用了服务器-客户端架构。这种设计不仅提高了系统的可扩展性&#xff0c;还带来了许多实际的好处。本文将详细解释这种架构的优势和实际应用场景。 为什么需要服务器-客户端架…

华为欧拉系统中部署FTP服务与Filestash应用:实现高效文件管理和共享

华为欧拉系统中部署FTP服务与Filestash应用:实现高效文件管理和共享 前言一、相关服务介绍1.1 Huawei Cloud EulerOS介绍1.2 Filestash介绍1.3 华为云Flexus应用服务器L实例介绍二、本次实践介绍2.1 本次实践介绍2.2 本次环境规划三、检查云服务器环境3.1 登录华为云3.2 SSH远…

服务器Docker容器创建与VScode远程连接SSH使用

一、拉取容器 1、win r 输入cmd打开终端命令行 2、终端输入 ping 192.168.xx.xxx 查看是否连接到服务器。如输出显示“字节 时间 TTL”等如下界面&#xff0c;则连接成功。否则输出“请求超时” 如果不能连接&#xff0c;则需要修改设备的IP&#xff0c;需要在设置-网络和In…

mongodb集群之分片集群

目录 1. 适用场景2. 集群搭建如何搭建搭建实例Linux搭建实例(待定)Windows搭建实例1.资源规划2. 配置conf文件3. 按顺序启动不同角色的mongodb实例4. 初始化config、shard集群信息5. 通过router进行分片配置 1. 适用场景 数据量大影响性能 数据量大概达到千万级或亿级的时候&…

华为云Flexus+DeepSeek征文|基于华为云Dify平台打造个人知识库聊天机器人全流程指南

目录 前言 1 华为云Dify平台的一键部署 1.1 使用资源编排快速部署 1.2 获取访问入口并准备使用 2 初识Dify平台功能 2.1 登录平台与设置管理员账户 2.2 了解平台模块与功能 3 开通并配置DeepSeek大模型服务 3.1 在ModelArts Studio中启用大模型 3.2 获取模型服务API信…

EasyExcel复杂Excel导出

效果图展示 1、引入依赖 <!-- easyExcel --> <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>4.0.2</version> </dependency>2、实体类 import com.alibaba.excel.annotatio…

云服务器系统日志占满磁盘怎么办?

云服务器系统日志占满磁盘是常见问题&#xff0c;长期积累大量日志文件会导致磁盘空间不足&#xff0c;影响服务器稳定运行。下面是几种常用的清理和管理日志的方法&#xff1a; 解决系统日志占满磁盘的步骤 1. 查看磁盘使用情况和日志目录大小 df -h # 查看磁盘空间使用情况 …

vueflow

自定义节点&#xff0c;自定义线&#xff0c;具体细节还未完善&#xff0c;实现效果&#xff1a; 1.安装vueflow 2.目录如下 3. index.vue <script setup> import { ref } from vue import { VueFlow, useVueFlow } from vue-flow/core import { Background } from vue-…

2022 RoboCom 世界机器人开发者大赛-本科组(省赛)解题报告 | 珂学家

前言 题解 2022 RoboCom 世界机器人开发者大赛-本科组&#xff08;省赛&#xff09;。 感觉T5是最简单的&#xff0c;其他都不好做。 RC-u5 树与二分图 分值: 30分 思路: 容斥原理 树天然就是二分图&#xff0c;按深度d归类(偶数深度为S1&#xff0c;奇数深度为S2)&#x…

framework之慕课大巴

8.Android启动课程大纲_哔哩哔哩_bilibili

redis未授权(CVE-2022-0543)

概述 Redis 默认绑定在 0.0.0.0:6379&#xff0c;在未配置防火墙或访问控制的情况下会将服务暴露在公网上。若未设置访问密码&#xff08;默认通常为空&#xff09;&#xff0c;攻击者可直接未授权访问 Redis。利用 Redis 提供的 CONFIG 命令&#xff0c;攻击者可修改配置并将…

帕金森常见情况解读

一、身体出现的异常节奏​ 帕金森会让身体原本协调的 “舞步” 出现错乱。它是一种影响身体行动能力的状况&#xff0c;随着时间推进&#xff0c;就像老旧的时钟&#xff0c;齿轮转动不再顺畅&#xff0c;使得身体各个部位的配合逐渐失衡&#xff0c;打乱日常行动的节奏。​ …

[正点原子]ESP32S3 RGB屏幕移植LVGL

ESP32S3 RGB屏幕移植lvgl 简介准备工作移植过程创建文件加修改配置修改适配文件main函数lvgl的图形化配置 着重要注意的屏幕驱动的问题 效果展示 简介 最近入手了 正点原子ESP32开发版准备学习LVGL&#xff0c;该板子支持RGB屏幕RGB565&#xff0c;之前买Linux开发板的时候有一…

移动安全Android——客户端静态安全

一、反编译保护 测试工具 Jadx GitHub - skylot/jadx: Dex to Java decompiler PKID [下载]PKID-APP查壳工具-Android安全-看雪-安全社区|安全招聘|kanxue.com 测试流程 &#xff08;1&#xff09;通过Jadx对客户端APK文件进行反编译&#xff0c;观察是否进行代码混淆 &…

支持功能安全ASIL-B的矩阵管理芯片IS32LT3365,助力ADB大灯系统轻松实现功能安全等级

随着自动驾驶技术的快速发展&#xff0c;汽车前灯智能化也越来越高。自适应远光灯 (ADB) 作为一种智能照明系统&#xff0c;在提升驾驶安全性和舒适性方面发挥着重要作用。ADB 系统通过摄像头和传感器获取前方道路信息&#xff0c;例如来车的位置、距离和速度&#xff0c;并根据…

Python训练营打卡Day40

DAY 40 训练和测试的规范写法 知识点回顾&#xff1a; 1.彩色和灰度图片测试和训练的规范写法&#xff1a;封装在函数中 2.展平操作&#xff1a;除第一个维度batchsize外全部展平 3.dropout操作&#xff1a;训练阶段随机丢弃神经元&#xff0c;测试阶段eval模式关闭dropout 作…

晨控CK-FR03与汇川H5U系列PLC配置MODBUS TCP通讯连接操作手册

晨控CK-FR03与汇川H5U系列PLC配置MODBUS TCP通讯连接操作手册 CK-FR03-TCP是一款基于射频识别技术的高频RFID标签读卡器&#xff0c;读卡器工作频率为13.56MHZ&#xff0c;支持对I-CODE 2、I-CODE SLI等符合ISO15693国际标准协议格式标签的读取。 读卡器同时支持标准工业通讯协…

二叉树实验

引言 在数据结构的学习过程中&#xff0c;二叉树作为一种典型的非线性结构&#xff0c;其构造和操作方式具有高度的层次性和结构性。而递归正是处理这种结构最自然的方式之一。关于二叉树的基本结构如下图所示&#xff1a; 递归的本质是函数调用自身的过程&#xff0c;这恰好…