Convergence Analysis for Anisotropic Monte Carlo Sampling Spectra - - PowerPoint PPT Presentation

convergence analysis for anisotropic monte carlo sampling
SMART_READER_LITE
LIVE PREVIEW

Convergence Analysis for Anisotropic Monte Carlo Sampling Spectra - - PowerPoint PPT Presentation

Convergence Analysis for Anisotropic Monte Carlo Sampling Spectra Gurprit Singh Wojciech Jarosz Thank you for being here. Today, I will be presenting our work on convergence analysis for Monte Carlo integration that is done in


slide-1
SLIDE 1

Convergence Analysis for Anisotropic Monte Carlo Sampling Spectra

Gurprit Singh Wojciech Jarosz Thank you for being here. Today, I will be presenting our work on convergence analysis for Monte Carlo integration that is done in collaboration with Wojciech Jarosz in the visual computing lab at Dartmouth.

slide-2
SLIDE 2

Monte Carlo Integration

2

Monte Carlo integration is a numerical method employed to solve multi-dimensional integrals that we normally encounter in light transport problems during rendering. We are showing one such rendering example here, which is lit with a point light source, as a result…

slide-3
SLIDE 3

Monte Carlo Integration

2

X Y

focal plane / virtual image plane

V U

Aperture

slide-4
SLIDE 4

Monte Carlo Integration

2

X Y

focal plane / virtual image plane

V U

Aperture

slide-5
SLIDE 5

Monte Carlo Integration

2

X Y

focal plane / virtual image plane

Z

x

Z

y

Z

u

Z

v

f(x, y, u, v) dv du dy dx

V U

Aperture

slide-6
SLIDE 6

Monte Carlo Integration

3

… an in-focus pixel has an underlying…

slide-7
SLIDE 7

Monte Carlo Integration

4

…2D function f(x).

slide-8
SLIDE 8

5

Monte Carlo Integration

f(~ x)

We are interested in computing [CLICK] the integral of this function. In practice, it is not always possible to compute this integral analytically. This is where we sought to Monte Carlo integration which involves point sampling…

slide-9
SLIDE 9

5

Monte Carlo Integration

I = Z 1 f(~ x)d~ x

f(~ x)

slide-10
SLIDE 10

6

Monte Carlo Integration

f(~ x)

I = Z 1 f(~ x)d~ x

…the underlying function, as a result we can represent this integral as a Monte Carlo estimator…

slide-11
SLIDE 11

6

Monte Carlo Integration

f(~ x)

I = Z 1 f(~ x)d~ x

slide-12
SLIDE 12

7

Monte Carlo Integration

f(~ x)

IN = 1 N

N

X

k=1

f(~ xk) p(~ xk)

… where p [CLICK] is the probability density function used to distribute these point samples. This process is highly noise prone and if we look at an out of focus region…

slide-13
SLIDE 13

7

Monte Carlo Integration

f(~ x)

IN = 1 N

N

X

k=1

f(~ xk) p(~ xk)

slide-14
SLIDE 14

8

Variance

Z

x

Z

y

Z

u

Z

v

f(x, y, u, v) dv du dy dx …which has an underlying 4D integral, it appears to be very noise. One way to reduce this noise is to increase…

slide-15
SLIDE 15

Variance Convergence Rate of Samplers

9

Number of Samples Variance

…increase the sample count till the image becomes noise-free (converge). The rate at which this image converges depend on the underlying sampling pattern used. For example, with 4D jittered samples, we would obtain a 4D convergence rate of O(N^-1.25) whereas with Poisson disk…

slide-16
SLIDE 16

Variance Convergence Rate of Samplers

9

Number of Samples Variance

slide-17
SLIDE 17

Variance Convergence Rate of Samplers

9

Number of Samples Variance

O(N −1.25)

4D Jittered

slide-18
SLIDE 18

10

Number of Samples Variance Poisson Disk

Variance Convergence Rate of Samplers

Pilleboue et al. [2015]

4D Jittered

O(N −1.25)

… we can obtain less noisy images at small sample count but [CLICK] as we increase the samples the convergence rate obtained is O(N^-1). These convergence rates can be empirically computed using the sample variance but recently Pilleboue and Colleagues in [2015] proposed a variance formulation in the Fourier domain, which allows to theoretically derive these convergence rates even for blue noise samples. Their work was developed following the work by [CLICK] Fredo Durand and Subr & Kautz. We will briefly revisit this work first.

slide-19
SLIDE 19

10

Number of Samples Variance Poisson Disk

Variance Convergence Rate of Samplers

Pilleboue et al. [2015]

4D Jittered

O(N −1.25)

O(N −1)

slide-20
SLIDE 20

10

Number of Samples Variance Poisson Disk

Variance Convergence Rate of Samplers

Pilleboue et al. [2015] Subr & Kautz [2013] Fredo Durand [2011]

4D Jittered

O(N −1.25)

O(N −1)

slide-21
SLIDE 21

Monte Carlo Estimator

11

IN = 1

N

N

X

k=1

f(~ xk)

Fredo Durand [2011] We start with a Monte Carlo estimator with a unit pdf, which can be written [CLICK] in continuous form using the [CLICK] dirac-delta functions. This integral can be rewritten in the [CLICK] following form where S(x) represents the sum of diracs [CLICK] as a sampling function. In this sampling function, x_k [CLICK] represents the sample locations shown as these green dots. To represent variance in the Fourier domain, we need the expected power spectrum of these samples. This is computed by first…

slide-22
SLIDE 22

Monte Carlo Estimator

11

IN = 1

N

N

X

k=1

f(~ xk)

Fredo Durand [2011]

1 N

N

X

k=1

(~ x − ~ xk)f(~ x) d~ x Z 1 =

slide-23
SLIDE 23

Monte Carlo Estimator

11

IN = 1

N

N

X

k=1

f(~ xk)

Fredo Durand [2011]

1 N

N

X

k=1

(~ x − ~ xk)f(~ x) d~ x Z 1 =

slide-24
SLIDE 24

Monte Carlo Estimator

11

IN = 1

N

N

X

k=1

f(~ xk)

Fredo Durand [2011]

1 N

N

X

k=1

(~ x − ~ xk)f(~ x) d~ x Z 1 = f(~ x)d~ x Z 1 SN(~ x) =

