PGpoints
Pytorch implementation of the paper Progressive Growing of Points with Tree-structured Generators (BMVC 2021)
Hyeontae Son, Young Min Kim
Prerequisites
Clone this repository
git clone --recurse-submodules https://github.com/countywest/progressive_growing_of_points
Install Dependencies
conda create -n pgpoints python=3.6
andconda activate pgpoints
- Install pytorch (1.4.0) & torchvision (0.5.0)
pip install torch==1.4.0 torchvision==0.5.0 -f https://download.pytorch.org/whl/cu101/torch_stable.html
- Install other dependencies
pip install -r requirements.txt
- Install CD & EMD loss in pytorch (Link)
Download datasets
- ShapeNet
- We downloaded the original dataset from here, and divided train/valid/test set with portion (85/5/10 % each)
- train/valid/test list is provided in
configs/shapenet_2048/*.list
- train/valid/test list is provided in
- We downloaded the original dataset from here, and divided train/valid/test set with portion (85/5/10 % each)
- PCN
- TopNet
- We downloaded the original dataset from here.
- Since TopNet dataset does not provide the ground truth for test data, we used the provided validation set for testing and picked 600 samples from the training data to use it as a validation set.
Make symlinks for the datasets
mkdir data
ln -s [path to the dataset] data/[dataset name]
- dataset name:
shapenet_2048, pcn_16384, topnet_2048
- dataset name:
Usage
To train PGpoints, python train.py --model_type [MODEL_TYPE] --model_id [MODEL_ID]
MODEL_TYPE
should be one ofauto_encoder, l-GAN, point_completion
MODEL_ID
should be exactly same as model id in theMODEL_TYPE.yaml
To test PGpoints, python test.py --model_type [MODEL_TYPE] --model_id [MODEL_ID]
- this tests the best model in the
logs/[MODEL_TYPE]/[MODEL_ID]
Acknowledgements
This project is influenced by following awesome works!
- Progressive Growing of GANs for Improved Quality, Stability, and Variation (ICLR 2018)
- Multiresolution Tree Networks for 3D Point Cloud Processing (ECCV 2018)
- TopNet: Structural Point Cloud Decoder (CVPR 2019)
- 3D Point Cloud Generative Adversarial Network Based on Tree Structured Graph Convolutions (ICCV 2019)
- A Progressive Conditional Generative Adversarial Network for Generating Dense and Colored 3D Point Clouds (3DV 2020)