/BEVDet

Official code base of the BEVDet series .

Primary LanguagePythonApache License 2.0Apache-2.0

BEVDet

Illustrating the performance of the proposed BEVDet on the nuScenes val set

News

  • 2022.06.01 We release the code and models of both BEVDet and BEVDet4D!
  • 2022.04.01 We propose BEVDet4D to lift the scalable BEVDet paradigm from the spatial-only 3D space to the spatial-temporal 4D space. Technical report is released on arixv. [BEVDet4D].
  • 2022.04.01 We upgrade the BEVDet paradigm with some modifications to improve its performance and inference speed. Thchnical report of BEVDet has been updated. [BEVDetv1].
  • 2021.12.23 BEVDet is now on arxiv. [BEVDet].

Update

  • 2022.06.29 Spport acceleration of the Lift-Splat-Shoot view transformer! Please refer to [Technical Report] for detailed introduction and Get Started for testing BEVDet with acceleration.

Main Results

Method mAP NDS FPS Mem (MB) Download
BEVDet-Tiny 30.8 40.4 15.6 11,965 google / baidu / log
BEVDet4D-Tiny 33.8 47.6 15.5 11,557 google / baidu / log

Get Started

Installation

1.Please follow the guidelines in the original mmdet3d for preparing the repo and dataset.

Please see getting_started.md for the basic usage of MMDetection3D. We provide guidance for quick run with existing dataset and with customized dataset for beginners. There are also tutorials for learning configuration systems, adding new dataset, designing data pipeline, customizing models, customizing runtime settings and Waymo dataset.

2.Prepare dataset specific for BEVDet4D.

Note: Make sure that data preparation in nuscenes_det.md has been conducted.

python tools/data_converter/prepare_nuscenes_for_bevdet4d.py

Estimate the inference speed of BEVDet

# with acceleration
python tools/analysis_tools/benchmark.py configs/bevdet/bevdet-sttiny-accelerated.py $checkpoint
# without acceleration
python tools/analysis_tools/benchmark.py configs/bevdet/bevdet-sttiny.py $checkpoint

Visualize the predicted result with open3d.

Note: make sure that you conduct the visualization locally instead of on the remote server.

python tools/test.py $config $checkpoint --show --show-dir $save-path

Acknowledgement

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

Beside, there are some other attractive works extend the boundary of BEVDet.

  • BEVerse for multi-task learning.
  • BEVFusion for acceleration, multi-task learning, and multi-sensor fusion. (Note: The acceleration method is a concurrent work of that of BEVDet and has some superior characteristics like memory saving and completely equivalent.)

Bibtex

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

@article{huang2022bevdet4d,
  title={BEVDet4D: Exploit Temporal Cues in Multi-camera 3D Object Detection},
  author={Huang, Junjie and Huang, Guan},
  journal={arXiv preprint arXiv:2203.17054},
  year={2022}
}

@article{huang2021bevdet,
  title={BEVDet: High-performance Multi-camera 3D Object Detection in Bird-Eye-View},
  author={Huang, Junjie and Huang, Guan and Zhu, Zheng and Yun, Ye and Du, Dalong},
  journal={arXiv preprint arXiv:2112.11790},
  year={2021}
}