slide-25
SLIDE 25

Monte Carlo Estimator

11

IN = 1

N

N

X

k=1

f(~ xk)

Fredo Durand [2011]

1 N

N

X

k=1

(~ x − ~ xk)f(~ x) d~ x Z 1 = f(~ x)d~ x Z 1 SN(~ x) =

slide-26
SLIDE 26

Monte Carlo Estimator

11

IN = 1

N

N

X

k=1

f(~ xk)

Fredo Durand [2011]

1 N

N

X

k=1

(~ x − ~ xk)f(~ x) d~ x Z 1 = f(~ x)d~ x Z 1 SN(~ x) =

SN(~ x) = 1 N

N

X

k=1

(~ x − ~ xk)

slide-27
SLIDE 27

Monte Carlo Estimator

11

IN = 1

N

N

X

k=1

f(~ xk)

Fredo Durand [2011]

1 N

N

X

k=1

(~ x − ~ xk)f(~ x) d~ x Z 1 = f(~ x)d~ x Z 1 SN(~ x) =

SN(~ x) = 1 N

N

X

k=1

(~ x − ~ xk)

slide-28
SLIDE 28

Samples Power Spectrum

12

SN(~ x) = 1 N

N

X

k=1

(~ x − ~ xk) Samples

Poisson Disk

IN

f(~ x)d~ x Z 1 SN(~ x) = … computing the Power spectrum of the samples, followed by…

slide-29
SLIDE 29

Samples Power Spectrum

12

PSN (ν)

  • 1

N

N

X

k=1

e−i2⇡⌫·~

xk

  • 2

=

SN(~ x) = 1 N

N

X

k=1

(~ x − ~ xk) Samples Spectrum

Poisson Disk

IN

f(~ x)d~ x Z 1 SN(~ x) =

slide-30
SLIDE 30

Expected Sampling Power Spectra

13

Samples Spectrum SN(~ x) = 1 N

N

X

k=1

(~ x − ~ xk)

Poisson Disk

IN

f(~ x)d~ x Z 1 SN(~ x) = …generating multiple realizations of these samples and their corresponding power spectra. We then take the expectation…

slide-31
SLIDE 31

Expected Sampling Power Spectra

13

PSN (ν)

  • 1

N

N

X

k=1

e−i2⇡⌫·~

xk

  • 2

=

Samples Spectrum SN(~ x) = 1 N

N

X

k=1

(~ x − ~ xk)

Poisson Disk

IN

f(~ x)d~ x Z 1 SN(~ x) =

slide-32
SLIDE 32

Expected Sampling Power Spectra

14

PSN (ν) =

h

i h

i

  • 1

N

N

X

k=1

e−i2⇡⌫·~

xk

  • 2

SN(~ x) = 1 N

N

X

k=1

(~ x − ~ xk) Samples Spectrum

h i

Poisson Disk

IN

f(~ x)d~ x Z 1 SN(~ x) = …of these power spectra to obtain…

slide-33
SLIDE 33

Expected Sampling Power Spectra

15

PSN (ν)

  • 1

N

N

X

k=1

e−i2⇡⌫·~

xk

  • 2

=

h

i h

i

SN(~ x) = 1 N

N

X

k=1

(~ x − ~ xk) Samples Expected Spectrum

Poisson Disk

IN

f(~ x)d~ x Z 1 SN(~ x) = … the expected spectrum. Given the sampling expected power spectrum,…

slide-34
SLIDE 34

Variance of Monte Carlo Estimator

16

PSN (ν)

h i

Fredo Durand [2011] Subr & Kautz [2013]

f(~ x)

Poisson Disk

SN(~ x) …and the integrand f(x) that we are interested to evaluate, if we can compute the power spectrum [CLICK] of f(x), then we can obtain the variance by simply [CLICK] taking the integral over the product of these spectra. Pilleboue and colleagues [CLICK] extended this formulation to different samplers using

  • homogenization. They rewrote this formulation…
slide-35
SLIDE 35

Variance of Monte Carlo Estimator

16

PSN (ν)

h i

Pf(ν)

Fredo Durand [2011] Subr & Kautz [2013]

f(~ x)

Poisson Disk

SN(~ x)

slide-36
SLIDE 36

Variance of Monte Carlo Estimator

16

Z

Var(IN) =

×

PSN (ν)

h i

Pf(ν)

Fredo Durand [2011] Subr & Kautz [2013]

f(~ x)

Poisson Disk

SN(~ x)

slide-37
SLIDE 37

Variance of Monte Carlo Estimator

16

Z

Var(IN) =

×

PSN (ν)

h i

Pf(ν)

Fredo Durand [2011] Subr & Kautz [2013] Pilleboue et al. [2015]

f(~ x)

Poisson Disk

SN(~ x)

slide-38
SLIDE 38

Variance of Monte Carlo Estimator in Polar Coordinates

17

Var(IN) =

˜ PSN(ρn)

h i

Pf(ρn)

Z

Sd−1

Z ∞ dρ dn

Pilleboue et al. [2015]

ρd−1 ×

…in polar coordinates, as a double integral where the inner integral [CLICK] is over all the directions and the outer integral is over all the [CLICK] radial frequencies. They simplified this formulation further for isotropic sampling spectra [CLICK] which has the same energy in all directions for a given radial frequency. As a result, the sampling spectrum does not depend on directions, and we can safely take it out of the inner integral…

slide-39
SLIDE 39

Variance of Monte Carlo Estimator in Polar Coordinates

17

Var(IN) =

˜ PSN(ρn)

h i

Pf(ρn)

Z

Sd−1

Z ∞ dρ dn

Pilleboue et al. [2015]

ρd−1 ×

slide-40
SLIDE 40

Variance of Monte Carlo Estimator in Polar Coordinates

17

Var(IN) =

˜ PSN(ρn)

h i

Pf(ρn)

Z

Sd−1

Z ∞ dρ dn

Pilleboue et al. [2015]

ρd−1 ×

slide-41
SLIDE 41

Variance of Monte Carlo Estimator in Polar Coordinates

17

Var(IN) =

˜ PSN(ρn)

h i

Pf(ρn)

Z

Sd−1

Z ∞ dρ dn

Pilleboue et al. [2015]

ρd−1 ×

