Bevfuion 使用Nuscenes数据集下载
由于mit版本的bevfusion不再有人维护,所以使用MMDetection3d维护的bevfusion版本
- Nuscenes数据集下载可以使用opendatalab提供的nuscenes提供下载数据方案,官网地址:https://opendatalab.com/
使用如下命令下载
# install OpenDataLab CLI tools
pip install -U opendatalab
# log in OpenDataLab. Note that you should register an account on [OpenDataLab](https://opendatalab.com/) before.
pip install odl
odl login
# download and preprocess by MIM
mim download mmdet3d --dataset nuscenes
Bevfuion 处理Nuscenes数据集
处理数据集使用
python tools/create_data.py nuscenes --root-path ./data/nuscenes --out-dir ./data/nuscenes --extra-tag nuscenes
下载好的原始数据如下格式
mmdetection3d
├── mmdet3d
├── tools
├── configs
├── data
│ ├── nuscenes
│ │ ├── maps
│ │ ├── samples
│ │ ├── sweeps
│ │ ├── v1.0-test
| | ├── v1.0-trainval
处理完的数据如下格式
mmdetection3d
├── mmdet3d
├── tools
├── configs
├── data
│ ├── nuscenes
│ │ ├── maps
│ │ ├── samples
│ │ ├── sweeps
│ │ ├── v1.0-test
| | ├── v1.0-trainval
│ │ ├── nuscenes_gt_database
│ │ ├── nuscenes_infos_train.pkl
│ │ ├── nuscenes_infos_val.pkl
│ │ ├── nuscenes_infos_test.pkl
│ │ ├── nuscenes_dbinfos_train.pkl
处理过程可以看到各个阶段的耗时,生成的文件 (mit bevfusion在数据处理过程中有问题,并且代码低效,数据处理时间过长 )
- nuscenes_gt_database 下面存放的是目标点云真值,训练数据集的每个 3D 包围框中包含的点云数据。后续用来做数据增强
- 各个pkl文件包含了训练集,验证集,测试集的一些数据信息。该字典包含了两个键值:metainfo 和 data_list。metainfo 包含数据集的基本信息,例如 categories, dataset 和 info_version。data_list 是由字典组成的列表,每个字典(以下简称 info)包含了单个样本的所有详细信息。
Bevfuion 处理Nuscenes数据集代码详解
代码入口在/mmdetection3d/tools/create_data.py
- 可以通过设置273行–workers参数改变default来改变线程数量,增加并发,快速完成数据集相关pkl生成
- nuscenes数据集处理入口在下面这个函数中
def nuscenes_data_prep(root_path,
info_prefix,
version,
dataset_name,
out_dir,
max_sweeps=10):
"""Prepare data related to nuScenes dataset.
Related data consists of '.pkl' files recording basic infos,
2D annotations and groundtruth database.
Args:
root_path (str): Path of dataset root.
info_prefix (str): The prefix of info filenames.
version (str): Dataset version.
dataset_name (str): The dataset class name.
out_dir (str): Output directory of the groundtruth database info.
max_sweeps (int, optional): Number of input consecutive frames.
Default: 10
"""
获取 nuscenes_infos_xxx.pkl 的核心函数为 _fill_trainval_infos