This repository implements a modified version of Point Cloud GAN (ICLR'19 Workshop) which achieves performance comparable to the SetVAE in point cloud generation.
- Set up and activate conda environment.
conda env create -f environment.yml
conda activate pcgan
- Compile CUDA extensions.
sh scripts/install.sh
- Download ShapeNet dataset and trained checkpoints.
sh scripts/download.sh
You can train using train.py
or provided scripts.
# Train using CLI
python train.py --name NAME --cate airplane
# Train using provided settings
sh scripts/train_shapenet_airplane.sh
You can evaluate checkpointed models using test.py
or provided scripts.
# Test user specified checkpoint using CLI
python test.py --ckpt_path CKPT_PATH --cate airplane
# Test provided checkpoints
sh scripts/test_shapenet_airplane.sh
Table below shows final metrics for SetVAE and our model (MMD-CD is scaled by 103 and MMD-EMD, COV, 1-NNA by 102). SetVAE is trained for 8000 epochs and our model is trained for 2000 epochs.
Category | Model | MMD(↓) CD | MMD(↓) EMD | COV(↑) CD | COV(↑) EMD | 1-NNA(↓) CD | 1-NNA(↓) EMD |
---|---|---|---|---|---|---|---|
Airplane | SetVAE | 0.199 | 3.07 | 43.45 | 44.93 | 75.31 | 77.65 |
Ours | 0.224 | 3.45 | 38.27 | 36.79 | - | - |