Skip to content
/ SPU-PMD Public

SPU-PMD: Self-Supervised Point Cloud Upsampling via Progressive Mesh Deformation (CVPR 2024)

Notifications You must be signed in to change notification settings

lyz21/SPU-PMD

Repository files navigation

SPU-PMD: Self-Supervised Point Cloud Upsampling via Progressive Mesh Deformation (CVPR 2024)

Yanzhe Liu · Rong Chen · Yushi Li · Yixi Li · Xuehou Tan

📅 Release Phases

We are rolling out the code in phases. Stay tuned for upcoming updates!

Requirements

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.

  1. Install python denpendencies.
    pip install -r requirements.txt
  2. Compile pyTorch extensions.
    cd pointnet2_ops_lib
    python setup.py install
     
    cd ../losses
    python setup.py install
  3. Install uniformloss
    pip install --upgrade https://github.com/unlimblue/KNN_CUDA/releases/download/0.2/KNN_CUDA-0.2-py3-none-any.whl
  4. Compile evaluation code
    cd evaluation_code
    cmake .
    make

Usage

  1. Train the model.
    sh start_train.sh
  2. Test the model.
    sh test.sh
  3. Evaluation the model.
    sh eval.sh

Results

You can download the test results of PU1K and PUGAN here.

You can download the pretrained models of PU1K and PUGAN here.

Dataset file Organization

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
│     ...

Upsampling Demo

Acknowledgment

Our code is built upon the following repositories: PUCRN and PUGCN. Thanks for their great work.

Citation

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

About

SPU-PMD: Self-Supervised Point Cloud Upsampling via Progressive Mesh Deformation (CVPR 2024)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published