Santiago Cruz Llanas et Oscar Dia Navarro, mastères IST
Comme d'habitude en traitement des images, la réponse à cette question dépend de ce que l'on veut faire. Les propriétés de lissage de la diffusion isotrope ou du filtrage gaussien, puisque ces deux termes sont équivalents, sont assidûment exploitées dans de nombreuses applications. N'empêche que, quand il s'agit de préserver les contours, cette première solution reste insatisfaisante. C'est pour cela, à en juger par ce que nous avons pu lire en [1], que la diffusion anisotrope est apparue.
Les images que nous vous montrons dans la suite ont pour but d'illustrer les différences existant entre ces types de diffusion. Elles ont été obtenues à l'aide du logiciel TIVOLI . Concrètement nous nous sommes servis de la fonction t_diffuse. Tout en contrôlant les paramètres de cette fonction, nous avons obtenu des séquences d'images correspondant à l'évolution temporelle de l'image initiale quand on lui applique les équations de diffusion, tant pour le cas anisotrope comme pour le cas isotrope. Pour chaque image vous aurez donc deux séquences. Dans chacune d'elles l'évolution temporelle doit être vue comme un nombre d'itérations croissant introduit comme paramètre dans la fonction t_diffuse jusqu'à ce qu'il y ait stabilité (l'algorithme s'arrête). La différence entre les deux séquences (isotrope, anisotrope) a pu être introduite par le biais d'un autre paramètre (K) qui contrôle le degré d'anisotropie. Pour avoir plus de détail sur la signification de ce paramètre, vous pouver consulter avec profit [1] où K est le paramètre de la fonction exponentielle du module du gradient de l'image. Intuitivement, de petites valeurs de ce paramètre permettent la diffusion dans les plages très uniformes de l'image, tandis que lorsque ces valeurs croissent la diffusion peut se produire aussi dans les régions où les variations d'intensité sont plus importantes. On a donc choisi une valeur de K relativament faible, permettant d'observer une anisotropie forte puisque les grands contrastes sont conservés; et une valeur grande qui donne le même résultat pratique que la diffusion isotrope. Cela nous a permis de comparer les images pour un même nombre d'itérations.
Nous avons choisi les images 'femme', 'montreuil' et 'fillette' parce que dans ces images on trouve des zones de fort gradient et d'autres zones plus uniformes. De cette manière nous pouvons comparer les zones uniformes dans les deux types de filtrage et voir les effets de l'anisotropie dans les zones très contrastées.
Image 'femme.ima'
Ci-dessous on a l'image originale:

Ci-dessous on a les images isotropes (obtenues avec K=1000) avec 15, 80 et 115 itérations (de gauche à droite):



Ci-dessous on a les images anisotropes (obtenues avec K=25) avec 15, 80 et 115 itérations (de gauche à droite):



Les différences entre le cas isotrope et anisotrope se manifestent clairement. Pour la diffusion isotrope le flou augmente avec le nombre d'itérations. Comme il se doit, on voit bien qu'il s'agit d'un flou uniforme sur toute l'image, sans tenir compte des directions privilégiées. Pour la diffusion anisotrope, plutôt que le flou, on a une impression d'artificialité de l'image. Les contours très contrastés (bras-fond, fleurs du chapeau-fond, chapeau-cheveux...) sont très rehaussés, tandis que ceux qui sont peu contrastés, comme le nez sur le visage, le menton et le cou, sont fortement affectés par le flou, comme pour l'image isotrope.
Image 'montreuil.ima'
Ci-dessous on a l'image originale:

Ci-dessous on a les images obtenues avec 15 itérationes; à gauche isotrope (K=1000), à droite anisotrope (K=20):


Ci-dessous on a les images obtenues avec 80 itérations; à gauche isotrope (K=1000), à droite anisotrope (K=20):


Les commentaires faits sur l'image précédente s'étendent sans problème à celle-ci. Les contours sont encore plus marqués, donc les différences isotrope-anisotrope sont, peut-être, encore plus nettes. Sur des plages peu contrastés, comme celle des arbres à gauche ou le terrain au coin en haut et à gauche, on ne perçoit pas les différences entre les deux types de diffusion. C'est surtout sur la zone des bâtiments que l'on s'aperçoit que plus les gradients sont forts mieux ils sont conservés par la diffusion anisotrope. On constante aisément ce principe sur les deux bâtiments principaux où les 'raies' et quelques fenêtres sont conservées en anisotrope; ou sur les deux pistes blanches parallèles qui ne perdent pas sa couleur en anisotrope, mais qui deviennent grises en isotrope.
Image 'fillette.ima'
Ci-dessous on a l'image originale:

Ci-dessous on a les images obtenues avec 15 itérations; à gauche isotrope (K=1000), à droite anisotrope (K=35):


Ci-dessous on a les images obtenues avec 127 itérations; à gauche isotrope (K=1000), à droite anisotrope (K=35):


Cette image présente beaucoup de particularités qui la rendent intéressante à nos propos. Les robes des filles, avec leurs carrés, leurs petits cercles blancs, etc. constituent un repère intéressant pour comparer les diffusions et voir ce que chacune d'elles préserve. Les visages constituent des plages assez uniformes, ce qui fait qu'il ne faut pas un grand nombre d'itération pour que le flou se montre sur eux. En fait, c'est les seuls éléments qui présentent des gradients assez faibles pour être diffusés dans les quinze premières itérations. Les rideaux constituent aussi des éléments intéressants pour comparer l'isotrope et l'anisotrope. Observez que, en isotrope, ils se rassemblent pour former une espèce de toile; cependant, en anisotrope, leurs finesse et leurs forts gradients produisent encore cette sensation d'artificialité dont on a déjà parlé.
Bibliographie
[1] Scale-space and edge detection using anisotropic diffusion, Pietro Perona and Jitendra Malik, IEEE transactions on pattern analysis and machine intelligence.