Home

Awesome

DualBEV

<!-- ## Introduction -->

This repository is an official implementation of DualBEV.

If you find this work interesting, please do not hesitate to give a ⭐!

<p align="center"> <img src="./resources/Overview.png"> </p>

News

Main Results

ConfigFramesmAPNDSModelLog
DualBEV-R50-CBGS<p align="center">136.843.4google / baidugoogle / baidu
DualBEV-R50-4D-CBGS<p align="center">238.650.5google / baidugoogle / baidu

Get Started

Installation and Data Preparation

  1. Please refer to getting_started.md for installing DualBEV as mmdetection3d. Docker is recommended for environment preparation.
  2. Prepare nuScenes dataset as introduced in nuscenes_det.md and create the pkl for DualBEV by running:
python tools/create_data_bevdet.py
  1. Download nuScenes-lidarseg from nuScenes official site and put it under data/nuscenes/. Create depth and semantic labels from point cloud by running:
python tools/generate_point_label.py

Train and Test

Single-Frame:

bash tools/dist_train.sh configs/dualbev/dualbev-r50-cbgs.py 8 --no-validate
bash tools/dist_test.sh configs/dualbev/dualbev-r50-cbgs.py  work_dirs/dualbev-r50-cbgs/epoch_20_ema.pth 8 --eval mAP

Multi-Frame:

bash tools/dist_train.sh configs/dualbev/dualbev4d-r50-cbgs.py 8 --no-validate
bash tools/dist_test.sh configs/dualbev/dualbev4d-r50-cbgs.py  work_dirs/dualbev4d-r50-cbgs/epoch_20_ema.pth 8 --no-aavt --eval mAP

Acknowledgement

This project is not possible without multiple great open-sourced code bases. We list some notable examples below.

Bibtex

If this work is helpful for your research, please consider citing the following BibTeX entry.

@article{li2024dualbev,
      title={DualBEV: CNN is All You Need in View Transformation}, 
      author={Peidong Li and Wancheng Shen and Qihao Huang and Dixiao Cui},
      journal={arXiv preprint arXiv:2403.05402},
      year={2024},
}