Skip to content

CAD-PU: A Curvature-Adaptive Deep LearningSolution for Point Set Upsampling

License

Notifications You must be signed in to change notification settings

JiehongLin/CAD-PU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CAD-PU: A Curvature-Adaptive Deep Learning Solution for Point Set Upsampling

Created by Jiehong Lin, Xian Shi, Yuan Gao, Ke Chen, Kui Jia.

Introduciton

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.

Installation

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.

Usage

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

Evaluation

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

Citation

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}
}

License

Our code is released under MIT License (see LICENSE file for details).

Acknowledgement

The structure of this codebase is modified from PU-GAN.

About

CAD-PU: A Curvature-Adaptive Deep LearningSolution for Point Set Upsampling

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published