• Stars
    star
    709
  • Rank 63,849 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created over 2 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Official code for BEVDepth.

BEVDepth

BEVDepth is a new 3D object detector with a trustworthy depth estimation. For more details, please refer to our paper on Arxiv.

BEVStereo

BEVStereo is a new multi-view 3D object detector using temporal stereo to enhance depth estimation.

MatrixVT

MatrixVT is a novel View Transformer for BEV paradigm with high efficiency and without customized operators. For more details, please refer to our paper on Arxiv. Try MatrixVT on CPU by run this file !

Updates!!

  • 【2022/12/06】 We released our new View Transformer (MatrixVT), the paper is on Arxiv.
  • 【2022/11/30】 We updated our paper(BEVDepth) on Arxiv.
  • 【2022/11/18】 Both BEVDepth and BEVStereo were accepted by AAAI'2023.
  • 【2022/09/22】 We released our paper(BEVStereo) on Arxiv.
  • 【2022/08/24】 We submitted our result(BEVStereo) on nuScenes Detection Task and achieved the SOTA.
  • 【2022/06/23】 We submitted our result(BEVDepth) without extra data on nuScenes Detection Task and achieved the SOTA.
  • 【2022/06/21】 We released our paper(BEVDepth) on Arxiv.
  • 【2022/04/11】 We submitted our result(BEVDepth) on nuScenes Detection Task and achieved the SOTA.

Quick Start

Installation

Step 0. Install pytorch(v1.9.0).

Step 1. Install MMDetection3D(v1.0.0rc4).

Step 2. Install requirements.

pip install -r requirements.txt

Step 3. Install BEVDepth(gpu required).

python setup.py develop

Data preparation

Step 0. Download nuScenes official dataset.

Step 1. Symlink the dataset root to ./data/.

ln -s [nuscenes root] ./data/

The directory will be as follows.

BEVDepth
β”œβ”€β”€ data
β”‚   β”œβ”€β”€ nuScenes
β”‚   β”‚   β”œβ”€β”€ maps
β”‚   β”‚   β”œβ”€β”€ samples
β”‚   β”‚   β”œβ”€β”€ sweeps
β”‚   β”‚   β”œβ”€β”€ v1.0-test
|   |   β”œβ”€β”€ v1.0-trainval

Step 2. Prepare infos.

python scripts/gen_info.py

Tutorials

Train.

python [EXP_PATH] --amp_backend native -b 8 --gpus 8

Eval.

python [EXP_PATH] --ckpt_path [CKPT_PATH] -e -b 8 --gpus 8

Benchmark

Exp EMA CBGS mAP mATE mASE mAOE mAVE mAAE NDS weights
BEVDepth 0.3304 0.7021 0.2795 0.5346 0.5530 0.2274 0.4355 github
BEVDepth √ 0.3329 0.6832 0.2761 0.5446 0.5258 0.2259 0.4409 github
BEVDepth √ 0.3484 0.6159 0.2716 0.4144 0.4402 0.1954 0.4805 github
BEVDepth √ √ 0.3589 0.6119 0.2692 0.5074 0.4086 0.2009 0.4797 github
BEVStereo 0.3456 0.6589 0.2774 0.5500 0.4980 0.2278 0.4516 github
BEVStereo √ 0.3494 0.6671 0.2785 0.5606 0.4686 0.2295 0.4543 github
BEVStereo 0.3427 0.6560 0.2784 0.5982 0.5347 0.2228 0.4423 github
BEVStereo √ 0.3435 0.6585 0.2757 0.5792 0.5034 0.2163 0.4485 github
BEVStereo √ 0.3576 0.6071 0.2684 0.4157 0.3928 0.2021 0.4902 github
BEVStereo √ √ 0.3721 0.5980 0.2701 0.4381 0.3672 0.1898 0.4997 github

FAQ

EMA

  • The results are different between evaluation during training and evaluation from ckpt.

Due to the working mechanism of EMA, the model parameters saved by ckpt are different from the model parameters used in the training stage.

  • EMA exps are unable to resume training from ckpt.

We used the customized EMA callback and this function is not supported for now.

Cite BEVDepth & BEVStereo & MatrixVT

If you use BEVDepth and BEVStereo in your research, please cite our work by using the following BibTeX entry:

 @article{li2022bevdepth,
  title={BEVDepth: Acquisition of Reliable Depth for Multi-view 3D Object Detection},
  author={Li, Yinhao and Ge, Zheng and Yu, Guanyi and Yang, Jinrong and Wang, Zengran and Shi, Yukang and Sun, Jianjian and Li, Zeming},
  journal={arXiv preprint arXiv:2206.10092},
  year={2022}
}
@article{li2022bevstereo,
  title={Bevstereo: Enhancing depth estimation in multi-view 3d object detection with dynamic temporal stereo},
  author={Li, Yinhao and Bao, Han and Ge, Zheng and Yang, Jinrong and Sun, Jianjian and Li, Zeming},
  journal={arXiv preprint arXiv:2209.10248},
  year={2022}
}
@article{zhou2022matrixvt,
  title={MatrixVT: Efficient Multi-Camera to BEV Transformation for 3D Perception},
  author={Zhou, Hongyu and Ge, Zheng and Li, Zeming and Zhang, Xiangyu},
  journal={arXiv preprint arXiv:2211.10593},
  year={2022}
}

More Repositories

1

YOLOX

YOLOX is a high-performance anchor-free YOLO, exceeding yolov3~v5 with MegEngine, ONNX, TensorRT, ncnn, and OpenVINO supported. Documentation: https://yolox.readthedocs.io/
Python
9,231
star
2

cvpods

All-in-one Toolbox for Computer Vision Research.
Python
643
star
3

DeFCN

End-to-End Object Detection with Fully Convolutional Network
Python
494
star
4

BorderDet

BorderDet: Border Feature for Dense Object Detection(ECCV2020 Oral)
Python
431
star
5

DynamicRouting

Learning Dynamic Routing for Semantic Segmentation
Python
378
star
6

BEVStereo

Official code for BEVStereo
Python
253
star
7

OTA

Official implementation of our CVPR2021 paper "OTA: Optimal Transport Assignment for Object Detection" in Pytorch.
Python
241
star
8

AutoAssign

Pytorch implementation of "AutoAssign: Differentiable Label Assignment for Dense Object Detection"
Python
140
star
9

TreeFilter-Torch

Learnable Tree Filter for Structure-preserving Feature Transform
Python
139
star
10

DenseTeacher

DenseTeacher: Dense Pseudo-Label for Semi-supervised Object Detection
Python
120
star
11

DisAlign

Implementation of "Distribution Alignment: A Unified Framework for Long-tail Visual Recognition"(CVPR 2021)
Python
117
star
12

Megvii-BaseDetection

You are welcomed to join us!
50
star
13

GFSD

This project provides an implementation for "Generalized Few-Shot Object Detection without Forgetting" (CVPR2021) on PyTorch.
Python
45
star
14

LLA

Official implementation of our paper "LLA: Loss-aware Label Assignment for Dense Pedestrian Detection" in Pytorch.
Python
35
star
15

4K-Face

4K-Face: A Dataset with Huge Scale-variance Faces
32
star
16

storage

provide Checkpoint for users.
1
star