Algorithms for Noise Removal and the Bilateral Filter Michael Elad Scientific Computing and Computational Mathematics (SCCM) Program Stanford University.

Slides:



Advertisements
Similar presentations
CSCE 643 Computer Vision: Template Matching, Image Pyramids and Denoising Jinxiang Chai.
Advertisements

Principal Component Analysis Based on L1-Norm Maximization Nojun Kwak IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008.
Joint work with Irad Yavneh
Spatial Filtering (Chapter 3)
Regional Processing Convolutional filters. Smoothing  Convolution can be used to achieve a variety of effects depending on the kernel.  Smoothing, or.
電腦視覺 Computer and Robot Vision I Chapter2: Binary Machine Vision: Thresholding and Segmentation Instructor: Shih-Shinh Huang 1.
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.
Visual Recognition Tutorial
Principal Component Analysis CMPUT 466/551 Nilanjan Ray.
Lecture 4 Linear Filters and Convolution
Modeling Pixel Process with Scale Invariant Local Patterns for Background Subtraction in Complex Scenes (CVPR’10) Shengcai Liao, Guoying Zhao, Vili Kellokumpu,
Retinex Algorithm Combined with Denoising Methods Hae Jong, Seo Multi Dimensional Signal Processing Group University of California at Santa Cruz.
Prénom Nom Document Analysis: Linear Discrimination Prof. Rolf Ingold, University of Fribourg Master course, spring semester 2008.
Edge detection. Edge Detection in Images Finding the contour of objects in a scene.
Image processing. Image operations Operations on an image –Linear filtering –Non-linear filtering –Transformations –Noise removal –Segmentation.
Motion Analysis (contd.) Slides are from RPI Registration Class.
CSCE 641 Computer Graphics: Image Filtering & Feature Detection Jinxiang Chai.
Segmentation Divide the image into segments. Each segment:
Clustering Color/Intensity
1 Image Filtering Readings: Ch 5: 5.4, 5.5, 5.6,5.7.3, 5.8 (This lecture does not follow the book.) Images by Pawan SinhaPawan Sinha formal terminology.
CS443: Digital Imaging and Multimedia Filters Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University Spring 2008 Ahmed Elgammal Dept.
Image Enhancement.
1 Image filtering Images by Pawan SinhaPawan Sinha.
1 Image filtering
1 Images and Transformations Images by Pawan SinhaPawan Sinha.
1 Image filtering Hybrid Images, Oliva et al.,
Dorin Comaniciu Visvanathan Ramesh (Imaging & Visualization Dept., Siemens Corp. Res. Inc.) Peter Meer (Rutgers University) Real-Time Tracking of Non-Rigid.
EE565 Advanced Image Processing Copyright Xin Li Different Frameworks for Image Processing Statistical/Stochastic Models: Wiener’s MMSE estimation.
Computational Photography: Image Processing Jinxiang Chai.
Retinex by Two Bilateral Filters Michael Elad The CS Department The Technion – Israel Institute of technology Haifa 32000, Israel Scale-Space 2005 The.
Basic Image Processing January 26, 30 and February 1.
Most slides from Steve Seitz
CSCE 441: Computer Graphics Image Filtering Jinxiang Chai.
Machine Vision ENT 273 Image Filters Hema C.R. Lecture 5.
A Gentle Introduction to Bilateral Filtering and its Applications How does bilateral filter relates with other methods? Pierre Kornprobst (INRIA) 0:35.
7.1. Mean Shift Segmentation Idea of mean shift:
INFORMATIK Mesh Smoothing by Adaptive and Anisotropic Gaussian Filter Applied to Mesh Normals Max-Planck-Institut für Informatik Saarbrücken, Germany Yutaka.
Digital Image Processing CCS331 Relationships of Pixel 1.
Shape From Moments Shape from Moments An Estimation Perspective Michael Elad *, Peyman Milanfar **, and Gene Golub * SIAM 2002 Meeting MS104 - Linear.
CSC508 Convolution Operators. CSC508 Convolution Arguably the most fundamental operation of computer vision It’s a neighborhood operator –Similar to the.
1 Markov random field: A brief introduction (2) Tzu-Cheng Jen Institute of Electronics, NCTU
1  The Problem: Consider a two class task with ω 1, ω 2   LINEAR CLASSIFIERS.
Bilateral Mesh Denoising Shachar Fleishman Iddo Drori Daniel Cohen-Or Tel Aviv University.
3.7 Adaptive filtering Joonas Vanninen Antonio Palomino Alarcos.
CS 641 Term project Level-set based segmentation algorithms Presented by- Karthik Alavala (under the guidance of Dr. Jundong Liu)
October 1, 2013Computer Vision Lecture 9: From Edges to Contours 1 Canny Edge Detector However, usually there will still be noise in the array E[i, j],
Instructor: Mircea Nicolescu Lecture 7
Color Image Segmentation Mentor : Dr. Rajeev Srivastava Students: Achit Kumar Ojha Aseem Kumar Akshay Tyagi.
Using Neumann Series to Solve Inverse Problems in Imaging Christopher Kumar Anand.
Spatial Filtering (Chapter 3) CS474/674 - Prof. Bebis.
Linear Filters and Edges Chapters 7 and 8
Motion and Optical Flow
Image filtering Hybrid Images, Oliva et al.,
Image filtering Images by Pawan Sinha.
Image filtering Images by Pawan Sinha.
Where did we stop? The Bayes decision rule guarantees an optimal classification… … But it requires the knowledge of P(ci|x) (or p(x|ci) and P(ci)) We.
Image filtering Images by Pawan Sinha.
Basic Image Processing
Most slides from Steve Seitz
Image filtering Images by Pawan Sinha.
Image filtering
Image filtering
Parametric Methods Berlin Chen, 2005 References:
Intensity Transformation
Image Filtering Readings: Ch 5: 5. 4, 5. 5, 5. 6, , 5
Most slides from Steve Seitz
DIGITAL IMAGE PROCESSING Elective 3 (5th Sem.)
Presentation transcript:

