GA-NET: Global Attention Network for Point Cloud Semantic Segmentation

Overview

GA-NET: Global Attention Network for Point Cloud Semantic Segmentation

We propose a global attention network, called GA-Net, to obtain global information of point clouds in an efficient way. GA-Net consists of a point-independent global attention module, and a point-dependent global attention module.

[PDF]

Overview

This repository is the author's re-implementation of GA-Net. Extensive experiments on three point cloud semantic segmentation benchmarks demonstrate that GA-Net outperforms state-of-the-art methods in most cases.

architexture

Further information please contact Shuang Deng and Qiulei Dong.

Citation

Please cite this paper if you want to use it in your work:

@article{2021ganet,
title={GA-NET: Global Attention Network for Point Cloud Semantic Segmentation}, 
author={Deng, Shuang and Dong, Qiulei},
journal={IEEE Signal Processing Letters (SPL)}, 
volume={28},
pages={1300-1304}, 
year={2021},
doi={10.1109/LSP.2021.3082851}
}

Setup

Setup python environment:

conda create -n ganet python=3.6
source activate ganet
pip install -r helper_requirements.txt
sh compile_op.sh

Semantic3D

Download and extract the Semantic3D dataset:

sh utils/download_semantic3d.sh

Prepare the Semantic3D dataset:

python utils/data_prepare_semantic3d.py

Train:

python main_Semantic3D.py --gpu $your_gpu_id --mode 'train'

Evaluation:

python main_Semantic3D.py --gpu $your_gpu_id --mode 'test'

The trained model is stored in the folder result/ganet/Log_2020-10-09_Semantic3D_1.

S3DIS

Download the S3DIS dataset from here (4.09GB). Uncompress the folder and move it to /your_data_folder/S3DIS.

Prepare the S3DIS dataset:

python utils/data_prepare_s3dis.py

Train:

python main_S3DIS.py --model 'GANet' --test_area 5 --gpu $your_gpu_id --mode 'train'

Test:

python main_S3DIS.py --model 'GANet' --test_area 5 --gpu $your_gpu_id --mode 'test'

Calculate the final mean IoU results:

python utils/area_5_cv.py

The trained model is stored in the folder result/ganet/Log_2020-10-19_S3DIS_Area_5.

ScanNet

Download the ScanNet dataset from here (1.72GB). Uncompress the folder and move it to /your_data_folder/scannet.

Prepare the ScanNet dataset:

python utils/data_prepare_scannet.py

Train:

python main_ScanNet.py --model 'GANet' --gpu $your_gpu_id --mode 'train'

Test:

python main_ScanNet.py --model 'GANet' --gpu $your_gpu_id --mode 'test'

The trained model is stored in the folder result/ganet/Log_2020-10-09_ScanNet_1.

Acknowledgement

The structure of this codebase is borrowed from RandLA-Net.

Owner
I am currently a PhD student at National Laboratotry of Pattern Recognition(NLPR), Institute of Automation, Chinese Academy of Sciences(CASIA).
null
A c++ trainable semantic segmentation library based on libtorch (pytorch c++). Backbone: ResNet, ResNext. Architecture: FPN, U-Net, PAN, LinkNet, PSPNet, DeepLab-V3, DeepLab-V3+ by now.

