1 / 43

Accelerating Spatially Varying Gaussian Filters

Accelerating Spatially Varying Gaussian Filters. Jongmin Baek and David E. Jacobs Stanford University. Motivation. Input. Spatially Varying Gaussian Filter. Gaussian Filter. Roadmap. Accelerating Spatially Varying Gaussian Filters Accelerating Spatially Varying Gaussian Filters

kira
Download Presentation

Accelerating Spatially Varying Gaussian Filters

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Motivation Input Spatially Varying Gaussian Filter Gaussian Filter

  3. Roadmap • Accelerating Spatially VaryingGaussian Filters • AcceleratingSpatially Varying Gaussian Filters • AcceleratingSpatially Varying Gaussian Filters • Applications

  4. Gaussian Filters Position Value • Given pairs as input,

  5. Gaussian Filters • Each output value …

  6. Gaussian Filters • … is a weighted sum of input values …

  7. Gaussian Filters • … whose weight is a Gaussian …

  8. Gaussian Filters • … in the space of the associated positions.

  9. Gaussian Filters: Uses Gaussian Blur

  10. Gaussian Filters: Uses Bilateral Filter

  11. Gaussian Filters: Uses Non-local Means Filter

  12. Gaussian Filters: Summary • Applications • Denoisingimages and meshes • Data fusion and upsampling • Abstraction / Stylization • Tone-mapping • ... • 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)

  13. Gaussian Filters: Implementations Summary of Previous Implementations: • A separable blur flanked by resampling operations. • Exploit the separability of the Gaussian kernel.

  14. Spatially Varying Gaussian Filters Spatially Invariant Spatially varying covariance matrix

  15. Spatial Variance in Previous Work • Trilateral Filter (Choudhury and Tumblin, 2003) • Tilt the kernel of a bilateral filter along the image gradient. • “Piecewise linear”instead of“Piecewise constant”model.

  16. Spatially Varying Gaussian Filters: Tradeoff Input Bilateral-filtered Trilateral-filtered Benefits: • Can adapt the kernel spatially. • Better filtering performance. • Cost: • No longer separable. • No existing acceleration schemes.

  17. Acceleration 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

  18. Naïve Approach (Toy Example) I LOST THE GAME Input Signal 1 2 1 3 1 4 Desired Kernel filtered w/ 1 1 1 1 filtered w/ 2 2 filtered w/ 3 3 Output Signal filtered w/ 4 4

  19. Challenge #1 • In practice, the # of kernels can be very large. Desired Kernel K(x) Range of Kernels needed Pixel Location x

  20. Solution #1 • Sample a few kernels and interpolate. Desired Kernel K(x) K1 Interpolate result! K2 Sampled kernels K3 Pixel Location x

  21. Assumptions 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.

  22. Challenge #2 • Runtime scales with the # of sampled kernels. Desired Kernel K(x) K1 Filter only some regions of the image with each kernel. (“support”) K2 Sampled kernels K3 Pixel Location x

  23. Defining the Support In this example, x needs to be in the support of K1&K2. Desired Kernel K(x) K1 K2 K3 Pixel Location x

  24. Dilating the Support Desired Kernel K(x) K1 K2 K3 Pixel Location x

  25. Algorithm • Identify kernels to sample. • For each kernel, compute the support needed. • Dilate each support. • Filter each dilated support with its kernel. • Interpolate from the filtered results.

  26. Algorithm • Identify kernels to sample. • For each kernel, compute the support needed. • Dilate each support. • Filter each dilated support with its kernel. • Interpolate from the filtered results. K1 K2 K3

  27. Algorithm • Identify kernels to sample. • For each kernel, compute the support needed. • Dilate each support. • Filter each dilated support with its kernel. • Interpolate from the filtered results. K1 K2 K3

  28. Algorithm • Identify kernels to sample. • For each kernel, compute the support needed. • Dilate each support. • Filter each dilated support with its kernel. • Interpolate from the filtered results. K1 K2 K3

  29. Algorithm • Identify kernels to sample. • For each kernel, compute the support needed. • Dilate each support. • Filter each dilated support with its kernel. • Interpolate from the filtered results. K1 K2 K3

  30. Algorithm • Identify kernels to sample. • For each kernel, compute the support needed. • Dilate each support. • Filter each dilated support with its kernel. • Interpolate from the filtered results. K1 K2 K3

  31. Applications • HDR Tone-mapping • Joint Range Data Upsampling

  32. Application #1: HDR Tone-mapping Base Input HDR Filter Output Attenuate Detail

  33. Tone-mapping Example Bilateral Filter Kernel Sampling

  34. Application #2: Joint Range Data Upsampling Scene Image Range Finder Data Filter • Sparse • Unstructured • Noisy Output

  35. Synthetic Example Scene Image Ground Truth Depth

  36. Synthetic Example Simulated Sensor Data Scene Image

  37. Synthetic Example : Result Kernel Sampling Bilateral Filter

  38. Synthetic Example : Relative Error Kernel Sampling Bilateral Filter 2.41% Mean Relative Error 0.95% Mean Relative Error

  39. Real-World Example Scene Image Range Finder Data *Dataset courtesy of Jennifer Dolson, Stanford University

  40. Real-World Example: Result Input Naive Kernel Sampling Bilateral

  41. Performance

  42. Conclusion • A generalization of Gaussian filters • Spatially varying kernels • Lose the piecewise-constant assumption. • Acceleration via Kernel Sampling • Filter only necessary pixels (and their support) and interpolate. • Applications

More Related