JosieHong / 3dAAE_Exp

Editing the latent space of 3dAAE

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

B659 Experiments on 3dAAE

This is the final project of CSCI-B659 Computer Vision, Indiana University. In this project, we try to edit the latent representation of 3dAAE and generate new reasonable point clouds from the operated latent representation. Based on the original codes of 3dAAE, we implement the following things:

  • Schedulers in training, ./ and ./;
  • MMD-CD and MMD-EMD in evaluation metrics, ./metrics/;
  • Editing the vectors and generate point couds, ./;
  • Different encoders, ./models/; However, it did not perform good so far, so we did not show its in the final report.

The workflow of our experiments:


If you feel this experiment is inspirable, please cite the original paper of 3dAAE:

  title={Adversarial Autoencoders for Compact Representations of 3D Point Clouds},
  author={Zamorski, Maciej and Zi{\k{e}}ba, Maciej and Klukowski, Piotr and Nowak, Rafa{\l} and Kurach, Karol and Stokowiec, Wojciech and Trzci{\'n}ski, Tomasz},
  journal={arXiv preprint arXiv:1811.07605},


conda create -n pointaae python=3.6
conda activate pointaae

# Please check the PyTorch version: 
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
# All the other requirements are in: 
pip install -r requirements.txt

# -----------------------------------------------------------------------
# The following package is only compatible to CUDA 10.0. If your cuda's 
# version != 10.0, please DO NOT install the following package. 
# You could compute the metric slowly without cuda, or you could chooes not to 
# comput MMD-CD and MMD-EMD. 
# The metrics are setted in `./settings/*.json:"metrics":["jsd", "mmd"]`.
# -----------------------------------------------------------------------
# Compile CUDA kernel for CD/EMD loss
cd metrics/pytorch_structural_losses/
make clean
cd $root


# Please check the settings, especially the cuda and gpu. 
python --config ./settings/init_exp.json

python --config ./settings/dgcnn_enc_exp.json

A visualization of reconstruction during training:



We implement JSD, MMD-CD and MMD-EMD for evaluation. Please chooes the metrics in settings, for instance "metrics": ["jsd", "mmd"].

python --config ./settings/init_exp.json

python --config ./settings/dgcnn_enc_exp.json


python --config ./settings/init_exp.json --epoch 400

A visualization of editing (sum two embedded vectors):



Our experiments are mainly based on the following codebases. We gratefully thank the authors for their wonderful works.


Editing the latent space of 3dAAE


Language:Python 79.4%Language:Cuda 12.0%Language:C++ 5.9%Language:Makefile 2.6%