by Pingping Zhang, Xu Wang, Lin Ma, Shiqi Wang, SamKwong, Jianmin Jiang
This repository is for our TCSVT 2021 paper 'Progressive Point Cloud Upsampling via Differentiable Rendering'.
This repository is based on Tensorflow and the TF operators from PointNet++. Therefore, you need to install tensorflow and compile the TF operators.
For installing tensorflow, please follow the official instructions in here. The code is tested under TF1.14 (higher version should also work) and Python 3.7 on Ubuntu 16.04.
-
Clone the repository:
https://github.com/ppingzhang/PPU.git cd PPU
-
Compile the TF operators For compiling TF operators, please check
tf_xxx_compile.sh
under each op subfolder incode/tf_ops
folder. Or you can compile all by running "complie.sh". Note that you need to updatenvcc
,python
andtensoflow include library
if necessary. -
Train the model: First, you need to download the training patches in HDF5 format from GoogleDrive and put it in folder
data/train
. Then run:python3 mian.py --phase=train
-
Evaluate the model: First, you need to download the pretrained model from GoogleDrive, extract it and put it in folder 'log'. Then run:
python3 main.py --phase=test --log_dir=./log
You will see the output results in the folder
./result/Ours/
. -
The testing mesh files can be downloaded from GoogleDrive.
We provide the code to calculate the uniform metric in the evaluation code folder. In order to use it, you need to install the CGAL library. Please refer this link and PU-Net to install this library. Then:
cd evaluation_code
cmake .
make
./evaluation Icosahedron.off Icosahedron.xyz
The second argument is the mesh, and the third one is the predicted points.
If Our model is useful for your research, please consider citing:
@article{zhang2021progressive,
title={Progressive Point Cloud Upsampling via Differentiable Rendering},
author={Zhang, Pingping and Wang, Xu and Ma, Lin and Wang, Shiqi and Kwong, Sam and Jiang, Jianmin},
journal={IEEE Transactions on Circuits and Systems for Video Technology},
year={2021},
publisher={IEEE}
}
Our code refers to the PU-GAN