Kavli Affiliate: Michael Wimmer
| First 5 Authors: Lukas Lipp, David Hahn, Pierre Ecormier-Nocca, Florian Rist, Michael Wimmer
| Summary:
Differentiable rendering methods promise the ability to optimize various
parameters of 3d scenes to achieve a desired result. However, lighting design
has so far received little attention in this field. In this paper, we introduce
a method that enables continuous optimization of the arrangement of luminaires
in a 3d scene via differentiable light tracing. Our experiments show two major
issues when attempting to apply existing methods from differentiable path
tracing to this problem: first, many rendering methods produce images, which
restricts the ability of a designer to define lighting objectives to image
space. Second, most previous methods are designed for scene geometry or
material optimization and have not been extensively tested for the case of
optimizing light sources. Currently available differentiable ray-tracing
methods do not provide satisfactory performance, even on fairly basic test
cases in our experience. In this paper, we propose a novel adjoint light
tracing method that overcomes these challenges and enables gradient-based
lighting design optimization in a view-independent (camera-free) way. Thus, we
allow the user to paint illumination targets directly onto the 3d scene or use
existing baked illumination data (e.g., light maps). Using modern ray-tracing
hardware, we achieve interactive performance. We find light tracing
advantageous over path tracing in this setting, as it naturally handles
irregular geometry, resulting in less noise and improved optimization
convergence. We compare our adjoint gradients to state-of-the-art image-based
differentiable rendering methods. We also demonstrate that our gradient data
works with various common optimization algorithms, providing good convergence
behaviour. Qualitative comparisons with real-world scenes underline the
practical applicability of our method.
| Search Query: ArXiv Query: search_query=au:”Michael Wimmer”&id_list=&start=0&max_results=3