中文 C++ library with Neural Networks for Image Segmentation based on LibTorch. The main features of this library are: High level API (just a line to cr

null 279 Jul 28, 2022
LibtorchSegmentation - A c++ trainable semantic segmentation library based on libtorch (pytorch c++). Backbone: VGG, ResNet, ResNext. Architecture: FPN, U-Net, PAN, LinkNet, PSPNet, DeepLab-V3, DeepLab-V3+ by now.

English | 中文 C++ library with Neural Networks for Image Segmentation based on LibTorch. ⭐ Please give a star if this project helps you. ⭐ The main fea

null 279 Jul 28, 2022
An implementation on Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process.

An implementation on "Shen Z, Liang H, Lin L, Wang Z, Huang W, Yu J. Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process. Remote Sensing. 2021; 13(16):3239. https://doi.org/10.3390/rs13163239"

Wangxu1996 36 Jul 22, 2022
A LiDAR point cloud cluster for panoptic segmentation

Divide-and-Merge-LiDAR-Panoptic-Cluster A demo video of our method with semantic prior: More information will be coming soon! As a PhD student, I don'

YimingZhao 57 Aug 1, 2022
Ground segmentation and point cloud clustering based on CVC(Curved Voxel Clustering)

my_detection Ground segmentation and point cloud clustering based on CVC(Curved Voxel Clustering) 本项目使用设置地面坡度阈值的方法,滤除地面点,使用三维弯曲体素聚类法完成点云的聚类,包围盒参数由Apol

null 9 Jul 15, 2022
FG-Net: Fast Large-Scale LiDAR Point Clouds Understanding Network Leveraging Correlated Feature Mining and Geometric-Aware Modelling

FG-Net: Fast Large-Scale LiDAR Point Clouds Understanding Network Leveraging Correlated Feature Mining and Geometric-Aware Modelling Comparisons of Running Time of Our Method with SOTA methods RandLA and KPConv:

Kangcheng LIU 68 Jun 23, 2022
segformer semantic segmentation infer by tengine

Segformer-tengine Segformer semantic segmentation infer by tengine 前言: 记录一下Segformer部署在tengine上的折腾过程 - 小飞飞的文章 - 知乎 https://zhuanlan.zhihu.com/p/397735

null 9 Jun 18, 2022
Episodic Transformer (E.T.) is a novel attention-based architecture for vision-and-language navigation.

Episodic Transformer (E.T.) is a novel attention-based architecture for vision-and-language navigation. E.T. is based on a multimodal transformer that encodes language inputs and the full episode history of visual observations and actions.

Alex Pashevich 52 Jul 13, 2022
The code implemented in ROS projects a point cloud obtained by a Velodyne VLP16 3D-Lidar sensor on an image from an RGB camera.

PointCloud on Image The code implemented in ROS projects a point cloud obtained by a Velodyne VLP16 3D-Lidar sensor on an image from an RGB camera. Th

Edison Velasco Sánchez 4 Apr 21, 2022
An unified library for fitting primitives from 3D point cloud data with both C++&Python API.

PrimitivesFittingLib An unified library for fitting multiple primitives from 3D point cloud data with both C++&Python API. The supported primitives ty

Yueci Deng 10 Jun 30, 2022
copc-lib provides an easy-to-use interface for reading and creating Cloud Optimized Point Clouds

copc-lib copc-lib is a library which provides an easy-to-use reader and writer interface for COPC point clouds. This project provides a complete inter

Rock Robotic 18 Jun 15, 2022
DeepI2P - Image-to-Point Cloud Registration via Deep Classification. CVPR 2021

#DeepI2P: Image-to-Point Cloud Registration via Deep Classification Summary Video PyTorch implementation for our CVPR 2021 paper DeepI2P. DeepI2P solv

Li Jiaxin 124 Jul 29, 2022
International Business Machines 9 Jul 21, 2022
⚡️Real-time portrait segmentation

ncnn-portrait-segmentation ⚡️ Real-time portrait segmentation This project provides real-time human segmentation based on CPU. Requirements ncnn openc

Youngsoo Lee 35 Mar 28, 2022
Portrait segmentation in your web browser with ncnn and webassembly

ncnn-webassembly-portrait-segmentation open https://nihui.github.io/ncnn-webassembly-portrait-segmentation and enjoy build and deploy Install emscript

null 21 May 13, 2022
Android face detect and segmentation by ncnn

Android face detect and segmentation by ncnn

null 96 Jul 21, 2022
Android hair/human segmentation demo by ncnn

ncnn_Android_human Android hair/human segmentation demo by ncnn PS:performance maybe poor.it's just a demo:) Reference: 1.https://github.com/Tencent/n

null 23 May 23, 2022
Official page of "Patchwork: Concentric Zone-based Region-wise Ground Segmentation with Ground Likelihood Estimation Using a 3D LiDAR Sensor"

Patchwork Official page of "Patchwork: Concentric Zone-based Region-wise Ground Segmentation with Ground Likelihood Estimation Using a 3D LiDAR Sensor

Hyungtae Lim 192 Jul 23, 2022
Android human segmentation by ncnn

ncnn_Android_human_segmentation this project is a ncnn Android demo for RobustVideoMatting, it depends on ncnn library and opencv. https://github.com/

FeiGeChuanShu 98 Jul 16, 2022