Skip to content

Latest commit

 

History

History

sdfrenderer

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

SDF-Renderer

Official PyTorch implementation of the SDF-Renderer used in CVPR 2020 paper "Autolabeling 3D Objects With Differentiable Rendering of SDF Shape Priors" by the ML Team at Toyota Research Institute (TRI), cf. References below. [Full paper] [YouTube]

Running the Code

Download the data folder containing the pretrained DeepSDF network. To test the renderer using the pretrained DeepSDF network, run the following code:

python main.py --model ../data/nets/deepsdf.pt

Alternatively you can use just the surfel part of the renderer to render 3D models. To test it, specify the path to the provided car model from the HomebrewedDB dataset.

python main.py --model ../data/db/car.ply 

Zero-Isosurface Projection

To obtain surface points we apply zero-isosurface projection on the grid points using regressed by DeepSDF SDF values.

# Get DeepSDF output
pred_sdf_grid = dsdf(inputs)

# Get surface points using 0-isosurface projection
points, nocs, normals = grid_3d.get_surface_points(pred_sdf_grid)

License

The source code is released under the MIT license.

References

Autolabeling 3D Objects With Differentiable Rendering of SDF Shape Priors (CVPR 2020 oral)

Sergey Zakharov*, Wadim Kehl*, Arjun Bhargava, Adrien Gaidon

@inproceedings{sdflabel,
author = {Sergey Zakharov and Wadim Kehl and Arjun Bhargava and Adrien Gaidon},
title = {Autolabeling 3D Objects with Differentiable Rendering of SDF Shape Priors},
booktitle = {IEEE Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2020}
}

The repository uses parts of the DeepSDF project