Tests et résultats

Nous avons testé les deux méthodes sur des images qui nous ont paru posséder des propriétés intéressantes. Afin de pouvoir comparer efficacement les deux algorithmes, le filtrage de Tomita et Tsuji a été réalisé en prenant n = 1 (afin d'avoir des tailles de fenêtres de filtrage comparables).

Nous allons tout d'abord effectuer une comparaison théorique des deux filtrages, puis nous verrons le résultat de ces filtrages sur une image "aléatoire" puis sur des images rélles.

Comparaison théorique

Il est intéressant de noter que les principes des filtrages de Nagao et de Tomita et Tsuji sont relativement similaires. Ils se fondent en effet sur la détection de voisinages homogènes dont on attribue la valeur moyenne au pixel considéré. La différence entre les deux provient du critère d'homogénéité considéré et des fenêtres utilisées.

Fenêtres utilisées

Les fenêtres utilisées dans le cas de Nagao sont les mêmes que pour le filtrage de Tomita et Tsuji d'ordre 1. On y ajoute les quatres fenêtres correspondant à des contours dans le sens de la diagonale. Il s'agit de la fenêtre suivante et des trois autres obtenues par rotation :

Ainsi, le filtrage de Nagao devrait mieux détecter les contours en diagonale et éviter un effet de "dent de scie". Par contre dans le cas de contours rectilignes peu nets, il risque de moins bien les respecter que Tomita et Tsuji.

Critères d'homogénéité

Les critères d'homogénéité définis pour les deux méthodes sont:

Ils correspondent en fait à des critères de non-homogénéité, ce qui nous amène à retenir la fenêtre qui les minimise.

Le moyennage effectué dans le cas du gradient risque de mal prendre en compte le cas où peu de pixels appartiennent à une autre zone, car ils sont moyennées avant le calcul. Ceci risque d'amplifier certains détails qui ne sont pas du bruit.

L'ordre 2 caractéristique de la variance permettra de mieux distinguer ces variations puisqu'une forte différence d'un seul pixel sera amplifiée pour le calcul général.

Choix des images

Nous avons choisi 5 images :

  1. une image aléatoire fabriquée à l'aide de Matlab, présentant 4 régions de points de densités différentes ;
  2. une image représentant un bureau, contenant un grand nombre de contours rectilignes ;
  3. une image représentant un palais (vue aérienne), contenant des contours réguliers (rectilignes ou non) et quelques régions texturées ;
  4. une image aérienne ne contenant pas de contour régulier ;
  5. un visage, présentant des contours réguliers mais sans forme particulière.
Toutes les images sont en niveaux de gris. Nous essaierons de faire ressortir les différents avantages ou inconvénients de chaque méthode en fonction de critères tels que la préservation des contours ou l'efficacité du lissage.

L'image aléatoire

Voici l'image originale :

aleat.gif

Voici l'image filtrée :

aleatn.gif
aleatt.gif
Filtrage de Nagao
Filtrage de Tomita et Tsuji

Commentaire

On remarque, notamment entre la région la plus claire et la région la plus foncée, que le filtre de Tomita/Tsuji offre une séparation bien rectiligne, alors que les transitions sont un peu moins régulières avec le filtre de Nagao. A l'intérieur, il n'y a pas de différence notable, le lissage est à peu près équivalent.

Cette première image montre que le filtrage de Tomita/Tsuji semble mieux conserver les contours rectilignes.

Le bureau

Voici l'image originale :

bureau.gif

Voici l'image filtrée :

bureaun.gif
bureaut.gif
Filtrage de Nagao
Filtrage de Tomita et Tsuji

Commentaire

On retrouve ce qui a été vu pour la première image : le filtrage de Tomita/Tsuji rend mieux la régularité des contours rectilignes. C'est assez visible sur le pan de mur vertical, au milieu de l'image, séparant les deux fenêtres.

Cependant, si les contours sont bien droits, ils paraissent légèrement plus étalés. Cette particularité est illustrée par la conservation, dans l'image filtrée avec Tomita/Tsuji, des séparations horizontales sur les vitres, qui sont quasiment effacées avec Nagao.

Le palais

Voici l'image originale :

gd_pal_p.gif

Voici l'image filtrée :

gd_pal_pn.gif
gd_pal_pt.gif
Filtrage de Nagao
Filtrage de Tomita et Tsuji

Commentaire

On retrouve ici les particularités vues pour les contours rectilignes dans les images précédentes : sur le toit du palais, par exemple, les séparations sont mieux conservées avec Tomita/Tsuji qu'avec Nagao. Nagao semble donc mieux lisser les zones globalement homogènes mais contenant quelques discontinuités.

En revanche, le filtre de Nagao n'élimine pas tout à fait les arbres de la route horizontale, alors que Tomita/Tsuji les efface complètement, du moins considère qu'ils représentent une zone homogène.

La photo aérienne

Voici l'image originale :

col_1b.gif

Voici l'image filtrée :

col_1bn.gif
col_1bt.gif
Filtrage de Nagao
Filtrage de Tomita et Tsuji

Commentaire

Ici, on voit que le filtre de Nagao est plus adapté à des contours irréguliers que Tomita/Tsuji : ce dernier présente des contours plus flous. Nagao rend des zones plus contrastées.

Le visage

Voici l'image originale :

lena.gif

Voici l'image filtrée :

lenan.gif
Filtrage de Nagao

lenat.gif
Filtrage de Tomita et Tsuji

Commentaire

On voit très peu de différences dans cette image qui propose peu de détails fins. Les deux filtres donnent des résultats similaires.

Conclusion

Il semble donc que le filtre de Tomita/Tsuji soit particulièrement bien adapté au lissage de zones délimitées par des contours rectilignes, car il conserve leur régularité. Mais il a tendance à les étaler légèrement, réduisant le contraste dans les zones de transition. Ce n'est pas très gênant pour les contours rectilignes, mais lorsqu'il s'agit de contours irréguliers, le filtre de Nagao donne de meilleurs résultats en terme de netteté des contours.

Un autre avantage du filtre de Nagao est d'éliminer des détails parmi de larges zones homogènes, accentuant cette homogénéité. Cela peut être intéressant pour la segmentation si l'on désire obtenir des régions de taille importante.

A part ces quelques différences, les deux filtres sont relativement équivalents, notamment en terme de lissage. Leur principale différence est le traitement des contours, ce qui était prévisible sachant que le filtrage de Nagao utilise un plus grand nombre de fenêtres variées pour le remplacement d'un pixel.


Programmation des algorithmes

Les algorithmes de filtrage ont été écrits grâce au logiciel Matlab. Les fichiers sources peuvent être vus en suivant ces liens :


Filtrage de Nagao

Présentation générale