Home

Awesome

Bi-Directional Attention for Joint Instance and Semantic Segmentation in Point Clouds(BAN)

Guangnan Wu, Zhiyi Pan, Peng Jiang, Changhe Tu

The full paper is available at: https://arxiv.org/abs/2003.05420

Introduction

In this work, we build a Bi-Directional Attention module on backbone neural networks for 3D point cloud perception, which uses similarity matrix measured from features for one task to help aggregate non-local information for the other task, avoiding the potential feature exclusion and task conflict.

Performance on 3D pointcloud datasets

Table 1. Ins. and Sem. segmentation results on S3DIS dataset.

MethodmCovmWCovmPrecmRecmAccmIoUoAcc
PointNet++49.653.462.745.869.058.285.9
ASIS51.255.163.647.570.159.386.2
JSNet(pointnet++)46.450.358.943.065.556.385.5
Ours52.156.263.451.071.760.887.0

Table 2. Ins. and Sem. segmentation results on PartNet dataset.

MethodmCovmWCovmPrecmRecmAccmIoUoAcc
PointNet++42.043.151.244.753.443.478.4
ASIS39.340.249.942.850.640.276.7
Ours42.744.252.845.356.144.980.3

Table 3. Ins. and Sem. segmentation results on SceneNN dataset.

MethodmCovmWCovmPrecmRecmAccmIoUoAcc
PointNet++13.114.139.822.531.524.569.3
ASIS1516.136.223.631.124.869.5
Ours15.816.743.12435.526.670.8

Figure 1. Instance and semantic segmentation in point clouds using BAN. (a) Results on the S3DIS dataset, (b) Results on the PartNet dataset.

Please refer to our paper for more results.

Dependencies

The code has been tested with Python 3.7 on Ubuntu 16.04.

Data and Model

Download 3D indoor parsing dataset (S3DIS Dataset). Version 1.2 of the dataset is used in this work.

python collect_indoor3d_data.py
python gen_h5.py
cd data && python generate_input_list.py
cd ..

Usage

python train.py
python estimate_mean_ins_size.py
python test.py --verbose
python eval_iou_accuracy.py

Common Issues

Coming soon.

Acknowledgemets

This code largely benefits from following repositories: PointNet++, SGPN, DGCNN, DiscLoss-tf and ASIS