This is the repository for the semester project "Implicit High Resolution Representation of 3D Shapes" done by Fedor Sergeev at EPFL CVLab in collaboration with Neural Concept.
Deep implicit functions provide a powerful and flexible framework for encoding 3D shapes. Many previous works focused on training a deep neural network to represent multiple shapes, using an additional latent vector as input to differentiate between them. This approach produces representations of sufficient quality on average. However, in individual cases, the learned shapes often lack high resolution details. This limits the use of deep implicit functions for engineering and design, where precise shape encoding is crucial. In this work, we propose a simple setting for training a deep neural implicit to represent a single complex 3D shape and maintain its high-resolution features. On the particular shape we used, the reconstructed shape is visually more accurate then those obtained in previous works. Furthermore, we compare various approaches to designing the network architecture, sampling the implicit function values, picking the loss function, and identify the important parameters that affect the final quality.
igl==2.2.1
numpy==1.20.3
scikit_image==0.18.3
scipy==1.5.3
skimage==0.0
torch==1.12.0+cu113
trimesh==3.12.9
Using an Nvidia GPU is recommended for reasonable training times.
data/
- folder containing the input shapes represented as meshes stored in STL formatsrc/
: Folder contains source codechamfer.py
- computation of chamfer distanceemd.py
- computation of earth mover's distancegenerator_sdf.py
- DeepSDF model for a single shapeload_sdf.py
- loading SDF samples from filemesh.py
- computing SDF from a mesh, and reconstructing mesh from SDF valuessample_sdf.py
- various SDF sampling procedures
report.pdf
- report that describes the study and presents the resultssdf_generator_and_warper.ipynb.ipynb
- notebook for running and visualizing the experiments
@misc{misc,
author = {Fedor Sergeev, Nicolas Talabot, Jonathan Donier and Pascal Fua},
title = {Implicit High Resolution Representation of 3D Shapes},
submissiondate = {2022/06/10},
year = {2022},
urldate = {2022-06-10},
url = {https://github.com/TheodorSergeev/implicit-high-res-templates/blob/main/report.pdf},
note = {Semester project report},
institution = {CVLab, EPFL},
}