Diffusion anisotrope
| Découvreur ou inventeur |
Pietro Perona, Jitendra Malik |
|---|---|
| Problème lié |
Débruitage d'image |
En traitement d'images et en vision par ordinateur, la diffusion anisotrope, également appelée diffusion de Perona-Malik, est une technique visant à réduire le bruit d'une image sans altérer certains motifs importants, tels que les contours, les lignes ou les autres détails essentiels à son interprétation[1],[2],[3].
La diffusion anisotrope s'apparente à un processus de création d'un espace d'échelle, où à partir d'une image, on génère une famille paramétrée d'images de plus en plus floues, en suivant un processus de diffusion. Dans le cas de la diffusion isotrope classique, chaque image de cette famille est obtenue par convolution entre l'image originale et un filtre gaussien isotrope 2D, dont la largeur augmente avec le paramètre. Ce processus de diffusion est une transformation linéaire et spatialement invariante de l'image originale. La diffusion anisotrope est une généralisation de ce processus : elle produit une famille d'images paramétrées, mais chaque image résultante est une combinaison, semblable à une convolution, entre l'image originale et un filtre dépendant du contenu local de l'image. En conséquence, la diffusion anisotrope est une transformation non linéaire et spatialement variable de l'image originale.
Dans sa formulation originale, présentée par Perona et Malik en 1987[1], le filtre appliqué à une image est variable spatialement; il dépend du contenu de l'image tout en restant isotrope. Il approxime une fonction impulsionnelle au voisinage des contours et des autres structures à préserver dans l'image, et ce, aux différents niveaux de l'espace d'échelle résultant. Cette formulation a été qualifiée de diffusion anisotrope par Perona et Malik, bien que le filtre soit isotrope en chaque point de l'image. D'autres auteurs l'ont également désignée comme diffusion inhomogène et non linéaire[4] ou diffusion de Perona-Malik[5]. Une formulation plus générale permet au filtre d'être véritablement anisotrope au voisinage de structures linéaires telles que des contours ou des lignes. Son orientation est déterminée par la structure, de sorte qu'il est allongé dans le sens de la structure et étroit transversalement, dans le but de limiter le lissage entre la structure et le fond. Ces méthodes sont appelées lissage adapté à la forme[6],[7] ou diffusion renforçant la cohérence[8]. En conséquence, les images résultantes préservent les structures linéaires tout en appliquant un lissage le long et au sein de ces structures. Ces deux cas peuvent être décrits par une généralisation de l'équation de diffusion habituelle où le coefficient de diffusion, au lieu d'être un scalaire constant, est une fonction de la position de l'image et prend une valeur matricielle (ou tensorielle) (voir tenseur de structure).
Bien que la famille d'images résultante puisse être décrite comme une combinaison de l'image originale et de filtres spatialement variables, en pratique, la mise en œuvre de ce lourd processus n'est pas nécessaire. La diffusion anisotrope est généralement implémentée par une approximation de l'équation de diffusion généralisée : chaque nouvelle image de la famille est calculée en appliquant cette équation différentielle discrétisée à l'image précédente. Par conséquent, la diffusion anisotrope est un processus itératif où un ensemble de calculs relativement simples est utilisé pour calculer les images successives de la famille, et ce processus se poursuit jusqu'à l'obtention d'un lissage suffisant.
Définition formelle
[modifier | modifier le code]Formellement, soit un sous-ensemble du plan et une famille d'images en niveaux de gris. est l'image d'entrée. La diffusion anisotrope est alors définie par l'équation suivante :
où désigne le laplacien, désigne le gradient, est l'opérateur de divergence et est le coefficient de diffusion.
Pour , l'image de sortie correspond à , où des plus grandes valeurs de produisent des images plus floues ou plus lissées.
contrôle l'intensité de la diffusion en un point et est généralement choisi en fonction du gradient de l'image afin de préserver les contours de celle-ci. Pietro Perona et Jitendra Malik ont été les pionniers du concept de diffusion anisotrope en 1990 et ont proposé deux fonctions pour le coefficient de diffusion :
et
La constante K contrôle la sensibilité aux contours et est généralement choisie expérimentalement ou en fonction du bruit dans l'image.
Motivation
[modifier | modifier le code]Si est la variété des images lisses, alors les équations de diffusion présentées ci-dessus peuvent être interprétées comme les équations de descente de gradient pour la minimisation de la fonctionnelle d'énergie définie par la formule suivante :
où est une fonction à valeurs réelles intimement liée au coefficient de diffusion. Alors, pour toute fonction test infiniment différentiable à support compact ,
où la dernière ligne découle de l'intégration multidimensionnelle par parties. En notant le gradient de E par rapport au produit scalaire de l'espace évalué en I, on obtient :
Par conséquent, les équations de descente de gradient sur la fonctionnelle E sont données par :
Ainsi, en posant , on obtient les équations de diffusion anisotrope.
Régularisation
[modifier | modifier le code]Le coefficient de diffusion, , proposé par Perona et Malik, peut conduire à des instabilités lorsque . Il est possible de démontrer que cette condition équivaut à ce que le coefficient de diffusion physique (différent du coefficient de diffusion mathématique défini par Perona et Malik) devienne négatif, ce qui induit une rétrodiffusion qui accentue les contrastes d'intensité de l'image au lieu de les atténuer. Pour pallier ce problème, une régularisation est nécessaire ; il a été démontré que les régularisations spatiales permettent d'obtenir une solution stationnaire convergente et constante[9].
À cette fin, l'un des modèles de Perona-Malik modifiés[10] (également connu sous le nom de régularisation de l'équation de Perona-Malik) sera examiné. Dans cette approche, l'inconnue est convoluée avec une gaussienne à l'intérieur de la non-linéarité pour obtenir une équation de Perona-Malik modifiée.
où .
Le caractère bien posé de l'équation peut être obtenu par cette régularisation, mais elle introduit également un effet de flou, qui constitue son principal inconvénient. La connaissance préalable du niveau de bruit est nécessaire, car le choix du paramètre de régularisation en dépend.
Applications
[modifier | modifier le code]La diffusion anisotrope permet de supprimer le bruit des images numériques sans flouter les contours. Avec un coefficient de diffusion constant, les équations de diffusion anisotrope se réduisent à l' équation de la chaleur, la diffusion est alors équivalente à un flou gaussien. Cette méthode est idéale pour supprimer le bruit, mais elle floute également les contours de manière indiscriminée. Lorsque le coefficient de diffusion est choisi comme une fonction préservant les contours, comme dans le cas de Perona-Malik, les équations résultantes favorisent la diffusion (et donc le lissage) dans les zones d'intensité d'image plus homogène et la suppriment au niveau des contours marqués. Ainsi, la méthode préserve les contours tout en supprimant le bruit de l'image.
Dans le même esprit que la réduction du bruit, la diffusion anisotrope peut être utilisée dans les algorithmes de détection de contours. En appliquant la diffusion avec un coefficient de diffusion adapté à la recherche de contours pendant un certain nombre d'itérations, l'image évolue vers une image constante par morceaux, les frontières entre les composantes constantes étant détectées comme des contours.
Voir aussi
[modifier | modifier le code]- Filtre bilatéral
- Détection des contours
- Lissage préservant les bords
- Équation de chaleur
- Bruit d'image
- Réduction du bruit
- Espace d'échelle
- Débruitage par variation totale
- Variation bornée
Notes et références
[modifier | modifier le code]- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Anisotropic diffusion » (voir la liste des auteurs).
- 1 2 (en) Pietro Perona et Jitendra Malik, « Scale-space and edge detection using anisotropic diffusion », Proceedings of IEEE Computer Society Workshop on Computer Vision, , p. 16–22
- ↑ (en) Pietro Perona et Jitendra Malik, « Scale-space and edge detection using anisotropic diffusion », IEEE Transactions on Pattern Analysis and Machine Intelligence, , p. 629–639 (DOI 10.1109/34.56205, S2CID 14502908, lire en ligne [PDF])
- ↑ (en) Guillermo Sapiro, Geometric Partial Differential Equations and Image Analysis, Cambridge University Press, , 385 p. (ISBN 978-0-521-79075-8), p. 223
- ↑ (en) Joachim Weickert, Scale-Space Theory in Computer Vision, coll. « LNCS » (no 1252), (DOI 10.1007/3-540-63167-4), « A Review of Nonlinear Diffusion Filtering », p. 1–28
- ↑ (en) Bernd Jähne et Horst Haußecker, Computer Vision and Applications, A Guide for Students and Practitioners, Academic Press, (ISBN 978-0123797773, DOI 10.1117/1.1434976)
- ↑ (en) Tony Lindeberg, Scale-Space Theory in Computer Vision, Kluwer Academic Publishers, (ISBN 0-7923-9418-6), chap. 15
- ↑ (en) Andres Almansa et Tony Lindeberg, « Fingerprint Enhancement by Shape Adaptation of Scale-Space Operators with Automatic Scale-Selection », IEEE Transactions on Image Processing, vol. 9, no 12, , p. 2027–2042 (PMID 18262941, DOI 10.1109/83.887971, Bibcode 2000ITIP....9.2027L)
- ↑ (en) Joachim Weickert, Anisotropic diffusion in image processing, Teubner-Verlag, (lire en ligne [PDF])
- ↑ (en) Joachim Weickert, « A review of nonlinear diffusion filtering », IEEE Transactions on Image Processing, Springer,
- ↑ (en) Patrick Guidotti, « Some Anisotropic Diffusions », Ulmer Seminare, (lire en ligne
[PDF])