Bilateral Filter Extension For Removal of Universal Noise: Mtech, Communication Engineering Fisat, Ernakulam, Kerala, India
Bilateral Filter Extension For Removal of Universal Noise: Mtech, Communication Engineering Fisat, Ernakulam, Kerala, India
Bilateral Filter Extension For Removal of Universal Noise: Mtech, Communication Engineering Fisat, Ernakulam, Kerala, India
Abstract- In this paper, I propose an extension of a bilateral filter that can additionally remove impulse noise. The
algorithm involves mainly detection of the noise and classifying it based on an efficient detector. Based on the detection,
the proposed filter is applied for noise removal. The ascending median vector value (AMVV) is the main feature of noise
detection. From the mean value, a threshold median is calculated for each pixel. Each pixel may be affected by Gaussian
or impulse noise. There also remains the possibility that the pixel is noise free. By subtracting the threshold value form
each pixel, the noise can be identified. A bilateral filter normally removes Gaussian noise. By applying the extension it can
be switched to another mode, i.e. for removing impulse noise as well.
Keywords – Gaussian noise, Impulse noise, Sorted quadrant mean value, threshold median, bilateral filter.
I. INTRODUCTION
The main sources of noise in images are acquisition, transmission of images and also during amplification.
Removing noise may seem simple, but to preserve the image features along with noise removal is a tedious one.
Various approaches are present for eliminating noise. We can classify filters into mainly linear and non-linear.
Linear filters are computationally easy to implement, but they often result in blurring of images. Even though they
produce acceptable results for Gaussian noise, they are ineffective when it comes to impulse noise. This
disadvantage tends us to focus on non-linear filter though acknowledging the fact they are mathematically complex
to implement. There are many types of non-linear filters and each has its own operating mode. Here, I have
considered the possibility of modifying only those pixels that are noise affected rather than changing the image as in
linear filters. Additive Gaussian noise has a zero mean distribution (Gaussian domain) and affects each image pixel.
Such type of noise with uniform distribution can be removed by using the weighted averaging method. Transmission
errors and image acquisition are the possible contributors of impulse noise. Impulse noise does not have an uniform
distribution. They affect only a portion of an image and remaining pixels are unaffected. The challenge lies in
identifying the noise affected pixels and replacing only such pixels. An extension of bilateral filter is used for
removing such noise. The threshold median is reduced from each pixel to obtain a difference value. The two noises
are classified based on the difference value. The advantage of this method is the preservation of texture. The
ascending median vector value is used for identifying the texture and to retain it. The threshold median obtained
must be accurate; otherwise it may lead to false detection which results in improper filtering. The bilateral filter
extension has also been successful in removing salt and pepper noise.
The rest of the paper is organized as follows. Ascending median vector value is explained in section II. Bilateral
filter extension is shown in section III. Matlab results and procedures are presented in section IV. Observations of
bilateral filter are given in section V.
II. ASCENDING MEDIAN VECTOR VALUE
A. Gaussian,salt and pepper and impulse noise–
Gaussian noise affects an image in a uniform Gaussian distribution. If additive Gaussian noise is g (i, j), image is
x (i, j) and a (i, j), the corrupted image, then they are related to each other as
a (i, j) = x (i, j)+g (i, j) (1)
Impulse noise corrupts a portion of pixel values and leaves remaining unchanged. If impulse noise is I (i, j), image
is x (i, j) and a (i, j), the corrupted image, then corrupted image can be represented as
a (i, j) = x (i, j) or I (i, j) with varying probabilities (2)
Let the maximum and minimum luminance value of an image be represented by lmax and lmin respectively. When
the noise value ranges between lmax and Lmin, it is salt and pepper noise. Impulse noise takes either of the two
values, lmax or lmin.
B. Why the Ascending median vector value(AMVV)–
Impulse noise usually leads to false detection in processing windows when the number of impulse noise is high. An
example is shown in fig.1 where the center pixel and lower window is corrupted with impulse noise. The median
value of this window becomes an impulse noise. The absolute difference between the center pixel and median result
in zero value. Thus the pixel is identified as noise free whereas actually it is noise affected.
The reason for this failure is a small processing window of size 3x3.It is unable to identify impulse noise or texture.
So we opt for a higher processing window of size 5x5.In this case the median value shifts form the small window.
This may cause false noise detection and blurring of images during filtering.
C. The Ascending median vector value (AMVV) approach
To remove the above problems, an ascending median vector value method is proposed. A higher processing window
of size 5x5 is used and it is divided into four windows of size 3x3 as shown in fig.2The median value of these smaller
windows is identified and they are arranged in an ascending order to obtain an array of vectors.
1 2
x(i,j)
3 4
1 2
x(i,j) x(i,j)
x(i,j) x(i,j)
3 4
Figure 2. Processing four 3x3 windows from a 5x5 window and applying it in an image
The median value of each window can be represented as m1, m2, m3 and m4.They are arranged in increasing order
to obtain the ascending median vector value (AMVV)
AMVV2 is the difference between the two middle median values m2 and m3.
AMVV2=m3-m2 (5)
AMVV1 and AMVV2 show the similarities between the four processing windows. As these windows are applied to
the image, it shows the similarity between textures/edges of four image blocks. Through experimentation, I have
obtained a threshold value P, for comparing AMVV1 and AMVV2.P lies in the range of [35, 15].The type of edge is
classified as follows
Algorithm 1
If AVMM1 P, then it is without an edge,
else if AVMM1 P ^ AVMM2 P, then it is with a weak edge
else if AVMM2 P, it is a strong edge
E. Threshold median(TM)
We separate the median values m1, m2, m3 and m4 into clusters based on the similarity between them. For e.g., if
m1=m3 and m2=m4, we get two clusters (m1, m3) and (m2, m4).The current pixel will fall in any of the clusters
formed. The strong edge occurs when there are no clusters. In such cases the threshold median is the average of m2
and m3.When the difference between the pixel to be processed and the threshold median is large, it is identified as a
noise pixel.
In cases of weak and no edge, we cannot distinguish the cluster to which the processing pixel belongs. Therefore an
average median (am) is defined to identify the cluster to which the pixel belong.
AM= (m1+m2+m3+m4) /4 (6)
when AM is close to (m1,m2), m2 is chosen as the threshold median and when it is (m3,m4), m3 is the threshold
median.
Combining these results the threshold median is defined as
TM = (m3+m2)/2 , if AVMM2P
m3 , if AVMM2P ^ AM close to (m3, m4)
m2 , if AVMM2P ^ AM close to (m1, m2) (7)
F. Noise Detection
After finding the threshold median, each pixel value is subtracted from the threshold median. The resulting absolute
difference is compared with two threshold values T1 and T2 which have been experimentally determined. For salt
and pepper noise the threshold value T1 and T2 is [35, 15]. For impulse and Gaussian noise the value is [25, 10].
The algorithm for noise detection is given below
Algorithm 2
If |x(i, j) - TM| T1, then x(i, j) is impulse noise
else if |x(i, j) - TM| T2, then x(i, j) is Gaussian noise
else x(i, j) is noise free pixel
III. BILATERAL FILTER EXTENSION
A. Bilateral Filter
It is a non-linear filter for removing Gaussian noise while preserving the texture features. The bilateral filter uses the
weighted averaging function for replacing pixel values. It takes into consideration the Euclidean distance and the
similarity of the neighborhood pixels with the center pixel.
If x (i, j) is the current pixel and x (i+s, j+t) is the surrounding pixel in the processing window of size (2N+1,
2N+1), then output of bilateral filter y (i, j)is given by
(9)
G(s, t) = exp - ((i-s)2) + ((j-t)2)
2ıw2
(10)
R(s, t) = exp - (x(i, j) – x(i+s, j+t))2
2ıq2
The bilateral filter consists of Gaussian filter G(s, t) in which the Euclidean distance is calculated and the range filter
R(s, t) in which the difference in intensity is determined. Although the bilateral filter shows good results in removing
Gaussian noise, it cannot remove impulse noise. ıw and ıq values are taken as 1 and 40 respectively after applying
various values to the impulse and Gaussian noise models.
B. Bilateral Filter Extension
The bilateral filter extension is the same as normal bilateral filter except in the range filter section. Certain
modifications are made into the range filter so that the bilateral filter can work as either a Gaussian filter or as an
impulse filter. The basic equation of bilateral filter extension is same as equation (8). The range filter given in
equation (10) is modified as
(11)
R(s, t) = exp - (Z – x (i+s, j+t))2
2ıq2
where Z = Threshold median (TM) , if noise detection algorithm detects an impulse noise.
x (i, j), if noise detection algorithm detects a Gaussian noise.
The advantage of replacing Z with two values is that we do not need to add additional weighting functions to the
bilateral filter. For impulse noise, the values of corrupted pixels will be large. They cannot be replaced by using the
normal range filter. By replacing Z with the threshold median corresponding to the current pixel, the weighting
function becomes effective.
C. Mode selection
There are two modes of working of the bilateral filter extension based on the noise detection algorithm explained
previously. Based on the algorithm, the noise is classified into impulse and Gaussian. If a Gaussian noise is detected
the range filter operates in the Gaussian mode, Z is replaced with x (i, j). This is the normal mode. But when impulse
noise is detected the range filter in the bilateral filter changes to impulse mode, Z is replaced with TM. As the detect
and replace methodology has been implemented, if the pixel is identified to be noise free following the algorithm,
the pixel is left unchanged. So there will be no blurring and the texture features are conserved.
1. Find the Ascending median vector value (AMVV) from the noise corrupted image.
2. The edge/texture is found out form the AMVV using the edge detection algorithm.
3. Based on the corresponding edge features the threshold median is determined for each pixel.
4. The noise detection algorithm is applied to classify noise.
5. Based on the type of noise, the relative mode of bilateral filter extension is applied to the pixels.
IV.RESULTS
The bilateral filter extension is applied to Lena image of size 512x512.The results are obtained for salt and pepper
noise, impulse noise and Gaussian noise. The pixels are processed row and column wise. Salt and pepper noises with
noise densities of 0.1 and 0.2 are tested. Impulse noise with 20% and 40% are applied to images and results are
tested. Gaussian noise with zero mean and variances of .01 and .02 are also evaluated. The results are shown below
input image
IMAGE TO PROCESS
(a) (b)
output
IMAGE TO PROCESS
(c) (d)
output
(e)
Figure 3. (a)Original image (b)salt and pepper noise with 0.1 noise density (e,c)filtered image (d) salt and pepper noise with 0.2 noise density
output
IMAGE TO PROCESS
(a) (b)
(c) (d)
Figure.4 (a) Gaussian noise with mean zero and variance 0.01 (c) Gaussian noise with mean zero and variance 0.02 (b, d) filtered image
IMAGE TO PROCESS
output
(a) (b)
(c) (d)
Figure 5 (a) Impulse noise with 20% noise (c) Impulse noise with 40% nois02 (b, d) filtered image
V. CONCLUSION
This paper concentrates on removing impulse, salt and pepper and Gaussian noise. The main feature of this paper is
the ascending median vector value which preserves the texture/edge features. The noise detection algorithm predicts
the type of noise and the bilateral filter extension is capable of switching between modes. Edge detection algorithm
identifies the three edge types. Bilateral filter is modified without much complication. Bilateral filter has an
excellent classification ability as well as high psnr. Further modifications are possible in this filter. Poisson noise can
also be removed if the Poisson distribution is changed to Gaussian domain.
REFERENCES
[1] C. Tomasi and R. Manduchi, “Bilateral filtering for gray and color images,”in Proc. IEEE Int. Conf. Computer Vision, 1998, pp. 839–846.
[2] R. Garnett, T. Huegerich, C. Chui, and W. He, “A universal noiseremoval algorithm with an impulse detector,” IEEE Trans. Image
Process., vol. 14, no. 11, pp. 1747–1754, Nov. 2005.
[3] E. Abreu, M. Lightstone, S. K. Mitra, and K. Arakawa, “A new efficient approach for the removal of impulse noise from highly corrupted
images,” IEEE Trans. Image Process., vol. 5, no. 6, pp. 1012–1025, Jun. 1996.
[4] M. Zhang and B. K. Gunturk, “Multiresolution bilateral filtering for imgage denoiseing,” IEEE Trans. Image Process., vol. 17, no. 12, pp.
2324–2333, Dec. 2008.
[5] T. Sun and Y. Neuvo, “Detail-preserving median based filters in image processing,” Pattern Recognit. Lett., vol. 15, pp. 341–347, Apr.
1994.
[6] N. Alajlan, M. Kamel, and E. Jernigan, “Detail preserving impulsive noise removal,” Signal Process.: Image Commun., vol. 19, pp.993–
1003, 2004.
[7] I. Pitas and A. N. Venetsanopoulos, “Nonlinear mean filters in image processing,” IEEE Trans. Acoust., Speech, Signal Process., vol.
ASSP-34, no. 3, pp. 573–584, Jun. 1986.
[8] M. Elad, “On the origin of the bilateral filter and ways to improve it,” IEEE Trans. Image Process., vol. 11, no. 10, pp. 1141–1151, Oct.
2002.