Home

Awesome

Intrinsic Point Cloud Interpolation via Dual Latent Space Navigation

This is our implementation of the architecture presented in the ECCV oral paper "Intrinsic Point Cloud Interpolation via Dual Latent Space Navigation". The network is designed to preserve intrinsic shape properties during shape manipulations.

<p align="center"> <img src="img/teaser_intrinsic.png" width="1000"> </p>

This code was written by Marie-Julie Rakotosaona, based on the excellent implementation of Pointnet Autoencoder by Charles R. Qi.

Prerequisites

Setup

Install required python packages, if they are not already installed :

pip install trimesh

Clone this repository:

git clone https://github.com/mrakotosaon/intrinsic_interpolations.git
cd intrinsic_interpolations

Download datasets:

cd data
python download_data.py

Data

Our surreal+dfaust dataset can be found here: https://nuage.lix.polytechnique.fr/index.php/s/oGb7FnSqC4DYEwT/download It contains the following files:

Training

To train the network with the default settings:

1. Train edge autoencoder and shape vae:

python train_edge_ae.py
python train_shape_ae.py

2. Train mapping networks:

python train_mapping.py --best_edge_ae_epoch n1 --best_shape_ae_epoch n2

Where n1 and n2 represent the best epoch of each previously trained network.

Testing

To download our pretrained model on the humans dataset:

python models/download_pretrained_model.py

To test a pretrained model:

mkdir results
python test.py --model_path path_to_pretrained_model

Please uncomment the desired function at the end of the file.

Citation

If you use our work, please cite our paper.