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.shYou 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.shYou 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.shTable 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 | - | - |