5. 1 Model of Image degradation and restoration g(x,y)=h(x,y)f(x,y)+(x,y) Note: H is a linear, position-invariant process.
Spatial and frequency property of noise 5.2 Noise Model Spatial and frequency property of noise White noise (random noise) A sequence of random positive/negative numbers whose mean is zero. Independent of spatial coordinates and the image itself. In the frequency domain, all the frequencies are the same. All the frequencies are corrupted by an additional constant frequency. Periodic noise
Noise Probability Density Functions (1) Gaussian noise : mean; : variance 70% [(-), (+)] 95 % [(-2), (+2)] Because of its tractability, Gaussian (normal) noise model is often applicable at best.
Implementation The problem of adding noise to an image is identical to that of adding a random number to the gray level of each pixel. Noise models describe the distribution (probability density function, PDF) of these random numbers. How to match the PDF of a group of random numbers to a specific noise model? Histogram matching.
Noise Probability Density Functions (2) Rayleigh noise = a+(b/4)1/2 = b(4-)/4
Noise Probability Density Functions (3) Erlang (gamma) noise =b/a; =b/a2
Noise Probability Density Functions (4) Exponential noise =1/a; =1/a2 A special case Erlang noise model when b = 1.
Noise Probability Density Functions (5) Uniform noise =(a+b)/2; =(b-a)2/12
Noise Probability Density Functions (6) Impulse noise (salt and pepper noise)
Example
Results of adding noise
Results of adding noise
The Principle Use of Noise Models Gaussian noise: electronic circuit noise and sensor noise due to poor illumination or high temperature. Rayleigh noise: Noise in range imaging. Erlang noise: Noise in laser imaging. Impulse noise: Quick transients take place during imaging. Uniform noise: Used in simulations.
Impulse noise is caused by Malfunctioning pixels in camera sensors Fault memory locations in hardware Transmisison in a noisy channel Two types: Salt-and-pepper Noise Uniformly-Distrubuted Random Noise
5.2.4 Estimation of Noise Parameters How do we know which noise model adaptive to the currently available imaging tool? Image a solid gray board that is illuminated uniformly. Crop a small patch of constant grey level and analyze its histogram to see which model matches.
5.2.4 Estimation of Noise Parameters Gaussian n: Find the mean and standard deviation of the histogram (Gaussian noise). Rayleigh, Erlang, and uniform noise: Calculate the a and b from and . Impulse noise: Compute the height of peaks at gray levels 0 and 255 to find Pa and Pb.
Estimation of Noise Parameters
Non-Local Means Algorithm (Buades 2005) The recently proposed Nonlocal Means Algorithm (NLmeans) has offered remarkably promising results. Unlike previous denoising methods that rely on the local regularity assumption, the NL-means exploits spatial correlation in the entire image for noise removal. It adjusts each pixel value with a weighted average of other pixels whose neighborhood has a similar geometrical configuration. Since image pixels are highly correlated while noise is typically independently and identically distributed (i.i.d.), averaging of these pixels results in noise cancellation and yields a pixel that is similar to its original value.
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) 0.74 0.32 0.41 0.55 … For each and every pixel p: Define a small, simple fixed size neighborhood; Define vector Vp: a list of neighboring pixel values. Vp =
NL-Means Method: Buades (2005) q ‘Similar’ pixels p, q SMALL vector distance; p || Vp – Vq ||2
NL-Means Method: Buades (2005) q ‘Dissimilar’ pixels p, q LARGE vector distance; q p || Vp – Vq ||2
NL-Means Method: Buades (2005) ‘Dissimilar’ pixels p, q LARGE vector distance; Filter with this! q p || Vp – Vq ||2
NL-Means Method: Buades (2005) p, q neighbors define a vector distance; Filter with this: No spatial term! q || Vp – Vq ||2 p
NL-Means Method: Buades (2005) pixels p, q neighbors Set a vector distance; Vector Distance to p sets weight for each pixel q q || Vp – Vq ||2 p
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) Sharp, Low noise, Few artifacts.
Order-Statistics filters Median filter Max filter: find the brightest points to reduce the pepper noise Min filter: find the darkest point to reduce the salt noise Midpoint filter: combining statistics and averaging.
Median filter
The median filter is used for removing noise. It can remove isolated impulsive noise and at the same time it preserves the edges and other structures in the image. Contrary to average filtering it does not smooth the edges.
Unlike the mean filter, the median filter is non- linear Unlike the mean filter, the median filter is non- linear. This means that for two images A(x) and B(x):
Removal of Line Artifacts by Median Filtering
The original image. b) Original image corrupted by salt and pepper noise (p=5 % that a bit is flipped. c) After smoothing with a 3 x 3 filter most of the noise has been eliminated.
d) If we smooth the image with a larger median filter, e. g d) If we smooth the image with a larger median filter, e.g. 7 x 7, all the noise pixels disappear. e) Alternatively, we can pass a 3 x 3 filter over the image 3 times in order to remove the noise with less loss of detail.
Salt and pepper noise (5 %) Smoothed by 3 x 3 window Smoothed by 3 x 3 window
Salt and pepper noise (5 %) Median filtered by 3 x 3 window Median filtered by 3 x 3 window
Example 5.3 Iteratively applying median filter to an image corrupted by impulse noise.
Alpha-trimmed mean filter is windowed filter of nonlinear class, by its nature is hybrid of the mean and median filters. The basic idea behind filter is for any element of the signal (image) look at its neighborhood, discard the most atypical elements and calculate mean value using the rest of them.
Alpha-Trimmed Mean Filter Combining the advantages of mean filter and order-statistics filter. Suppose delete d/2 lowest and d/2 highest gray-level value in the neighborhood of Sxy and average the remaining mn-d pixel, denoted by gr(s, t). where d=0 ~ mn-1
Two adaptive filters are considered: Filters whose behavior changes based on statistical characteristics of the image. Two adaptive filters are considered: Adaptive, local noise reduction filter. Adaptive median filter.
Adaptive, Local Noise Reduction Filter Two parameters are considered: Mean: measure of average gray level. Variance: measure of average contrast. Four measurements: noisy image at (x, y ): g(x, y ) The variance of noise 2 The local mean mL in Sxy The local variance 2L
Adaptive, Local Noise Reduction Filter Given the corrupted image g(x, y), find f(x, y). Conditions: 2 is zero (Zero-noise case) Simply return the value of g(x, y). If 2L is higher than 2 Could be edge and should be preserved. Return value close to g(x, y). If 2L = 2 when the local area has similar properties with the overall image. Return arithmetic mean value of the pixels in Sxy. General expression:
Adaptive, Local Noise Reduction Filter
Adaptive Median Filter Adaptive median filter can handle impulse noise with larger probability (Pa and Pb are large). This approach changes window size during operation (according to certain criteria). First, define the following notations: zmin=minimum gray-level value in Sxy zmax=maximum gray-level value in Sxy zmed=median gray-level value in Sxy zxy= gray-level at (x,y) Smax=maximum allowed size of Sxy
Adaptive Median Filter The adaptive median filter algorithm works in two levels: A and B Level A: A1=zmed-zmin A2=zmed-zmax If A1>0 and A2<0 goto level B else increase the window size If window size Smax repeat level A else output zxy Level B: B1=zxy-zmin B2=zxy-zmax If B1>0 AND B2<0, output zxy Else output zmed.
Example 5.5
Standard Median output Salt and pepper noise Salt and Pepper Adaptive median Output Standard Median output
With Non-impulsive noise Adaptive Median Output Gaussian Noise Standard Median output
With both types of noise Adaptive Median output Gaussian and impulsive Noise Standard Median output
Conclusions The adaptive median filter successfully removes impulsive noise from images. It does a reasonably good job of smoothening images that contain non-impulsive noise. When both types of noise are present, the algorithm is not as successful in removing impulsive noise and its performance deteriorates. Overall, the performance is as expected and the successful implementation of the adaptive median filter is presented.
The End