Presentation is loading. Please wait.

Presentation is loading. Please wait.

CPSC 6040 Computer Graphics Images

Similar presentations


Presentation on theme: "CPSC 6040 Computer Graphics Images"— Presentation transcript:

1 CPSC 6040 Computer Graphics Images
Slides prepared by Ioannis Karamouzas With modifications by Donald House

2 Tone Mapping & Bilateral Filtering
Slide Credits: Frédo Durand Josh Levine Ioannis Karamouzas

3 The Dynamic Range Problem
Two Challenges Recording the information Choosing which 6-12 bits of the world to include in your photograph (cell phone to professional SLR, respectively) Metering the world to help you make this decision, since the world has more dynamic range than any light meter Displaying the information Compressing 12 bits into 4 bits for print, or 10 for LCD

4 Challenge 1: Recording the Information
The range of illumination levels is 10 to 12 orders of magnitude Negatives or sensors can record only 2 to 3 orders of magnitude A solution: multiple exposures with different light sensitivities

5 The Radiance Map

6 Problem 2: Displaying the Information
How should we map scene radiances (up to 1:100,000) to display radiances (only around 1:100) to produce a satisfactory image? Goal: match limited contrast of the display medium while preserving details Solution: Tone Mapping

7 Simple Tone Mapping

8 Gamma Compression on Intensity
Colors ok, but details in intensity are blurry

9 Gamma Compression on Intensity
Colors ok, but details in intensity are blurry Solution: Reduce contrast of low frequencies Keep mid and high frequencies Mid-high frequency Low frequency

10 Tone Mapping Using Linear Filtering
Reduce contrast of low-frequencies Keep mid and high frequencies

11 The Halo Nightmare For strong edges
Because they contain high frequencies

12 Tone Mapping Using Bilateral Filter to eliminate the halo effect

13 Durand and Dorsey, 2002 Do not blur across edges Non-linear filtering

14 Framework Overview IN LOG Detail = input log – large scale

15 Bilateral Filtering (slides based on Durand)

16 Start with Gaussian filtering
Input (I) is a step function + noise Output (J) is a convolution of I with a Gaussian kernel f

17 Gaussian filter as weighted average
Weight of ξ depends on the distance to x

18 The problem of edges I(ξ) is too different from I(x)
Pollutes our estimate of J(x)

19 Principle of bilateral filtering
Reject (in a soft way) pixels that differ too much Add a Gaussian g that penalizes intensity differences

20 Bilateral filtering Combines Spatial Gaussian f (domain kernel)
ⅇxp − 𝑥−𝜉 𝜎 2

21 Bilateral filtering Combines Spatial Gaussian f (domain kernel)
ⅇxp − 𝐼(𝑥)−I(𝜉) 𝜎 2 Combines Spatial Gaussian f (domain kernel) Gaussian g on intensity differences (range kernel)

22 Normalization factor

23 Bilateral filtering is non linear
The weights are different for each output pixel

24 See [Tomasi and Manduchi,1998] for more
Putting it all together See [Tomasi and Manduchi,1998] for more

25 Contrast Reduction Input HDR Image Contrast too high!

26 Contrast Reduction Intensity = 0.30R + 0.59G + 0.11B R’ = R/intensity
Input HDR Image Intensity Intensity = 0.30R G B Color R’ = R/intensity G’ = G/intensity B’ = B/intensity important to use ratios (makes color luminance invariant)

27 Contrast Reduction Bilateral filter in log Input HDR Image Intensity
Large Scale Bilateral filter in log Color spatial sigma = 2% - 5% image size range sigma = 0.4 (in log 10)

28 Contrast Reduction Bilateral filter in log Detail =
Input HDR Image Intensity Large Scale Bilateral filter in log Detail Color Detail = log intensity - large scale

29 Contrast Reduction Bilateral filter in log Input HDR Image Intensity
Large Scale Large Scale Bilateral filter in log Detail newLog = a oldLog Color

30 Contrast Reduction Bilateral filter in log Input HDR Image Intensity
Large Scale Large Scale Bilateral filter in log Detail Detail Preserve! Color

31 Contrast Reduction Bilateral filter in log Input HDR Image Output
Intensity Large Scale Large Scale Bilateral filter in log Detail Detail Preserve! Color Color

32 Contrast Reduction in log
inLog = log10Intensity inLogLarge = bilateralFilter(inLog) inLogDetail = inLog – inLogLarge Manipulate large scale and detail separately!

33 Contrast Reduction in log
outLog = k(inLogLarge – max(inLogLarge)) Normalize so that 0 is the biggest value in log Set target large scale contrast - targetRange = log10100, if we want a target contrast of 1:100 Compute range of input layer - largeRange = max(inLogLarge) – min(inLogLarge) Compute scale factor: k = targetRange / largeRange

34 Contrast Reduction in log
outLog = detailAmp*inLogDetail + k(inLogLarge – max(inLogLarge)) Normalize so that 0 is the biggest value in log Set target large-scale contrast - targetRange = log10100, if we want a target contrast of 1:100 Compute range of input layer - largeRange = max(inLogLarge) – min(inLogLarge) Compute scale factor: k = targetRange / largeRange We can boost details by detailAmp

35 Final Output Image outIntensity = 10outLog
R’, G’, B’ are intensity invariant color channels - outR = R’*outIntensity - outG = G’*outIntensity - outB = B’*outIntensity

36 Recap Bilateral filter in log Detail = log intensity - large scale
Input HDR Image Output Intensity Large Scale Large Scale Bilateral filter in log Detail Detail Color Detail = log intensity - large scale Color

37 Results

38 Important notes Spatial sigma not very important
Range sigma: quite important Critical to work in the log domain Because HDR and because perception sensitive to multiplicative contrast Luminance computation (0.30R G B) See [Eisemann 2004] for smarter function

39 Improving Performance
Direct bilateral filtering is slow (minutes) Fast algorithm: bilateral grid - Paris_09_Fast_Approximation.pdf -


Download ppt "CPSC 6040 Computer Graphics Images"

Similar presentations


Ads by Google