Projet de MBAI

Détection de contours par snakes sur des images en couleur.


II- Résultats

II-1 Résultats sur des images en niveaux de gris

Nous avons implémenté un premier snake sur des images en niveaux de gris.

Dans ce cas, l'attache à l'image va se faire en utilisant le gradient de l'image. Les lignes de contour correspondront en effet aux lignes de plus fort gradient.

II-1 Application à des images en couleur

Pour des images en couleur, on va pouvoir caractériser de plusieurs manières les lignes de contour. En effet, on dispose maintenant d'une information supplémentaire par rapport à l'image en niveaux de gris et qui est apportée par la chrominance. On peut imaginer par exemple que le changement de couleur entre deux objets de luminance équivalente définira un contour que la seule donnée de luminance n'aurait pas permis de détecter.

Nous avons testé plusieurs caractéristiques pour déterminer les contours sur l'image et ainsi attirer le snake vers eux. Par exemple, nous avons pris:

Auparavant on réalise un petit pré-traitement sur les images avant d'appliquer le snake. En effet, celui-ci a tendance à rester coincé sur la moindre aspérité de l'image: on va commencer par effectuer un filtrage médian.

Sur l'image "fruits"

Sur cette image les trois sortes de gradient ont été testées. Les différents coéfficients apportés aux forces dérivées internes, de l'image et de contrainte (dans notre cas une force pour imposer une distance minimale entre deux points consécutifs du snake) ont besoin d'être réevalués pour chaque gradient utilisé. Ici l'information couleur apporte vraisemblablement quelque chose, puisqu'avec la luminance seule le snake a du mal à se coller contre le contour. C'est l'utilisation des trois composantes colorées à travers le maximum des gradients qui permettra sur cette image peu contrastée en luminance d'obtenir un contour satisfaisant.

Pour le maximum des gradients par exemple on obtient:

Position originale du snake au debut de l'algorithme
snake obtenu par Y

Position originale du snake au debut de l'algorithme

Position finale du snake en utilisant le maximum des gradients

Avec la luminance seule, le snake reste coincé loin du contour.

Snake obtenu avec la luminance Y
snake obtenu par Y

Snake obtenu avec la maximum des trois gradients

Position finale du snake en utilisant la luminance Y

Sur l'image "singe"(le nez du célèbre mandrill)

Le snake a été testé sur cette image de nez. Le contour se trouve sur la droite entre deux objets de couleurs très différentes.

Position originale du snake au debut de l'algorithme
snake obtenu par Y

Position originale du snake au debut de l'algorithme

Position finale du snake en utilisant la luminance Y

Encore une fois les résultats sont extremement similaires, du moins pour Y et le maximum des gradients. Par contre, nous n'avons pas obtenu de résultats satisfaisants en utilisant seulement une des composantes, du fait que le contour sépare une zone bleue d'une zone rouge.

Snake obtenu avec la luminance Y
snake obtenu par Y

Snake obtenu avec la maximum des trois gradients

Position finale du snake en utilisant la luminance Y


Pour jeter un coup d'oeil sur le listing du code


Copyright © 1999 Magali Motlik dernière mise à jour le 05/04/99