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

Slides:



Advertisements
Similar presentations
Course Evaluations 4 Random Individuals will win an ATI Radeon tm HD2900XT.
Advertisements

CS448f: Image Processing For Photography and Vision Sharpening.
M.S. Student, Hee-Jong Hong
Uncertainty Representation. Gaussian Distribution variance Standard deviation.
Edge Detection CSE P 576 Larry Zitnick
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Gaussian KD-Tree for Fast High-Dimensional Filtering A. Adams, N. Gelfand, J. Dolson, and M. Levoy, Stanford University, SIGGRAPH 2009.
Filtering CSE P 576 Larry Zitnick
A Gentle Introduction to Bilateral Filtering and its Applications 07/10: Novel Variants of the Bilateral Filter Jack Tumblin – EECS, Northwestern University.
Light Mixture Estimation for Spatially Varying White Balance
1 Image filtering Hybrid Images, Oliva et al.,
Linear View Synthesis Using a Dimensionality Gap Light Field Prior
Designing a 3D Video Camera Hylke Buisman and Derek Chan Supervisor: Christian Theobalt Real-time depth up-sampling Hylke Buisman and Derek Chan Supervisor:
Understanding and evaluating blind deconvolution algorithms
Representation and Compression of Multi-Dimensional Piecewise Functions Dror Baron Signal Processing and Systems (SP&S) Seminar June 2009 Joint work with:
Sampling Random Signals. 2 Introduction Types of Priors Subspace priors: Smoothness priors: Stochastic priors:
Geometry-driven Diffusion.
Noise Estimation from a Single Image Ce Liu William T. FreemanRichard Szeliski Sing Bing Kang.
CSCE 441: Computer Graphics Image Filtering Jinxiang Chai.
Fast Bilateral Filtering
Tone mapping with slides by Fredo Durand, and Alexei Efros Digital Image Synthesis Yung-Yu Chuang 11/08/2005.
A Gentle Introduction to Bilateral Filtering and its Applications 08/10: Applications: Advanced uses of Bilateral Filters Jack Tumblin – EECS, Northwestern.
Recursive Bilateral Filtering F Reference Yang, Qingxiong. "Recursive bilateral filtering." ECCV Deriche, Rachid. "Recursively implementating.
Summer Seminar Ruizhen Hu. Spectral Sampling of Manifolds (Siggraph Asia 2010) Accurate Multidimensional Poisson-Disk Sampling (TOG) Efficient Maximal.
High dynamic range imaging. Camera pipeline 12 bits8 bits.
1 Patch Complexity, Finite Pixel Correlations and Optimal Denoising Anat Levin, Boaz Nadler, Fredo Durand and Bill Freeman Weizmann Institute, MIT CSAIL.
Kartic Subr Cyril Soler Frédo Durand Edge-preserving Multiscale Image Decomposition based on Local Extrema INRIA, Grenoble Universities MIT CSAIL.
CS448f: Image Processing For Photography and Vision Fast Filtering Continued.
Perception Motivated Hybrid Approach to Tone Mapping Martin Čadík Czech Technical University in Prague, Czech Republic.
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
Lecture 03 Area Based Image Processing Lecture 03 Area Based Image Processing Mata kuliah: T Computer Vision Tahun: 2010.
Image Processing Edge detection Filtering: Noise suppresion.
Ch 4. Linear Models for Classification (1/2) Pattern Recognition and Machine Learning, C. M. Bishop, Summarized and revised by Hee-Woong Lim.
Image Enhancement [DVT final project]
1 Complex Images k’k’ k”k” k0k0 -k0-k0 branch cut   k 0 pole C1C1 C0C0 from the Sommerfeld identity, the complex exponentials must be a function.
A Gentle Introduction to Bilateral Filtering and its Applications Sylvain Paris – MIT CSAIL Pierre Kornprobst – INRIA Odyssée Jack Tumblin – Northwestern.
Single Image Super-Resolution: A Benchmark Chih-Yuan Yang 1, Chao Ma 2, Ming-Hsuan Yang 1 UC Merced 1, Shanghai Jiao Tong University 2.
A Gentle Introduction to Bilateral Filtering and its Applications 07/10: Novel Variants of the Bilateral Filter Jack Tumblin – EECS, Northwestern University.
EE565 Advanced Image Processing Copyright Xin Li Why do we Need Image Model in the first place? Any image processing algorithm has to work on a collection.
Thank you for the introduction
Tone mapping Digital Visual Effects, Spring 2007 Yung-Yu Chuang 2007/3/13 with slides by Fredo Durand, and Alexei Efros.
Speaker Min-Koo Kang March 26, 2013 Depth Enhancement Technique by Sensor Fusion: MRF-based approach.
Projects Project 1a due this Friday Project 1b will go out on Friday to be done in pairs start looking for a partner now.
Last Lecture photomatix.com. Today Image Processing: from basic concepts to latest techniques Filtering Edge detection Re-sampling and aliasing Image.
Images and Filters CSEP 576 Ali Farhadi Many slides from Steve Seitz and Larry Zitnick.
Lecture 1: Images and image filtering CS4670/5670: Intro to Computer Vision Noah Snavely Hybrid Images, Oliva et al.,
EE565 Advanced Image Processing Copyright Xin Li Why do we Need Image Model in the first place? Any image processing algorithm has to work on a collection.
Noise Filtering in Monte Carlo Rendering
Image Resampling & Interpolation
- photometric aspects of image formation gray level images
CPSC 6040 Computer Graphics Images
Image Deblurring and noise reduction in python
SURF detectors and descriptors
Image Processing and Reconstructions Tools
A Gentle Introduction to Bilateral Filtering and its Applications
Fast Bilateral Filtering for the Display of High-Dynamic-Range Images
A Gentle Introduction to Bilateral Filtering and its Applications
9th Lecture - Image Filters
CS654: Digital Image Analysis
Digital Visual Effects, Spring 2006 Yung-Yu Chuang 2006/3/8
Non-local Means Filtering
Finding Periodic Discrete Events in Noisy Streams
Introduction to Sensor Interpretation
Filtering Images Work in the spatial domain
Lecture 2: Image filtering
Lecture 7 Spatial filtering.
Introduction to Sensor Interpretation
Probabilistic Surrogate Models
Lecture 7 Patch based methods: nonlocal means, BM3D, K- SVD, data-driven (tight) frame.
Presentation transcript:

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

