This is the official PyTorch implementation for our paper:
PolarBEVDet: Exploring Polar Representation for Multi-View 3D Object Detection in Bird's-Eye-View
Setting | Pretrain | NDS | MAP | Weights |
---|---|---|---|---|
r50_704x256_24e | ImageNet | 53.0 | 43.2 | gdrive |
r50_704x256_60e | ImageNet | 55.3 | 45.0 | gdrive |
r50_704x256_nuImg_60e | nuImg | 56.7 | 46.9 | gdrive |
conda create -n polarbevdet python=3.9
conda activate polarbevdet
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
Install other dependencies:
pip install openmim
mim install mmcv-full==1.6.0
mim install mmdet==2.28.2
mim install mmsegmentation==0.30.0
mim install mmdet3d==1.0.0rc6
pip install setuptools==59.5.0
pip install numpy==1.23.5
pip install pillow==8.4.0
Compile CUDA extensions:
cd projects
python setup.py develop
- Download nuScenes from https://www.nuscenes.org/nuscenes and put it in
data/nuscenes
. - Generate info files by:
python tools/create_data_bevdet.py
- Folder structure:
data/nuscenes
├── maps
├── nuscenes_infos_test.pkl
├── nuscenes_infos_train.pkl
├── nuscenes_infos_val.pkl
├── samples
├── sweeps
├── v1.0-test
└── v1.0-trainval
Train PolarBEVDet with 4 GPUs:
bash tools/dist_train.sh projects/configs/polarbevdet/r50_704x256_24e.py 4 --work-dir work_dirs/polarbevdet/r50_704x256_24e
python tools/swap_ema_and_non_ema.py work_dirs/polarbevdet/r50_704x256_24e/iter_21096.pth
bash tools/dist_test.sh projects/configs/polarbevdet/r50_704x256_24e.py work_dirs/polarbevdet/r50_704x256_24e/iter_21096_ema.pth 4 --eval map
Many thanks to these excellent open-source projects:
- 3D Detection:BEVDet, SOLOFusion, StreamPETR
- Codebase: MMDetection3D
If this work is helpful for your research, please consider citing the following BibTeX entry.
@article{yu2024polarbevdet,
title={PolarBEVDet: Exploring Polar Representation for Multi-View 3D Object Detection in Bird's-Eye-View},
author={Yu, Zichen and Liu, Quanli and Wang, Wei and Zhang, Liyong and Zhao, Xiaoguang},
journal={arXiv preprint arXiv:2408.16200},
year={2024}
}