Giter VIP home page Giter VIP logo

graphrcnn's Introduction

arXiv GitHub Stars visitors

Graph R-CNN: Towards Accurate 3D Object Detection with Semantic-Decorated Local Graph (ECCV 2022, Oral)

NEWS

[2023-03-31] Codes for the KITTI and Waymo datasets are released at GD-MAE (based on OpenPCDet) ๐Ÿš€!

[2022-11-28] The result on the Waymo Leaderboard is reported.

[2022-09-30] Code for the Waymo Open Dataset is released ๐Ÿš€!

[2022-07-04] Graph R-CNN is accepted at ECCV 2022 ๐Ÿ”ฅ!

[2021-12-26] We rank 1st on the KITTI BEV car detection leaderboard ๐Ÿ”ฅ!

Installation

We test this project on NVIDIA A100 GPUs and Ubuntu 18.04.

conda create -n graphrcnn python=3.7
conda activate graphrcnn
conda install pytorch==1.10.1 torchvision==0.11.2 cudatoolkit=11.1 -c pytorch -c conda-forge
pip install protobuf==3.19.4 waymo-open-dataset-tf-2-2-0 spconv-cu111 numpy numba scipy pyyaml easydict fire tqdm shapely matplotlib opencv-python addict pyquaternion nuscenes-devkit==1.0.5
pip install torch-scatter -f https://data.pyg.org/whl/torch-1.10.1+cu111.html
git clone https://github.com/Nightmare-n/GraphRCNN
cd GraphRCNN && python setup.py develop --user

Data Preparation

  • Please download the official Waymo Open Dataset, including the training data training_0000.tar~training_0031.tar and the validation data validation_0000.tar~validation_0007.tar.
  • Unzip all the above xxxx.tar files to the directory of /data/waymo/raw_data as follows (You could get 798 train tfrecord and 202 val tfrecord ):
data
โ”‚โ”€โ”€ waymo
โ”‚   โ”‚โ”€โ”€ ImageSets (from OpenPCDet)
โ”‚   โ”‚โ”€โ”€ raw_data
โ”‚   โ”‚   โ”‚โ”€โ”€ segment-xxxxxxxx.tfrecord
โ”‚   โ”‚   โ”‚โ”€โ”€ ...
โ”‚   โ”‚โ”€โ”€ waymo_processed_data_cp
โ”‚   โ”‚   โ”‚โ”€โ”€ train/
โ”‚   โ”‚   โ”‚   โ”‚โ”€โ”€ annos/
โ”‚   โ”‚   โ”‚   โ”‚โ”€โ”€ lidar/
โ”‚   โ”‚   โ”‚โ”€โ”€ ...
โ”‚   โ”‚โ”€โ”€ gt_database_1sweeps_withvelo/
โ”‚   โ”‚โ”€โ”€ dbinfos_train_1sweeps_withvelo.pkl
โ”‚   โ”‚โ”€โ”€ infos_train_01sweeps_filter_zero_gt.pkl
โ”‚   โ”‚โ”€โ”€ infos_val_01sweeps_filter_zero_gt.pkl
  • Convert the tfrecord data to pickle files.
python det3d/datasets/waymo/waymo_converter.py --root_path /data/waymo --raw_data_tag raw_data --processed_data_tag waymo_processed_data_cp --split train
python det3d/datasets/waymo/waymo_converter.py --root_path /data/waymo --raw_data_tag raw_data --processed_data_tag waymo_processed_data_cp --split val
  • Extract point cloud data from tfrecord and generate data infos by running the following command:
python tools/create_data.py waymo_data_prep --root_path /data/waymo --processed_data_tag waymo_processed_data_cp --split train --nsweeps 1
python tools/create_data.py waymo_data_prep --root_path /data/waymo --processed_data_tag waymo_processed_data_cp --split val --nsweeps 1

Training & Testing

bash ./slurm_trainval.sh
# or
bash ./dist_tranval.sh

Results

We show the reproduced results based on the latest version of the CenterPoint codebase.

Vec_L1 Vec_L2 Ped_L1 Ped_L2 Cyc_L1 Cyc_L2 All
Graph R-CNN (w/o PointNet) 80.46/79.97 72.27/71.82 82.01/76.49 74.13/68.90 77.63/76.50 74.87/73.78 Log

Citation

If you find this project useful in your research, please consider citing:

@inproceedings{yang2022graphrcnn,
    author = {Honghui Yang and Zili Liu and Xiaopei Wu and Wenxiao Wang and Wei Qian and Xiaofei He and Deng Cai},
    title = {Graph R-CNN: Towards Accurate 3D Object Detection with Semantic-Decorated Local Graph},
    booktitle = {ECCV},
    year = {2022},
}

Acknowledgement

This project is mainly based on the following codebases. Thanks for their great works!

graphrcnn's People

Contributors

nightmare-n avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.