Motivation Input Gaussian Filter Spatially Varying Gaussian Filter

1) Accelerating Spatially Varying Gaussian Filters 2) Accelerating Spatially Varying Gaussian Filters 3) Accelerating Spatially Varying Gaussian Filters 4) Applications Roadmap

Gaussian Filters Position Value

Gaussian Filters Each output value …

Gaussian Filters … is a weighted sum of input values …

Gaussian Filters … whose weight is a Gaussian …

Gaussian Filters … in the space of the associated positions.

Gaussian Blur Gaussian Filters: Uses

Bilateral Filter Gaussian Filters: Uses

Non-local Means Filter Gaussian Filters: Uses

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)

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

Spatially Varying Gaussian Filters Spatially varying covariance matrix Spatially Invariant

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

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

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

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

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

Sample a few kernels and interpolate. Solution #1 Desired Kernel K(x) Sampled kernels Interpolate result! Pixel Location x K1K1 K2K2 K3K3

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

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

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

Dilating the Support Desired Kernel K(x) Pixel Location x K1K1 K2K2 K3K3

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.

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

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

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

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

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

Applications  HDR Tone-mapping  Joint Range Data Upsampling

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

Tone-mapping Example Bilateral Filter Kernel Sampling

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

Synthetic Example Scene Image Ground Truth Depth

Synthetic Example Scene ImageSimulated Sensor Data

Synthetic Example : Result Kernel Sampling Bilateral Filter

Synthetic Example : Relative Error Bilateral Filter Kernel Sampling 2.41% Mean Relative Error0.95% Mean Relative Error

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

Real-World Example: Result Input Bilateral Naive Kernel Sampling

Performance Kernel Sampling Choudhury and Tumblin (2003) Naïve Tonemap s41.54 s s Tonemap s88.08 s s Kernel Sampling (No segmentation) Depth s57.90 s Depth s s

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