adaptive wavelet renderingsungeui/sga/students/[cs680... · 2010-11-11 · craig donner . 2 the...

Post on 29-Jul-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Adaptive Wavelet Rendering

Author: Ryan Overbeck

Ravi Ramamoorthi

Presenter: Guillaume de Choulot

Craig Donner

2

The Problem (combined effects)

∫ Pixel

Area

∫ Area

Light

∫ Camera

Aperture

Pixel = … 6D

3

General combinations of effects

4D 5D 6D

Antialiasing

Depth of field Antialiasing

Depth of field

Motion Blur

Antialiasing

Depth of field

Area Lighting

Antialiasing

Depth of field

Envir. Lighting

Antialiasing

Depth of field

Area Lighting

1 Bounce GI

6D 8D

4

Monte Carlo Problem (1/1)

Noisy for low sample counts (smooth regions)

32 Samples Per Pixel

5

Monte Carlo Problem (2/2)

Requires hundreds to thousands of samples

512 Samples Per Pixel

6

Our Solution (important sampling)

Adaptive Wavelet Rendering

32 Samples Per Pixel

(average)

7

Features of Adaptive Wavelet Rendering

Low Sample Counts Converges from smooth

8

Features of Adaptive Wavelet Rendering

Low Sample Counts Converges from smooth

Near Reference:

32 samples per pixel

Average of 32 Samples Per Pixel

9

Features of Adaptive Wavelet Rendering

Low Sample Counts Converges from smooth

Near Reference:

32 samples per pixel

Smooth Preview Quality:

8 samples per pixel

Average of 8 Samples Per Pixel

10

Features of Adaptive Wavelet Rendering

Low Sample Counts

Efficient

Less samples gives Faster render times

11

Features of Adaptive Wavelet Rendering

Low Sample Counts

Efficient

Less samples gives Faster render times

Monte Carlo (512 spp)

>6 Hours

> 6 Hours Monte Carlo

512 Samples Per Pixel

12

Features of Adaptive Wavelet Rendering

Low Sample Counts

Efficient

Less samples gives Faster render times

Monte Carlo (512 spp)

Our Method (32 spp)

>6 Hours 34 minutes

34 Minutes Adaptive Wavelet Rendering

32 Samples Per Pixel (average)

13

Features of Adaptive Wavelet Rendering

Low Sample Counts

Efficient

General

Insensitive to problem dimensionality

General combinations of effects

∫ Pixel

Area

∫ Area

Light

∫ Camera

Aperture

… 8D ∫ Hemi-

sphere

32 Samples per pixel (average)

15 minutes

14

15

The Insight (Important sampling)

16

Variance is often local

Variance

Low

High

17

Send more samples to high variance

Sample Count

Low

High

Our method

32 Samples Per Pixel

(average)

18

Two forms of variance

Edges

Smooth Variance

19

Variance from image space: edges

Variance Low

High

20

Focused samples to image edges

Samples Low

High

Final Result

21

Variance from other dims: smooth

Variance Low

High

Difficult for Monte Carlo

22

Smooth is easier in multi-scale

23

Smooth is easier for wavelets

calculate pixel

wavelet synthesis

24

Coarse Sampling of Smooth Regions

Samples Low

High

Final Result

25

Algorithm Outline

Start: 4 Samples per Pixel

Adaptive Sampling

Reconstruction

26

Related Work

Adaptive sampling

Bolin & Meyer 1998, Whitted 1980, Mitchell 1987, Veach and Guibas 1997, Walter et al. 2006 (Multidim Lightcuts)

Multi-scale

Keller 2001 (Hierarchical MC), Heinrich and Sindambiwe 1999, Guo 1998, Bala et al. 2003, Walter et al. 2005 (Lightcuts), Perona and Malik 1990

Wavelet sampling and reconstruction

Our method

works well for both edges and smooth regions

27

Background: Wavelets

28

Wavelets made of 2 functions

Wavelet Scale

Low Pass

(smooth)

Band Pass

(edges)

29

Wavelet Hierarchy (1D)

Wavelet Scale

Low Pass

(smooth) Band Pass

(edges)

Wavelet Hierarchy (1D)

k = 1

k = 2

k = 3

Wavelet Scale

1D Tensor Product 2D Basis

=

=

=

=

scale

scale

scale

scale

wavelet

wavelet

wavelet wavelet

scale-scale

scale-wavelet

wavelet-scale

wavelet-wavelet

k = 3

32

Wavelet used

k = 4

JPEG

2000

compression

33

Wavelets Basis (& DWT)

Wavelets (Multi-scale basis) VS Pixel Basis

Multi scale: coefficient/wavelet expressed in

different scale

Discret Wavelet Transform (DWT):

1) Pixels Wavelets coefficient (Analysis)

2) Wavelets Pixels (Synthesis)

34

Wavelet Hierarchy

scale-scale scale-wavelet wavelet-scale wavelet-wavelet

