Practical Inverse Rendering of Textured and Translucent Appearance

teaser
Philippe Weier1,2 Jérémy Riviere1 Ruslan Guseinov1 Stephan Garbin1 Philipp Slusallek3,2 Bernd Bickel1 Thabo Beeler1 Delio Vicini1
1Google 2Saarland University 3DFKI
ACM Transactions on Graphics (SIGGRAPH 2025)

Abstract

Inverse rendering has emerged as a standard tool to reconstruct the parameters of appearance models from images (e.g., textured BSDFs). In this work, we present several novel contributions motivated by the practical challenges of recovering high-resolution surface appearance textures, including spatially-varying subsurface scattering parameters. First, we propose Laplacian mipmapping, which combines differentiable mipmapping and a Laplacian pyramid representation into an effective preconditioner. This seemingly simple technique significantly improves the quality of recovered surface textures on a set of challenging inverse rendering problems. Our method automatically adapts to the render and texture resolutions, only incurs moderate computational cost and achieves better quality than prior work while using fewer hyperparameters. Second, we introduce a specialized gradient computation algorithm for textured, path-traced subsurface scattering, which facilitates faithful reconstruction of translucent materials. By using path tracing, we enable the recovery of complex appearance while avoiding the approximations of the previously used diffusion dipole methods. Third, we demonstrate the application of both these techniques to reconstructing the textured appearance of human faces from sparse captures. Our method recovers high-quality relightable appearance parameters that are compatible with current production renderers.

Citation

@article{Weier2025PracticalInverse,
  title   = {Practical Inverse Rendering of Textured and Translucent Appearance},
  author  = {Philippe Weier and J\'{e}r\'{e}my Riviere and Ruslan Guseinov and Stephan Garbin and Philipp Slusallek and Bernd Bickel and Thabo Beeler and Delio Vicini},
  year    = 2025,
  month   = aug,
  journal = {Transactions on Graphics (Proceedings of SIGGRAPH)},
  volume  = 44,
  number  = 4,
  doi     = {10.1145/3730855}
}