A Gentle Introduction to Bilateral Filtering and its Applications 07/10: Novel Variants of the Bilateral Filter Jack Tumblin – EECS, Northwestern University.

Slides:



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

CSCE 643 Computer Vision: Template Matching, Image Pyramids and Denoising Jinxiang Chai.
Non-local means: a look at non-local self-similarity of images
Linear Filtering – Part I Selim Aksoy Department of Computer Engineering Bilkent University
Spatial Filtering (Chapter 3)
CS448f: Image Processing For Photography and Vision Sharpening.
Digital Photography with Flash and No-Flash Image Pairs By: Georg PetschniggManeesh Agrawala Hugues HoppeRichard Szeliski Michael CohenKentaro Toyama,
Accelerating Spatially Varying Gaussian Filters Jongmin Baek and David E. Jacobs Stanford University.
APECE-505 Intelligent System Engineering Low-level Processing Md. Atiqur Rahman Ahad Reference books: - Computer Vision and Action Recognition, Md. Atiqur.
A Fast Approximation of the Bilateral Filter using a Signal Processing Approach Sylvain Paris and Frédo Durand Computer Science and Artificial Intelligence.
Digital Image Processing In The Name Of God Digital Image Processing Lecture3: Image enhancement M. Ghelich Oghli By: M. Ghelich Oghli
5. 1 Model of Image degradation and restoration
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
A LOW-COMPLEXITY, MOTION-ROBUST, SPATIO-TEMPORALLY ADAPTIVE VIDEO DE-NOISER WITH IN-LOOP NOISE ESTIMATION Chirag Jain, Sriram Sethuraman Ittiam Systems.
6/9/2015Digital Image Processing1. 2 Example Histogram.
A Gentle Introduction to Bilateral Filtering and its Applications 07/10: Novel Variants of the Bilateral Filter Jack Tumblin – EECS, Northwestern University.
Image Filtering CS485/685 Computer Vision Prof. George Bebis.
Image processing. Image operations Operations on an image –Linear filtering –Non-linear filtering –Transformations –Noise removal –Segmentation.
CSCE 641 Computer Graphics: Image Filtering & Feature Detection Jinxiang Chai.
MSU CSE 803 Stockman Linear Operations Using Masks Masks are patterns used to define the weights used in averaging the neighbors of a pixel to compute.
SUSAN: structure-preserving noise reduction EE264: Image Processing Final Presentation by Luke Johnson 6/7/2007.
CS443: Digital Imaging and Multimedia Filters Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University Spring 2008 Ahmed Elgammal Dept.
Linear filtering.
MSU CSE 803 Linear Operations Using Masks Masks are patterns used to define the weights used in averaging the neighbors of a pixel to compute some result.
Computational Photography: Image Processing Jinxiang Chai.
CS448f: Image Processing For Photography and Vision Denoising.
A Gentle Introduction to Bilateral Filtering and its Applications Limitation? Pierre Kornprobst (INRIA) 0:20.
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.
Machine Vision ENT 273 Image Filters Hema C.R. Lecture 5.
National Center for Supercomputing Applications University of Illinois at Urbana-Champaign Image Features Kenton McHenry, Ph.D. Research Scientist.
A Gentle Introduction to Bilateral Filtering and its Applications How does bilateral filter relates with other methods? Pierre Kornprobst (INRIA) 0:35.
EE 7700 High Dynamic Range Imaging. Bahadir K. Gunturk2 References Slides and papers by Debevec, Ward, Pattaniak, Nayar, Durand, et al…
Digital Image Processing Lecture 5: Neighborhood Processing: Spatial Filtering Prof. Charlene Tsai.
Image Processing Edge detection Filtering: Noise suppresion.
AdeptSight Image Processing Tools Lee Haney January 21, 2010.
Image Enhancement [DVT final project]
A Gentle Introduction to Bilateral Filtering and its Applications Sylvain Paris – MIT CSAIL Pierre Kornprobst – INRIA Odyssée Jack Tumblin – Northwestern.
Chapter 5: Neighborhood Processing
Image Subtraction Mask mode radiography h(x,y) is the mask.
Bilateral Mesh Denoising Shachar Fleishman Iddo Drori Daniel Cohen-Or Tel Aviv University.
A Gentle Introduction to Bilateral Filtering and its Applications 10/10: Conclusions Jack Tumblin – EECS, Northwestern University.
Tone mapping Digital Visual Effects, Spring 2007 Yung-Yu Chuang 2007/3/13 with slides by Fredo Durand, and Alexei Efros.
Lecture 3: Filtering and Edge detection
Instructor: Mircea Nicolescu Lecture 7
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
Lecture 1: Images and image filtering CS4670/5670: Intro to Computer Vision Noah Snavely Hybrid Images, Oliva et al.,
Non-linear filtering Example: Median filter Replaces pixel value by median value over neighborhood Generates no new gray levels.
Filters– Chapter 6. Filter Difference between a Filter and a Point Operation is that a Filter utilizes a neighborhood of pixels from the input image to.
Spatial Filtering (Chapter 3) CS474/674 - Prof. Bebis.
Image Subtraction Mask mode radiography h(x,y) is the mask.
CPSC 6040 Computer Graphics Images
Linear Filters and Edges Chapters 7 and 8
Image Deblurring and noise reduction in python
ECE 692 – Advanced Topics in Computer Vision
Image Processing and Reconstructions Tools
A Gentle Introduction to Bilateral Filtering and its Applications
The Chinese University of Hong Kong
Image Processing - in short
Lecture 1: Images and image filtering
A Gentle Introduction to Bilateral Filtering and its Applications
Digital Visual Effects, Spring 2006 Yung-Yu Chuang 2006/3/8
Non-local Means Filtering
Linear Operations Using Masks
Lecture 2: Image filtering
Lecture 1: Images and image filtering
Lecture 7 Patch based methods: nonlocal means, BM3D, K- SVD, data-driven (tight) frame.
Presentation transcript:

