Metropolis Light Transport

yiminli 943 views 18 slides Jun 05, 2010
Slide 1
Slide 1 of 18
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18

About This Presentation

No description available for this slideshow.


Slide Content

Slides by Yimin LiSlides by Yimin Li
Metropolis Light Transport
Eric Veach, Leonidas J. Guibas
Computer Science Department
Stanford 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
Tags