DaTongjie / BEVSpread

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BEVSpread: Spread Voxel Pooling for Bird’s-Eye-View Representation in Vision-based Roadside 3D Object Detection

Wenjie Wang* · Yehao Lu* · Guangcong Zheng · Shuigen Zhan · Xiaoqing Ye · Zichang Tan · Jingdong Wang · Gaoang Wang · Xi Li

CVPR 2024

FIG

Getting Started

Installation

a. Install pytorch(v1.9.0).

b. Install mmcv-full==1.6.2 mmdet==2.28.2 mmsegmentation==0.30.0

c. Install mmdetection3d

git clone https://github.com/open-mmlab/mmdetection3d.git -b 1.0
cd mmdetection3d
pip install  -e .

d. Install pypcd

git clone https://github.com/klintan/pypcd.git
cd pypcd
python setup.py install

d. Install requirements.

pip install -r requirements.txt

e. Install BEVHeight (gpu required).

python setup.py develop

Prepare Dataset

Download DAIR-V2X-I or Rope3D dataset from official website.

Symlink the dataset root to ./data/.

ln -s [single-infrastructure-side root] ./data/dair-v2x
ln -s [rope3d root] ./data/rope3d

Convert DAIR-V2X-I or Rope3D to KITTI format.

python scripts/data_converter/dair2kitti.py --source-root data/dair-v2x-i --target-root data/dair-v2x-i-kitti
python scripts/data_converter/rope2kitti.py --source-root data/rope3d --target-root data/rope3d-kitti

Visualize the dataset in KITTI format

python scripts/data_converter/visual_tools.py --data_root data/rope3d-kitti --demo_dir ./demo

The directory will be as follows.


data
├── dair-v2x-i
│   ├── velodyne
│   ├── image
│   ├── calib
│   ├── label
|   └── data_info.json
├── dair-v2x-i-kitti
|   ├── training
|   |   ├── calib
|   |   ├── label_2
|   |   └── images_2
|   └── ImageSets
|        ├── train.txt
|        └── val.txt
├── rope3d
|   ├── training
|   ├── validation
|   ├── training-image_2a
|   ├── training-image_2b
|   ├── training-image_2c
|   ├── training-image_2d
|   └── validation-image_2
├── rope3d-kitti
|   ├── training
|   |   ├── calib
|   |   ├── denorm
|   |   ├── label_2
|   |   └── images_2
|   └── map_token2id.json
|       
...

Prepare DAIR-V2X-I or Rope3D infos.

python scripts/gen_info_dair.py
python scripts/gen_info_rope3d.py

Train and Eval

Train BEVSpread with 8 GPUs

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

Eval BEVSpread with 1 GPUs

python [EXP_PATH] --ckpt_path [CKPT_PATH] -e -b 2 --gpus 1

Experimental Results

  • DAIR-V2X-I Dataset
Method Config File Range Car Pedestrain Cyclist model pth
3D@0.5 3D@0.25 3D@0.25
Easy Mod. Hard Easy Mod. Hard Easy Mod. Hard
BEVSpread R101_100m [0, 102.4] 79.15 66.86 66.92 46.64 44.61 44.73 63.15 63.55 63.94 model

About


Languages

Language:Python 98.4%Language:Cuda 0.7%Language:C++ 0.6%Language:Shell 0.3%