Unpaired Point Cloud Completion on Real Scans using Adversarial Training
Implementation of arxiv preprint paper (link).
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.
Fan et al.)
Compile the EMD/Chamfer losses (CUDA implementations fromcd 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):
-
train AE for clean and complete point clouds: CUDA_VISIBLE_DEVICES=0 python3 train_ae_ShapeNet-v1.py
-
train AE for incomplete point clouds from 3D-EPN data: CUDA_VISIBLE_DEVICES=0 python3 train_ae_3D-EPN.py
-
train GAN: CUDA_VISIBLE_DEVICES=0 python3 train_pcl2pcl_gan_3D-EPN.py