slide-42
SLIDE 42

18

Pilleboue et al. [2015]

×

˜ PSN(ρn)

h i

Pf(ρn)

Z

Sd−1

dρ dn ρd−1

Variance of Monte Carlo Estimator for Isotropic Sampling Spectra Var(IN) =

Z ∞

…in polar coordinates, where the inner integral [CLICK] is over all the directions and the outer integral is over all the radial frequencies. They simplified this formulation further for [CLICK] isotropic sampling spectra [CLICK] which has the same energy in all directions for a given radial frequency,. As a result, the sampling spectrum does not depend on directions, and we can safely take it out of the inner integral…

slide-43
SLIDE 43

19

˜ PSN(ρ)

Pf(ρn)

Z

Sd−1

dρ dn

Pilleboue et al. [2015]

ρd−1

Variance of Monte Carlo Estimator for Isotropic Sampling Spectra Var(IN) =

Z ∞

…for any one direction. Now, The integral [CLICK] over the integrand spectrum can be rewritten…

slide-44
SLIDE 44

19

˜ PSN(ρ)

Pf(ρn)

Z

Sd−1

dρ dn

Pilleboue et al. [2015]

ρd−1

Variance of Monte Carlo Estimator for Isotropic Sampling Spectra Var(IN) =

Z ∞

slide-45
SLIDE 45

20

˜ PSN(ρ)

Pilleboue et al. [2015]

Pf(ρn)

Variance of Monte Carlo Estimator for Isotropic Sampling Spectra

ρd−1

×

Var(IN) =

Z ∞

… as a radial average over all the directions, which results in a…

slide-46
SLIDE 46

21

Pf(ρ)

Pilleboue et al. [2015]

˜ PSN(ρ)

ρd−1 dρ

Variance of Monte Carlo Estimator for Isotropic Sampling Spectra

×

Var(IN) =

Z ∞

…1D radial function. This allowed Pilleboue and colleagues to represent variance as 1D integral just over the radial frequencies. They used this formulation to derive convergence rates…

slide-47
SLIDE 47

22

Pilleboue et al. [2015] Samplers Worst Case Best Case

Random Poisson Disk CCVT

Variance of Monte Carlo Estimator for Isotropic Sampling Spectra Pf(ρ)

ρd−1 dρ

˜ PSN(ρ)

×

Var(IN) =

Z ∞

…of different samplers [CLICK], including random, poisson disk and CCVT. This was done under the assumption that the sampling spectra are [CLICK] isotropic. In practice, however, the samplers that we use are highly anisotropic in nature. For example,..

slide-48
SLIDE 48

22

Pilleboue et al. [2015] Samplers Worst Case Best Case

Random Poisson Disk CCVT

O(N −1) O(N −1) O(N −1) O(N −1) O(N −1.5) O(N −3)

Variance of Monte Carlo Estimator for Isotropic Sampling Spectra Pf(ρ)

ρd−1 dρ

˜ PSN(ρ)

×

Var(IN) =

Z ∞

slide-49
SLIDE 49

22

Pilleboue et al. [2015] Samplers Worst Case Best Case

Random Poisson Disk CCVT

O(N −1) O(N −1) O(N −1) O(N −1) O(N −1.5) O(N −3)

Isotropic Spectrum Poisson Disk

Variance of Monte Carlo Estimator for Isotropic Sampling Spectra Pf(ρ)

ρd−1 dρ

˜ PSN(ρ)

×

Var(IN) =

Z ∞

slide-50
SLIDE 50

23

Latin Hypercube Sampler (N-rooks)

…a Latin hypercube sampler, that uses well 1D stratified samples, which are then randomly permuted to form [CLICK] 2D samples, has an…

slide-51
SLIDE 51

24

Latin Hypercube Sampler (N-rooks)

…a Latin hypercube sampler, that uses well 1D stratified samples, which are then randomly permuted to form [CLICK] 2D samples, has an…

slide-52
SLIDE 52

24

Initialize

Latin Hypercube Sampler (N-rooks)

slide-53
SLIDE 53

25

Shuffle rows

Latin Hypercube Sampler (N-rooks)

…a Latin hypercube sampler, that uses well 1D stratified samples, which are then randomly permuted to form [CLICK] 2D samples, has an…

slide-54
SLIDE 54

25

Shuffle rows

Latin Hypercube Sampler (N-rooks)

slide-55
SLIDE 55

26

Latin Hypercube Sampler (N-rooks)

…a Latin hypercube sampler, that uses well 1D stratified samples, which are then randomly permuted to form [CLICK] 2D samples, has an…

slide-56
SLIDE 56

27

Shuffle columns

Latin Hypercube Sampler (N-rooks)

slide-57
SLIDE 57

27

Shuffle columns

Latin Hypercube Sampler (N-rooks)

slide-58
SLIDE 58

28

Latin Hypercube Sampler (N-rooks)

slide-59
SLIDE 59

29

Latin Hypercube Sampler (N-rooks)

slide-60
SLIDE 60

30

Anisotropic Sampling Power Spectra

N-rooks / Latin Hypercube N-rooks Spectrum … anisotropic power spectrum with hairline structures visible as a dark cross in the middle. These hairline anisotropies are there due to the denser stratification along the X…

slide-61
SLIDE 61

31

N-rooks / Latin Hypercube Spectrum

Anisotropic Sampling Power Spectra

… anisotropic power spectrum with a dark cross in the middle. These hairline anisotropies are there due to the denser stratification along the X…

slide-62
SLIDE 62

32

N-rooks / Latin Hypercube N-rooks Spectrum

Anisotropic Sampling Power Spectra

…and the Y-axis. It is also possible to directly obtain good 2D stratified samples…

slide-63
SLIDE 63

33

N-rooks / Latin Hypercube Jitter N-rooks Spectrum

Anisotropic Sampling Power Spectra

…which has a power spectrum [CLICK] with a dark region around the center. Chiu and colleagues, optimized these samples…

slide-64
SLIDE 64

33

N-rooks / Latin Hypercube Jitter N-rooks Spectrum Jitter Spectrum

Anisotropic Sampling Power Spectra

slide-65
SLIDE 65

34

N-rooks / Latin Hypercube Multi-Jitter N-rooks Spectrum Multi-Jitter Spectrum

