Learning To Importance Sampline in Primary Sample Space

Quan Zheng1 Matthias Zwicker1
1University of Maryland, College Park

In Computer Graphics Forum (Proc. Eurographics), 2019, to appear

We present a novel importance sampling approach that uses a neural network to sample from a desired density. This figure shows how our approach can learn to sample small illumination features. Images are rendered at 128 spp and MSE is given below each image. The reference image is rendered with Metropolis light transport using 32768 spp. With increasing amounts of training data, our approach gives better cardioid caustics in the silver ring, and it preserves small caustics with fine structures.


Importance sampling is one of the most widely used variance reduction strategies in Monte Carlo rendering. We propose a novel importance sampling technique that uses a neural network to learn how to sample from a desired density represented by a set of samples. Our approach considers an existing Monte Carlo rendering algorithm as a black box. During a scene-dependent training phase, we learn to generate samples with a desired density in the primary sample space of the renderer using maximum likelihood estimation. We leverage a recent neural network architecture that was designed to represent real-valued non-volume preserving (``Real NVP'') transformations in high dimensional spaces. We use Real NVP to non-linearly warp primary sample space and obtain desired densities. In addition, Real NVP efficiently computes the determinant of the Jacobian of the warp, which is required to implement the change of integration variables implied by the warp. A main advantage of our approach is that it is agnostic of underlying light transport effects, and can be combined with an existing rendering technique by treating it as a black box. We show that our approach leads to effective variance reduction in several practical scenarios.

Additional Information