Presentation is loading. Please wait.

Presentation is loading. Please wait.

Monte Carlo Integration I Digital Image Synthesis Yung-Yu Chuang with slides by Pat Hanrahan and Torsten Moller.

Similar presentations


Presentation on theme: "Monte Carlo Integration I Digital Image Synthesis Yung-Yu Chuang with slides by Pat Hanrahan and Torsten Moller."— Presentation transcript:

1 Monte Carlo Integration I Digital Image Synthesis Yung-Yu Chuang with slides by Pat Hanrahan and Torsten Moller

2 Introduction The integral equations generally don’t have analytic solutions, so we must turn to numerical methods. Standard methods like Trapezoidal integration or Gaussian quadrature are not effective for high-dimensional and discontinuous integrals.

3 Numerical quadrature Suppose we want to calculate, but can’t solve it analytically. The approximations through quadrature rules have the form which is essentially the weighted sum of samples of the function at various points

4 Midpoint rule convergence

5 Trapezoid rule convergence

6 Simpson’s rule Similar to trapezoid but using a quadratic polynomial approximation convergence assuming f has a continuous fourth derivative.

7 Curse of dimensionality and discontinuity For an s d function f, If the 1d rule has a convergence rate of O(n -r ), the s d rule would require a much larger number ( n s ) of samples to work as well as the 1d one. Thus, the convergence rate is only O(n -r/s ). If f is discontinuous, convergence is O(n -1/s ) for s d.

8 Randomized algorithms Las Vegas v.s. Monte Carlo Las Vegas: always gives the right answer by using randomness. Monte Carlo: gives the right answer on the average. Results depend on random numbers used, but statistically likely to be close to the right answer.

9 Monte Carlo integration Monte Carlo integration: uses sampling to estimate the values of integrals. It only requires to be able to evaluate the integrand at arbitrary points, making it easy to implement and applicable to many problems. If n samples are used, its converges at the rate of O(n -1/2 ). That is, to cut the error in half, it is necessary to evaluate four times as many samples. Images by Monte Carlo methods are often noisy. Most current methods try to reduce noise.

10 Monte Carlo methods Advantages –Easy to implement –Easy to think about (but be careful of statistical bias) –Robust when used with complex integrands and domains (shapes, lights, …) –Efficient for high dimensional integrals Disadvantages –Noisy –Slow (many samples needed for convergence)

11 Basic concepts X is a random variable Applying a function to a random variable gives another random variable, Y=f(X). CDF (cumulative distribution function) PDF (probability density function): nonnegative, sum to 1 canonical uniform random variable ξ (provided by standard library and easy to transform to other distributions)

12 Discrete probability distributions Discrete events X i with probability p i Cumulative PDF (distribution) Construction of samples: To randomly select an event, Select X i if Uniform random variable

13 Continuous probability distributions PDF CDF Uniform

14 Expected values Average value of a function f(x) over some distribution of values p(x) over its domain D Example: cos function over [0, π], p is uniform

15 Variance Expected deviation from the expected value Fundamental concept of quantifying the error in Monte Carlo methods

16 Properties

17 Monte Carlo estimator Assume that we want to evaluate the integral of f(x) over [a,b] Given a uniform random variable X i over [a,b], Monte Carlo estimator says that the expected value E[F N ] of the estimator F N equals the integral

18 General Monte Carlo estimator Given a random variable X drawn from an arbitrary PDF p(x), then the estimator is Although the converge rate of MC estimator is O(N 1/2 ), slower than other integral methods, its converge rate is independent of the dimension, making it the only practical method for high dimensional integral

19 Convergence of Monte Carlo Chebyshev’s inequality: let X be a random variable with expected value μ and variance σ 2. For any real number k>0, For example, for k=, it shows that at least half of the value lie in the interval Let, the MC estimate F N becomes

20 Convergence of Monte Carlo According to Chebyshev’s inequality, Plugging into Chebyshev’s inequality, So, for a fixed threshold, the error decreases at the rate N -1/2.

21 Properties of estimators An estimator F N is called unbiased if for all N That is, the expected value is independent of N. Otherwise, the bias of the estimator is defined as If the bias goes to zero as N increases, the estimator is called consistent

