Differentiable Signed Distance Function Rendering
Abstract
Physically-based differentiable rendering has recently emerged as an attractive new technique for solving inverse problems that recover complete 3D scene representations from images. The inversion of shape parameters is of particular interest but also poses severe challenges: shapes are intertwined with visibility, whose discontinuous nature introduces severe bias in computed derivatives unless costly precautions are taken. Shape representations like triangle meshes suffer from additional difficulties, since the continuous optimization of mesh parameters cannot introduce topological changes. One common solution to these difficulties entails representing shapes using signed distance functions (SDFs) and gradually adapting their zero level set during optimization.
Previous differentiable rendering of SDFs did not fully account for visibility gradients and required the use of mask or silhouette supervision, or discretization into a triangle mesh. In this article, we show how to extend the commonly used sphere tracing algorithm so that it additionally outputs a reparameterization that provides the means to compute accurate shape parameter derivatives. At a high level, this resembles techniques for differentiable mesh rendering, though we show that the SDF representation admits a particularly efficient reparameterization that outperforms prior work. Our experiments demonstrate the reconstruction of (synthetic) objects without complex regularization or priors, using only a per-pixel RGB loss.
Video
Figures
Text citation
Delio Vicini, Sébastien Speierer, and Wenzel Jakob. 2022. Differentiable Signed Distance Function Rendering. In Transactions on Graphics (Proceedings of SIGGRAPH) 41(4). 125:1–125:18.
BibTeX
@article{Vicini2022sdf, author = {Delio Vicini and Sébastien Speierer and Wenzel Jakob}, title = {Differentiable Signed Distance Function Rendering}, journal = {Transactions on Graphics (Proceedings of SIGGRAPH)}, volume = {41}, number = {4}, pages = {125:1--125:18}, year = {2022}, month = jul, doi = {10.1145/3528223.3530139} }