You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MMDetection3D与nuScenes:输出格式解析及混淆矩阵生成问询

问题1:MMDetection3D针对nuScenes的预测输出格式

MMDetection3D对nuScenes激光雷达数据集的推理输出JSON,是以单个样本为元素的数组,每个样本条目包含以下核心字段:

  • sample_idx: 对应nuScenes数据集中的样本ID(与标注文件的sample_token一一对应)
  • bboxes: 二维数组,每一行代表一个预测的3D bounding box,格式为[x, y, z, w, l, h, yaw],单位与nuScenes标注一致:
    • x/y/z: 框中心在nuScenes全局坐标系下的坐标,单位为米
    • w/l/h: 框的宽度、长度、高度,单位为米
    • yaw: 框的偏航角(绕z轴旋转),单位为弧度,遵循nuScenes坐标系定义
  • scores: 一维数组,对应每个预测框的置信度(取值范围0-1)
  • labels: 一维数组,对应每个预测框的类别ID,与配置文件中class_names的索引一一对应(比如0对应car,1对应truck等,具体查看模型配置的类别列表)
问题2:生成3D bounding box混淆矩阵的工具方案

1. 修复MMDetection3D内置评估工具的报错并扩展

你运行tools/test.py时的报错,是因为未指定完整的数据集元信息。调整运行命令,加载标注和元数据文件即可解决:

python tools/test.py \
    ${你的模型配置文件路径} \
    ${你的模型权重文件路径} \
    --eval bbox \
    --cfg-options data.test.ann_file=${nuScenes测试集标注JSON路径} data.test.meta_file=${nuScenes元信息文件路径}

其中元信息文件通常是data/nuscenes/nuscenes_meta.pkl,可通过运行MMDetection3D的数据集预处理脚本生成。

运行评估后,可修改mmdet3d/evaluation/metrics/nuscenes_metric.py中的NuScenesMetric类,在IOU匹配完成后,统计每个真实类别与预测类别的匹配次数,直接生成混淆矩阵——这一步无需手动计算3D IOU,工具已内置匹配逻辑。

2. 基于nuScenes官方工具转换后统计

nuScenes官方的nuscenes-devkit自带3D检测的IOU匹配逻辑,你可以将MMDetection3D的预测结果转换为官方要求的DetectionResult格式,用官方工具完成匹配,再基于匹配结果统计混淆矩阵。

3. 轻量化自定义脚本

如果只需要混淆矩阵,可直接调用MMDetection3D内置的bbox_iou_3d函数编写脚本:

  • 加载nuScenes标注文件和MMDetection3D的预测文件
  • 对每个样本,遍历真实框与预测框,用bbox_iou_3d计算IOU,设置阈值(如0.5)完成匹配
  • 统计所有匹配成功的真实类别与预测类别,构建混淆矩阵

内容的提问来源于stack exchange,提问作者Ranai Srivastav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 18:02:21