数据总体结构
Nuscenes 数据结构
可以看一下我的blog如何下载完整版
mmdetection3d
├── mmdet3d
├── tools
├── configs
├── data
│ ├── nuscenes
│ │ ├── maps
│ │ ├── samples
│ │ ├── sweeps
│ │ ├── lidarseg (optional)
│ │ ├── v1.0-test
| | ├── v1.0-trainval
参考 mmdet3d
nuscenes_database/xxxxx.bin:训练数据集的每个 3D 包围框中包含的点云数据。
nuscenes_infos_train.pkl:训练数据集,该字典包含了两个键值:metainfo 和 data_list。metainfo 包含数据集的基本信息,例如 categories, dataset 和 info_version。data_list 是由字典组成的列表,每个字典(以下简称 info)包含了单个样本的所有详细信息。
info[‘sample_idx’]:样本在整个数据集的索引。
info[‘token’]:样本数据标记。
info[‘timestamp’]:样本数据时间戳。
info[‘ego2global’]:自车到全局坐标的变换矩阵。(4x4 列表)
info[‘lidar_points’]:是一个字典,包含了所有与激光雷达点相关的信息。
info[‘lidar_points’][‘lidar_path’]:激光雷达点云数据的文件名。
info[‘lidar_points’][‘num_pts_feats’]:点的特征维度。
info[‘lidar_points’][‘lidar2ego’]:该激光雷达传感器到自车的变换矩阵。(4x4 列表)
info[‘lidar_sweeps’]:是一个列表,包含了扫描信息(没有标注的中间帧)。
info[‘lidar_sweeps’][i][‘lidar_points’][‘data_path’]:第 i 次扫描的激光雷达数据的文件路径。
info[‘lidar_sweeps’][i][‘lidar_points’][lidar2ego’’]:当前激光雷达传感器到自车的变换矩阵。(4x4 列表)
info[‘lidar_sweeps’][i][‘lidar_points’][‘ego2global’]:自车到全局坐标的变换矩阵。(4x4 列表)
info[‘lidar_sweeps’][i][‘lidar2sensor’]:从主激光雷达传感器到当前传感器(用于收集扫描数据)的变换矩阵。(4x4 列表)
info[‘lidar_sweeps’][i][‘timestamp’]:扫描数据的时间戳。
info[‘lidar_sweeps’][i][‘sample_data_token’]:扫描样本数据标记。
info[‘images’]:是一个字典,包含与每个相机对应的六个键值:'CAM_FRONT', 'CAM_FRONT_RIGHT', 'CAM_FRONT_LEFT', 'CAM_BACK', 'CAM_BACK_LEFT', 'CAM_BACK_RIGHT'。每个字典包含了对应相机的所有数据信息。
info[‘images’][‘CAM_XXX’][‘img_path’]:图像的文件名。
info[‘images’][‘CAM_XXX’][‘cam2img’]:当 3D 点投影到图像平面时需要的内参信息相关的变换矩阵。(3x3 列表)
info[‘images’][‘CAM_XXX’][‘sample_data_token’]:图像样本数据标记。
info[‘images’][‘CAM_XXX’][‘timestamp’]:图像的时间戳。
info[‘images’][‘CAM_XXX’][‘cam2ego’]:该相机传感器到自车的变换矩阵。(4x4 列表)
info[‘images’][‘CAM_XXX’][‘lidar2cam’]:激光雷达传感器到该相机的变换矩阵。(4x4 列表)
info[‘instances’]:是一个字典组成的列表。每个字典包含单个实例的所有标注信息。对于其中的第 i 个实例,我们有:
info[‘instances’][i][‘bbox_3d’]:长度为 7 的列表,以 (x, y, z, l, w, h, yaw) 的顺序表示实例的 3D 边界框。
info[‘instances’][i][‘bbox_label_3d’]:整数表示实例的标签,-1 代表忽略。
info[‘instances’][i][‘velocity’]:3D 边界框的速度(由于不正确,没有垂直测量),大小为 (2, ) 的列表。
info[‘instances’][i][‘num_lidar_pts’]:每个 3D 边界框内包含的激光雷达点数。
info[‘instances’][i][‘num_radar_pts’]:每个 3D 边界框内包含的雷达点数。
info[‘instances’][i][‘bbox_3d_isvalid’]:每个包围框是否有效。一般情况下,我们只将包含至少一个激光雷达或雷达点的 3D 框作为有效框。
info[‘cam_instances’]:是一个字典,包含以下键值:'CAM_FRONT', 'CAM_FRONT_RIGHT', 'CAM_FRONT_LEFT', 'CAM_BACK', 'CAM_BACK_LEFT', 'CAM_BACK_RIGHT'。对于基于视觉的 3D 目标检测任务,我们将整个场景的 3D 标注划分至它们所属于的相应相机中。对于其中的第 i 个实例,我们有:
info[‘cam_instances’][‘CAM_XXX’][i][‘bbox_label’]:实例标签。
info[‘cam_instances’][‘CAM_XXX’][i][‘bbox_label_3d’]:实例标签。
info[‘cam_instances’][‘CAM_XXX’][i][‘bbox’]:2D 边界框标注(3D 框投影的矩形框),顺序为 [x1, y1, x2, y2] 的列表。
info[‘cam_instances’][‘CAM_XXX’][i][‘center_2d’]:3D 框投影到图像上的中心点,大小为 (2, ) 的列表。
info[‘cam_instances’][‘CAM_XXX’][i][‘depth’]:3D 框投影中心的深度。
info[‘cam_instances’][‘CAM_XXX’][i][‘velocity’]:3D 边界框的速度(由于不正确,没有垂直测量),大小为 (2, ) 的列表。
info[‘cam_instances’][‘CAM_XXX’][i][‘attr_label’]:实例的属性标签。我们为属性分类维护了一个属性集合和映射。
info[‘cam_instances’][‘CAM_XXX’][i][‘bbox_3d’]:长度为 7 的列表,以 (x, y, z, l, h, w, yaw) 的顺序表示实例的 3D 边界框。
info[‘pts_semantic_mask_path’]:激光雷达语义分割标注的文件名。
OccNet 在 nuScenes 基础上推出的 OpenOcc 数据集,提供环视相机图像、3D occupancy 和 occupancy flow 标注等。数据集通过将 Lidar 数据体素化,生成精确的3D真值,支持场景理解和3D重建研究。这一数据集不仅适合静态场景分析,也能用于研究动态环境,为机器视觉等领域的进步提供重要资源。
Occnet 数据集
连接
OccNet
├── data/
│ ├── can_bus/
│ ├── nuscenes/
│ │ ├── maps/
│ │ ├── samples/
│ │ ├── sweeps/
│ │ ├── v1.0-test
│ │ ├── v1.0-trainval
│ │ ├── nuscenes_infos_temporal_train.pkl
│ │ ├── nuscenes_infos_temporal_val.pkl
│ ├── occ_gt_release_v1_0/
│ │ ├── train/
│ │ ├── val/
│ │ ├── occ_gt_train.json
│ │ ├── occ_gt_val.json
│ │ ├── nuscenes_infos_temporal_train_occ_gt.pkl
│ │ ├── nuscenes_infos_temporal_val_occ_gt.pkl
Occpancy 里面的结构
└── Occpancy3D-nuScenes-V1.0
|
├── mini
|
├── trainval
| ├── imgs
| | ├── CAM_BACK
| | | ├── n015-2018-07-18-11-07-57+0800__CAM_BACK__1531883530437525.jpg
| | | └── ...
| | ├── CAM_BACK_LEFT
| | | ├── n015-2018-07-18-11-07-57+0800__CAM_BACK_LEFT__1531883530447423.jpg
| | | └── ...
| | └── ...
| |
| ├── gts
| | ├── [scene_name]
| | | ├── [frame_token]
| | | | └── labels.npz
| | | └── ...
| | └── ...
| |
| └── annotations.json
|
└── test
├── imgs
└── annotations.json
imgs/
包含由各种相机捕获的图像。
gts/
包含每个样本的真值数据。[scene_name]
指定一系列帧,而 [frame_token]
指定序列中的单个帧。
annotations.json
包含数据集的元信息。
labels.npz
包含每一帧的 [semantics]
(语义)、[mask_lidar]
(雷达遮罩)和 [mask_camera]
(相机遮罩)。
annotations {
"train_split": ["scene-0001", ...], <list> -- training dataset split by scene_name
"val_split": list ["scene-0003", ...], <list> -- validation dataset split by scene_name
"scene_infos" { <dict> -- meta infos of the scenes
[scene_name]: { <str> -- name of the scene.
[frame_token]: { <str> -- samples in a scene, ordered by time
"timestamp": <str> -- timestamp (or token), unique by sample
"camera_sensor": { <dict> -- meta infos of the camera sensor
[cam_token]: { <str> -- token of the camera
"img_path": <str> -- corresponding image file path, *.jpg
"intrinsic": <float> [3, 3] -- intrinsic camera calibration
"extrinsic":{ <dict> -- extrinsic parameters of the camera
"translation": <float> [3] -- coordinate system origin in meters
"rotation": <float> [4] -- coordinate system orientation as quaternion
}
"ego_pose": { <dict> -- vehicle pose of the camera
"translation": <float> [3] -- coordinate system origin in meters
"rotation": <float> [4] -- coordinate system orientation as quaternion
}
},
...
},
"ego_pose": { <dict> -- vehicle pose
"translation": <float> [3] -- coordinate system origin in meters
"rotation": <float> [4] -- coordinate system orientation as quaternion
},
"gt_path": <str> -- corresponding 3D voxel gt path, *.npz
"next": <str> -- frame_token of the previous keyframe in the scene
"prev": <str> -- frame_token of the next keyframe in the scene
}
]
}
}
}
榜单
连接