Smooth regions Edges

k=3

k=2

k=1

k=4 k=5

35

III) Algorithm Outline

0) Start: 4 Samples per Pixel (skipped)

1) Adaptive Sampling

2) Reconstruction

36

1) Adaptive Sampling

Insert all scale coefficients into a priority queue

While more samples:

Send samples to highest priority coefficient

Update priority queue

The problem:

How to compute priority for each scale coefficient?

37

scale-scale

38

scale-scale

39

Wavelet synthesis is smoothing

scale-scale

40

Coarse scale captures smoothness

scale-scale

Smooth Region

41

Edges are in the fine scale

scale-scale

Edges

Smooth Region

Smoothed out

42

Adaptive Sampling

Goals:

In smooth regions, more samples to coarse coefficients

Near edges, more samples to fine coefficients

Solution:

Compute priority based on variance and smoothness

43

Start with Scale Coefficients’ Variance

Scale Variance

low high

44

Smooth variance grows fine to coarse

Scale Variance

low high

Higher

Smooth Region

45

Edge variance stays the same

Scale Variance

low high

Same

Edge Region

46

Squared wavelet magnitudes

Scale Variance (Wavelet Magnitude)

low high

2

47

Edge wavelets grow fine to coarse

Scale Variance (Wavelet Magnitude)

low high

2

Higher (ok)

Edge Region

48

Smooth wavelets stay the same

Scale Variance (Wavelet Magnitude)

low high

2

Same

(problem)

Smooth Region

49

Priority equals the difference

Scale Variance (Wavelet Magnitude)

- =

Priority

low high

2

50

Edges: Higher priority at fine scales

Scale Variance

- =

Priority

low high

Higher

Edge Region (Wavelet Magnitude) 2

51

Smooth: Higher priority at coarse scales

Scale Variance

- =

Priority

low high

Higher

Smooth Region (Wavelet Magnitude) 2

52

After adaptive sampling

Smooth Region in Coarse Scale

Accurate

53

After adaptive sampling

Smooth Region in Coarse Scale

Edges in Fine Scale

Accurate

Accurate

54

After adaptive sampling Smooth Region in Coarse Scale

Edges in Fine Scale

Smooth Region in Fine Scale

Accurate

Accurate

Noisy

55

Reconstruction: smooth away fine scale noise

Smooth Region in Coarse Scale

Edges in Fine Scale

Smooth Region in Fine Scale

Accurate

Accurate

Noisy

56

Wavelets capture edges

scale-scale scale-wavelet wavelet-scale wavelet-wavelet

Edges

57

Wavelets capture edges and Noise

scale-scale scale-wavelet wavelet-scale wavelet-wavelet

Edges and Noise

58

Algorithm Outline

0) Start: 4 Samples per Pixel

1) Adaptive Sampling

-> 2) Reconstruction

59

Wavelet Reconstruction

Remove noise by suppressing wavelet magnitudes

How? Choose smoothest image which fits

samples

60

Monte Carlo: statistics

High

Low

Mean

+Standard Deviation (estimate of Error)

-Standard Deviation

61

Monte Carlo: statistics

High

Low

Mean

+Standard Deviation

-Standard Deviation

Monte Carlo Estimate Valid

Range

62

For pixel:

High

Low

Mean

+Standard Deviation

-Standard Deviation

Pixel

Luminance

63

For pixel: luminance

High

Low

Mean

+Standard Deviation

-Standard Deviation

Pixel

Luminance

64

For pixel: luminance

High

Low

Mean

+Standard Deviation

-Standard Deviation

Pixel

Brightness

65

For wavelet:

High

Low

Mean

+Standard Deviation

-Standard Deviation

Wavelet Coefficient

66

For wavelet: Smoothness

High

Low

Mean

+Standard Deviation

-Standard Deviation

Wavelet Coefficient

Smoothness

67

Take the smoothest value

High

Low

Mean

+Standard Deviation

-Standard Deviation

Wavelet Coefficient

Smoothness Our Estimate

68

Reconstruction computation?!

69

After Sampling

70

After Reconstruction

71

Results (1/2)

72

Results (2/2)

73

Limitations (1/3)

Wavelet artifacts when not enough samples

Ringing around edges

Our Method

Monte Carlo

Ringing

Noise

32 samples per pixel (avg.)

74

Limitations (2/3)

Wavelet artifacts when not enough samples

Ringing around edges

Overly smoothing

Our Method

Monte Carlo

Too Smooth

Noise

32 samples per pixel (avg.)

75

Limitations (3/3)

Wavelet artifacts when not enough samples

Ringing around edges

Overly smoothing

Potential solutions

Variance reduction (path splitting, QMC, etc.)

Reduce smoothing during reconstruction

Use depth and normals to improve statistics

Use more samples

76

Conclusion/Summary

Sample and reconstruct in wavelet basis

Features

Low Sample Counts

Efficient

General

Best for smooth image features

top related