Anisotropic Sampling Power Spectra

Chiu et al. [1993] …to obtain denser stratification…

slide-66
SLIDE 66

35

N-rooks / Latin Hypercube Multi-jitter N-rooks Spectrum Multi-Jitter Spectrum

Anisotropic Sampling Power Spectra

Chiu et al. [1993] …along the horizontal…

slide-67
SLIDE 67

36

N-rooks / Latin Hypercube Multi-jitter N-rooks Spectrum

Anisotropic Sampling Power Spectra

Multi-Jitter Spectrum Chiu et al. [1993] …and vertical axis, on top of 2D stratification, which results in multi-jittered samples with a hairline anisotropy along the canonical axes that is visible as a cross in the middle of it’s spectrum. The same ideas extend to…

slide-68
SLIDE 68

Sampling in Higher Dimensions

37

…to higher dimensions. For example, in 4D…

slide-69
SLIDE 69

38

Rob Cook [1986] X Y U V

4D Sampling

…instead of directly sampling the full 4D space, Rob Cook in [1986] proposed to sample [CLICK] the lower 2D subspaces first, UV and XY here, and then randomly permute these 2D samples to form [CLICK] 4D tuples, which can then be used to evaluate an underlying 4D integrand. In practice…

slide-70
SLIDE 70

38

(x1, y1) (x2, y2) (x3, y3) (x4, y4) (u4, v4) (u3, v3) (u2, v2) (u1, v1) . . . . . .

2D 2D Rob Cook [1986] X Y U V

4D Sampling

slide-71
SLIDE 71

38

(x1, y1, u3, v3) (x1, y1) (x2, y2) (x3, y3) (x4, y4) (u4, v4) (u3, v3) (u2, v2) (u1, v1) . . . . . . (x2, y2, u1, v1) (x3, y3, u4, v4) (x4, y4, u2, v2) . . .

2D 2D 4D Rob Cook [1986] X Y U V

4D Sampling

slide-72
SLIDE 72

39

Rob Cook [1986] X Y U V Uncorrelated Jitter

(x1, y1, u3, v3) (x1, y1) (x2, y2) (x3, y3) (x4, y4) (u4, v4) (u3, v3) (u2, v2) (u1, v1) . . . (x2, y2, u1, v1) (x3, y3, u4, v4) (x4, y4, u2, v2) . . .

2D 2D 4D

. . .

4D Sampling

…rendering systems tend to use jittered samples on these 2D subspaces. It is, however, beneficial to use…

slide-73
SLIDE 73

40

Rob Cook [1986] X Y U V Uncorrelated Poisson Disk

(x1, y1, u3, v3) (x1, y1) (x2, y2) (x3, y3) (x4, y4) (u4, v4) (u3, v3) (u2, v2) (u1, v1) . . . (x2, y2, u1, v1) (x3, y3, u4, v4) (x4, y4, u2, v2) . . .

2D 2D 4D

. . .

4D Sampling

…rendering systems tend to use jittered samples on these 2D subspaces. It is, however, beneficial to use…

slide-74
SLIDE 74

4D Sampling Spectra along Projections

Spectra Samples UV Poisson Disk Poisson Disk XY

41

…power spectrum in these 2D projections, it has hairline anisotropy along the [CLICK] canonical axes on top of the [CLICK] big dark region that corresponds to 2D jittered sampling. However, If we look at the XU projection…

slide-75
SLIDE 75

4D Sampling Spectra along Projections

Spectra Samples UV Poisson Disk Poisson Disk XY

41

slide-76
SLIDE 76

4D Sampling Spectra along Projections

Spectra Samples UV XY

42

Poisson Disk Poisson Disk XU

42

…power spectrum in these 2D projections, it has hairline anisotropy along the [CLICK] canonical axes on top of the [CLICK] big dark region that corresponds to 2D jittered sampling. However, If we look at the XU projection…

slide-77
SLIDE 77

4D Sampling Spectra along Projections

Spectra Samples UV XY

42

Poisson Disk Poisson Disk XU

42

slide-78
SLIDE 78

4D Sampling Spectra along Projections

Spectra Samples YV XU

43

UV XY Poisson Disk Poisson Disk …power spectrum in these 2D projections, it has hairline anisotropy along the [CLICK] canonical axes on top of the [CLICK] big dark region that corresponds to 2D jittered sampling. However, If we look at the XU projection…

slide-79
SLIDE 79

How can we perform Convergence Analysis for Anisotropic Sampling Spectra ?

44

…to higher dimensions. For example, in 4D…

slide-80
SLIDE 80

45

Z

dν ×

Var(IN) =

PSN (ν)

h i

Pf(ν) f(~ x)

N-rooks

SN(~ x)

Variance Formulation for Anisotropic Sampling Spectra

N-rooks spectrum Integrand spectrum

…for N-rooks sampler as a product of sampling and integrand spectra. As before, we rewrite this formulation in polar coordinates…

slide-81
SLIDE 81

46

Var(IN) =

Pf(ρn)

Z

Sd−1

Z ∞ dρ dn ρd−1

PSN(ρn)

h i

Variance Formulation for Anisotropic Sampling Spectra

×

…as a double integral. By switching the order of the integration…

slide-82
SLIDE 82

47

Var(IN) =

Pf(ρn)

Z

Sd−1

Z ∞ dρdn ρd−1

PSN(ρn)

h i

Variance Formulation for Anisotropic Sampling Spectra

×

…the inner integral now represents the integration over the radial frequencies…

slide-83
SLIDE 83

Var(IN) =

48

PSN(ρknk)

h i

Pf(ρknk) Variance Formulation for Anisotropic Sampling Spectra

Z

Sd−1

Z ∞

0ρd−1

dρdn ×

… for a given k-th direction. Since the outer integral…

slide-84
SLIDE 84

Var(IN) =

48

PSN(ρknk)

h i

Pf(ρknk) Variance Formulation for Anisotropic Sampling Spectra

Z

Sd−1

Z ∞

0ρd−1

dρdn ×

slide-85
SLIDE 85

Var(IN) =

49

PSN(ρknk)

h i

Pf(ρknk) Variance Formulation for Anisotropic Sampling Spectra

Z

Sd−1

Z ∞

0ρd−1

dρdn ×

