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.
This code was written by Marie-Julie Rakotosaona, based on the excellent implementation of Pointnet Autoencoder by Charles R. Qi.
- CUDA and CuDNN (changing the code to run on CPU should require few changes)
- Python 2.7
- Tensorflow 1.14
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
Our surreal+dfaust dataset can be found here: https://nuage.lix.polytechnique.fr/index.php/s/oGb7FnSqC4DYEwT/download It contains the following files:
- A shape template .ply file that is used only for the triangulation.
- The dataset described in the paper.
To train the network with the default settings:
python train_edge_ae.py
python train_shape_ae.py
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.
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.
If you use our work, please cite our paper.