/pcl2pcl-gan-pub

Unpaired Point Cloud Completion on Real Scans using Adversarial Training

Primary LanguagePython

Unpaired Point Cloud Completion on Real Scans using Adversarial Training

Implementation of arxiv preprint paper (link).

teaser

Dependencies

The code is tested with Python 3.5, TensorFlow 1.5, CUDA 9.0 on Ubuntu.

Installation

Compile Customized TF Operators from PointNet2

Instructions can be found from PointNet2.

Compile the EMD/Chamfer losses (CUDA implementations from Fan et al.)

cd pcl2pcl-gan-pub/pc2pc/structural_losses_utils
# with your editor, modify the paths in the makefile
make

Data

For convenience, we provide our synthetic clean and complete point clouds, and point representation data of 3D-EPN, download data. After download is finished, unzip the zip file, put it under pcl2pcl-gan-pub/pc2pc/data

Train

For training for a specific class (before that, cd pcl2pcl-gan-pub/pc2pc):

  1. train AE for clean and complete point clouds: CUDA_VISIBLE_DEVICES=0 python3 train_ae_ShapeNet-v1.py

  2. train AE for incomplete point clouds from 3D-EPN data: CUDA_VISIBLE_DEVICES=0 python3 train_ae_3D-EPN.py

  3. train GAN: CUDA_VISIBLE_DEVICES=0 python3 train_pcl2pcl_gan_3D-EPN.py