… is over all the directions, using Reimann summation, we can rewrite the outer integral…

slide-86
SLIDE 86

Var(IN) =

50

m

X

k=1

∆nk

lim

m→∞

Variance Formulation for Anisotropic Sampling Spectra

Z ∞

0ρd−1

PSN(ρknk)

h i

Pf(ρknk)

×

…as a summation over an infinite directional cones. After slight rearrangement, we obtain the variance formulation…

slide-87
SLIDE 87

Var(IN) =

51

m

X

k=1

∆nk

PSN(ρknk)

h i

lim

m→∞

Pf(ρknk) Variance Formulation for Anisotropic Sampling Spectra

Z ∞

0ρd−1

dρ ×

…as a summation over an infinite directional cones. After slight rearrangement, we obtain the variance formulation…

slide-88
SLIDE 88

52

Var(IN) =

Z ∞ dρ ρd−1 PSN(ρknk)

h i

m

X

k=1

∆nk lim

m→∞

Pf(ρknk)

Variance Formulation for Anisotropic Sampling Spectra

… for anisotropic samplers. One thing to note about this formulation is that, the inner integral…

slide-89
SLIDE 89

Pf(ρknk)

PSN(ρknk)

h i

Variance Formulation for Anisotropic Sampling Spectra

53

Var(IN) =

Z ∞ dρ ρd−1 PSN(ρknk)

h i

m

X

k=1

∆nk lim

m→∞

Pf(ρknk) …considers the radial behavior of both the sampling and the integrand spectra for a given k-th direction, which when [CLICK] added up for all the directional cones, gives the variance. This shows that, unlike previous work, our formulation not only [CLICK] handles anisotropic sampling spectra but also intimately couples the anisotropic structures present in the integrand spectrum with that of the sampling spectrum. We will see shortly how this impacts the convergence rate but first, lets analyze the anisotropic structures of N-rooks spectrum more closely.

slide-90
SLIDE 90

Pf(ρknk)

PSN(ρknk)

h i

Variance Formulation for Anisotropic Sampling Spectra

53

Var(IN) =

Z ∞ dρ ρd−1 PSN(ρknk)

h i

m

X

k=1

∆nk lim

m→∞

Pf(ρknk)

slide-91
SLIDE 91

Pf(ρknk)

PSN(ρknk)

h i

Variance Formulation for Anisotropic Sampling Spectra

53

Var(IN) =

Z ∞ dρ ρd−1 PSN(ρknk)

h i

m

X

k=1

∆nk lim

m→∞

Pf(ρknk)

slide-92
SLIDE 92

Pf(ρknk)

PSN(ρknk)

h i

Variance Formulation for Anisotropic Sampling Spectra

53

Var(IN) =

Z ∞ dρ ρd−1 PSN(ρknk)

h i

m

X

k=1

∆nk lim

m→∞

Pf(ρknk)

slide-93
SLIDE 93

54

Power Spectrum Radial Power Spectrum Convergence Analysis for Anisotropic Sampling Spectra N-rooks power spectrum has [CLICK] jittered radial profile along the canonical axes, and [CLICK] a constant radial profile along all other directions. For the convergence rate, we only need…

slide-94
SLIDE 94

54

Power Spectrum Radial Power Spectrum

Power Frequency

Along canonical axes

Jittered Spectrum Profile

Convergence Analysis for Anisotropic Sampling Spectra

slide-95
SLIDE 95

54

Power Spectrum Radial Power Spectrum

Power Frequency

Along canonical axes

Jittered Spectrum Profile

Convergence Analysis for Anisotropic Sampling Spectra

Power Frequency

Other directions

Random Spectrum Profile

slide-96
SLIDE 96

54

Power Spectrum Radial Power Spectrum

Power Frequency

Along canonical axes

Jittered Spectrum Profile

Convergence Analysis for Anisotropic Sampling Spectra

Power Frequency

Other directions

Random Spectrum Profile

slide-97
SLIDE 97

55

Power Spectrum Radial Power Spectrum

Power Frequency

Along canonical axes Convergence Analysis for Anisotropic Sampling Spectra

Power Frequency

Other directions

Random Spectrum Profile Jittered Spectrum Profile

… one of the canonical direction (shown in purple) and one of the direction from the rest of the spectrum (shown in green) since the behavior is the same in all other

  • directions. Now, depending on the integrands…
slide-98
SLIDE 98

56

Convergence Analysis for Anisotropic Sampling Spectra Spectrum

Along canonical axes Other directions

Power Power

PSN (ν)

h i

Radial Spectrum

f(~ x) f(~ x) …we can get different convergence rates from the same sampler. For example, the step function in magenta box has [CLICK] a power spectrum with all its energy along the horizontal axis. As a result, only the horizontal axis [CLICK] with jittered profile would overlap with the integrand spectrum and will result in a convergence rate of [CLICK] O(N^-2). Since the other directions doesn't overlap with this integrand spectrum, they won’t [CLICK] impact the convergence behavior. However, if we have an integrand with a [CLICK] power spectrum having energy along all the directions, we may see [CLICK] two different convergence behavior in its variance plot as we go toward higher sample count. However, asymptotically only the worse of the two would dominate, and we will see a convergence rate of O(N^-1). To understand this mathematically, lets look at the variance formulation, which is the product…

slide-99
SLIDE 99

56

Convergence Analysis for Anisotropic Sampling Spectra Spectrum

Along canonical axes Other directions

Power Power

Pf(ν)

PSN (ν)

h i

Radial Spectrum

f(~ x) f(~ x)

slide-100
SLIDE 100

56

Convergence Analysis for Anisotropic Sampling Spectra Spectrum

Along canonical axes Other directions

Power Power

Pf(ν)

PSN (ν)

h i

Radial Spectrum

f(~ x) f(~ x)

slide-101
SLIDE 101

56

Convergence Analysis for Anisotropic Sampling Spectra Spectrum

Along canonical axes Other directions

Power

O(N −2)

Power

Pf(ν)

PSN (ν)

h i

Radial Spectrum

f(~ x) f(~ x)

slide-102
SLIDE 102

56

Convergence Analysis for Anisotropic Sampling Spectra Spectrum

Along canonical axes Other directions

Power

O(N −2)

Power

No Impact

Pf(ν)

