Computer Graphics III – Monte Carlo integration Direct illumination Jaroslav Křivánek, MFF UK Jaroslav.Krivanek@mff.cuni.cz
Entire the lecture in 5 slides
Reflection equation = → L ( ) L ( ) f ( ) cos d r o i i r i o i i H ( x ) upper hemisphere over x n L i ( i ) L o ( o ) d i i o L r ( o ) CG III (NPGR010) - J. Křivánek 2015
Rendering = Integration of functions = → L ( ) L ( ) f ( ) cos d r o i i r i o i i H ( x ) ◼ Problems ❑ Discontinuous integrand (visibility) ❑ Arbitrarily large integrand values (e.g. light distribution in caustics, BRDFs of glossy surfaces) Incoming radiance ❑ Complex geometry L i ( x , i ) for a point on the floor. Images: Greg Ward CG III (NPGR010) - J. Křivánek 2015 4
Monte Carlo integration ◼ General tool for estimating definite integrals Integral: f ( x ) = I f ( x d ) x Monte Carlo estimate I : N 1 f ( ) = i I ; p ( x ) p ( x ) i N p ( ) = i 1 i Works “on average” : 5 3 1 4 2 6 0 1 = E [ I ] I CG III (NPGR010) - J. Křivánek 2015 5
Application of MC to reflection eq: Estimator of reflected radiance ◼ Integral to be estimated: → L ( ) f ( ) cos d i i r i o i i integrand( i ) H ( x ) ◼ PDF for cosine-proportional sampling: cos = i p ( ) i ◼ MC estimator (formula to use in the renderer): ( ) N integrand 1 = i ,k F ( ) N N pdf = k 1 i ,k N = → L ( ) f ( ) i i ,k r i ,k o N = k 1 CG III (NPGR010) - J. Křivánek 2015 6
Variance => image noise CG III (NPGR010) - J. Křivánek 2015 7
… and now the slow way
Digression: Numerical quadrature
Quadrature formulas for numerical integration ◼ General formula in 1D: n ˆ = I w f ( x ) i i = i 1 f integrand (i.e. the integrated function) n quadrature order (i.e. number of integrand samples) x i node points (i.e. positions of the samples) f (x i ) integrand values at node points w i quadrature weights CG III (NPGR010) - J. Křivánek 2015 10
Quadrature formulas for numerical integration ◼ Quadrature rules differ by the choice of node point positions x i and the weights w i E.g. rectangle rule, trapezoidal rule, Simpson’s method, ❑ Gauss quadrature , … ◼ The samples (i.e. the node points) are placed deterministically CG III (NPGR010) - J. Křivánek 2015 11
Quadrature formulas in multiple dimensions ◼ General formula for quadrature of a function of multiple variables: n n n ˆ = I ... w w ... w f ( x , x ,..., x ) i i i i i i 1 2 s 1 2 s = = = i 1 i 1 i 1 1 2 s ◼ Convergence speed of approximation error E for an s - dimensional integral is E = O( N -1/s ) ❑ E.g. in order to cut the error in half for a 3-dimensional integral, we need 2 3 = 8 – times more samples ◼ Unusable in higher dimensions ❑ Dimensional explosion CG III (NPGR010) - J. Křivánek 2015 12
Quadrature formulas in multiple dimensions ◼ Deterministic quadrature vs. Monte Carlo ❑ In 1D deterministic better than Monte Carlo ❑ In 2D roughly equivalent ❑ From 3D, MC will always perform better ◼ Remember, quadrature rules are NOT the Monte Carlo method CG III (NPGR010) - J. Křivánek 2015 13
Monte Carlo
History of the Monte Carlo method ◼ Atomic bomb development, Los Alamos 1940 John von Neumann, Stanislav Ulam, Nicholas Metropolis ◼ Further development and practical applications from the early 50’s CG III (NPGR010) - J. Křivánek 2015 15
Monte Carlo method ◼ We simulate many random occurrences of the same type of events, e.g.: ❑ Neutrons – emission, absorption, collisions with hydrogen nuclei ❑ Behavior of computer networks, traffic simulation. ❑ Sociological and economical models – demography, inflation, insurance, etc. CG III (NPGR010) - J. Křivánek 2015 16
Monte Carlo – applications ◼ Financial market simulations ◼ Traffic flow simulations ◼ Environmental sciences ◼ Particle physics ◼ Quantum field theory ◼ Astrophysics ◼ Molecular modeling ◼ Semiconductor devices ◼ Optimization problems ◼ Light transport calculations ◼ ... CG III (NPGR010) - J. Křivánek 2015 17
Slide credit: Iwan Kawrakov CG III (NPGR010) - J. Křivánek 2015 18
Slide credit: Iwan Kawrakov CG III (NPGR010) - J. Křivánek 2015 19
Variance => image noise CG III (NPGR010) - J. Křivánek 2015 20
Monte Carlo integration Samples are placed randomly (or pseudo-randomly) ◼ Convergence of standard error: std. dev. = O( N -1/2 ) ◼ Convergence speed independent of dimension ❑ Faster than classic quadrature rules for 3 and more ❑ dimensions Special methods for placing samples exist ◼ Quasi-Monte Carlo ❑ Faster asymptotic convergence than MC for “smooth” ❑ functions CG III (NPGR010) - J. Křivánek 2015 21
Monte Carlo integration ◼ Pros ❑ Simple implementation ❑ Robust solution for complex integrands and integration domains ❑ Effective for high-dimensional integrals ◼ Cons ❑ Relatively slow convergence – halving the standard error requires four times as many samples ❑ In rendering: images contain noise that disappears slowly CG III (NPGR010) - J. Křivánek 2015 22
Review – Random variables
Random variable ◼ X … random variable ◼ X assumes different values with different probability ❑ Given by the probability distribution D ❑ X D CG III (NPGR010) - J. Křivánek 2015 24
Discrete random variable Probability mass function ◼ Finite set of values of x i ◼ Each assumed with prob. p i p n i = = p 1 p Pr( X x ) 0 x i i i i = i 1 Cumulative distribution func. ◼ Cumulative distribution 1 function P i ) i ( = = P Pr X x p P 1 i i j n = j 1 x i CG III (NPGR010) - J. Křivánek 2015 25
Continuous random variable ◼ Probability density function, pdf, p ( x ) ( ) = Pr X D p ( x ) d x D ◼ In 1D: ) ( b = Pr a X b p ( t ) d t a CG III (NPGR010) - J. Křivánek 2015 26
Continuous random variable ◼ Cumulative distribution function, cdf, P ( x ) V 1D: ) ( x = P ( x ) Pr X x p ( t ) d t − ( ) a = = = Pr X a p ( t ) d t 0 ! a CG III (NPGR010) - J. Křivánek 2015 27
Continuous random variable Example: Uniform distribution Probability density function (pdf) Cumulative distribution function (cdf) CG III (NPGR010) - J. Křivánek 2015 28
Continuous random variable Gaussian (normal) distribution Probability density function (pdf) Image: wikipedia Cumulative distribution function (cdf) CG III (NPGR010) - J. Křivánek 2015 29
Expected value and variance ◼ Expected value = E X x p ( x ) d x D ◼ Variance ❑ Properties of variance (if X i are independent) CG III (NPGR010) - J. Křivánek 2015 30
Transformation of a random variable 𝑍 = (𝑌) ◼ Y is a random variable ◼ Expected value of Y 𝐹[𝑍] = න 𝐲 𝑞 𝐲 𝑒𝐲 𝐸 CG III (NPGR010) - J. Křivánek 2015 31
Monte Carlo integration
Monte Carlo integration ◼ General tool for estimating definite integrals Integral: f ( x ) = I f ( x d ) x Monte Carlo estimate I : N 1 f ( ) = i I ; p ( x ) p ( x ) i N p ( ) = i 1 i Works “on average” : 5 3 1 4 2 6 0 1 = E [ I ] I CG III (NPGR010) - J. Křivánek 2015 33
Primary estimator of an integral ( ) = Integral to be estimated: I f x d x Let X be a random variable from the distribution with the pdf p ( x ), then the random variable F prim given by the transformation f ( X )/ p ( X ) is called the primary estimator of the above integral. f ( X ) = F prim p ( X ) CG III (NPGR010) - J. Křivánek 2015 34
Primary estimator of an integral f ( X ) f ( x ) X 0 1 CG III (NPGR010) - J. Křivánek 2015 35
Estimator vs. estimate ◼ Estimator is a random variable ❑ It is defined though a transformation of another random variable ◼ Estimate is a concrete realization (outcome) of the estimator ◼ No need to worry: the above distinction is important for proving theorems but less important in practice CG III (NPGR010) - J. Křivánek 2015 36
Unbiased estimator ◼ A general statistical estimator is called unbiased if – “on average” – it yields the correct value of an estimated quantity Q (without systematic error). ◼ More precisely: = E F Q Estimator of the quantity Q Estimated quantity (random variable) (In our case, it is an integral, but in general it could be anything. It is a number, not a random variable.) CG III (NPGR010) - J. Křivánek 2015 37
Unbiased estimator The primary estimator F prim is an unbiased estimator of the integral I. Proof: ( ) ( ) = f x E F p x d x prim p ( x ) = I CG III (NPGR010) - J. Křivánek 2015 38
Recommend
More recommend