22 Example of a biased consistent estimator Suppose we are doing antialiasing on a 1d pixel, to determine the pixel value, we need to evaluate, where is the filter function with A common way to evaluate this is When N=1, we have

23 Example of a biased consistent estimator When N=2, we have However, when N is very large, the bias approaches to zero

24 Choosing samples Carefully choosing the PDF from which samples are drawn is an important technique to reduce variance. We want the f/p to have a low variance. Hence, it is necessary to be able to draw samples from the chosen PDF. How to sample an arbitrary distribution from a variable of uniform distribution? –Inversion –Rejection –Transform

25 Inversion method Cumulative probability distribution function Construction of samples Solve for X=P -1 (U) Must know: 1.The integral of p(x) 2.The inverse function P -1 (x)

26 Proof for the inversion method Let U be an uniform random variable and its CDF is P u (x)=x. We will show that Y=P -1 (U) has the CDF P(x).

27 Proof for the inversion method Let U be an uniform random variable and its CDF is P u (x)=x. We will show that Y=P -1 (U) has the CDF P(x). because P is monotonic, Thus, Y’s CDF is exactly P(x).

28 Inversion method Compute CDF P(x) Compute P -1 (x) Obtain ξ Compute X i =P -1 (ξ)

29 Example: power function It is used in sampling Blinn’s microfacet model.

30 Example: power function Assume Trick It is used in sampling Blinn’s microfacet model. (It only works for sampling power distribution)

31 Compute CDF P(x) Compute P -1 (x) Obtain ξ Compute X i =P -1 (ξ) Example: exponential distribution useful for rendering participating media.

32 Compute CDF P(x) Compute P -1 (x) Obtain ξ Compute X i =P -1 (ξ) Example: exponential distribution useful for rendering participating media.

33 Rejection method Algorithm Pick U 1 and U 2 Accept U 1 if U 2 < f(U 1 ) Wasteful? Efficiency = Area / Area of rectangle Sometimes, we can’t integrate into CDF or invert CDF

34 Rejection method Rejection method is a dart-throwing method without performing integration and inversion. 1.Find q(x) so that p(x)<Mq(x) 2.Dart throwing a.Choose a pair (X, ξ), where X is sampled from q(x) b.If (ξ<p(X)/Mq(X)) return X Equivalently, we pick a point (X, ξMq(X)). If it lies beneath p(X) then we are fine.

35 Why it works For each iteration, we generate X i from q. The sample is returned if ξ<p(X)/Mq(X), which happens with probability p(X)/Mq(X). So, the probability to return x is whose integral is 1/M Thus, when a sample is returned (with probability 1/M), X i is distributed according to p(x).

36 Example: sampling a unit disk void RejectionSampleDisk(float *x, float *y) { float sx, sy; do { sx = 1.f -2.f * RandomFloat(); sy = 1.f -2.f * RandomFloat(); } while (sx*sx + sy*sy > 1.f) *x = sx; *y = sy; } π/4 ~ 78.5% good samples, gets worse in higher dimensions, for example, for sphere, π/6 ~ 52.4%

37 Transformation of variables Given a random variable X from distribution p x (x) to a random variable Y=y(X ), where y is one-to- one, i.e. monotonic. We want to derive the distribution of Y, p y (y). PDF: x y P x (x) P y (y)

38 Example

39 Transformation method A problem to apply the above method is that we usually have some PDF to sample from, not a given transformation. Given a source random variable X with p x (x) and a target distribution p y (y), try transform X into to another random variable Y so that Y has the distribution p y (y). We first have to find a transformation y(x) so that P x (x) = P y (y(x)). Thus,

40 Transformation method Let’s prove that the above transform works. We first prove that the random variable Z= P x (x) has a uniform distribution. If so, then should have distribution P y from the inversion method. Thus, Z is uniform and the transformation works. It is an obvious generalization of the inversion method, in which X is uniform and P x (x)=x.

41 Example y

42 Thus, if X has the distribution, then the random variable has the distribution Example y

43 Multiple dimensions We often need the other way around,

44 Spherical coordinates The spherical coordinate representation of directions is

45 Spherical coordinates Now, look at relation between spherical directions and a solid angles Hence, the density in terms of

46 Multidimensional sampling Separable case: independently sample X from p x and Y from p y. p(x,y)=p x (x)p y (y) Often, this is not possible. Compute the marginal density function p(x) first. Then, compute the conditional density function Use 1D sampling with p(x) and p(y|x).

