This is our implementation of OperatorNet, a network that reconstructs shapes from shape difference operators.
This code was written by Ruqi Huang and Marie-Julie Rakotosaona.
- CUDA and CuDNN (changing the code to run on CPU should require few changes)
- Python 2.7
- Tensorflow
Install required python packages, if they are not already installed:
pip install numpy
pip install plyfile
Clone this repository:
git clone https://github.com/mrakotosaon/operatornet.git
cd operatornet
To generate demo shape difference matrices: run demo_compute_shape_diff.m with Matlab.
Download pretrained models:
cd models
python download_models.py
A demo dataset can be found here: https://nuage.lix.polytechnique.fr/index.php/s/BqiX5rcWszkKT9N
It contains shape differences and labels as Matlab matrices. This dataset is a simplified version of the one used in the paper.
Download pretrained models:
cd Data
python download_demo_data.py
To train OperatorNet with the default settings and demo data:
python train.py
To test OperatorNet with the default settings and demo shapes:
python test.py
From generated demo shapes, run reconstruction, interpolation or analogy (see code).
Produced shapes are saved in a results directory. Please create this directory if it does not exist.
If you use our work, please cite our paper.
@article{huang2019operatornet,
title={OperatorNet: Recovering 3D Shapes From Difference Operators},
author={Huang, Ruqi and Rakotosaona, Marie-Julie and Achlioptas, Panos and Guibas, Leonidas and Ovsjanikov, Maks},
journal={ICCV},
year={2019}
}
If you have any problem about this implementation, please feel free to contact via:
rqhuang88 AT gmail DOT com or mrakotosaon AT gmail DOT com