Transcript montecarlo
Monte Carlo Integration
Robert Lin
April 20, 2004
Outline
Integration Applications
Random variables, probability, expected value, variance
Integration Approximation
Monte Carlo Integration
Variance Reduction (sampling methods)
Integration Applications
Antialiasing
Integration Applications
Soft Shadows
Integration Applications
Indirect Lighting
Random Variables, Probability Density Function
Continuous random variable x:
scalar or vector quantity that randomly takes on a value (-∞,+∞)
Probability Density Function p associated with x (denoted x ~ p)
describes the distribution of x:
Properties:
Random Variables, Probability Density Function
Example:
Let ε be a random variable taking on values [0, 1) uniformly
Probability Density Function ε ~ q
Probability that ε takes on a certain value [a, b] in [0, 1) is
Expected Value
The average value of a function f(x) with probability distribution
function (pdf) p(x) is called the expected value:
The expected value of a 1D random variable can be calculated by
letting f(x) = x.
Expected Value Properties:
1.
2.
Multidimensionality
Random variables and expected values can be extended to multiple
dimensions easily
Let S represent a multidimensional space with measure μ
Let x be a random variable with pdf p
Probability that x takes on a value in region in Si, a subset of S, is
Multidimensionality
Example:
Let α be a 2D random variable uniformly distributed on a disk of radius R
p(α) = 1 / (πR2)
Multidimensionality
Example
Given a unit square S = [0, 1] x [0, 1]
Given pdf p(x, y) = 4xy
The expected value of the x coordinate is found by setting f(x, y) = x:
Variance
The variance of a random variable is defined as the expected
value of the square of the difference between x and E(x).
Some algebra lets us convert this to the form:
Integration Problems
Integrals for rendering can be difficult to evaluate
Multi-dimensional integrals
Non-continuous functions
Highlights
Occluders
Integration Approximation
How to evaluate integral of f(x)?
Integration Approximation
Can approximate using another function g(x)
Integration Approximation
Can approximate by taking the average value
Integration Approximation
Estimate the average by taking N samples
Monte Carlo Integration
Im = Monte Carlo estimate
N = number of samples
x1, x2, …, xN are uniformly distributed random numbers between
a and b
Monte Carlo Integration
Monte Carlo Integration
We have the definition of expected value and how to estimate it.
Since the expected value can be expressed as an integral, the
integral is also approximated by the sum.
To simplify the integral, we can substitute g(x) = f(x)p(x).
Variance
The variance describes how much the sampled values vary
from each other.
Variance proportional to 1/N
Variance
Standard Deviation is just the square root of the variance
Standard Deviation proportional to 1 / sqrt(N)
Need 4X samples to halve the error
Variance
Problem:
Variance (noise) decreases slowly
Using more samples only removes a small amount of noise
Variance Reduction
There are several ways to reduce the variance
Importance Sampling
Stratified Sampling
Quasi-random Sampling
Metropolis Random Mutations
Importance Sampling
Idea: use more samples in important regions of the function
If function is high in small areas, use more samples there
Importance Sampling
Want g/p to have low variance
Choose a good function p similar to g:
Stratified Sampling
Partition S into smaller domains Si
Evaluate integral as sum of integrals over Si
Example: jittering for pixel sampling
Often works much better than importance sampling in practice
Examples
Examples
Conclusion
Monte Carlo Integration Pros
Good to estimate integrals with many dimensions
Good to estimate integrals with complex functions
General integration method with many applications
Monte Carlo Integration Cons
Variance reduces slowly (error appears as noise)
Reduce variance with importance sampling, stratified sampling, etc.
Can use other methods (filtering) to remove noise
References
Peter Shirley, R. Keith Morley. Realistic Ray Tracing, Natick, MA: A K
Peters, Ltd., 2003, pages 47-51, 145-154.
Henrik Wann Jensen. Realistic Image Synthesis Using Photon Mapping,
Natick, MA: A K Peters, Ltd., 2001, pages 153-155.
Pat Hanrahan. Monte Carlo Integration 1 (Lecture Notes):
http://graphics.stanford.edu/courses/cs348b-02/lectures/lecture6
Thomas Funkhouser, Monte Carlo Integration For Image Synthesis:
http://www.cs.princeton.edu/courses/archive/fall02/cs526/lectures/montecarl
o.pdf
Eric Veach. Robust Monte Carlo Methods for Light Transport Simulation.
Ph.D Thesis, Stanford University, Dec 1997.