nuScenes数据集在MMDetection3D中的实战指南:从数据准备到模型训练全流程解析
自动驾驶技术的快速发展离不开高质量数据集的支持。作为目前最全面的自动驾驶多模态数据集之一,nuScenes凭借其丰富的传感器数据和精确的3D标注,已成为3D目标检测领域的重要基准。本文将深入探讨如何在MMDetection3D框架下高效利用nuScenes数据集,从数据准备到模型训练的全流程实践技巧。
1. nuScenes数据集深度解析
nuScenes数据集由Motional(前身为nuTonomy)团队发布,包含1000个精心采集的驾驶场景,每个场景长约20秒。数据集最显著的特点是提供了完整的传感器套件数据:
- 32线激光雷达:采样频率20Hz,垂直视野-30.67°到+10.67°,水平360°全覆盖
- 6个摄像头:提供前、前左、前右、后、后左、后右六个方向的RGB图像
- 5个雷达:用于速度测量和恶劣天气下的目标检测
- GPS/IMU:提供精确的定位和姿态信息
关键数据结构解析:
# 典型nuScenes数据样本结构示例
{
'sample_idx': 123, # 样本唯一标识
'timestamp': 1582234820.1, # 采集时间戳
'ego2global': [[...]], # 自车到全局坐标的4x4变换矩阵
'lidar_points': {
'lidar_path': 'nuscenes/samples/LIDAR_TOP/n015-2018-07-24-11-22-45+0800__LIDAR_TOP__1532402928147847.pcd.bin',
'num_pts_feats': 5, # 点云特征维度(x,y,z,强度,激光束ID)
'lidar2ego': [[...]] # 激光雷达到自车的变换矩阵
},
'instances': [{
'bbox_3d': [1.2, 3.4, 0.5, 4.3, 1.8, 1.5, 0.78], # (x,y,z,l,w,h,yaw)
'bbox_label_3d': 0, # 类别标签(0:car, 1:truck等)
'velocity': [2.1, 0.3], # 速度向量(m/s)
'num_lidar_pts': 43 # 框内包含的激光雷达点数
}]
}
坐标系系统详解: nuScenes定义了五层坐标系体系,理解这些坐标系的关系对数据处理至关重要:
- 全局坐标系:场景地图的绝对参考系,原点位于地图左上角
- 自车坐标系:以车辆为中心建立的移动坐标系
- 传感器坐标系:各传感器自身的局部坐标系
- 图像坐标系:相机图像的2D像素坐标系
- 雷达坐标系:激光雷达的点云坐标系
注意:MMDetection3D在处理时会将这些坐标系统一转换到激光雷达坐标系下,确保所有检测任务在同一参考系中进行。
2. 数据准备与预处理实战
2.1 数据集获取与目录结构
官方推荐的数据集目录结构如下:
mmdetection3d
├── data
│ └── nuscenes
│ ├── maps # 高清地图数据
│ ├── samples # 关键帧传感器数据
│ ├── sweeps # 非关键帧传感器数据
│ ├── v1.0-trainval # 训练验证集元数据
│ └── v1.0-test # 测试集元数据
数据预处理命令:
# 完整数据集处理
python tools/create_data.py nuscenes \
--root-path ./data/nuscenes \
--version v1.0 \
--extra-tag nuscenes \
--out-dir ./data/nuscenes
# mini数据集处理(开发调试用)
python tools/create_data.py nuscenes \
--root-path ./data/nuscenes \
--version v1.0-mini \
--extra-tag nuscenes \
--out-dir ./data/nuscenes
2.2 关键文件解析
预处理后会生成以下核心文件:
| 文件名 | 描述 |
|---|---|
| nuscenes_infos_train.pkl | 训练集元信息 |
| nuscenes_infos_val.pkl | 验 |


3175

被折叠的 条评论
为什么被折叠?



