尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

bdd100k检测+跟踪评测入门:用motmetrics计算MOTA与IDF1指标

bdd100k检测+跟踪评测入门:用motmetrics计算MOTA与IDF1指标 bdd100k检测跟踪评测入门用motmetrics计算MOTA与IDF1指标【免费下载链接】bdd100kThis repo has been moved to https://github.com/bdd100k/bdd100k permanently.项目地址: https://gitcode.com/gh_mirrors/bd/bdd100kbdd100kBerkeley Deep Drive是目前规模最大的开放驾驶视频数据集之一收录了 10 万个城市道路行车片段。如果你训练了目标检测或多目标跟踪MOT模型却不知如何量化跟得准不准、ID 稳不稳这篇入门教程将带你用官方评测脚本 evaluate.py 和motmetrics库在 bdd100k 上跑通检测跟踪det-tracking评测算出MOTA与IDF1两大核心指标 一、为什么用 bdd100k 做检测跟踪评测在开始评测之前先了解一下这个数据集为什么被广泛用作跟踪算法的试金石特性说明 数据规模10 万个 20 秒行车视频片段数百万帧街景图像️ 场景覆盖白天/黑夜、晴天/雨雪、城市街道/高速/隧道 10 类道路目标car、truck、bus、person、rider、bike、motor、train、traffic light、traffic sign 实例级 ID每个目标跨帧携带唯一id天然支持多目标跟踪评测正是这些跨帧的实例 ID让我们可以严格检验跟踪算法跟没跟对、ID 跳没跳。二、快速上手3 步完成环境准备第 1 步获取评测工具代码git clone https://gitcode.com/gh_mirrors/bd/bdd100k第 2 步安装依赖项目依赖非常轻量核心的就是motmetricspip install -r requirements.txt第 3 步准备评测数据从 bdd100k 官网下载测试集图像与对应的 Ground Truth 标注 JSON。评测脚本需要两个文件gt.json官方标注含跨帧目标idresult.json你模型的检测结果格式见下文三、搞懂 MOTA 与 IDF1两张指标卡bdd100k 的 det-tracking 评测采用MOTChallenge 标准指标集其中最常用的两个是 MOTA多目标跟踪精度MOTA 1 - (FN FP IDSW) / GT总数FN漏检该找到的目标没找到FP误检框出了不存在的目标IDSWID 切换同一个目标前后帧被赋予了不同 IDMOTA 越高越好它综合惩罚漏检、误检和身份跳变是衡量跟踪整体质量的第一指标。 IDF1身份保持度 F1IDF1 专门回答一个问题这个框跟的是不是同一个目标它通过计算预测身份与真值身份在整段视频上的一致程度给出一个 0~100 的分数。两个算法 MOTA 相同但 IDF1 差距很大时通常说明其中一个的 ID 切换问题更严重。其他常见指标速查指标含义IDP / IDR身份保持的精确率 / 召回率IDF1 即二者调和平均MT / ML完整跟踪 / 丢失目标的占比GPD / TPD每个 GT 预测框数 / 每个轨迹预测框数匹配规则评测脚本通过mm.distances.iou_matrix计算 GT 框与预测框的 IoU以IoU ≥ 0.5作为同一目标的判定阈值见 evaluate.py 中evaluate_det_tracking函数。四、准备输入标注 JSON 与结果 JSON 的对应关系Ground Truth 格式gt.json是一个帧对象列表每帧包含name、videoName、index和labels数组每个 label 含id实例 ID、category、box2dx1, y1, x2, y2。完整字段定义可查阅 format.md。结果文件result.json的推荐做法先把你模型的输出整理成与 GT 相同的帧结构再借用官方转换脚本 label2det.py 把标注格式转成检测格式保证name / timestamp / category / bbox / score字段齐全python bdd100k/label2det.py your_result_label.json result.json检测结果的字段规范bbox 为 0-indexed 整数坐标、10 类 category 的合法取值等详见 evaluation.md。五、一条命令跑通检测跟踪评测核心命令如下python bdd100k/evaluate.py -t det-tracking -g gt.json -r result.json参数说明参数作用-t det-tracking选择检测跟踪评测任务还支持det/seg/drivable-gGround Truth JSON 路径-r模型结果 JSON 路径-c car可选只评测指定类别如-c car person运行后脚本会分两阶段执行Collecting IoU逐帧收集 IoU 距离矩阵并喂给MOTAccumulator→Generating matchings and summary汇总输出 MOTChallenge 指标表最终打印一张以类别为列、指标为行的汇总表MOTA 和 IDF1就位列其中 六、新手避坑清单✅帧数必须一致脚本开头有assert len(gt) len(pred)两文件帧数不等会直接报错✅帧name必须对得上脚本会按name排序后逐帧比对命名规则不一致会匹配错位✅预测帧也要带videoName/indexMOTA 按videoName index 目标id拼接真值身份缺失字段会导致 ID 对齐失败✅想快速验证先评单车类加-c car可大幅缩短运行时间适合调试阶段✅score 字段必填即使不是按置信度筛选格式上也建议保留七、关键文件速查文件用途bdd100k/evaluate.py评测主脚本det-tracking 任务基于 motmetrics 实现bdd100k/label2det.py标注 JSON → 检测结果 JSON 格式转换bdd100k/show_labels.py可视化标注画框、车道、可行驶区域doc/evaluation.md各任务的评测指标与提交格式说明doc/format.mdbdd100k 标注 JSON 完整字段定义requirements.txt依赖清单motmetrics、numpy、matplotlib 等跑通第一次评测只是起点——接下来你可以对比不同 IoU 阈值下的 MOTA 变化或用-c逐类分析 ID 切换集中的类别持续打磨你的检测跟踪模型。祝评测顺利 【免费下载链接】bdd100kThis repo has been moved to https://github.com/bdd100k/bdd100k permanently.项目地址: https://gitcode.com/gh_mirrors/bd/bdd100k创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表