A Gentle Introduction to Bilateral Filtering and its Applications 07/10: Novel Variants of the Bilateral Filter Jack Tumblin – EECS, Northwestern University

Review: Bilateral Filter A 2-D filter window: weights vary with intensity A 2-D filter window: weights vary with intensity c s DomainRangef(x) x 2 Gaussian Weights: product = ellisoidal footprint Normalize weights to always sum to 1.0

Review: Bilateral Filter c s c s Why it works: graceful segmentation Smoothing for ‘similar’ parts ONLYSmoothing for ‘similar’ parts ONLY Range Gaussian s acts as a ‘filtered region’ finderRange Gaussian s acts as a ‘filtered region’ finder DomainRangef(x) x

Bilateral Filter Variants before the ‘Bilateral’ name : – Yaroslavsky (1985): T.D.R.I.M. – Smith & Brady (1997): SUSAN And now, a growing set of named variants: ‘Trilateral’ Filter (Choudhury et al., EGSR 2003) Cross-Bilateral (Petschnigg04, Eisemann04) NL-Means (Buades 05) And more coming: application driven…

Who was first? Many Pioneers Elegant, Simple, Broad Idea   ‘Invented’ several times Different Approaches, Increasing Clarity – Tomasi & Manduchi(1998): ‘Bilateral Filter’ – Smith & Brady (1995): ‘SUSAN’ “Smallest Univalue Segment Assimilating Nucleus” – Yaroslavsky(1985) ‘Transform Domain Image Restoration Methods’

New Idea! 1985 Yaroslavsky: A 2-D filter window: weights vary with intensity ONLY c s DomainRangef(x) x Square neighborhood, Gaussian Weighted ‘similarity’ Normalize weights to always sum to 1.0

New Idea! 1995 Smith: ‘SUSAN’ Filter A 2-D filter window: weights vary with intensity c s DomainRangef(x) x 2 Gaussian Weights: product = ellisoidal footprint Normalize weights to always sum to 1.0

