This repository is an official implementation for our T-ITS paper Arxiv IEEE Xplore
Jinpeng Lin1 Zhihao Liang2 Shengheng Deng2 Lile Cai3 Tao Jiang4 Tianrui Li1 Kui Jia2 Xun Xu3
1Southwest Jiaotong University
2South China University of Technology
3Institute for Infocomm Research, A*STAR
4Chengdu University of Information Technology
Please refer to INSTALATION.md.
Please refer to PREPARE_DATA.md.
-
select info
# active select python tools/active_select.py $CONFIG_PATH --work_dir $WORK_DIR --budget $INCREMENTAL_BUDGET # example: spa+tem: python tools/active_select.py examples/active/cbgs_spatial_temporal.py --work_dir work_dir --budget 600 # modify hyperparameters such as normalize, cost_b, cost_f in the following files: det3d/selectors/spatial_temporal_selector.py
-
create dbinfo:
python tools/create_data.py nuscenes_data_prep --root_path=$NUSCENES_TRAINVAL_DATASET_ROOT --suffix $SUFFIX --version="v1.0-trainval" # example: spa+tem: python tools/create_data.py nuscenes_data_prep --root_path=/Datasets/Nuscenes --suffix spatial_temporal_1200 --version="v1.0-trainval"
-
train
bash tools/scripts/train.sh $TASK_DESC $CONFIG $BUDGET $SEED # example: spa+tem: bash tools/scripts/train.sh spatial_temporal_1200 examples/active/cbgs_spatial_temporal.py 1200 42
-
test
python tools/dist_test.py $CONFIG_PATH --work_dir $WORK_DIR --checkpoint $CKPT_PATH # example: spa+tem: python tools/dist_test.py examples/active/cbgs_spatial_temporal.py work_dir/spatial_temporal_1200 work_dir/NUSC_CBGS_spatial_temporal_budget_1200_20231121-142055/latest.pth
For BEVFusion:
- follow bevfusion/README.md to build dependencies
- create dbinfo:
python tools/create_data.py nuscenes \
--root-path $root-path --out-dir $out-dir \
--extra-tag nuscenes --budget $budget \
--buffer_path $selected_data_idx_buffer
# for example:
python tools/create_data.py nuscenes \
--root-path /dataset --out-dir /dataset \
--extra-tag nuscenes --budget 4800 \
--buffer_path /dataset/buffers/seed42/uwe-seed42.json
3.train:
torchpack dist-run -np $gpu_nums python tools/train.py \
configs/nuscenes/det/transfusion/secfpn/lidar/voxelnet_0p075.yaml \
--run-dir $dirs
torchpack dist-run -np 4 python tools/train.py \
configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/convfuser.yaml \
--model.encoders.camera.backbone.init_cfg.checkpoint pretrained/swint-nuimages-pretrained.pth \
--load_from $trained_path \
--run-dir $out_dirs
# for example:
torchpack dist-run -np 4 python tools/train.py \
configs/nuscenes/det/transfusion/secfpn/lidar/voxelnet_0p075.yaml \
--run-dir /dataset/runs/uwe4800_seed42/lidar-only
torchpack dist-run -np 4 python tools/train.py \
configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/convfuser.yaml \
--model.encoders.camera.backbone.init_cfg.checkpoint pretrained/swint-nuimages-pretrained.pth \
--load_from /dataset/runs/uwe4800_seed42/lidar-only/epoch_20.pth \
--run-dir /dataset/runs/uwe4800_seed42/fus
- test
torchpack dist-run -np $gpu_nums python tools/test.py \
configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/convfuser.yaml \
$ckpt_path \
--eval bbox --eval-options "jsonfile_prefix=$out_dirs"
# for example:
torchpack dist-run -np 4 python tools/test.py \
configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/convfuser.yaml \
/dataset/runs/uwe4800_seed42/fus/latest.pth \
--eval bbox --eval-options "jsonfile_prefix=/dataset/runs/uwe4800_seed42/fus/val/"
@ARTICLE{10706982,
author={Lin, Jinpeng and Liang, Zhihao and Deng, Shengheng and Cai, Lile and Jiang, Tao and Li, Tianrui and Jia, Kui and Xu, Xun},
journal={IEEE Transactions on Intelligent Transportation Systems},
title={Exploring Diversity-Based Active Learning for 3D Object Detection in Autonomous Driving},
year={2024},
volume={},
number={},
pages={1-13},
keywords={Three-dimensional displays;Object detection;Costs;Annotations;Detectors;Uncertainty;Diversity reception;Feature extraction;Autonomous vehicles;Point cloud compression;Active learning;3D object detection;autonomous driving},
doi={10.1109/TITS.2024.3463801}}