Jump to content

Anisotropic diffusion: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m shift->space
Ref to Weickert's review
Line 27: Line 27:
}}</ref> Anisotropic diffusion resembles the process that creates a [[scale-space]], where an image generates a parameterized family of successively more and more blurred images based on a diffusion process. Each of the resulting images in this family are given as a convolution between the image and a 2D isotropic Gaussian function, where the width of the filter increases with the parameter. This diffusion process is a ''linear'' and ''space-invariant'' transformation of the original image. Anisotropic diffusion is a generalization of this diffusion process: it produces a family of parameterized images, but each resulting image is a combination between the original image and a filter that depends on the local content of the original image. As a consequence, anisotropic diffusion is a ''non-linear'' and ''space-variant'' transformation of the original image.
}}</ref> Anisotropic diffusion resembles the process that creates a [[scale-space]], where an image generates a parameterized family of successively more and more blurred images based on a diffusion process. Each of the resulting images in this family are given as a convolution between the image and a 2D isotropic Gaussian function, where the width of the filter increases with the parameter. This diffusion process is a ''linear'' and ''space-invariant'' transformation of the original image. Anisotropic diffusion is a generalization of this diffusion process: it produces a family of parameterized images, but each resulting image is a combination between the original image and a filter that depends on the local content of the original image. As a consequence, anisotropic diffusion is a ''non-linear'' and ''space-variant'' transformation of the original image.


In its original formulation, by Perona and Malik, the space-variant filter is in fact isotropic but depends on the image content such that it approximates an impulse function close to edges and other structures that should be preserved in the image over the different levels of the resulting scale-space. This formulation was referred to as ''anisotropic diffusion'' by Perona and Malik even though the locally adapted filter is isotropic, but it has also been referred to as ''non-linear diffusion'' or ''Perona-Malik diffusion'' by other authors. A more general formulation allows the locally adapted filter to be truly anisotropic close to linear structures such as edges or lines: it has an orientation given by the structure such that it is elongated along the structure and narrow across. As a consequence, the resulting images preserve linear structures structures while at the same time smoothing is made along these structures. Both these cases can be described by a generalization of the usual [[diffusion equation]] where the diffusion coefficient, instead of being a constant scalar, is a function of image position and assumes a matrix (or tensor) value.
In its original formulation, by Perona and Malik, the space-variant filter is in fact isotropic but depends on the image content such that it approximates an impulse function close to edges and other structures that should be preserved in the image over the different levels of the resulting scale-space. This formulation was referred to as ''anisotropic diffusion'' by Perona and Malik even though the locally adapted filter is isotropic, but it has also been referred to as ''nonlinear diffusion''<ref>
{{cite conference
| author = Joachim Weickert
| date = July 1997
| title = A Review of Nonlinear Diffusion Filtering
| booktitle = Scale-Space Theory in Computer Vision
| publisher = Springer, LNCS 1252
| pages = 1-28
| doi = 10.1007/3-540-63167-4
}}
</ref> or ''Perona-Malik diffusion'' by other authors. A more general formulation allows the locally adapted filter to be truly anisotropic close to linear structures such as edges or lines: it has an orientation given by the structure such that it is elongated along the structure and narrow across. As a consequence, the resulting images preserve linear structures structures while at the same time smoothing is made along these structures. Both these cases can be described by a generalization of the usual [[diffusion equation]] where the diffusion coefficient, instead of being a constant scalar, is a function of image position and assumes a matrix (or tensor) value.


Even if the resulting family of images can be described as a combination between the original image and a space-variant filter, the locally adapted filter and its combination with the image do not have to be realized in practice. Anisotropic diffusion is normally implemented by means of an approximation of the generalized diffusion equation: each new image in the family is computed by applying this equation to the previous image. Consequently, anisotropic diffusion is an iterative process where a relatively simple set of computation are used to compute each successive image in the family and this process is continued until a sufficient degree of smoothing is obtained.
Even if the resulting family of images can be described as a combination between the original image and a space-variant filter, the locally adapted filter and its combination with the image do not have to be realized in practice. Anisotropic diffusion is normally implemented by means of an approximation of the generalized diffusion equation: each new image in the family is computed by applying this equation to the previous image. Consequently, anisotropic diffusion is an iterative process where a relatively simple set of computation are used to compute each successive image in the family and this process is continued until a sufficient degree of smoothing is obtained.

Revision as of 22:00, 24 July 2009

