Yanzhe Liu · Rong Chen · Yushi Li · Yixi Li · Xuehou Tan
We are rolling out the code in phases. Stay tuned for upcoming updates!
The code is tested under Pytorch 1.6.0 and Python 3.6 / pytorch 1.12.1(py3.7_cuda11.3_cudnn8.3.2_0)python 3.7.13. Pretrained weights are available in here. Test result can be downloaded here.
- Install python denpendencies.
pip install -r requirements.txt
- Compile pyTorch extensions.
cd pointnet2_ops_lib python setup.py install cd ../losses python setup.py install
- Install uniformloss
pip install --upgrade https://github.com/unlimblue/KNN_CUDA/releases/download/0.2/KNN_CUDA-0.2-py3-none-any.whl
- Compile evaluation code
cd evaluation_code cmake . make
- Train the model.
sh start_train.sh
- Test the model.
sh test.sh
- Evaluation the model.
sh eval.sh
You can download the test results of PU1K and PUGAN here.
You can download the pretrained models of PU1K and PUGAN here.
dataset
├───PU1K
│ ├───test
│ │ ├───input_256
│ │ │ ├───input_256
│ │ │ │ ├───xxx.xyz
│ │ │ │ ├───xxx.xyz
│ │ │ │ ...
│ │ │ ├───gt_1024
│ │ │ │ ├───xxx.xyz
│ │ │ │ ├───xxx.xyz
│ │ │ │ ...
│ │ ├───input_512
│ │ ...
│ ├───train
│ │ └───pu1k_poisson_256_poisson_1024_pc_2500_patch50_addpugan.h5
├───PUGAN
│ ├───test
│ │ ├───input_256
│ │ │ ├───input_256
│ │ │ │ ├───xxx.xyz
│ │ │ │ ├───xxx.xyz
│ │ │ │ ...
│ │ │ ├───gt_1024
│ │ │ │ ├───xxx.xyz
│ │ │ │ ├───xxx.xyz
│ │ │ │ ...
│ │ ├───input_512
│ │ ...
│ ├───train
│ │ └───PUGAN_poisson_256_poisson_1024.h5
└───real_scan
│ ├───xyzToPatch.py
│ ├───make_h5.py
│ ├───KITTI
│ └───ScanNet
│ ...
Our code is built upon the following repositories: PUCRN and PUGCN. Thanks for their great work.
If you find our code or paper useful, please consider citing
@InProceedings{Liu_2024_CVPR,
author = {Liu, Yanzhe and Chen, Rong and Li, Yushi and Li, Yixi and Tan, Xuehou},
title = {SPU-PMD: Self-Supervised Point Cloud Upsampling via Progressive Mesh Deformation},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2024},
pages = {5188-5197}
}