This repository is the pytorch-version reimplementation of Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud, CVPR 2020. It is based on original CVPR paper and their tensorflow-version codes
Thanks owe to authors. If you find this code useful in your research, please consider citing their work:
@InProceedings{Point-GNN,
author = {Shi, Weijing and Rajkumar, Ragunathan (Raj)},
title = {Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2020}
}
conda install pytorch torchvision
Install torch-scatter according to your pytorch version following instructions in this url: https://github.com/rusty1s/pytorch_scatter
To install other dependencies:
pip3 install --user opencv-python
pip3 install --user open3d-python==0.7.0.0
pip3 install --user scikit-learn
pip3 install --user tqdm
pip3 install --user shapely
We use the KITTI 3D Object Detection dataset. Please download the dataset from the KITTI website and also download the 3DOP train/val split here. We provide extra split files for seperated classes in splits/. We recommand the following file structure:
DATASET_ROOT_DIR
├── image # Left color images
│ ├── training
| | └── image_2
│ └── testing
| └── image_2
├── velodyne # Velodyne point cloud files
│ ├── training
| | └── velodyne
│ └── testing
| └── velodyne
├── calib # Calibration files
│ ├── training
| | └──calib
│ └── testing
| └── calib
├── labels # Training labels
│ └── training
| └── label_2
└── 3DOP_splits # split files.
├── train.txt
├── train_car.txt
└── ...
Clone the repository recursively:
git clone https://github.com/Shudeng/Point-GNN.pytorch --recursive
bash train.sh
This project is licensed under the MIT License - see the LICENSE file for details