/3D-BoNet

3D-BoNet in Tensorflow (NeurIPS 2019, Spotlight)

Primary LanguagePythonMIT LicenseMIT

Learning Object Bounding Boxes for 3D Instance Segmentation on Point Clouds

Bo Yang, Jianan Wang, Ronald Clark, Qingyong Hu, Sen Wang, Andrew Markham, Niki Trigoni. arXiv:1906.01140, 2019.

(1) Setup

ubuntu 16.04 + cuda 8.0

python 2.7 or 3.6

tensorflow 1.2 or 1.4

scipy 1.3

h5py 2.9

open3d-python 0.3.0

Compile tf_ops

(1) To find tensorflow include path and library paths:

import tensorflow as tf
print(tf.sysconfig.get_include())
print(tf.sysconfig.get_lib())

(2) To change the path in all the complie files, e.g. tf_ops/sampling/tf_sampling_compile.sh, and then compile:

cd tf_ops/sampling
chmod +x tf_sampling_compile.sh
./tf_sampling_compile.sh

(2) Data

S3DIS: https://drive.google.com/open?id=1hOsoOqOWKSZIgAZLu2JmOb_U8zdR04v0

Acknowledgement: we use the same data released by JSIS3D.

(3) Train/test

python main_train.py

python main_eval.py

(4) Quantitative Results on ScanNet

Arch Image

(5) Qualitative Results on ScanNet

Arch Image

2 z
z z

More results of ScanNet validation split are available at: More ScanNet Results

To visualize: python helper_data_scannet.py

(6) Qualitative Results on S3DIS

z z

Teaser Image

(7) Training Curves on S3DIS

Teaser Image

(8) Video Demo (Youtube)