Home

Awesome

Progressive Point Cloud Deconvolution Generation Network

by Le Hui, Rui Xu, Jin Xie, Jianjun Qian, and Jian Yang, details are in paper.

Usage

  1. requires:

    CUDA10.1
    Pytorch 1.7.1
    Python3.7
    
  2. build ops:

    cd PDGN
    cd lib/pointops && python setup.py install && cd ../../
    
    cd evaluation/pytorch_structural_losses/
    make clean
    make
    
  3. Dataset:

    We follow DPM and use its processed dataset. Please download shapenet.hdf5

  4. Train:

    CUDA_VISIBLE_DEVICES=0 python main.py \
       --network PDGNet_v2 \
       --model_dir PDGNet_v2 \
       --batch_size 35 \
       --max_epoch 3000 \
       --snapshot 50 \
       --dataset shapenet15k \
       --choice chair \
       --phase train \
       --data_root dataset/shapenet.hdf5
    
  5. Test (may take about 2 hours):

    CUDA_VISIBLE_DEVICES=0 python main.py \
       --network PDGNet_v2 \
       --batch_size 50 \
       --pretrain_model_G 600_chair_G.pth \
       --pretrain_model_D 600_chair_D.pth \
       --model_dir PDGNet_v2 \
       --choice chair \
       --phase test
    

Results

  1. Results in Chair category (taken from paper DPM):

    ModelJSD ↓MMD<br>-CD ↓MMD<br>-EMD ↓COV<br>-CD ↑COV<br>-EMD ↑1-NNA<br>-CD ↓1-NNA<br>-EMD ↓
    PC-GAN (ICML 18)6.64913.4363.10446.2322.1469.67100.00
    GCN-GAN (ICLR 18)21.70815.3542.21339.8435.0977.8695.80
    TreeGAN (ICCV 19)13.28214.9363.61338.026.7774.92100.00
    PointFlow (ICCV 19)12.47413.6311.85641.8643.3866.1368.40
    ShapeGF (ECCV 20)5.99613.1751.78548.5346.7156.1762.69
    PDGN (ECCV 20)6.76412.8522.08253.4839.3360.7175.53
    DPM (CVPR 21)7.79712.2761.78448.9447.5260.1169.06
  2. Pretrained model in Chair categroy:

    (1) Download and put in path: ./checkpoint/PDGNet_v2/PDGNet_v2

    (2) Run the test code.

  3. We will provide more pretrained models for other categories soon.

Citation

If you find the code useful, please consider citing:

@inproceedings{hui2020pdgn,
  title={Progressive Point Cloud Deconvolution Generation Network},
  author={Hui, Le and Xu, Rui and Xie, Jin and Qian, Jianjun and Yang, Jian},
  booktitle={ECCV},
  year={2020}
}

Acknowledgement

Our Cuda code is from PointWeb.

Our data processing and evaluation code is from diffusion-point-cloud.