Neural Importance Sampling: Rendering Results

Thomas Müller, Brian McWilliams, Fabrice Rousselle, Markus Gross, Jan Novák

We propose to use deep neural networks for generating samples in Monte Carlo integration. Our work is based on non-linear independent components estimation (NICE), which we extend in numerous ways to improve performance and enable its application to integration problems. First, we introduce piecewise-polynomial coupling transforms that greatly increase the modeling power of individual coupling layers. Second, we propose to preprocess the inputs of neural networks using one-blob encoding, which stimulates localization of computation and improves inference. Third, we derive a gradient-descent-based optimization for the KL and the χ² divergence for the specific application of Monte Carlo integration with unnormalized stochastic estimates of the target distribution. Our approach enables fast and accurate inference and efficient sample generation independently of the dimensionality of the integration domain. We show its benefits on generating natural images and in two applications to light-transport simulation: first, we demonstrate learning of joint path-sampling densities in the primary sample space and importance sampling of multi-dimensional path prefixes thereof. Second, we use our technique to extract conditional directional densities driven by the triple product of the rendering equation and leverage them for path guiding. In all applications, our approach yields on-par or higher performance than competing techniques at equal sample count.


To assess the quality of our method in the context of Monte Carlo light-transport simulation, we evaluate it on the following 16 scenes:




Copper Hairball

Country Kitchen

Glossy Kitchen


Salle de Bain


Sponza Atrium

Swimming Pool


Veach Door

White Room

Indirectly Lit Cornell Box

Yet Another Box