Gradient-Domain Metropolis Light Transport

Jaakko Lehtinen1,2 Tero Karras1 Samuli Laine1 Miika Aittala1,2 Fr├ędo Durand3 Timo Aila1

1NVIDIA Research 2Aalto University, Dept. of Media Technology 2MIT CSAIL

ACM Transactions on Graphics 32(4) (Proc. SIGGRAPH 2013).

Paper

Preprint (PDF, 10M)

Slides

Slides (PDF, 33M)

Abstract

We introduce a novel Metropolis rendering algorithm that directly computes image gradients, and reconstructs the final image from the gradients by solving a Poisson equation. The reconstruction is aided by a low-fidelity approximation of the image computed during gradient sampling. As an extension of path-space Metropolis light transport, our algorithm is well suited for difficult transport scenarios. We demonstrate that our method outperforms the state-of-the-art in several well-known test scenes. Additionally, we analyze the spectral properties of gradient-domain sampling, and compare it to the traditional image-domain sampling.

Acknowledgments

We thank Wenzel Jakob for Mitsuba, and for answering our technical questions on it during the initial stages of this project. M. Aittala is supported by the HeCSE Graduate School and the MIDE program (project UI-ART) of Aalto University. Frédo Durand acknowledges NSF CGV 1116303.

The Door Scene

We've remodeled the Door scene after the famous one found in Eric Veach and Leo Guibas' original Metropolis Light Transport paper. The Mitsuba scene file is hereby licensed under the Creative Commons Attribution 4.0 License, which basically says you can do whatever you want with it as long as you give us credit. For that purpose, the authors are Miika Aittala, Samuli Laine, and Jaakko Lehtinen.

Nov 27 2013: Updated to have more reasonable default rendering parameters.

Door (ZIP, 753kb)

BibTeX

@article{Lehtinen2013sg,
author = {Jaakko Lehtinen and Tero Karras and Samuli Laine and Miika Aittala and Fr\'{e}do Durand and Timo Aila},
title = {Gradient-Domain Metropolis Light Transport},
journal = {ACM Trans. Graph.},
year = {2013},
volume = {32},
number = {4},
}