Implemetation of the paper: Implicit Surface Representations as Layers in Neural Networks
Michalkiewicz M, Pontes K, Jack D, Baktashmotlagh M, Eriksson A. In ICCV 2019.
To run the code, install the following packages in conda environment:
conda create -n dls python=3.7 source activate dls conda install scipy pillow Pillow trimesh numpy conda install -c conda-forge scikit-fmm conda install pytorch torchvision -c pytorch
The code is largely based on Matryoshka  repository  and was modified accordingly.
The 2D encoder used is based on Matryoshka paper , however using any other encoder should give similar results.
The very simple 3D decoder used is based on TL paper , however using any other 3D decoder should give similar (most likely better) results.
We have used 3D models from ShapeNetCore.v1
2D input images are expected to be have a shape of 128x128.
To process standard 3D-R2N2  views, use
3D ground truth should be signed distance functions of watertight manifolds of shape 32x32x32. Watertight manifolds can be obtained with the Manifold code 
Datasets are loaded using DatasetCollector.py and DatasetLoader.py.