Created by Jiehong Lin, Xian Shi, Yuan Gao, Ke Chen, Kui Jia.
This repository is for our paper 'CAD-PU: A Curvature-Adaptive Deep LearningSolution for Point Set Upsampling'.
Our work is motivated to improve surface approximation via point set upsamping. To this end, we first analyze the approximation error bounds of the input and output point sets, and identify point-wise curvatures as an important controlling factor that determines the quality of upsampled results. Based on the analysis, we propose a novel network design of CAD-PU and the corresponding learning objective.
Install Tensorflow. This code is tested with Tensorflow 1.11.0 GPU version and Python 3.6.5 on Ubuntu 16.04. There are also some dependencies for a few Python libraries for data processing like cv2, h5py etc.
Compile Customized TF Operators. The TF operators are included in tf_ops
folder. You need to run ./tf_*_compile.sh
under each ops subfolder to compile them. Note that you may update nvcc
and python
path if necessary.
1、 Download training and test mesh files from GoogleDrive. Unzip and organize these files in data/CAD_models
folder as follows:
data
├── CAD_models
│ ├── complex
│ ├── medium
│ ├── simple
│ └── test
...
2、 Prepare training and test data.
python data_processing.py
3、 Train the model.
python cad_pu.py --phase train
4、 Evaluate the model.
python cad_pu.py --phase test
1、Reconstruct the point sets of testing outputs in log/test_point_cloud_results
folder to meshes. We use Screened Poisson Reconstruction algorithm in MeshLab for reconstruciton.
Save the reconstructed meshes in .off
format and organize them in log/test_mesh_results
folder as follows:
log
├── test_point_cloud_results
│ ├── 11509_Panda_v4.xyz
│ ├── 13770_Tiger_V1.xyz
│ └── ...
├── test_mesh_results
│ ├── 11509_Panda_v4.off
│ ├── 13770_Tiger_V1.off
│ └── ...
...
2、Evaluation.
python evaluation.py
If you find our work useful in your research, please consider citing:
@article{lin2020cad,
title={CAD-PU: A Curvature-Adaptive Deep Learning Solution for Point Set Upsampling},
author={Lin, Jiehong and Shi, Xian and Gao, Yuan and Chen, Ke and Jia, Kui},
journal={arXiv preprint arXiv:2009.04660},
year={2020}
}
Our code is released under MIT License (see LICENSE file for details).
The structure of this codebase is modified from PU-GAN.