Code for paper "ASAP-Net: Attention and Structure Aware Point Cloud Sequence Segmentation"

Related tags

Deep LearningASAP-Net
Overview

ASAP-Net

This project implements ASAP-Net of paper ASAP-Net: Attention and Structure Aware Point Cloud Sequence Segmentation (BMVC2020).

Semantic segmentation result on SemanticKITTI

Overview

We improve spatio-temporal point cloud feature learning with a flexible module called ASAP module considering both attention and structure information across frames, which can be combined with different backbones. Incorporating our module into backbones brings semantic segmentation performance improvements on both Synthia and SemanticKITTI datasets (+3.4 to +15.2 mIoU points with different backbones).

Installation

The Synthia experiments is implemented with TensorFlow and the SemanticKITTI experiments is implemented with PyTorch. We tested the codes under TensorFlow 1.13.1 GPU version, PyTorch 1.1.0, CUDA 10.0, g++ 5.4.0 and Python 3.6.9 on Ubuntu 16.04.12 with TITAN RTX GPU. For SemanticKITTI experiments, you should have a GPU memory of at least 16GB.

Compile TF Operators for Synthia Experiments

We use the implementation in xingyul/meteornet. Please follow the instructions below.

The TF operators are included under Synthia_experiments/tf_ops, you need to compile them first by make under each ops subfolder (check Makefile) or directly use the following commands:

cd Synthia_experiments
sh command_make.sh

Please update arch in the Makefiles for different CUDA Compute Capability that suits your GPU if necessary.

Compile Torch Operators for SemanticKITTI Experiments

We use the PoinNet++ implementation in sshaoshuai/Pointnet2.PyTorch. Use the commands below to build Torch operators.

cd SemanticKITTI_experiments/ASAP-Net_PointNet2/pointnet2
python setup.py install

Experiments on Synthia

The codes for experiments on Synthia is in Synthia_experiments/semantic_seg_synthia. Please refer to Synthia_experiments/semantic_seg_synthia/README.md for more information on data preprocessing and running instructions.

Experiments on SemanticKITTI

The SemanticKITTI_experiments/ImageSet2 folder contains dataset split information. Please put it under your semanticKITTI dataset like Path to semanticKITTI dataset/dataset/sequences.

PointNet++ as Backbone

The codes for framework with PointNet++ as Backbone is in SemanticKITTI_experiments/ASAP-Net_PointNet2. Please refer to SemanticKITTI_experiments/ASAP-Net_PointNet2/README.md for more information on running instructions.

SqueezeSegV2 as Backbone

The codes for framework with SqueezeSegV2 as Backbone is in SemanticKITTI_experiments/ASAP-Net_SqueezeSegV2. Please refer to SemanticKITTI_experiments/ASAP-Net_SqueezeSegV2/README.md for more information on running instructions.

Acknowledgements

Special thanks for open source codes including xingyul/meteornet, sshaoshuai/Pointnet2.PyTorch and PRBonn/lidar-bonnetal.

Citation

Please cite these papers in your publications if it helps your research:

@article{caoasap,
  title={ASAP-Net: Attention and Structure Aware Point Cloud Sequence Segmentation},
  author={Cao, Hanwen and Lu, Yongyi and Lu, Cewu and Pang, Bo and Liu, Gongshen and Yuille, Alan}
  booktitle={British Machine Vision Conference (BMVC)},
  year={2020}
}
Owner
Hanwen Cao
Ph.D. candidate at University of California, San Diego (UCSD)
Hanwen Cao
Segmentation models with pretrained backbones. Keras and TensorFlow Keras.