In image processing and computer vision, anisotropic diffusion, also called Perona–Malik diffusion, is a technique aiming at reducing image noise without removing significant parts of the image content, typically edges, lines or other details that are important for the interpretation of the image.[1][2][3] Anisotropic diffusion resembles the process that creates a scale-space, where an image generates a parameterized family of successively more and more blurred images based on a diffusion process. Each of the resulting images in this family are given as a convolution between the image and a 2D isotropic Gaussian function, where the width of the filter increases with the parameter. This diffusion process is a linear and space-invariant transformation of the original image. Anisotropic diffusion is a generalization of this diffusion process: it produces a family of parameterized images, but each resulting image is a combination between the original image and a filter that depends on the local content of the original image. As a consequence, anisotropic diffusion is a non-linear and space-variant transformation of the original image.

In its original formulation, by Perona and Malik, the space-variant filter is in fact isotropic but depends on the image content such that it approximates an impulse function close to edges and other structures that should be preserved in the image over the different levels of the resulting scale-space. This formulation was referred to as anisotropic diffusion by Perona and Malik even though the locally adapted filter is isotropic, but it has also been referred to as nonlinear diffusion[4] or Perona-Malik diffusion by other authors. A more general formulation allows the locally adapted filter to be truly anisotropic close to linear structures such as edges or lines: it has an orientation given by the structure such that it is elongated along the structure and narrow across. As a consequence, the resulting images preserve linear structures structures while at the same time smoothing is made along these structures. Both these cases can be described by a generalization of the usual diffusion equation where the diffusion coefficient, instead of being a constant scalar, is a function of image position and assumes a matrix (or tensor) value.

Even if the resulting family of images can be described as a combination between the original image and a space-variant filter, the locally adapted filter and its combination with the image do not have to be realized in practice. Anisotropic diffusion is normally implemented by means of an approximation of the generalized diffusion equation: each new image in the family is computed by applying this equation to the previous image. Consequently, anisotropic diffusion is an iterative process where a relatively simple set of computation are used to compute each successive image in the family and this process is continued until a sufficient degree of smoothing is obtained.

Formal definition

Formally, let denote a subset of the plane and be a family of gray scale images, then anisotropic diffusion is defined as

where denotes the Laplacian, denotes the gradient, is the divergence operator and is the diffusion coefficient. controls the rate of diffusion and is usually chosen as a function of the image gradient so as to preserve edges in the image. Pietro Perona and Jitendra Malik pioneered the idea of anisotropic diffusion in 1990 and proposed two functions for the diffusion coefficient:

and

the constant K controls the sensitivity to edges and is usually chosen experimentally or as a function of the noise in the image.

Motivation

Let denote the manifold of smooth images, then the diffusion equations presented above can be interpreted as the gradient descent equations for the minimization of the energy functional defined by

where is a real-valued function which we will see is intimately related to the diffusion coefficient. Then for any compactly supported infinitely differentiable test function , we have

where the last line follow from multidimensional integration by parts. Letting denote the gradient of E with respect to the inner product evaluated at I, this gives

Therefore, the gradient descent equations on the functional E are given by

Thus by letting we obtain the anisotropic diffusion equations.

Applications

Anisotropic diffusion can be used to remove noise from digital images without blurring edges. With a constant diffusion coefficient, the anisotropic diffusion equations reduce to the heat equation which is equivalent to Gaussian blurring. This is ideal for removing noise but also indiscriminately blurs edges too. When the diffusion coefficient is chosen as an edge seeking function, such as in Perona and Malik, the resulting equations encourage diffusion (hence smoothing) within regions and prohibit it across strong edges. Hence the edges can be preserved while removing noise from the image.

Along the same lines as noise removal, anisotropic diffusion can be used in edge detection algorithms. By running the diffusion with an edge seeking diffusion coefficient for a certain number of iterations, the image can be evolved towards a piecewise constant image with the boundaries between the constant components being detected as edges.

See also

References

  1. ^ Pietro Perona and Jitendra Malik (November 1987). "Scale-space and edge detection using anisotropic diffusion". Proc. IEEE Comp. Soc. Workshop on Computer Vision,. pp. 16–22. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)
  2. ^ Pietro Perona and Jitendra Malik (July 1990). "Scale-space and edge detection using anisotropic diffusion". IEEE Transactions on Pattern Analysis and Machine Intelligence,. 12 (7): 629–639.{{cite journal}}: CS1 maint: extra punctuation (link)
  3. ^ Guillermo Sapiro (2001). Geometric partial differential equations and image analysis. Cambridge University Press. p. 223. ISBN 9780521790758.
  4. ^ Joachim Weickert (July 1997). "A Review of Nonlinear Diffusion Filtering". Scale-Space Theory in Computer Vision. Springer, LNCS 1252. pp. 1–28. doi:10.1007/3-540-63167-4. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)