PSN (ν)

h i

Radial Spectrum

f(~ x) f(~ x)

slide-103
SLIDE 103

56

Convergence Analysis for Anisotropic Sampling Spectra Spectrum

Along canonical axes Other directions

Power

O(N −2)

Power

No Impact

Pf(ν) Pf(ν)

PSN (ν)

h i

Radial Spectrum

f(~ x) f(~ x)

slide-104
SLIDE 104

56

Convergence Analysis for Anisotropic Sampling Spectra Spectrum

Along canonical axes Other directions

Power

O(N −2) O(N −1)

Power

O(N −2)

No Impact

Pf(ν) Pf(ν)

PSN (ν)

h i

Radial Spectrum

f(~ x) f(~ x)

slide-105
SLIDE 105

56

Convergence Analysis for Anisotropic Sampling Spectra Spectrum

Along canonical axes Other directions

Power

O(N −2) O(N −1)

Power

O(N −2)

No Impact

Pf(ν) Pf(ν)

PSN (ν)

h i

Radial Spectrum

f(~ x) f(~ x)

(

O(N −1)

slide-106
SLIDE 106

57

Z

x

Var(IN) =

PSN (ν)

h i

Pf(ν)

N-rooks spectrum Integrand spectrum

Variance due to N-rooks Sampler

f(~ x) … of N-rooks sampling spectrum and the integrand spectrum. Due to the dark hairline anisotropy [CLICK] present in the sampling spectrum, their [CLICK] product goes down very quickly, resulting in huge variance reduction and good asymptotic convergence. However, for the second pixel…

slide-107
SLIDE 107

57

Z

x

Var(IN) =

PSN (ν)

h i

Pf(ν)

N-rooks spectrum Integrand spectrum

Variance due to N-rooks Sampler

f(~ x)

slide-108
SLIDE 108

57

Z

x

Var(IN) =

PSN (ν)

h i

Pf(ν)

Z

=

N-rooks spectrum Integrand spectrum

Variance due to N-rooks Sampler

f(~ x)

slide-109
SLIDE 109

58

Z

x

Var(IN) =

PSN (ν)

h i

Pf(ν)

Z

=

Z

x

Var(IN) =

N-rooks spectrum N-rooks spectrum Integrand spectrum Integrand spectrum

Variance due to N-rooks Sampler

f(~ x) f(~ x) … since the integrand spectrum has energy spread over all the directions, the [CLICK] hairline anisotropy of the sampling spectrum [CLICK] does not significantly reduce the product, resulting in higher variance. We further verified this..

slide-110
SLIDE 110

58

Z

x

Var(IN) =

PSN (ν)

h i

Pf(ν)

Z

=

Z

x

Var(IN) =

N-rooks spectrum N-rooks spectrum Integrand spectrum Integrand spectrum

Variance due to N-rooks Sampler

f(~ x) f(~ x)

slide-111
SLIDE 111

58

Z

x

Var(IN) =

PSN (ν)

h i

Pf(ν)

Z

=

Z

=

Z

x

Var(IN) =

N-rooks spectrum N-rooks spectrum Integrand spectrum Integrand spectrum

Variance due to N-rooks Sampler

f(~ x) f(~ x)

slide-112
SLIDE 112

59

O(N −1) O(N −2)

Pixel B

Variance Convergence of Latin Hypercube (N-rooks)

Pixel A

Pf(ν)

PSN (ν)

h i

…experimentally, where we plot variance with increasing sample count. This shows that if we can align the anisotropic structures of the sampling spectrum Ps with that

  • f the integrand spectrum Pf, we can gain huge variance reductions, as shown with the magenta curve. But in most scenarios…
slide-113
SLIDE 113

59

O(N −1) O(N −2)

Pixel B

Variance Convergence of Latin Hypercube (N-rooks)

(-) (-)

  • O(N −1)

O(N −2)

Number of Samples Variance

Pixel A

Pf(ν)

PSN (ν)

h i

slide-114
SLIDE 114

60

Non-Axis Aligned Integrand Spectra

Pf(ν)

Integrand Spectrum …the underlying integrand spectrum has arbitrary orientation. If we choose to sample this function…

slide-115
SLIDE 115

61

Multi-jittered Samples

Non-Axis Aligned Integrand Spectra

Pf(ν)

Integrand Spectrum …with multi-jittered samples which has [CLICK] the following power spectrum, we won’t be able to benefit from these hairline anisotropic structures since they are axis-

  • aligned. To solve this issue, we propose to shear…
slide-116
SLIDE 116

61

Multi-jittered Samples

Non-Axis Aligned Integrand Spectra

Pf(ν)

PSN (ν)

h i

Sampling Spectrum Integrand Spectrum

slide-117
SLIDE 117

62

Shearing Multi-Jittered Samples

Pf(ν)

Sheared Samples Sheared Spectrum Integrand Spectrum

PSN (ν)

h i

…the samples in such a way that we can align the sampling spectrum with that of the integrand spectrum. But, the key question here is…

slide-118
SLIDE 118

63

Pf(ν)

Sheared Samples Integrand Spectrum

How can we determine the sample shearing parameters ?

PSN (ν)

h i

Sheared Spectrum …how can we determine these shear parameters ? The answer to this question requires some preprocessing to know the frequency content of the integrand. Therefore, we propose the following steps.

slide-119
SLIDE 119

Our Algorithm

64

In the first step, we [CLICK] leverage the light transport frequency analysis, developed over more than a decade, to create an oracle that can give us the shear parameters of the integrand spectrum. [CLICK] We then use these shear parameters given by the oracle to shear the samples. [CLICK] After that, we use these sheared samples to perform Monte Carlo Integration. Lets go over this algorithm starting from the….

slide-120
SLIDE 120

Our Algorithm

64

1) Develop an oracle using the Frequency Analysis of Light Transport

slide-121
SLIDE 121

Our Algorithm

64

1) Develop an oracle using the Frequency Analysis of Light Transport 2) Use this oracle to shear the samples

slide-122
SLIDE 122

Our Algorithm

64

1) Develop an oracle using the Frequency Analysis of Light Transport 2) Use this oracle to shear the samples 3) Perform Monte Carlo integration using the sheared samples

slide-123
SLIDE 123

Frequency Analysis of Light Transport