Algorithms for Noise Removal and the Bilateral Filter Michael Elad Scientific Computing and Computational Mathematics (SCCM) Program Stanford University May 6 th, 2002

2/ General This work deals with state-of-the-art algorithms for noise suppression. The basic model assumption is Y=X+V where X – Unknown signal to be recovered, V – Zero-mean white Gaussian noise, Y – Measured signal.

3/ Graphically … White - Ideal continuous signal Red – Sampled (discrete) noisy signal

4/ Example

5/ Noise Suppression Noise Suppression YX Assumptions on the noise and the desired signal X

6/ Background There are numerous methods to suppress noise, We are focusing on the family of methods based on –Piece-wise smoothness assumption –Maximum A-posteriori Probability Estimation (Bayesian) State-of-the-art methods from this family: –WLS - Weighted Least Squares, –RE - Robust Estimator, –AD - Anisotropic diffusion, –Bilateral filter

7/ In Focus – Bilateral Filter The bilateral filter was originally proposed by Tomasi and Manduchi in 1998 (ICCV) as a heuristic tool for noise removal, A similar filter (Digital-TV) was proposed by Chan, Osher and Chen in February 2001 (IEEE Trans. On Image Proc.), In this talk we: –Analyze the bilateral filter and relate it to the WLS/RE/AD algorithms, –Demonstrate its behavior, –Suggest further improvements to this filter.

8/59 Chapter 2 The WLS, RE and AD Filters

9/ MAP Based Filters We would like the filter to produce a signal that Is close to the measured signal, Is smooth function, and Preserves edges. Using Maximum-Aposteriori-Probability formulation, we can write a penalty function which, when minimized, results with the signal we desire. Main Question: How to formulate the above requirements?

10/ Least Squares Proximity to the measurements Spatial smoothness D- A one-sample shift operator. Thus, (X- DX) is merely a discrete one-sided derivative.

11/ Weighted Least Squares Proximity to the measurements Spatially smooth Edge Preserving by diagonal weight matrix Based on Y: Samples belonging to smooth regions are assigned with large weight (  1). Samples suspected of being edge points are assigned with low weight (  0).

