Differentiable Surface Triangulation

This is our implementation of the paper Differentiable Surface Triangulation that enables optimization for any per-vertex or per-face differentiable objective function over the space of underlying surface triangulations.

diff-surface-triangulation

This code was written by Marie-Julie Rakotosaona.

Prerequisites

  • CUDA and CuDNN (changing the code to run on CPU should require few changes)
  • Python 3.6
  • Tensorflow 1.15

Setup

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

pip install numpy
pip install scipy
pip install trimesh

Clone this repository:

git clone https://github.com/mrakotosaon/diff-meshing.git
cd dse-meshing

Optimization

To run the optimization on the given pre-processed patches for the curvature alignment experiment:

python optimize_curvature.py

for the triangle size experiment:

python optimize_triangle_size.py

Citation

If you use our work, please cite our paper.

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. For any commercial uses or derivatives, please contact us.

GitHub

https://github.com/mrakotosaon/diff-surface-triangulation