Filtering is perhaps the most fundamental
operation of image processing and computer vision. In the broadest
sense of the term "filtering", the value of the filtered image at a
given location is a function of the values of the input image in a
small neighborhood of the same location. For example, Gaussian
lowpass filtering computes a weighted average of pixel values in the
neighborhood, in which the weights decrease with distance from the
neighborhood center. Although formal and quantitative explanations of
this weight falloff can be given, the intuition is that images
typically vary slowly over space, so near pixels are likely to have
similar values, and it is therefore appropriate to average them
together. The noise values that corrupt these nearby pixels are
mutually less correlated than the signal values, so noise is averaged
away while signal is preserved.
The assumption of slow spatial variations fails at edges, which are
consequently blurred by linear lowpass filtering. How can we prevent
averaging across edges, while still averaging within smooth regions?
Many
efforts have been devoted to reducing this
undesired effect. Bilateral
filtering is a simple, noniterative
scheme for edgepreserving
smoothing.
Back to Index
The basic idea underlying bilateral filtering is
to do in the range of an image what traditional filters do in its
domain. Two pixels can be close to one another, that is,
occupy nearby spatial location, or they can be similar to one another, that is,
have nearby values, possibly in a perceptually meaningful
fashion.
Consider a shiftinvariant lowpass domain filter applied to an
image:
The bold font for f and h
emphasizes the fact that both input and output images may be
multiband. In order to preserve the DC component, it must be
Range filtering is similarly defined:
In this case, the kernel measures the photometric similarity between
pixels. The normalization constant in this case is
The spatial distribution of image intensities plays no role in range
filtering taken by itself. Combining intensities from the entire
image, however, makes little sense, since the distribution of image
values far away from x ought not to affect the final value at x. In addition, one can show
that range filtering without domain filtering merely changes the
color map of an image, and is therefore of little use. The
appropriate solution is to combine domain and range filtering,
thereby enforcing both geometric and photometric locality. Combined
filtering can be described as follows:
with the normalization
Combined domain and range filtering will be denoted as
bilateral filtering. It replaces the pixel value at x with an average of similar and
nearby pixel values. In smooth regions, pixel values in a small
neighborhood are similar to each other, and the bilateral filter acts
essentially as a standard domain filter, averaging away the small,
weakly correlated differences between pixel values caused by noise.
Consider now a sharp boundary between a dark and a bright region, as
in figure 1(a).









A simple and important case of bilateral filtering
is shiftinvariant Gaussian filtering, in which both the closeness
function c and
the similarity function s are Gaussian functions of the Euclidean distance between
their arguments. More specifically, c is radially symmetric:
where
is the Euclidean distance. The similarity function s is perfectly analogous to
c :
where
is a suitable measure of distance in intensity space. In the scalar
case, this may be simply the absolute difference of the pixel
difference or, since noise increases with image intensity, an
intensitydependent version of it. Just as this form of domain
filtering is shiftinvariant, the Gaussian range filter introduced
above is insensitive to overall additive changes of image intensity.
Of course, the range filter is shiftinvariant as well.
Back to Index
Figure 2 (a) and (b) show the potential of
bilateral filtering for the removal of texture. The picture
"simplification" illustrated by figure 2 (b) can be useful for data
reduction without loss of overall shape features in applications such
as image transmission, picture editing and manipulation, image
description for retrieval.









Bilateral filtering with parameters sd =3 pixels and
sr =50
intensity values is applied to the image in figure 3 (a) to yield the
image in figure 3 (b). Notice that most of the fine texture has been
filtered away, and yet all contours are as crisp as in the original
image. Figure 3 (c) shows a detail of figure 3 (a), and figure 3 (d)
shows the corresponding filtered version. The two onions have assumed
a graphicslike appearance, and the fine texture has gone. However,
the overall shading is preserved, because it is well within the band
of the domain filter and is almost unaffected by the range filter.
Also, the boundaries of the onions are preserved.















For blackandwhite images, intensities between
any two gray levels are still gray levels. As a consequence, when
smoothing blackandwhite images with a standard lowpass filter,
intermediate levels of gray are produced across edges, thereby
producing blurred images. With color images, an additional
complication arises from the fact that between any two colors there
are other, often rather different colors. For instance, between blue
and red there are various shades of pink and purple. Thus, disturbing
color bands may be produced when smoothing across color edges. The
smoothed image does not just look blurred, it also exhibits
oddlooking, colored auras around objects.
























[1] C. Tomasi and R. Manduchi,
"Bilateral Filtering for Gray and Color Images", Proceedings of the 1998 IEEE International Conference on
Computer Vision, Bombay, India.
[2] T. Boult, R.A. Melter, F. Skorina, and I.
Stojmenovic,"Gneighbors", Proceedings of
the SPIE Conference on Vision Geometry II,
pages 96109, 1993.
[3] R.T. Chin and C.L. Yeh, "Quantitative evaluation of some
edgepreserving noisesmoothing techniques", Computer Vision, Graphics, and Image
Processing, 23:6791, 1983.
[4] L.S. Davis and A. Rosenfeld, "Noise cleaning by iterated local
averaging", IEEE Transactions on Systems,
Man, and Cybernetics, 8:705710, 1978.
[5] R.E. Graham, "Snowremoval  a noisestripping process for
picture signals", IRE Transactions on
Information Theory, 8:129144, 1961.
[6] N. Himayat and S.A. Kassam, "Approximate performance analysis of
edge preserving filters", IEEE Transactions
on Signal Processing, 41(9):276477,
1993.
[7] T.S. Huang, G.J. Yang, and G.Y. Tang, "A fast twodimensional
median filtering algorithm", IEEE
Transactions on Acoustics, Speech, and Signal
Processing, 27(1):1318, 1979.
[8] J.S. Lee, "Digital image enhancement and noise filtering by use
of local statistics", IEEE Transactions on
Pattern Analysis and Machine Intelligence,
2(2):165168, 1980.
[9] M. Nagao and T. Matsuyama, "Edge preserving smoothing",
Computer Graphics and Image
Processing, 9:394407, 1979.
[10] P.M. Narendra, "A separable median filter for image noise
smoothing", IEEE Transactions on Pattern
Analysis and Machine Intelligence,
3(1):2029, 1981.
[11] K.J. Overton and T.E. Weymouth, "A noise reducing preprocessing
algorithm",Proceedings of the IEEE Computer
Science Conference on Pattern Recognition and Image
Processing, pages 498507, Chicago, IL,
1979.
[12] P. Perona and J. Malik, "Scalespace and edge detection using
anisotropic diffusion", IEEE Transactions
on Pattern Analysis and Machine Intelligence, 12(7):629639, 1990.
[13] G. Ramponi, "A rational edgepreserving smoother",
Proceedings of the International Conference
on Image Processing, volume 1, pages
151154, Washington, DC, 1995.
[14] G. Sapiro and D.L. Ringach, "Anisotropic diffusion of color
images", Proceedings of the
SPIE, volume 2657, pages 471382,
1996.
[15] D.C.C. Wang, A.H. Vagnucci, and C.C. Li, "A gradient inverse
weighted smoothing scheme and the evaluation of its performance",
Computer Vision, Graphics, and Image
Processing, 15:167181, 1981.
[16] G. Wyszecki and W. S. Styles, Color Science: Concepts and Methods, Quantitative Data and
Formulae, John Wiley and Sons, New York,
NY, 1982.
[17] L. Yin, R. Yang, M. Gabbouj, and Y. Neuvo, "Weighted median
filters: a tutorial",IEEE Transactions on
Circuits and Systems II: Analog and Digital Signal
Processing, 43(3):155192, 1996.