metropolis light transport
TRANSCRIPT
Slides by Yimin LiSlides by Yimin Li
Metropolis Light Transport
Eric Veach, Leonidas J. Guibas
Computer Science DepartmentStanford University
Intuition
In Monte Carlo Ray Tracing, most paths do not contribute significantly to the image.
We need more samples where f is large.
2
A good example
3
Basics
Given a function f, and an equation y=f(x)
4
Basics
Given an image, input becomes (x,y)
5
Basics
Gray = 0.29900*R+0.58700*G+0.11400*B
6
Basics
f may appear in any form. It can be the difference of samples
7
Metropolis Light Transport
= ray tracing + metropolis sampling
8
Bidirectional Path Tracing
= path tracing + light tracing
9
Mutation
choose a path
10
Mutation
mutate this path by adding new vertices
11
Mutation
mutate this path by perturbing a vertex
12
Mutation
The algorithm finds an important, but hard to find, path. Once this path is found, it explores other paths “near” that path
through mutations, which guarantees faster convergence.
13
Basic MTL algorithm
MTL(){ image = 0; // zero matrix x_bar = random_path(); // a path generated by ray tracing for i = 1 to N // N is the length of path x_bar { y_bar = mutate( x_bar ); a = acceptProbability ( x_bar, y_bar ); if ( (float)rand()/RAND_MAX < a ) x_bar = y_bar; recordSample( image, f(x_bar) ); }
return image;}
14
Acceptance Probability
Detailed balance:
f(x_bar)T(y_bar|x_bar)a(y_bar|x_bar) = f(y_bar)T(x_bar|y_bar)a(x_bar|y_bar)
15
Advantages
· Unbiased· Infinite dimensions· Faster convergence· Efficient for glossy surfaces, caustics,
and strong indirect lighting
16
Demo
17
Thank you!
18