Background: ‘Unilateral’ Filter e.g. traditional, linear, FIR filters Key Idea: Convolution - Output(x) = local weighted avg. of inputs. - Weights vary within a ‘window’ of nearby x Smoothes away details, BUT blurs resultSmoothes away details, BUT blurs result c weight(x) Note that weights always sum to 1.0

Piecewise smooth result –averages local small details, ignores outliers –preserves steps, large-scale ramps, and curves,... Equivalent to anisotropic diffusion and robust statistics [Black98,Elad02,Durand02]Equivalent to anisotropic diffusion and robust statistics [Black98,Elad02,Durand02] Simple & Fast (esp. w/ [Durand02] FFT-based speedup)Simple & Fast (esp. w/ [Durand02] FFT-based speedup) Bilateral Filter: Strengths c s

Output at is average of a tiny region Bilateral Filter: 3 Difficulties Poor Smoothing in High Gradient RegionsPoor Smoothing in High Gradient Regions Smoothes and blunts cliffs, valleys & ridgesSmoothes and blunts cliffs, valleys & ridges Can combine disjoint signal regionsCan combine disjoint signal regionscs

Bilateral Filter: 3 Difficulties Poor Smoothing in High Gradient RegionsPoor Smoothing in High Gradient Regions Smoothes and blunts cliffs, valleys & ridgesSmoothes and blunts cliffs, valleys & ridges Can combine disjoint signal regionsCan combine disjoint signal regions cs

‘Blunted Corners’  Weak Halos Bilateral :

‘Blunted Corners’  Weak Halos ‘Trilateral’:

Bilateral Filter: 3 Difficulties Poor Smoothing in High Gradient RegionsPoor Smoothing in High Gradient Regions Smoothes and blunts cliffs, valleys & ridgesSmoothes and blunts cliffs, valleys & ridges Disjoint regions can blend togetherDisjoint regions can blend together c s

New Idea! Trilateral Filter (Choudhury 2003) Goal: Piecewise linear smoothing, not piecewise constant Method: Extensions to the Bilateral Filter Position Intensity EXAMPLE: remove noise from a piecewise linear scanline

Outline: Bilateral  Trilateral Filter Three Key Ideas: Tilt the filter window according to bilaterally- smoothed gradientsTilt the filter window according to bilaterally- smoothed gradients Limit the filter window to connected regions of similar smoothed gradient.Limit the filter window to connected regions of similar smoothed gradient. Adjust Parameters from measurements of the windowed signalAdjust Parameters from measurements of the windowed signalcs

Outline: Bilateral  Trilateral Filter Key Ideas: Tilt the filter window according to bilaterally- smoothed gradientsTilt the filter window according to bilaterally- smoothed gradients Limit the filter window to connected regions of similar smoothed gradient.Limit the filter window to connected regions of similar smoothed gradient. Adjust Parameters from measurements of the windowed signalAdjust Parameters from measurements of the windowed signal c s

Outline: Bilateral  Trilateral Filter Key Ideas: Tilt the filter window according to bilaterally- smoothed gradientsTilt the filter window according to bilaterally- smoothed gradients Limit the filter window to connected regions of similar smoothed gradient.Limit the filter window to connected regions of similar smoothed gradient. Adjust Parameters from measurements of the windowed signalAdjust Parameters from measurements of the windowed signal c s

Comparisons: Skylight Details. Bilateral

. Trilateral

.,

Trilateral Filter (Choudhury 2003) StrengthsStrengths –Sharpens corners –Smoothes similar gradients –Automatic parameter setting –3-D mesh de-noising, too! WeaknessesWeaknesses –S-L-O-W; very costly connected-region finder –Shares Bilateral’s ‘Single-pixel region’ artifacts –Noise Tolerance limits; disrupts ‘tilt’ estimates

