Home

Awesome

Voxel R-CNN

<p align="center"> <img src='docs/voxel_rcnn_framework.jpg' align="center" height="270px"> </p>

Important Update: The code of Voxel R-CNN in OpenPCDet is also an official implementation one. Please refer to this repository to find the configs for Waymo Open Dataset.

This is the official implementation of Voxel R-CNN: Towards High Performance Voxel-based 3D Object Detection, built on OpenPCDet.

@article{deng2020voxel,
  title={Voxel R-CNN: Towards High Performance Voxel-based 3D Object Detection},
  author={Deng, Jiajun and Shi, Shaoshuai and Li, Peiwei and Zhou, Wengang and Zhang, Yanyong and Li, Houqiang},
  journal={arXiv:2012.15712},
  year={2020}
}

Installation

  1. Prepare for the running environment.

    You can either use the docker image we provide, or follow the installation steps in OpenPCDet.

    docker pull djiajun1206/pcdet-pytorch1.5
    
  2. Prepare for the data.

    Please download the official KITTI 3D object detection dataset and organize the downloaded files as follows (the road planes could be downloaded from [road plane], which are optional for data augmentation in the training):

    Voxel-R-CNN
    ├── data
    │   ├── kitti
    │   │   │── ImageSets
    │   │   │── training
    │   │   │   ├──calib & velodyne & label_2 & image_2 & (optional: planes)
    │   │   │── testing
    │   │   │   ├──calib & velodyne & image_2
    ├── pcdet
    ├── tools
    

    Generate the data infos by running the following command:

    python -m pcdet.datasets.kitti.kitti_dataset create_kitti_infos tools/cfgs/dataset_configs/kitti_dataset.yaml
    
  3. Setup.

    python setup.py develop
    

Getting Started

  1. Training.

    The configuration file is in tools/cfgs/voxelrcnn, and the training scripts is in tools/scripts.

    cd tools
    sh scripts/train_voxel_rcnn.sh
    
  2. Evaluation.

    The configuration file is in tools/cfgs/voxelrcnn, and the training scripts is in tools/scripts.

    cd tools
    sh scripts/eval_voxel_rcnn.sh
    

Acknowledge

Thanks to the strong and flexible OpenPCDet codebase maintained by Shaoshuai Shi (@sshaoshuai) and Chaoxu Guo (@Gus-Guo).

Contact

This repository is implemented by Jiajun Deng (dengjj@mail.ustc.edu.cn).