Skip to content

Xiangxu-0103/BAF-LAC

Repository files navigation

Backward Attentive Fusing Network with Local Aggregation Classifier for 3D Point Cloud Semantic Segmentation

This is the official implementation of BAF-LAC (TIP 2021), a novel point cloud semantic segmentation paradigm that introduces more context information. For technical details, please refer to:

Backward Attentive Fusing Network with Local Aggregation Classifier for 3D Point Cloud Semantic Segmentation
Hui Shuai, Xiang Xu, Qingshan Liu.
[paper]

architecture

(1) Setup

This code has been tested with Python 3.6, Tensorflow 1.13.1, CUDA 10.0 on Ubuntu 16.04.

  • Clone the repository
git clone https://github.com/Xiangxu-0103/BAF-LAC.git && cd BAF-LAC
  • Setup python environment
conda create -n baflac python=3.6.8
conda activate baflac
pip install tensorflow-gpu==1.13.1
pip install -r helper_requirements.txt
sh compile_op.sh

(2) S3DIS

S3DIS dataset can be found here. Download the files named "Stanford3dDataset_v1.2_Aligned_Version.zip". Uncompress the folder and move it to /home/data/S3DIS.

  • Preparing the dataset:
python utils/data_prepare_s3dis.py
  • Start 6-fold cross validation:
sh jobs_6_fold_cv_s3dis.sh
  • Move all the generated results (*.ply) in /test folder to /home/data/S3DIS/results, calculate the final mean IoU results:
python utils/6_fold_cv.py

(3) Semantic3D

7zip is required to uncompress the raw data in this dataset, to install p7zip:

sudo apt-get install p7zip-full
  • Download and extract the dataset. First, please specify the path of the dataset by changing the BASE_DIR in "download_semantic3d.sh"
sh utils/download_semantic3d.sh
  • Preparing the dataset:
python utils/data_prepare_semantic3d.py
  • Start training:
python main_Semantic3D.py --mode train --gpu 0
  • Evaluation:
python main_Semantic3D.py --mode test --gpu 0

Note:

  • Preferably with more than 64G RAM to process this dataset due to the large volume of point cloud

(4) SemanticKITTI

SemanticKITTI dataset can be found here. Download the files related to semantic segmentation and extract everything into the same folder. Uncompress the folder and move it to /home/data/semantic_kitti/dataset.

  • Preparing the dataset
python utils/data_prepare_semantickitti.py
  • Start training:
python main_SemanticKITTI.py --mode train --gpu 0
  • Evaluation:
sh jobs_test_semantickitti.sh

Citation

If you find our work useful in your research, please consider citing:

@article{shuai2021backward,
    title={Backward Attentive Fusing Network With Local Aggregation Classifier for 3D Point Cloud Semantic Segmentation},
    author={Shuai, Hui and Xu, Xiang and Liu, Qingshan},
    journal={IEEE Transactions on Image Processing},
    volume={30},
    pages={4973--4984},
    year={2021},
    publisher={IEEE}
}

Acknowledge

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published