You can download point clouds, images and other information from the ONCE website. Please follow the instructions to unzip and organize the data.
If you only need labeled data to train 3D detectors, you can download files (about 50GB) with the prefix train/val/test.
If you want to perform self/semi-supervised learning on the unlabeled data, you can additionally download files (about 2TB) with the prefix raw.
- Please organize the data as follows:
ONCE_Benchmark
├── data
│ ├── once
│ │ │── ImageSets
| | | ├──train.txt
| | | ├──val.txt
| | | ├──test.txt
| | | ├──raw_small.txt (100k unlabeled)
| | | ├──raw_medium.txt (500k unlabeled)
| | | ├──raw_large.txt (1M unlabeled)
│ │ │── data
│ │ │ ├──000000
| | | | |──000000.json (infos)
| | | | |──lidar_roof (point clouds)
| | | | | |──frame_timestamp_1.bin
| | | | | ...
| | | | |──cam0[1-9] (images)
| | | | | |──frame_timestamp_1.jpg
| | | | | ...
| | | | ...
├── pcdet
├── tools
- Generate the data infos by running the following command:
python -m pcdet.datasets.once.once_dataset --func create_once_infos --cfg_file tools/cfgs/dataset_configs/once_dataset.yaml
You could optionally add extra command line parameters --batch_size ${BATCH_SIZE}
and --epochs ${EPOCHS}
to specify your preferred parameters.
- Train with multiple GPUs or multiple machines
sh scripts/dist_train.sh ${NUM_GPUS} --cfg_file ${CONFIG_FILE}
- Train with a single GPU:
python train.py --cfg_file ${CONFIG_FILE}
- Semi-supervised training with multiple GPUs or multiple machines
sh scripts/dist_semi_train.sh ${NUM_GPUS} --cfg_file ${CONFIG_FILE}
- Semi-supervised training with a single GPU:
python semi_train.py --cfg_file ${CONFIG_FILE}
- Test with a pretrained model:
python test.py --cfg_file ${CONFIG_FILE} --batch_size ${BATCH_SIZE} --ckpt ${CKPT}
- To test all the saved checkpoints of a specific training setting and draw the performance curve on the Tensorboard, add the
--eval_all
argument:
python test.py --cfg_file ${CONFIG_FILE} --batch_size ${BATCH_SIZE} --eval_all
- To test with multiple GPUs:
sh scripts/dist_test.sh ${NUM_GPUS} \
--cfg_file ${CONFIG_FILE} --batch_size ${BATCH_SIZE}