65

…frequency analysis of light transport. In 2005,…

slide-124
SLIDE 124

Related Work

66

  • Frequency Analysis of Light Transport Durand et al. [2005]

Durand and colleagues proposed a Fourier domain framework to study the light transport. Later on, [CLICK] this analysis was leveraged for depth of field, motion blur, soft shadows, ambient occlusion and many other effects. [CLICK] All this previous work has been extensively…

slide-125
SLIDE 125

Related Work

66

  • Frequency Analysis of Light Transport Durand et al. [2005]
  • Depth of Field Soler et al. [2009]
  • Motion Blur Egan et al. [2009]
  • Ambient Occlusion Egan et al. [2011] and more…
slide-126
SLIDE 126

Related Work

67

  • Frequency Analysis of Light Transport Durand et al. [2005]
  • Depth of Field Soler et al. [2009]
  • Motion Blur Egan et al. [2009]
  • Ambient Occlusion Egan et al. [2011] and more…

Durand and colleagues proposed a Fourier domain framework to study the light transport. Later on, [CLICK] this analysis was leveraged for depth of field, motion blur, soft shadows, ambient occlusion and many other effects. [CLICK] All this previous work has been extensively…

slide-127
SLIDE 127

Related Work

68

Reconstruction

  • Frequency Analysis of Light Transport Durand et al. [2005]
  • Depth of Field Soler et al. [2009]
  • Motion Blur Egan et al. [2009]
  • Ambient Occlusion Egan et al. [2011] and more…

…used for reconstruction purposes. In this work [CLICK], we leverage the light transport frequency analysis [CLICK] for Integration purposes. We demonstrate our approach for a depth of field setup but our algorithm directly applies to other distribution effects like motion blur. In our setup…

slide-128
SLIDE 128

Related Work

68

Our Work Reconstruction

  • Frequency Analysis of Light Transport Durand et al. [2005]
  • Depth of Field Soler et al. [2009]
  • Motion Blur Egan et al. [2009]
  • Ambient Occlusion Egan et al. [2011] and more…
slide-129
SLIDE 129

Related Work

68

Our Work Reconstruction Integration

  • Frequency Analysis of Light Transport Durand et al. [2005]
  • Depth of Field Soler et al. [2009]
  • Motion Blur Egan et al. [2009]
  • Ambient Occlusion Egan et al. [2011] and more…
slide-130
SLIDE 130

69

V

Aperture

X

focal plane / virtual image plane

Depth of Field Analysis

U Y …we have a virtual image plane XY and a square aperture UV to simplify the analysis. We render a cornell box scene…

slide-131
SLIDE 131

70

U V

Aperture

X Y

focal plane / virtual image plane

Depth of Field Analysis

…with a defocus blur. Objects in this cornell box are placed at an increasing depth from your view point. Lets look at [CLICK] one pixel of this image [CLICK] which has [CLICK] the following underlying texture, and see how the light field is changing. To simplify the setup, we consider a 1D aperture…

slide-132
SLIDE 132

70

U V

Aperture

X Y

focal plane / virtual image plane

Depth of Field Analysis

slide-133
SLIDE 133

70

U V

Aperture

X Y

focal plane / virtual image plane

Depth of Field Analysis

slide-134
SLIDE 134

71

X

focal plane / virtual image plane

Depth of Field Analysis

U

1D Aperture

Y … and visualize this pixel…

slide-135
SLIDE 135

72

X Y

Depth of Field Analysis

U 1

1D Aperture

focal plane / virtual image plane

… on this virtual image plane as we move along the aperture. The underlying textures shifts…

slide-136
SLIDE 136

73

X Y

Depth of Field Analysis

U 1

1D Aperture

focal plane / virtual image plane

… as we go from left to right on this 1D aperture. This shifting in the XY plane results in…

slide-137
SLIDE 137

73

X Y

Depth of Field Analysis

U 1

1D Aperture

focal plane / virtual image plane

slide-138
SLIDE 138

74

X

Depth of Field Analysis

U XU Slices Durand et al. [2005] …a shear in the XU projection. Note that, if we have an in-focus pixel…

slide-139
SLIDE 139

75

X

Depth of Field Analysis

U XU Slices Durand et al. [2005] …a shear in the XU projection. Note that, if we have an in-focus pixel…

slide-140
SLIDE 140

76

X

Depth of Field Analysis

U Durand et al. [2005] XU Slices …the XU projection will not show any variation along the U-axis. As a result, the corresponding Fourier power spectrum…

slide-141
SLIDE 141

77

U X Ray space Spatial Fourier

Depth of Field Analysis

XU Slices … would have all its energy only along the horizontal axis. But as we go far from the focal plane…

slide-142
SLIDE 142

78

Depth of Field Analysis

Spatial Fourier U X Ray space Durand et al. [2005] XU Slices …we observe a shear in the light field.

slide-143
SLIDE 143

79

U X Ray space Spatial Fourier

Depth of Field Analysis

Durand et al. [2005] XU Slices …we observe a shear in the light field.

slide-144
SLIDE 144

80

U X Ray space Spatial Fourier

Depth of Field Analysis

Durand et al. [2005] XU Slices …we observe a shear in the light field.

slide-145
SLIDE 145

81

U X Ray space Spatial Fourier

Depth of Field Analysis

Durand et al. [2005] XU Slices This increase…

slide-146
SLIDE 146

Light Field gets Sheared

82

XU Slices Spectra 1 2 3 4 1 2 3 4 …in shear with objects depth can be easily represented in a mathematical form [CLICK] using the following equation, where [CLICK] F is the focal distance and [CLICK] d is the object depth. This shows that it is enough to know the depth for each pixel to compute the shear, given we already know the focal distance. Our oracle gives us the depth per pixel which we then use to shear the samples. Note that, given the different projections in this 4D light field…

slide-147
SLIDE 147

Light Field gets Sheared

82

XU Slices Spectra 1 2 3 4 1 2 3 4 Shear increases with object depth

slide-148
SLIDE 148

Light Field gets Sheared

82

XU Slices Spectra 1 2 3 4 1 2 3 4

x = x + uF − d d ,

slide-149
SLIDE 149

Light Field gets Sheared

82

XU Slices Spectra 1 2 3 4 1 2 3 4

