tsunghan-wu / RandLA-Net-pytorch

:four_leaf_clover: Pytorch Implementation of RandLA-Net (https://arxiv.org/abs/1911.11236)
MIT License
122 stars 33 forks source link
3d-vision computer-vision pytorch-implementation semantic-segmentation semantickitti

RandLA-Net-pytorch

This repository contains the implementation of RandLA-Net (CVPR 2020 Oral) in PyTorch.

Performance

Results on Validation Set (seq 08)

Model mIoU
Original Tensorflow 0.531
Our Pytorch Implementation 0.529
mIoU car bicycle motorcycle truck other-vehicle person bicyclist motorcyclist road parking sidewalk other-ground building fence vegetation trunk terrain pole traffic-sign
52.9 0.919 0.122 0.290 0.660 0.444 0.515 0.676 0.000 0.912 0.421 0.759 0.001 0.878 0.354 0.844 0.595 0.741 0.517 0.414

A. Environment Setup

  1. Click this webpage and use conda to install pytorch>=1.4 (Be aware of the cuda version when installation)

  2. Install python packages

pip install -r requirements.txt
  1. Compile C++ Wrappers
bash compile_op.sh

B. Prepare Data

Download the Semantic KITTI dataset, and preprocess the data:

python data_prepare_semantickitti.py

Note:

C. Training & Testing

  1. Training
python3 train_SemanticKITTI.py <args>
  1. Testing
python3 test_SemanticKITTI.py <args>

Note: if the flag --index_to_label is set, output predictions will be ".label" files (label figure) which can be visualized; Otherwise, they will be ".npy" (0-19 index) files which is used to evaluated afterward.

D. Visualization & Evaluation

  1. Visualization
python3 visualize_SemanticKITTI.py <args>
  1. Evaluation
python3 evaluate_SemanticKITTI.py --dataset /tmp2/tsunghan/PCL_Seg_data/sequences_0.06/ \
    --predictions runs/supervised/predictions/ --sequences 8

Acknowledgement