47 Sampling a hemisphere Sample a hemisphere uniformly, i.e.

48 Sampling a hemisphere Sample a hemisphere uniformly, i.e. Sample  first Now sampling 

49 Sampling a hemisphere Now, we use inversion technique in order to sample the PDF’s Inverting these:

50 Sampling a hemisphere Convert these to Cartesian coordinate Similar derivation for a full sphere

51 Sampling a disk RIGHT  Equi-Areal WRONG  Equi-Areal

52 Sampling a disk RIGHT  Equi-Areal WRONG  Equi-Areal

53 Sampling a disk Uniform Sample r first. Then, sample. Invert the CDF.

54 Shirley ’ s mapping

55 Sampling a triangle

56 Here u and v are not independent! Conditional probability

57 Cosine weighted hemisphere

58

59 Malley’s method: uniformly generates points on the unit disk and then generates directions by projecting them up to the hemisphere above it. Vector CosineSampleHemisphere(float u1,float u2){ Vector ret; ConcentricSampleDisk(u1, u2, &ret.x, &ret.y); ret.z = sqrtf(max(0.f,1.f - ret.x*ret.x - ret.y*ret.y)); return ret; }

60 Cosine weighted hemisphere Why does Malley’s method work? Unit disk sampling Map to hemisphere

61 Cosine weighted hemisphere

62 Sampling Phong lobe

63

64

65 cosine-weighted hemisphereWhen n=1, it is actually equivalent to

66 Piecewise-constant 2d distributions Sample from discrete 2D distributions. Useful for texture maps and environment lights. Consider f(u, v) defined by a set of n u  n v values f[u i, v j ]. Given a continuous [u, v], we will use [u’, v’] to denote the corresponding discrete (u i, v j ) indices.

67 Piecewise-constant 2d distributions integral pdf marginal density conditional probability

68 Piecewise-constant 2d distributions low-res marginal density low-res conditional probability Distribution2D

69 Metropolis sampling Metropolis sampling can efficiently generate a set of samples from any non-negative function f requiring only the ability to evaluate f. Disadvantage: successive samples in the sequence are often correlated. It is not possible to ensure that a small number of samples generated by Metropolis is well distributed over the domain. There is no technique like stratified sampling for Metropolis.

70 Metropolis sampling Problem: given an arbitrary function assuming generate a set of samples

71 Metropolis sampling Steps –Generate initial sample x 0 –mutating current sample x i to propose x’ –If it is accepted, x i+1 = x’ Otherwise, x i+1 = x i Acceptance probability guarantees distribution is the stationary distribution f

72 Metropolis sampling Mutations propose x’ given x i T(x → x’) is the tentative transition probability density of proposing x’ from x Being able to calculate tentative transition probability is the only restriction for the choice of mutations a(x → x’) is the acceptance probability of accepting the transition By defining a(x → x’) carefully, we ensure

73 Metropolis sampling Detailed balance stationary distribution

74 Pseudo code

75 Pseudo code (expected value)

76 Binary example I

77 Binary example II

78 Acceptance probability Does not affect unbiasedness; just variance Want transitions to happen because transitions are often heading where f is large Maximize the acceptance probability –Explore state space better –Reduce correlation

79 Mutation strategy Very free and flexible; the only requirement is to be able to calculate transition probability Based on applications and experience The more mutation, the better Relative frequency of them is not so important

80 Start-up bias Using an initial sample not from f’s distribution leads to a problem called start-up bias. Solution #1: run MS for a while and use the current sample as the initial sample to re-start the process. –Expensive start-up cost –Need to guess when to re-start Solution #2: use another available sampling method to start

81 1D example

82 1D example (mutation)

83 1D example mutation 1mutation 2 10,000 iterations

84 1D example mutation 1mutation 2 300,000 iterations

85 1D example mutation 190% mutation 2 + 10% mutation 1 Periodically using uniform mutations increases ergodicity

86 2D example (image copy)

87

88 1 sample per pixel 8 samples per pixel 256 samples per pixel


Download ppt "Monte Carlo Integration I Digital Image Synthesis Yung-Yu Chuang with slides by Pat Hanrahan and Torsten Moller."

Similar presentations


Ads by Google