Skip to content

Latest commit

 

History

History
49 lines (35 loc) · 1.92 KB

README.md

File metadata and controls

49 lines (35 loc) · 1.92 KB

3D Semantic Segmentation

This repository runs Point Transformer on TO-Scene for 3D semantic segmentation task. The codebase comes from a reproduction at here.

Environment

  1. Dependencies:
  • Hardware: 4GPUs (RTX 3090)
  • Software: PyTorch>=1.5.0, Python>=3, CUDA>=11.0, tensorboardX, sharedarray, h5py, pyYaml.
  1. Compile pointops:

Make sure you have installed gcc and cuda, and nvcc can work (Note that if you install cuda by conda, it won't provide nvcc and you should install cuda manually). Then, compile and install pointops as follows:

cd lib/pointops
python3 setup.py install

Dataset preparation

  • Download our dataset following the README at the main page:

Usage

  • Train

    • Specify the data_root and split_root location in config, and remember to modify the dataset variants of tovanilla/tocrowd/toscannet, then do training as follows:

      CUDA_VISIBLE_DEVICES=0,1,2,3 sh tool/train.sh toscene \
      [tovanilla/tocrowd/toscannet]_pointtransformer
      
  • Test

    • Afer training, you can test the checkpoint as follows:

      CUDA_VISIBLE_DEVICES=0 sh tool/test.sh toscene \ 
      [tovanilla/tocrowd/toscannet]_pointtransformer
      
  • Run your own model

    • You can also run your own model on TO-Scene, by simply employing the data extraction in tovanilla_crowd.py for running on TO_Vanilla or TO_Crowd and toscannet.py for running on TO_ScanNet.
  • Result visualization

Acknowledgement

The code is based on Point Transformer at here. We also refer PAConv repository.