Gaussian KD-Tree for Fast High-Dimensional Filtering A. Adams, N. Gelfand, J. Dolson, and M. Levoy, Stanford University, SIGGRAPH 2009.
Edge-Preserving Filtering Noise Suppression Detail Enhancement High Dynamic Range Imaging
Edge-Preserving Filtering for Image Analysis Input Image Base ImageDetail Image
Edge-Preserving Vs. Edge-Blurring Input Image Edge-Preserving Base ImageEdge-Blurring Base Image
Edge-Preserving Vs. Edge-Blurring Edge-Preserving Enhanced ImageEdge-Blurring Enhanced Image Halo Artifacts
Gaussian Filtering
Bilateral Filtering Output Input Space WeightRange Weight Space WeightRange Weight x y Intensity
Bilateral Filtering Output Input Bilateral Weight Space WeightRange Weight x y Intensity
Bilateral Filtering Input ImageGaussian: σ p = 12 Bilateral: σ p = 12, σ c = 0.15
Computational Complexity of Bilateral Filtering O(n 2 d) – Image Size: n – Maximum Filter Size: n – Dimension: d High Computational Complexity Input x y Intensity
Novel Methods Bilateral Grid – J. Chen, S. Paris, and F. Durand, “Real-time edgeaware image processing with the bilateral grid,” ACM Transactions on Graphics (Proc. SIGGRAPH 07). Gaussian KD-Tree – A. Adams, N. Gelfand, J. Dolson, and M. Levoy, “Gaussian KD-Trees for Fast High-Dimensional Filtering,” ACM Transactions on Graphics (Proc. SIGGRAPH 09).
High-Dimensional Filtering x y Intensity
A Two-Dimensional Example x I Space Range Signal Kernel x I Output Signal Kernel Gaussian Filtering x I Space SignalOutput Signal Bilateral Filtering Large Kernel Size High Computational Complexity!
Bilateral Grid Downsampling x I Signal Bilateral Grid x I Signal Spatial Grid Traditional Spatial Downsampling x I Signal Bilateral Grid Bilateral Grid Downsampling x I Bilateral Grid Kernel
Bilateral Filter on the Bilateral Grid Image scanline space intensity Bilateral Grid
space intensity Bilateral Filter on the Bilateral Grid Image scanline Filtered scanline Slice: query grid with input image Bilateral Grid Gaussian blur grid values space intensity
Bilateral Filtering for Color Image Bilateral Filtering Based on LuminanceBilateral Filtering Based on Color
Bilateral Grid for Color Image Image High-Dimensional Grid (5d grid) High Memory Usage Cost
Gaussian KD-Tree Low Computational Complexity Low Memory Usage
Gaussian KD-Tree Building The Tree Querying The Tree
Building The Tree Space Intensity Bounding Box Longest Dimension, η 1 d η 1 min η 1 max η 1 cut η1η1 Gaussian KD-Tree
Building The Tree Space Intensity η2dη2d η 2 min η 2 max η 2 cut η1η1 Gaussian KD-Tree η2η2 η2η2
Building The Tree Space Intensity η3dη3d η 3 min η 3 max η 3 cut η1η1 Gaussian KD-Tree η2η2 η3η3 η3η3
Building The Tree Space Intensity η4dη4d η 4 min η 4 max η 4 cut η1η1 Gaussian KD-Tree η2η2 η4η4 η3η3 η4η4
Building The Tree Space Intensity Inner Node Cutting Dimension Min, Max Bound Left, Right Child η1η1 Gaussian KD-Tree η2η2 η3η3 η4η4 …… ………….
Building The Tree Space Intensity Leaf Node Position
Querying The Tree η1η1 Gaussian KD-Tree η2η2 η3η3 η4η4 …… …………. High-Dimensional Space Image Pixel Querying
Querying The Tree Gaussian KD Tree Inner Node Leaf Node Image Pixel Different Weighting to Leaf Nodes
Splatting
1-D Example of Splatting Space Querying Position Space Querying Position η cut Sample Distribution η cut Splatting
1-D Example of Splatting Space Querying Position Space Querying Position η cut Sample Distribution η cut Splatting
Correcting Weights for Splatting q pi
Querying The Tree Gaussian KD Tree Inner Node Leaf Node Image Pixel Sample Splitting to Leaf Nodes Samples
Blurring The Leaf Nodes
Slicing
Summary x y r,g,b Input Image Gaussian KD Tree High-Dimensional Space Resolution Reduction Monte-Carlo Sampling Weighted Importance Sampling
Applications Bilateral Filtering Naïve Bilateral Filtering 5-D Bilateral Grid
3-D Bilateral Grid KD-Tree
Complexity and Performance Analysis Filter Size Large Small 5D Grid Gaussian KD-Tree Naïve
Applications Non-local Mean Filtering Input ImageOutput Image
Non-local Mean Filtering Target Patch Searching Patches ….. Patch
Non-local Mean Filtering with PCA Patch Examples 16 Leading Eigenvectors
Non-local Mean Filtering Target Patch Searching Patches ….. Patch High-Dimensional Space
Non-local Mean Filtering with Gaussian KD-Tree Gaussian KD Tree Inner Node Leaf Node Image Pixel Different Weighting to Leaf Nodes High-Dimensional Space
Applications Non-local Mean Filtering Input ImageOutput Image
Applications Geometry Filtering Input ModelOutput Model with Gaussian Filtering Output Model with Non-local Mean
Conclusions Novel methods of non-linear filter. – Bilateral grid and Gaussian kd-tree High-dimensional non-linear filter. – Edge preserving smoothing Computational Complexity Reduction – Importance sampling