x = x + uF − d d , F : focal distance

slide-150
SLIDE 150

Light Field gets Sheared

82

XU Slices Spectra 1 2 3 4 1 2 3 4

x = x + uF − d d , F : focal distance

d : depth of the hit object

slide-151
SLIDE 151

Spectra along Different Projections

83

XY XU UV YV Uncorrelated Multi-jittered Integrand …shearing happens only in the [CLICK] XU and YV projections, as shown in the bottom row. This means, we only need to shear the samples…

slide-152
SLIDE 152

Spectra along Different Projections

84

XU YV Uncorrelated Multi-jittered Integrand …shearing happens only in the [CLICK] XU and YV projections, as shown in the bottom row. This means, we only need to shear the samples…

slide-153
SLIDE 153

Spectra along Different Projections

84

XU YV Uncorrelated Multi-jittered Integrand

slide-154
SLIDE 154

Spectra along Different Projections

85

XU YV Uncorrelated Multi-jittered Integrand …in the XU and YV projections. Now that we know the shear parameters, we can apply this shear to a real rendering to analyze the benefits.

slide-155
SLIDE 155

Variance & Convergence Analysis with Sheared Samples

86

…variance and convergence rates. We consider the same cornell box scene…

slide-156
SLIDE 156

87

Cornell Box Scene

…with defocus blur. Since the scene is lit with a point light source, the out of focus pixels, for example, the [CLICK] one on the back wall, will have an underlying 4D function which has the following [CLICK] sheared integrand spectrum in the XU projection. If we sample the underlying 4D function with an uncorrelated-multijittered samples…

slide-157
SLIDE 157

87

Cornell Box Scene

Z

x

Z

y

Z

u

Z

v

f(x, y, u, v) dv du dy dx

slide-158
SLIDE 158

87

Cornell Box Scene

Integrand Spectrum X U

Z

x

Z

y

Z

u

Z

v

f(x, y, u, v) dv du dy dx

XU Projection

slide-159
SLIDE 159

88

X U X U Sampling Spectrum Integrand Spectrum

Original Uncorrelated-MultiJittered Samples

XU Projection …we get a cross in the XU projection of the sampling spectrum. Since this cross is not aligned with the integrand spectrum, it won’t help in variance reduction. Consequently, we see a convergence rate of (N^-1) for this pixel. However, if we shear the samples…

slide-160
SLIDE 160

88

X U X U Sampling Spectrum Integrand Spectrum

Original Uncorrelated-MultiJittered Samples

O(N −1)

Number of Samples

  • Original Samples

Variance

XU Projection

slide-161
SLIDE 161

89

Number of Samples Variance

  • Convergence improvement after Shearing

O(N −1)

O(N −1.5)

XU Subspace X U X U Sampling Spectrum Integrand Spectrum

Original Samples Sheared Samples

…to align the sampling spectrum with the integrand spectrum, we observe a 2D convergence of (N^-1.5) for this 4D integral. However, this is not true for all pixels. There are some pixels which show…

slide-162
SLIDE 162

90

  • Number of Samples

Sampling Spectrum Integrand Spectrum XU Subspace X U X U

Sheared Uncorrelated Multi-jittered Samples

O(N −1)

Original Samples Sheared Samples Variance

…improvement only in variance after shearing. For example, the following pixel shows 10X improvement in variance but only at a high sample count. Note that, this idea

  • f shearing is not limited to stochastic samples. We apply this idea to deterministic samplers like…
slide-163
SLIDE 163

Variance improvement after Shearing

91

  • Number of Samples

Number of Samples Variance Variance Halton Sobol

O(N −1) O(N −1)

…halton and sobol and observe similar improvements in variance and convergence rates. One thing you may have noticed here is that the improvements are visible after a large sample count. This happens due to the…

slide-164
SLIDE 164

Challenging Cases: XU & YV Projections

92

Sampling XU Spectrum …these very thin hairline anisotropic structures in the sampling spectra. These hairline anisotropic structures are only useful [CLICK] when we have hairline structures in the integrand spectrum, for which we can shear…

slide-165
SLIDE 165

Challenging Cases: XU & YV Projections

92

Sampling XU Spectrum Pixel A XU Spectrum

Hairline Anisotropy

slide-166
SLIDE 166

Challenging Cases: XU & YV Projections

93

Sampling XU Spectrum Pixel A XU Spectrum

Hairline Anisotropy

…the sampling spectrum to get benefits. However, even this alignment heavily depends [CLICK] on the accuracy of the oracle that provides the shear parameters. On the

  • ther hand, it is also very common to have pixels with a lot of occluders which results in a frequency footprint of a [CLICK] double wedge spectrum. The existing

samplers are not even close to handle these double wedge structures [CLICK] due to the presence of only hairline anisotropies. To handle these cases, our analysis suggests that…

slide-167
SLIDE 167

Challenging Cases: XU & YV Projections

93

Sampling XU Spectrum Pixel A XU Spectrum

Hairline Anisotropy

Oracle Accuracy

slide-168
SLIDE 168

Challenging Cases: XU & YV Projections

93

Sampling XU Spectrum Pixel A XU Spectrum

Hairline Anisotropy

Pixel B XU Spectrum

Double-wedge Anisotropy

Oracle Accuracy

slide-169
SLIDE 169

Challenging Cases: XU & YV Projections

93

Sampling XU Spectrum Sampling XU Spectrum Pixel A XU Spectrum

Hairline Anisotropy

Pixel B XU Spectrum

Double-wedge Anisotropy

Oracle Accuracy Double-wedge Spectrum

slide-170
SLIDE 170

Design Principles for New Sampling Patterns

94

XY XU Desired Sampling Spectra Multi-Jittered Spectra …where a desired sampling spectrum can have wider anisotropic structures in all the projections, that can greatly improve convergence rates and can also promise huge variance reduction. For pixels with a double-wedge…

slide-171
SLIDE 171

95

In both XU and YV Projections

Design Principles for New Sampling Patterns

Integrand Spectrum Desired Sampling Spectra … shaped spectrum, it could also be interesting to create sampling patterns that matches the wedge shaped target spectrum. With this I would like to conclude my talk and I will be happy to take any questions you may have. Thank you..

slide-172
SLIDE 172

Thank you for your attention!

96