accelerating spatially varying gaussian filters jongmin baek and david e. jacobs stanford university

Download Accelerating Spatially Varying Gaussian Filters Jongmin Baek and David E. Jacobs Stanford University

If you can't read please download the document

Upload: bathsheba-boyd

Post on 16-Dec-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

  • Slide 1
  • Slide 2
  • Accelerating Spatially Varying Gaussian Filters Jongmin Baek and David E. Jacobs Stanford University
  • Slide 3
  • Motivation Input Gaussian Filter Spatially Varying Gaussian Filter
  • Slide 4
  • 1) Accelerating Spatially Varying Gaussian Filters 2) Accelerating Spatially Varying Gaussian Filters 3) Accelerating Spatially Varying Gaussian Filters 4) Applications Roadmap
  • Slide 5
  • Gaussian Filters Position Value
  • Slide 6
  • Gaussian Filters Each output value
  • Slide 7
  • Gaussian Filters is a weighted sum of input values
  • Slide 8
  • Gaussian Filters whose weight is a Gaussian
  • Slide 9
  • Gaussian Filters in the space of the associated positions.
  • Slide 10
  • Gaussian Blur Gaussian Filters: Uses
  • Slide 11
  • Bilateral Filter Gaussian Filters: Uses
  • Slide 12
  • Non-local Means Filter Gaussian Filters: Uses
  • Slide 13
  • Applications Denoising images and meshes Data fusion and upsampling Abstraction / Stylization Tone-mapping ... Gaussian Filters: Summary Previous work on fast Gaussian Filters Bilateral Grid (Chen, Paris, Durand; 2007) Gaussian KD-Tree (Adams et al.; 2009) Permutohedral Lattice (Adams, Baek, Davis; 2010)
  • Slide 14
  • Summary of Previous Implementations: A separable blur flanked by resampling operations. Exploit the separability of the Gaussian kernel. Gaussian Filters: Implementations
  • Slide 15
  • Spatially Varying Gaussian Filters Spatially varying covariance matrix Spatially Invariant
  • Slide 16
  • Trilateral Filter (Choudhury and Tumblin, 2003) Tilt the kernel of a bilateral filter along the image gradient. Piecewise linear instead of Piecewise constant model. Spatial Variance in Previous Work
  • Slide 17
  • Spatially Varying Gaussian Filters: Tradeoff Benefits: Can adapt the kernel spatially. Better filtering performance. Cost: No longer separable. No existing acceleration schemes. Input Bilateral-filtered Trilateral-filtered
  • Slide 18
  • Problem: Spatially varying (thus non-separable) Gaussian filter Existing Tool: Fast algorithms for spatially invariant Gaussian filters Solution: Re-formulate the problem to fit the tool. Need to obey the piecewise-constant assumption Acceleration
  • Slide 19
  • Nave Approach (Toy Example) I LOST THE GAME Input Signal Desired Kernel 1 11234 filtered w/ 1 filtered w/ 2 filtered w/ 3 filtered w/ 4 111 2 3 Output Signal 4
  • Slide 20
  • In practice, the # of kernels can be very large. Challenge #1 Pixel Location x Desired Kernel K(x) Range of Kernels needed
  • Slide 21
  • Sample a few kernels and interpolate. Solution #1 Desired Kernel K(x) Sampled kernels Interpolate result! Pixel Location x K1K1 K2K2 K3K3
  • Slide 22
  • Interpolation needs an extra assumption to work: The covariance matrix i is either piecewise- constant, or smoothly varying. Kernel is spatially varying, but locally spatially invariant. Assumptions
  • Slide 23
  • Runtime scales with the # of sampled kernels. Challenge #2 Desired Kernel K(x) Filter only some regions of the image with each kernel. (support) Pixel Location x Sampled kernels K1K1 K2K2 K3K3
  • Slide 24
  • In this example, x needs to be in the support of K 1 & K 2. Defining the Support Desired Kernel K(x) Pixel Location x K1K1 K2K2 K3K3
  • Slide 25
  • Dilating the Support Desired Kernel K(x) Pixel Location x K1K1 K2K2 K3K3
  • Slide 26
  • Algorithm 1) Identify kernels to sample. 2) For each kernel, compute the support needed. 3) Dilate each support. 4) Filter each dilated support with its kernel. 5) Interpolate from the filtered results.
  • Slide 27
  • Algorithm 1) Identify kernels to sample. 2) For each kernel, compute the support needed. 3) Dilate each support. 4) Filter each dilated support with its kernel. 5) Interpolate from the filtered results. K1K1 K2K2 K3K3
  • Slide 28
  • Algorithm 1) Identify kernels to sample. 2) For each kernel, compute the support needed. 3) Dilate each support. 4) Filter each dilated support with its kernel. 5) Interpolate from the filtered results. K1K1 K2K2 K3K3
  • Slide 29
  • Algorithm 1) Identify kernels to sample. 2) For each kernel, compute the support needed. 3) Dilate each support. 4) Filter each dilated support with its kernel. 5) Interpolate from the filtered results. K1K1 K2K2 K3K3
  • Slide 30
  • Algorithm 1) Identify kernels to sample. 2) For each kernel, compute the support needed. 3) Dilate each support. 4) Filter each dilated support with its kernel. 5) Interpolate from the filtered results. K1K1 K2K2 K3K3
  • Slide 31
  • Algorithm 1) Identify kernels to sample. 2) For each kernel, compute the support needed. 3) Dilate each support. 4) Filter each dilated support with its kernel. 5) Interpolate from the filtered results. K1K1 K2K2 K3K3
  • Slide 32
  • Applications HDR Tone-mapping Joint Range Data Upsampling
  • Slide 33
  • Application #1: HDR Tone-mapping Input HDR Detail Base Filter Output Attenuate
  • Slide 34
  • Tone-mapping Example Bilateral Filter Kernel Sampling
  • Slide 35
  • Application #2: Joint Range Data Upsampling Range Finder Data Sparse Unstructured Noisy Scene Image Output Filter
  • Slide 36
  • Synthetic Example Scene Image Ground Truth Depth
  • Slide 37
  • Synthetic Example Scene ImageSimulated Sensor Data
  • Slide 38
  • Synthetic Example : Result Kernel Sampling Bilateral Filter
  • Slide 39
  • Synthetic Example : Relative Error Bilateral Filter Kernel Sampling 2.41% Mean Relative Error0.95% Mean Relative Error
  • Slide 40
  • Real-World Example Scene Image Range Finder Data *Dataset courtesy of Jennifer Dolson, Stanford University
  • Slide 41
  • Real-World Example: Result Input Bilateral Naive Kernel Sampling
  • Slide 42
  • Performance Kernel Sampling Choudhury and Tumblin (2003) Nave Tonemap1 5.10 s41.54 s312.70 s Tonemap2 6.30 s88.08 s528.99 s Kernel Sampling (No segmentation) Depth1 3.71 s57.90 s Depth2 9.18 s131.68 s
  • Slide 43
  • 1.A generalization of Gaussian filters Spatially varying kernels Lose the piecewise-constant assumption. 2.Acceleration via Kernel Sampling Filter only necessary pixels (and their support) and interpolate. 3.Applications Conclusion