Top Banner
Sampling Attila Gyulassy Image Synthesis
33

Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

SamplingAttila Gyulassy

Image Synthesis

Page 2: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Overview• Overview

• Problem Statement

• Random Number Generators

• Quasi-Random Number Generation

• Uniform sampling of Disks, Triangles, Spheres

• Stratified Sampling

• Importance Sampling of General Functions

Page 3: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Problem Statement

• What is sampling?– Want to Take a function f and recreate it using

only certain values• e.g. data points used in interpolation

• where to pick those points?

– Sometimes don’t know f but can evaluate it• would like to choose data points used to reconstruct

function in an optimal way

Page 4: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Problem Statement (ctd)

• Monte Carlo Integration– 2 ways to improve

• improve estimation method• carefully selecting samples******

• Use filtering to recreate original function– covered next time

– important to know necessary sampling frequency

Page 5: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Example

Page 6: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Overview of Sampling

• Over some domain– Sometimes parametrizable

• Some sample density

• Random / Regular

Page 7: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Random Numbers

• Would like to get uniformly distributed random numbers over a range [a,b]

• Problems– large open spaces – slow convergence– nondeterministic

Page 8: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

RNG methods

• Non-linear additive feedback

• Linear congruence methods

• Mersenne Twister algorithm

• many more...

Page 9: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Quasi-Monte Carlo

• Use deterministic roughly uniform aperiodic distribution through domain– I.e. pseudo-random numbers

• Want low discrepancy – small = evenly distributed – large = clustering

• causes clumping and sparse regions

• Want high speed

Page 10: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Quasi-Random Generators

Page 11: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Halton Sequence

• N-dimensional points xi

xm = (2(m), 3(m),…, PN-1(m), PN(m))

PI = ith prime number (2,3,5,7,…)

r(m) is the radical-inverse function of m to the base r. The value is obtained by writing m in base r and then reflecting the digits around the decimal point.

2610 = 110102 reflecting 0.010112 = 11/2710

Page 12: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Halton Sequence

• N-dimensional points xi

xm = (2(m), 3(m),…, PN-1(m), PN(m))

PI = ith prime number (2,3,5,7,…)

m = a0r0 + a0r1 + a0r2 + a0r3 + ...

r(m) = a0r-1 + a0r-2 + a0r-3 + a0r-4 + ...

Page 13: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Halton Sequence

• Starting at (1,1,…,1) better than starting at (0,0,…,0)

1 = 1.0 => 0.1 = 1/2

2 = 10.0 => 0.01 = 1/4

3 = 11.0 => 0.11 = 3/4

4 = 100.0 => 0.001 = 1/8

5 = 101.0 => 0.101 = 5/8

6 = 110.0 => 0.011 = 3/8

7 = 111.0 => 0.111 = 7/8

Notice even distribution

Page 14: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Hammersley Sequence

• Similar to Halton

xm = (m/N,2(m), 3(m),…, PN-1(m))

PI = ith prime number (2,3,5,7,…)

m = a0r0 + a0r1 + a0r2 + a0r3 + ...

r(m) = a0r-1 + a0r-2 + a0r-3 + a0r-4 + ...

Where N is number of total samples

Page 15: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Hammersley Sequence

Page 16: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Hammersley Sequence

Page 17: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Poisson Random Numbers

• Generate random numbers according to the Poisson distribution function

This turns out to be the same as just “throwing darts”**

Page 18: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,
Page 19: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Result of RNGs

• Basically, now we have random numbers in [0,1]– what do we do with these?– How does this relate to sampling?

Page 20: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Uniform Sampling of a Disk

• Want Subdivision into equal area regions

Page 21: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Uniform Sampling Over a Sphere

• demo

Page 22: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Uniform Sampling - Disk vs Sphere

• Sampling of disk and projecting onto hemisphere = sampling on 1/2 of sphere

Page 23: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Uniform Sampling of Triangles

• Compute probability density function for triangles

Page 24: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Uniform Sampling of Triangles

• The u and v are not independent

Page 25: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Stratified Sampling

• Alternative to uniform– break domain into strata– fills in gaps faster

Page 26: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Importance Sampling

• Basic Idea– sample at important locations to decrease

variance

Page 27: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Importance Sampling ctd.

• As seen last time, use a probability density function f to pick samples– properties

Page 28: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Importance Sampling ctd.

• Then, our approximation becomes

(here g(x) is prob. Dens. Funciton, not f(x))

Page 29: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Importance Sampling ctd.

• How do we pick f?– want to minimize variance

– where G is integral of original function g(x)– … after much math we get

– which is great!! Except, G is what we are trying to find

f(x) = |g(x)| / G

G2

Page 30: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Importance Sampling ctd.• If we don’t know G, how can we pick f

– If we apply a filter to g, so integral is of form

Then if the filter is clamped [0,1] the filter itself becomes a reasonable estimate for f

Problems with this method?

Page 31: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Importance Sampling ctd.

• Remember f(x) = |g(x)| / G gives least variance

• motivation for adaptive sampling

• build f from first few samples

Page 32: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

Conclusion

• Multiple ways to generate “random” numbers– have to pick best method for each application

• Many sampling techniques, with pros and cons– uniform– stratified– importance– adaptive

Page 33: Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,

References

• http://www.math.iastate.edu/reu/2001/voronoi/halton_sequence.html

• http://www.cse.cuhk.edu.hk/~ttwong/papers/udpoint/udpoint.pdf

• http://www.fz-juelich.de/nic-series/volume10/janke1.pdf

• http://graphics.stanford.edu/courses/cs348b-00/lectures/lecture13/montecarlo.1.pdf

• Principles of Digital Image Synthesis, Glassner