12/ WLS Solution The penalty derivative: A single SD Iteration with Y as initialization gives: What about updating the weights after each iteration ?

13/ Robust Estimation Proximity to the measurements Spatially smooth and edge preserving  (  ) - A symmetric non-negative function, e.g.  (  )=  2 or  (  )=|  |, etc.

14/ RE Solution The penalty derivative: A single SD Iteration with Y as initialization gives: ‘

15/59 For equivalence, require 2.7 WLS and RE Equivalence ‘

16/ WLS and RE Examples The weight as a function of the derivative

17/59 This way the RE actually applies an update of the weights after each iteration 2.9 RE as a Bootstrap-WLS

18/ Anisotropic Diffusion Anisotropic diffusion filter was presented originally by Perona & Malik on 1987 The proposed filter is formulated as a Partial Differential Equation, When discretized, the AD turns out to be the same as the Robust Estimation and the line- process techniques (see – Black and Rangarajan – 96` and Black and Sapiro – 99’).

19/ Example Original image WLS – 100 Iterations Noisy image Var=15 RE – 100 Iterations

20/59 Chapter 3 The Bilateral Filter

21/ General Idea Every sample is replaced by a weighted average of its neighbors (as in the WLS), These weights reflect two forces –How close are the neighbor and the center sample, so that larger weight to closer samples, –How similar are the neighbor and the center sample – larger weight to similar samples. All the weights should be normalized to preserve the local mean.

22/ In an Equation The result at the k th sample Averaging over the 2N+1 neighborhood The weight The neighbor sample Normalization of the weighting Y[j] j k

23/ The Weights

24/ Graphical Example Center Sample It is clear that in weighting this neighborhood, we would like to preserve the step Neighborhood

25/ The Weights

26/ Total-Distance It appears that the weight is inversely prop. to the Total-Distance (both horizontal and vertical) from the center sample.

27/ Discrete Beltrami Flow? This idea is similar in spirit to the ‘Beltrami Flow’ proposed by Sochen, Kimmel and Maladi (1998). There, the effective weight is the ‘Geodesic Distance’ between the samples. Total Distance

28/ Kernel Properties Per each sample, we can define a ‘Kernel’ that averages its neighborhood This kernel changes from sample to sample! The sum of the kernel entries is 1 due to the normalization, The center entry in the kernel is the largest, Subject to the above, the kernel can take any form (as opposed to filters which are monotonically decreasing).

29/ Filter Parameters As proposed by Tomasi and Manduchi, the filter is controlled by 3 parameters: N – The size of the filter support,  S –The variance of the spatial distances,  R – The variance of the spatial distances, and It – The filter can be applied for several iterations in order to further strengthen its edge-preserving smoothing.

30/ Additional Comments The bilateral filter is a powerful filter: One application of it gives the effect of numerous iterations using traditional local filters, Can work with any reasonable distances d s and d R definitions, Easily extended to higher dimension signals, e.g. Images, video, etc. Easily extended to vectored-signals, e.g. Color images, etc.

31/ Example Original image RE – 100 Iterations Noisy image Var=15 Bilateral (N=10, …)

32/ To Summarize Feature Bilateral filterWLS/RE/AD Behavior Edge preserveEdge preserve Support size May be largeVery small Iterations PossibleMust Origin HeuristicMAP-based What is the connection between the bilateral and the WLS/RE/AD filters ?

33/59 Chapter 4 The Bilateral Filter Origin

34/ General Idea In what follows we shall show that: We can propose a novel penalty function  {X}, extending the ones presented before, The bilateral filter emerges as a single Jacobi iteration minimizing  {X}, if Y is used for initialization, We can get the WLS/RE filters as special cases of this more general formulation.

35/59 X[k]-x[k-n] 4.2 New Penalty Function Proximity to the measurements Spatially smooth and edge preservation

36/ Penalty Minimization A single Steepest-Descent iteration with Y as initialization gives

37/ Algorithm Speed-Up Instead the SD, we use a Jacobi iteration, where  is replaced by the inverse of the Hessian Matrix main diagonal Relaxation

38/ Choice of Weights Where:  (x) - Some robust function (non-negative, symmetric penalty function, e.g.  (x)=|x|. V(n) - Symmetric, monotonically decreasing weight, e.g. V(n)=  |n|, where 0<  <1. Let us choose the weights in the diagonal matrix W(Y,n) as

39/59 This entire operation can be viewed as a weighted average of samples in Y, where the weights themselves are dependent on Y 4.6 The Obtained Filter We can write

40/ The Filter Coefficients

41/ The Filter Properties If we choose we get an exact equivalence to the bilateral filter. The values of  and enable a control over the uniformity of the filter kernel. The sum of all the coefficients is 1, and all are non- negative.

42/ To Recap A new penalty function was defined We assumed a specific weight form We used a single Jacobi iteration We got the bilateral filter

43/59 Chapter 5 Improving The Bilateral Filter No time ? press HERE

44/ What can be Achieved? Why one iteration? We can apply several iterations of the Jacobi algorithm. Speed-up the algorithm effect by a Gauss- Siedel (GS) behavior. Speed-up the algorithm effect by updating the output using sub-gradients. Extend to treat piece-wise linear signals by referring to 2 nd derivatives.

45/ GS Acceleration For a function of the form: The SD iteration: The Jacobi iteration:The GS iteration: The GS intuition – Compute the output sample by sample, and use the already computed values whenever possible.

46/ Sub-Gradients The function we have has the form One SD iteration:

47/ Piecewise Linear Signals Similar penalty term using 2 nd derivatives for the smoothness term This way we do not penalize linear signals !

48/59 Chapter 6 Results

49/ General Comparison Original imageNoisy image Values in the range [1,7] Gaussian Noise -  =0.2 Noise Gain = Mean-Squared-Error before the filter Mean-Squared-Error after the filter

50/ Results WLS 50 iterations Gain: 3.90 Bilateral (N=6) 1 iteration Gain: RE ( ) 50 iterations Gain: Bilateral 10 iterations Gain:

51/ Speedup Results Regular bilateral filter gave Gain= Using the Gauss-Siedel version of the filter we got Gain= Using the sub-gradient approach we got Gain=197.26! The filter size is 13 by 13, which means that we have 169 sub- iterations instead of a single large one.

52/ Piecewise linear Image Original image Values in the range [0,16] Noisy image Gaussian noise with  =0.2

53/ Results Regular bilateral filter Gain: 1.53 Regular BL Filter error (mul. By 80) Piecewise lin. bilateral filter Gain: Regular BL Filter error (mul. By 80)

54/ The Filter’s Kernel Original image Values in the range [0,4] Noisy image Gaussian noise with  =0.2

55/ RE & Bilateral Results RE with 1500 iterations Gain: 2.32 Bilateral Filter Gain: The bilateral filter uses a 13 by 13 filter support, and exploits every possible pixel in this neighborhood in order to average the noise. The RE effective support cannot propagate across edges! Thus, at most 4 by 4 pixels (the size of the squares in the checkerboard) are averaged.

56/ Bilateral Kernel Shape Important Property: As opposed to the WLS, RE, and AD filters, the bilateral filter may give non-monotonically varying weights. Center Pixel 13

57/59 Chapter 7 Conclusions and Further Work

58/ Conclusions The bilateral filter is a powerful alternative to the iteration-based (WLS,RE,AD) filters for noise removal. We have shown that this filter emerges as a single Jacobi iteration of a novel penalty term that uses ‘long-distance’ derivative. We can further speed the bilateral filter using either the GS or the sub-gradient approaches. We have generalized the bilateral filter for treating piece-wise linear signals.

59/59 Convergence proofs for the regular bilateral filter if applied iteratively, and its speed-up variations, Relation to Wavelet-based (Donoho and Johnston) and other de-noising algorithms, Approximated bilateral filter - Enjoying the good de-noising performance while reducing complexity. 7.2 What Next ?