Advances in Computing
p-ISSN: 2163-2944 e-ISSN: 2163-2979
2012; 2(1): 12-16
doi: 10.5923/j.ac.20120201.03
Faouzi Benzarti , Hamid Amiri
Signal, Image and Patterns Recognition Laboratory Engineering School of Tunis (ENIT), Tunisia
Correspondence to: Faouzi Benzarti , Signal, Image and Patterns Recognition Laboratory Engineering School of Tunis (ENIT), Tunisia.
| Email: | ![]() |
Copyright © 2012 Scientific & Academic Publishing. All Rights Reserved.
Image denoising is an important pre-processing step for many image analysis and computer vision system. It refers to the task of recovering a good estimate of the true image from a degraded observation without altering and changing useful structure in the image such as discontinuities and edges. In this paper, we propose a new approach for image denoising based on the combination of two non linear diffusion tensors. One allows diffusion along the orientation of greatest coherence while the other allows diffusion along orthogonal directions. The idea is to track perfectly the local geometry of the degraded image and applying anisotropic diffusion mainly along the preferred structure direction. To illustrate the effective performance of our method, we present some experimental results on a test and real photographic color images.
Keywords: Image denoising, PDEs, Structure Tensor, Diffusion Tensor
Cite this paper: Faouzi Benzarti , Hamid Amiri , "Image Denoising Using Non Linear Diffusion Tensors", Advances in Computing, Vol. 2 No. 1, 2012, pp. 12-16. doi: 10.5923/j.ac.20120201.03.
be the grayscaled intensity image with a diffusion time t, for the image domain
.The nonlinear PDE equation is given by:![]() | (1) |
denotes the first derivative regarding the diffusion time t;
denotes the gradient modulus and g(.) is a non-increasing function, known as the diffusivity function which allows isotropic diffusion in flat regions and no diffusion near edges.By developing the divergence term of (1), we obtain:![]() | (2) |
and
are respectively the second spatial derivatives of in the directions of the gradient
, and its orthogonal
; H denotes the Hessian of u. According to these definitions, on the image discontinuities, we have the diffusion along (normal to the edge) weighted with
and a diffusion along
(tangential to the edge) weighted with
. To understand the principle of the anisotropic diffusion, let represent a contour C (figure 1) separating two homogeneous regions of the image, the isophote lines (e.g. level curves of equal gray-levels) correspond to u(x,y) = c. In this case, the vector is normal to the contour C, the set is then a moving orthonormal basis whose configuration depends on the current coordinate point (x, y). In the neighborhood of a contour C, the image presents a strong gradient. To better preserve these discontinuities, it is preferable to diffuse only in the direction parallel to C (i.e. in the -direction). In this case, we have to inhibit the coefficient of
(e.g.
), and to suppose that the coefficient of
does not vanish.![]() | Figure 1. Image contour and its moving orthonormal basis ![]() |
:avoids inverse diffusion
:allows isotropic diffusion for low gradient.allows anisotropic diffusion to preserve discontinuities for the high gradient.An extension of the nonlinear diffusion filtering to vector-valued image (e.g. color image) has been proposed [20][3]. It evolves:
under the diffusion equations:Where
: denotes the ith component channels of
Note that
, represents the luminance function, which coupled all vectors channels taking the strong correlations among channels. However, this luminance function is not being able to detect iso-luminance contours. ![]() | (4) |
: the smoothed version of the gradient which is obtained by a convolution with a Gaussian kernel
. The structure scale
determines the size of the resulting flow-like patterns. Increasing
gives an increased distance between the resulting flow lines.These new gradient features allow a more precise description of the local gradient characteristics. However, it is more convenient to use a smoothed version of
, that is: ![]() | (5) |
: a Gaussian kernel with standard deviation
.The integration scale
averages orientation information. Therefore, it helps to stabilize the directional behavior of the filter. In particular, it is possible to close interrupted lines if
is equal or larger than the gap size. In order to enhance coherent structures, the integration scale
should be larger than the structure scale
(
. In summary, the convolution with the Gaussian kernels
,make the structure tensor measure more coherent. To go further into the formalism, the structure tensor
can be written over its eigenvalues (
)and eigenvectors(
), that is:![]() | (6) |
give the preferred local orientations, and the corresponding eigenvalues denote the local contrast along these directions. The eigenvalues of
are given by :![]() | (7) |
![]() | (8) |
satisfy :![]() | (9) |
.The eigenvector
which is associated with the larger eigenvalue
defines the direction of largest spatial change (i.e. the “gradient” direction). There are several ways to express the norm of the vector gradient to detect edges and corners; the most used is
.The eigenvalues
are indeed well adapted to discriminate different geometric cases:If
, the region doesn't contain any edges or corners. For this configuration, the variation norm
should be low.If
, there are a lot of vector variations. The current point may be located on a vector edge. For this configuration, the variation norm
should be high.If
, there is a saddle point of the vector surface, which can possibly be a vector corner in the image In this case
should be even higher than the case above. We note that for the case of the scalar image (e.g. n=1),
and
Moreover, Weickert [3] proposed a non linear diffusion tensor by replacing the diffusivity function g(.) in (1) with a structure tensor, to create a truly anisotropic scheme, that is:![]() | (10) |
is the diffusion tensor which is positive definite symmetric 2x2 matrix. This tensor possesses the same eigenvectors
as the structure tensor
and uses λ1 and λ2 to control the diffusion speeds in these two directions, that is: ![]() | (11) |
; where Id : Identity matrix.![]() | Figure 2. Diffusion tensor 2D representation |
(12)Where
and
.In flat regions, we should have
and then
where Id is the identity matrix. The tensor D is defined to be isotropic in these regions and takes the form of a circle of radius
.Along image contours, we have
, and then
. The diffusion tensor D is then anisotropic, mainly directed by the smoothed direction of the image isophotes.The idea from the CED approach is that broken boundries of a single structure could be reconnected by allowing diffusion along the orientation of greatest coherence
can be viewed as a parameter of regularization which ensures the compromise between the two tensors. The tensor
is derived from (11), that is
=
with the following diffusion weight functions: ![]() | (13) |
. For a scalar image, the tensor D2 takes the form: ![]() | (14) |
: denote the local coordinate system which are the smoothed version of
; with: ![]() | (15) |
: denotes a Gaussian Kernel; and
.By developing (14), the tensor D2 can be expressed by:Where
: denote the conductivity in the direction of the gradient and along the isophotes respectively. There are several choices for these conductivities, the wise choice is:
and
, with
. This allows preserving and enhancing edges while smoothing within flat regions. Indeed, when the gradient modulus
is high (e.g. edges, corners region), both
tends to 0, inhibiting the effect of diffusion. In contrast, when
is low (e.g. flat region),
tends to two constants: 1 and
respectively, the diffusion is isotropic in (
)directions. The extension of (16) to multivalued (e.g. color) images require the integration of the spectral components, that is: ![]() | (17) |
Furthermore, equation (12) can be solved numerically using finite differences [2]. The time derivative
is approximated by the forward difference
, which leads to the iterative scheme: ![]() | (18) |
![]() | (19) |
the tensor term (i.e. D1, D2), And
: the central differences of any F functions.The main steps of the algorithm are:The algorithm has been implemented with Matlab language. In the following section, we will give some experimental results. ![]() | Figure 3. Comparison results;-a- Original image,-b- Degraded image,-c- Total Variation (TV) method,-d- Bilateral Filter (BF) method,-e- CED method,-f- Proposed method |
. The restored image in figure 3-f shows a significantly improvement, edges and discontinuities have been recovered and preserved with a good suppression of noise. Compared to the other methods, we note that the TV one (figure 3(c)) has similar performance.Nevertheless, our method seems to better preserve and enhance discontinuities. The CED method (figure 3(e)) is efficient preserving details, but introduces artifacts and streamlines in flat regions. The BF method is efficient removing noise, but loses details. To evaluate and quantify the quality image, we use two measures: the classic peak signal-to-noise-ratio (PSNR) and the mean structural similarity (MSSIM) index [15], which compares the structure of two images after subtracting luminance, and normalizing variance. The MSSIM approximates the perceived visual quality of an image better than PSNR. It takes values in [0,1] and increases as the quality increases. Table 1 confirms the effectiveness of our model with the highest score of MSSIM.
|
![]() | Figure 4. Results on a real photographic image, -a- Original image, -b- Restored image |