33
Probabilistic illumination-aware filtering for Monte Carlo rendering Ian C. Doidge Mark W. Jones Swansea University, Wales, UK Wednesday 12 th June Computer Graphics International 2013

Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Probabilistic illumination-aware filteringfor Monte Carlo rendering

Ian C. Doidge Mark W. Jones

Swansea University, Wales, UK

Wednesday 12th JuneComputer Graphics International 2013

Page 2: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Monte Carlo Integration

2

− Path Tracing− Unbiased

− Robust

16384 samples 10 hrs

Page 3: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Monte Carlo Integration

3

− Path Tracing− Unbiased

− Robust

− Progressive

− High variance:− Noise

− Converges with

1 sample 2 secs2 samples 4 secs4 samples 8 secs8 samples 17 secs16 samples 34 secs32 samples 1 min 10 secs64 samples 2 mins 30 secs128 samples 5 mins256 samples 10 mins512 samples 20 mins1024 samples 40 mins2048 samples 1 hr 20 mins4096 samples 2 hrs 30 mins8192 samples 5 hrs16384 samples 10 hrs

Page 4: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Motivation

− Can exploit pixel correlation

− But... often breaks down:− Texture detail− Illumination discontinuities− Glossy reflections

− Filter but detect & preserve edges− Use data from rendering− Already available

Path Tracing Reference

Page 5: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Related WorkOutlier rejection:

− For ‘cleaning up’ images− Decoro et al. ‘10, Pajot et al. ’11

General image denoising:− Kalantari & Sen ‘13

Sample reconstruction:− Sen & Darabi ’12− Impressive quality, few samples− Unsuitable for progressive rendering

(Ir)radiance caching:− Ward ‘88, Kontkanen ’04, Krivanek ‘05, Gassenbauer ’09− Interpolation bias, limited to low frequency detail

Page 6: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Contributions

− Per-pixel clustering framework− Incident radiance− Layers to separate vertex contributions− Aids detection of discontinuities

− High intensity noise removal− Pre-process to filtering

− Probabilistic filtering− Preserves texture detail− Preserves illumination edges− Suitable for progressive rendering 6

Path Tracing

Our Method

Page 7: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Algorithm Overview

7

Trace paths

Performclustering

High intensitynoise removal

Filtered image

Iterate

Low variancebuffers

Probabilisticfiltering

Unbiased imageCompute vertex

contributions

RadianceRadianceRadiancelayers

IncidentradianceIncident

radianceIrradiancelayers

Page 8: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Layer based approach

8

1 2 3

= + +

= + +

Radiance

Irradiance

Page 9: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Layer based approach

9

1 2 3

= + +

− Irradiance contributions:− Ignores visible texture and BRDF

− Already available!

= + +

− Separate vertex contributions:− Minimise interference

− Simplifies feature detection

Radiance

Irradiance

Page 10: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

− Utilise texture buffer:− Incident radiance radiance

Radiance separation

, , , ·

, , … , ,

, · , , ·

Page 11: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Clustering

11

v = 1 v = 2 v 3

Page 12: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

− 1D Luminance domain:− Improves performance/storage

− H.V.S. sensitive to luminance

− Preserves visual discontinuities

Clustering

12

v = 1 v = 2 v 3

Page 13: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

− Clusters at each layer:− Aggregate samples min max

− Represents (ir)radiance for sub-integral

− Contiguous, non-overlapping in 1D

Clustering

13

v = 1 v = 2 v 3Cluster{

float[3] radiancefloat[3] irradiancefloat minfloat maxint numSamples : 31 bitsint outlier : 1 bit

}

Page 14: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Clustering

14

v = 1 v = 2 v 3

Page 15: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

− Heuristic based on:− Absolute sample difference− Cluster gradient

− Add new contributions− Extend existing clusters

Clustering

Page 16: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Clustering

− Based on:− Absolute sample difference− Cluster gradient

− Add new contributions− Extend existing clusters

Page 17: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Clustering

− Based on:− Absolute sample difference− Cluster gradient

− Add new contributions− Extend existing clusters

− Merge clusters− Reduce memory costs− Dynamic approximation of integral− Always preserves largest discontinuities

Page 18: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Algorithm Overview

18

Trace paths

Performclustering

High intensitynoise removal

Filtered image

Iterate

Low variancebuffers

Probabilisticfiltering

Unbiased imageCompute layercontributions

RadianceRadianceRadiancelayers

IncidentradianceIncident

radianceIrradiancelayers

Page 19: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

− Key differences:− Ignore texture variation− Layer based rejection

Lower rejection rates Energy preservation More data

Noise Removal

19

− Density estimation approach− Image space neighbourhood

− DeCoro et al. ’10

− Pixel-wise estimates− Pajot et al. ’11

− Filtering Pre-process:− Prefer sparse data to no data− Accept if isolated and low energy

Page 20: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Illumination-aware filtering

− Extends cross-bilateral filter:− Eisemann & Durand ’04− Petschnigg et al. ’04− Low variance range buffer

− Poisson probability distribution:

− Derive weights from cluster statistics− Probabilistic detection of illumination edges

!

Page 21: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Illumination-aware filtering

21

Filtered image

Find similarclusters

RadianceLow var.buffers

Calculatefilter weights

Scale clustercontributions

Final pixelradiance

Incidentradiances

Page 22: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

− Extend min and max of cluster from pixel p

− Find overlapping clusters in neighbouring contributing pixels, c

− Compute poisson probabilities using sample counts

− Repeat for each cluster in pixel p

Find similar clusters

!

6

5

1

Page 23: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

− Product of Gaussian, geometric and poissonweights:

Calculate filter weights

23

RadianceRadianceLow var.buffers

Geometricweights

Computegeom. weights

RadianceRadiancePoissonweights Filter

kernelweights

· ·

Gaussian GeometricPoisson

Gaussianweights

Page 24: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Scale cluster contributions− Radiance is a product of:

− Texture , BRDF coefficient , incident radiance ,

− Preserve detail in from pixel

− Filter and using neighbouring pixels

− Weight with kernel · ·

· · ·

Page 25: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Results

Path Tracing Our Method25

Cross-Bilateral

Reference

− Multiple coloured lights

− Hard and soft gradients

− Chromatic and luminance noise

16 samples per pixel

Page 26: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

ResultsPath Tracing (22 samples) Reference

Equal time comparison after 45 seconds26

Our method (16 samples)

Page 27: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

ResultsReference

27

Cross-Bilateral(Smooth noise)

Cross-Bilateral(Preserve texture)Our method

Equal time comparison after 45 seconds

Page 28: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

− Self-shadowing

− Complex geometry

ResultsPath Tracing

Our method

Cross-Bilateral

Equal time comparison after 45 seconds28

Reference

Page 29: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Conclusion

− Fast image-based incident radiance filtering− Preserve illumination edges and gradients− Preserve texture detail− Remove high intensity noise

− Future Work− Perceptual clustering heuristic− Layer specific parameters− Automatic kernel radius

29

Page 30: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Thank you for listening!

Questions?

(and Answers)

30

Page 31: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Thank you for listening!

Questions?

(and Answers)

31

Page 32: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

32

Page 33: Probabilistic illumination-aware filtering for Monte Carlo ...cs.swansea.ac.uk/visualcomputing/wordpressvc/wp... · Monte Carlo Integration 3 −Path Tracing − Unbiased − Robust

Future Improvements

− Aliasing:− Yang et al. ’11, Anti-Aliasing Recovery, ACM Trans. Graph.

− Convergence:− Variance based adaptive filter widths

− Noise removal parameters:− Difficult to establish for low sample counts− What is the pixels normal distribution?

33