NEW IDEA : ‘Joint’ or ‘Cross’ Bilateral’ Petschnigg(2004) and Eisemann(2004) Bilateral  two kinds of weights NEW : get them from two kinds of images. Smooth image A pixels locally, but Limit to ‘similar regions’ of image B Why do this? To get ‘best of both images’

Ordinary Bilateral Filter Bilateral  two kinds of weights, one image A : c s Image A: DomainRangef(x) x

‘Joint’ or ‘Cross’ Bilateral Filter NEW: two kinds of weights, two images c s A: Noisy, dim (ambient image) c s B: Clean,strong (Flash image)

(too dim for a good quick photo) Image A: Warm, shadows, but too Noisy (too dim for a good quick photo) No-flash

(flash: simple light, ALMOST no shadows) Image B: Cold, Shadow-free, Clean (flash: simple light, ALMOST no shadows)

MERGE BEST OF BOTH: apply ‘Cross Bilateral’ or ‘Joint Bilateral’

(it really is much better!)

Recovers Weak Signals Hidden by Noise Noisy but Strong… Noisy and Weak… + Noise =

Ordinary Bilateral Filter? Noisy but Strong… Noisy and Weak… BF Step feature GONE!!

Ordinary Bilateral Noisy but Strong… Noisy and Weak… Signal too small to reject Range filter preserves signal

‘Cross’ or ‘Joint’ Bilateral Idea: Noisy but Strong… Noisy and Weak… Range filter preserves signal Use stronger signal’s range filter weights…

‘Joint’ or ‘Cross’ Bilateral Filter Petschnigg(2004) and Eisemann(2004) Useful Residues. To transfer details, – CBF(A,B) to remove A’s noisy details – CBF(B,A) to remove B’s clean details; – add to CBF(A,B) – clean, detailed image! CBF(A,B): smoothes image A only; (e.g. no flash) Limits smoothing to stay within regions where Image B is ~uniform (e.g. flash)

New Idea: NL-Means Filter (Buades 2005) Same goals: ‘Smooth within Similar Regions’ KEY INSIGHT: Generalize, extend ‘Similarity’ – Bilateral: Averages neighbors with similar intensities; – NL-Means: Averages neighbors with similar neighborhoods!

NL-Means Method: Buades (2005) For each and every pixel p:

NL-Means Method: Buades (2005) For each and every pixel p: – Define a small, simple fixed size neighborhood;

NL-Means Method: Buades (2005) For each and every pixel p: – Define a small, simple fixed size neighborhood; – Define vector V p : a list of neighboring pixel values. V p = …

NL-Means Method: Buades (2005) ‘Similar’ pixels p, q  SMALL vector distance; || V p – V q || 2 p q

NL-Means Method: Buades (2005) ‘Dissimilar’ pixels p, q  LARGE vector distance; || V p – V q || 2 p q q

NL-Means Method: Buades (2005) ‘Dissimilar’ pixels p, q  LARGE vector distance; Filter with this! || V p – V q || 2 p q

NL-Means Method: Buades (2005) p, q neighbors define a vector distance; Filter with this: No spatial term! || V p – V q || 2 p q

NL-Means Method: Buades (2005) pixels p, q neighbors Set a vector distance; Vector Distance to p sets weight for each pixel q || V p – V q || 2 p q

NL-Means Filter (Buades 2005) Noisy source image:

NL-Means Filter (Buades 2005) Gaussian Filter Low noise, Low detail

NL-Means Filter (Buades 2005) Anisotropic Diffusion (Note ‘stairsteps’: ~ piecewise constant)

NL-Means Filter (Buades 2005) Bilateral Filter (better, but similar ‘stairsteps’:

NL-Means Filter (Buades 2005) NL-Means: Sharp, Low noise, Few artifacts.

Many More Possibilities: EXPERIMENT! Bilateral goals are subjective; ‘Local smoothing within similar regions’ ‘Edge-preserving smoothing’ ‘Separate large structure & fine detail’ ‘Eliminate outliers’ ‘Filter within edges, not across them’ It’s simplicity invites new inventive answers.