Skip to content

Results Deep SDF

Josef Kamysek edited this page Jan 17, 2021 · 12 revisions

Results DeepSDF

Preprocessing step

DeepSDF uses mesh data for its training process. Therefore, we had to preprocess the provided dataset (ShapeNetCore.v2). The dataset was provided under the following url: http://shapenet.cs.stanford.edu/shapenet/obj-zip/ShapeNetCore.v2.zip.

How does the preprocessing work?

  1. In order to initiate the preprocessing, preprocess_data.py is called with the data source of the preprocessing data and the storage location of the output files. It then iterates through the provided data objects and calls PreprocessMesh.cpp on them.

  2. PreprocessMesh.cpp then extracts the arguments it was invoked with and defines among other parameters, variables such as the variance, the number of samples, and the rejection criteria needed to perform the preprocessing.

  3. Now it loads the provided geometry object, e.g. a couch, linearises the object indices and removes the textures.

  4. To generate the meshes of the provided object, a projection and initial model view matrix is defined. This information is used as a starting point for the simulation of different camera positions around a sphere.

  5. For each camera location among others the model view matrix and the projection matrix are calculated (model view matrix covers transformations from object coordinates to eye coordinates including translation, rotation and scaling, projection matrix covers the projective part).

  6. In the last step the SDF of each sample near the surface is calculated.

Example output from show_interior_samples.py:

Example output from PreprocessMesh.cpp with vis=true:


Training Step

Latent Vector Magnitude:

Learning Rates:

Training Loss:

Parameter Magnitude:

Timing:

Reconstruction Step

Evaluation Step