Python library with Neural Networks for Image Segmentation based on Keras and TensorFlow. The main features of this library are: High level API (just

Pavel Yakubovskiy 4.2k Jan 09, 2023
AlgoVision - A Framework for Differentiable Algorithms and Algorithmic Supervision

NeurIPS 2021 Paper "Learning with Algorithmic Supervision via Continuous Relaxations"

Felix Petersen 76 Jan 01, 2023
SmartSim Infrastructure Library.

Home Install Documentation Slack Invite Cray Labs SmartSim SmartSim makes it easier to use common Machine Learning (ML) libraries like PyTorch and Ten

Cray Labs 139 Jan 01, 2023
Hierarchical Memory Matching Network for Video Object Segmentation (ICCV 2021)

Hierarchical Memory Matching Network for Video Object Segmentation Hongje Seong, Seoung Wug Oh, Joon-Young Lee, Seongwon Lee, Suhyeon Lee, Euntai Kim

Hongje Seong 72 Dec 14, 2022
*ObjDetApp* deploys a pytorch model for object detection

*ObjDetApp* deploys a pytorch model for object detection

Will Chao 1 Dec 26, 2021
This is the pytorch re-implementation of the IterNorm

IterNorm-pytorch Pytorch reimplementation of the IterNorm methods, which is described in the following paper: Iterative Normalization: Beyond Standard

Lei Huang 32 Dec 27, 2022
A PyTorch implementation of "TokenLearner: What Can 8 Learned Tokens Do for Images and Videos?"

TokenLearner: What Can 8 Learned Tokens Do for Images and Videos? Source: Improving Vision Transformer Efficiency and Accuracy by Learning to Tokenize

Caiyong Wang 14 Sep 20, 2022
Dilated Convolution for Semantic Image Segmentation

Multi-Scale Context Aggregation by Dilated Convolutions Introduction Properties of dilated convolution are discussed in our ICLR 2016 conference paper

Fisher Yu 764 Dec 26, 2022
PyTorch Implementation of "Non-Autoregressive Neural Machine Translation"

Non-Autoregressive Transformer Code release for Non-Autoregressive Neural Machine Translation by Jiatao Gu, James Bradbury, Caiming Xiong, Victor O.K.

Salesforce 261 Nov 12, 2022
A fast Evolution Strategy implementation in Python

Evostra: Evolution Strategy for Python Evolution Strategy (ES) is an optimization technique based on ideas of adaptation and evolution. You can learn

Mika 251 Dec 08, 2022
Elegy is a framework-agnostic Trainer interface for the Jax ecosystem.

Elegy Elegy is a framework-agnostic Trainer interface for the Jax ecosystem. Main Features Easy-to-use: Elegy provides a Keras-like high-level API tha

435 Dec 30, 2022
A simple pygame dino game which can also be trained and played by a NEAT KI

Dino Game AI Game The game itself was developed with the Pygame module pip install pygame You can also play it yourself by making the dino jump with t

Kilian Kier 7 Dec 05, 2022
Multispectral Object Detection with Yolov5

Multispectral-Object-Detection Intro Official Code for Cross-Modality Fusion Transformer for Multispectral Object Detection. Multispectral Object Dete

Richard Fang 121 Jan 01, 2023
Implementation of the Swin Transformer in PyTorch.

Swin Transformer - PyTorch Implementation of the Swin Transformer architecture. This paper presents a new vision Transformer, called Swin Transformer,

597 Jan 03, 2023
Code for paper "Document-Level Argument Extraction by Conditional Generation". NAACL 21'

Argument Extraction by Generation Code for paper "Document-Level Argument Extraction by Conditional Generation". NAACL 21' Dependencies pytorch=1.6 tr

Zoey Li 87 Dec 26, 2022
Cosine Annealing With Warmup

CosineAnnealingWithWarmup Formulation The learning rate is annealed using a cosine schedule over the course of learning of n_total total steps with an

zhuyun 4 Apr 18, 2022
Pytorch implementation of Hinton's Dynamic Routing Between Capsules

pytorch-capsule A Pytorch implementation of Hinton's "Dynamic Routing Between Capsules". https://arxiv.org/pdf/1710.09829.pdf Thanks to @naturomics fo

Tim Omernick 625 Oct 27, 2022
An implementation of the Contrast Predictive Coding (CPC) method to train audio features in an unsupervised fashion.

CPC_audio This code implements the Contrast Predictive Coding algorithm on audio data, as described in the paper Unsupervised Pretraining Transfers we

8 Nov 14, 2022
[CVPR 2022 Oral] Versatile Multi-Modal Pre-Training for Human-Centric Perception

Versatile Multi-Modal Pre-Training for Human-Centric Perception Fangzhou Hong1  Liang Pan1  Zhongang Cai1,2,3  Ziwei Liu1* 1S-Lab, Nanyang Technologic

Fangzhou Hong 96 Jan 03, 2023
A general-purpose encoder-decoder framework for Tensorflow

READ THE DOCUMENTATION CONTRIBUTING A general-purpose encoder-decoder framework for Tensorflow that can be used for Machine Translation, Text Summariz

Google 5.5k Jan 07, 2023