16
SEGMENTATION D’IMAGES 18 octobre 2009 La segmentation d’images médicales 3 D par la méthode de la ligne de partage des eaux I. Introduction [1] De nos jours, le nombre d’images stockées devient de plus en plus grand. Chacun publie ses images sur le Web sans pour autant y ajouter de bons mots clés. Il est maintenant difficile de réaliser une recherche précise. Pour pouvoir rechercher avec une grande puissance, un ordinateur devrait découper chaque image en plusieurs objets et ensuite les classifier. [2] Segueni Lamia - Kellal Houda 1

Segmentation Final

Embed Size (px)

Citation preview

Page 1: Segmentation Final

Segmentation d’images 18 octobre 2009

La segmentation d’images médicales 3 D par la méthode de la ligne de partage des eaux

I. Introduction  [1]

De nos jours, le nombre d’images stockées devient de plus en plus grand. Chacun publie ses images sur le Web sans pour autant y ajouter de bons mots clés. Il est maintenant difficile de réaliser une recherche précise. Pour pouvoir rechercher avec une grande puissance, un ordinateur devrait découper chaque image en plusieurs objets et ensuite les classifier.

[2]

II. Segmentation d’image  [3]

Segueni Lamia - Kellal Houda 1

Page 2: Segmentation Final

Segmentation d’images 18 octobre 2009

La segmentation d'image est une opération de traitement d'images qui a pour but de rassembler des pixels entre eux suivant des critères prédéfinis. Les pixels sont ainsi regroupés en régions, qui constituent un pavage ou une partition de l'image. Il peut s'agir par exemple de séparer les objets du fond. Si le nombre de classes est égal à deux, elle est appelée aussi binarisation.

Si l'homme sait naturellement séparer des objets dans une image c'est grâce à des connaissances de haut niveau (compréhension des objets et de la scène). Mettre au point des algorithmes de segmentation de haut niveau (chaque région est un objet sémantique) est encore un des thèmes de recherche les plus courants en traitement d'images.

La segmentation est une étape primordiale en traitement d'image. À ce jour, il existe de nombreuses méthodes de segmentation, que l'on peut regrouper en quatre principales classes :

1. Segmentation fondée sur les régions (en anglais : region-based segmentation). On y trouve par exemple : la croissance de région (en anglais : region-growing), décomposition/fusion (en anglais : split and merge), la ligne de partage des eaux (en anglais : watershed).

2. Segmentation fondée sur les contours (en anglais : edge-based segmentation)

3. Segmentation fondée sur classification ou le seuillage des pixels en fonction de leur intensité (en anglais :

Classification ou thresholding)

4. Segmentation fondée sur la coopération entre les trois premières segmentations

La segmentation consiste à créer des partitions dans l'image en identifiant des pixels similaires. Le critère de similarité permet de contrôler l'aspect final de la segmentation (regroupement par couleur, par homogénéité, par taille, #)La segmentation a pour objectif de différencier des zones d'intérêt (par exemple objets / fond). C'est généralement une première étape d'un traitement plus complexe comme le filtrage adaptatif ou la reconnaissance de formes. Les méthodes de segmentation étant sensibles au bruit, il est nécessaire de commencer par nettoyer l'image en appliquant les filtres usuels d'atténuation de bruit.

II. 1     Segmentation par approche « région »

Les méthodes appartenant à cette famille manipulent directement des régions. Soit elles partent d'une

première partition de l'image, qui est ensuite modifiée en divisant ou regroupant des régions, et on

parle alors de méthodes de type décomposition/fusion (ou split and merge en Anglais) ; soit elles

partent de quelques régions, qui sont amenées à croître par incorporation de pixels jusqu'à ce que

toute l'image soit couverte, et on parle alors de méthodes par croissance de régions.

Des méthodes fondées sur la modélisation statistique conjointe de la régularité des régions et des

niveaux de gris de chaque région existent également.

Les algorithmes de type décomposition/fusion exploitent les caractéristiques propres de chaque région

(surface, intensité lumineuse, colorimétrie, texture, etc.). On cherche des couples de régions

candidates à une fusion et on les note en fonction de l'impact que cette fusion aurait sur l'apparence

générale de l'image. On fusionne alors les couples de régions les mieux notés, et on réitère jusqu’à ce

que les caractéristiques de l'image remplissent une condition prédéfinie : nombre de régions,

Segueni Lamia - Kellal Houda 2

Page 3: Segmentation Final

Segmentation d’images 18 octobre 2009

luminosité, contraste ou texture générale donnée, ou alors jusqu’à ce que les meilleures notes

attribuées aux couples de régions n'atteignent plus un certain seuil (dans ce dernier cas, on parle d'un

algorithme avec minimisation de fonctionnelle).

Les algorithmes par croissance de régions partent d'un premier ensemble de régions, qui peuvent être

calculées automatiquement (par exemple, les minima de l'image), ou fournies par un utilisateur de

manière interactive. Les régions grandissent ensuite par incorporation des pixels les plus similaires

suivant un critère donné, tel que la différence entre le niveau de gris du pixel considéré et le niveau de

gris moyen de la région. Les algorithmes de segmentation par ligne de partage des eaux, développés 

dans le cadre de la morphologie mathématique, appartiennent à cette catégorie.

Les algorithmes fondés sur une modélisation statistiques conjointe des régions et des niveaux de gris,

notamment ceux s'appuyant sur les Champs de Markov Cachés, reposent sur la minimisation d'une

fonction de vraisemblance (ou énergie). Cette fonction prend simultanément en compte la

vraisemblance de l'appartenance du pixel à une région considérant son niveau de gris, et les régions

auxquelles appartiennent les pixels voisins. Cette fonction effectue un compromis entre la fidélité à

l’image initiale et la régularité des régions segmentées.

II.2     Segmentation par approche « frontière »

Cette approche cherche à exploiter le fait qu'il existe une transition détectable entre deux régions connexes.

Les méthodes les plus anciennes utilisent des opérateurs de traitement d'images, tels que le filtre de

Canny, pour mettre en évidence les pixels qui semblent appartenir à un contour. La construction d'une

partition est alors souvent difficile.

On peut aussi faire intervenir des modèles déformables à l'aide de courbes paramétriques (courbe de

Bézier, spline...) ou de polygones (par exemple algorithme à bulle).

Pour initier le processus, on recherche des points remarquables de l'image, tels que des points à

l'intersection de trois segments au moins. De tels points sont appelés des graines (seeds en anglais).

L'intérêt principal des méthodes de segmentation selon l'approche frontières est de minimiser le

nombre d'opérations nécessaires en cas d'itération du processus sur des séries d'images peu

différentes les unes des autres (cas des images vidéo notamment). En effet, une fois que les contours

des régions ont été trouvés dans la première image, l'application du modèle déformable à l'image

suivante est plus efficace que de tout recalculer, si la différence entre les images est peu importante.

II.3       Segmentation par classification ou seuillage

On part ici d'un rapport qu'entretient chaque pixel individuellement avec des informations calculées

sur toute l'image, comme par exemple la moyenne des niveaux de gris de l'ensemble des pixels, ou la

médiane, permettant de construire n classes d'intensité. Lorsque les classes sont déterminées par le

choix d'un seuil, on parle de seuillage. Les pixels appartenant à une même classe et étant connexes

forment des régions.

Segueni Lamia - Kellal Houda 3

Page 4: Segmentation Final

Segmentation d’images 18 octobre 2009

III. Segmentation en régions : (définitions et généralités) [4]

La segmentation par régions est une approche spécifique dans laquelle on cherche à construire des surfaces en regroupant des pixels voisins suivant un critère d'homogénéité. Au final, la segmentation par région crée un ensemble de régions qui ont les propriétés suivantes :

- la réunion de toutes les régions donne l'image entière.

- les régions sont connexes (c'est à dire que tous les pixels d'une même région sont jointifs).

- tous les pixels d'une même région sont homogènes entre eux.

- les pixels de deux régions adjacentes ne sont pas homogènes entre eux.

Cette approche se distingue, par exemple, des segmentations par contours ou par seuillage dans lesquelles les régions créées ne possèdent pas toutes ces propriétés.

III.1     La carte des régions (region map)

La carte des régions est une représentation des partitions. C'est un tableau à 2 dimensions de la taille de l'image dans lequel chaque case représente un pixel de l'image. La valeur de la case est le numéro unique de la région à laquelle appartient le pixel. En associant une couleur à chaque numéro on obtient une image, superposable à l'image de départ, qui permet d'identifier rapidement les différentes régions (à la manière d'un planisphère géopolitique).

III.2     Graphe d'adjacence (adjacency graph)

Segueni Lamia - Kellal Houda 4

Page 5: Segmentation Final

Segmentation d’images 18 octobre 2009

Le graphe d'adjacence est une structure de données qui permet de trouver facilement les régions voisines. Ce graphe se construit à partir de la carte des régions:

La carte des régions et le graphe d'adjacence

III.3      Critère de similarité

La mesure de la similarité de deux pixels est le point clé des techniques de segmentation. Il convient donc de choisir avec soin la méthode de calcul de la similarité.

L'approche la plus simple consiste à définir comme similaires des pixels qui sont visuellement proches :

Pour une image en niveau de gris, il faut calculer la différence entre les valeurs. Si cette différence est inférieure à un certain seuil, les pixels seront jugés similaires. Cette méthode est équivalente à calculer la norme du gradient de l'image en chaque point et à seuiller le résultat obtenu.

Pour une image RGB, il faut calculer la différence entre les couleurs. Pour cela il est préférable de

Segueni Lamia - Kellal Houda 5

Page 6: Segmentation Final

Segmentation d’images 18 octobre 2009

convertir les valeurs RGB des pixels en valeurs TSL. Le " T " représente la teinte de la couleur (palette du rouge au bleu), le " S " représente la saturation (du pastel à l'intense) et le " L " représente la luminance (du clair au foncé).

La comparaison des teintes seules n'est pas suffisante. En effet si la saturation est faible, les teintes n'ont plus beaucoup d'influence sur la couleur : les couleurs se rapprochent du blanc-gris-noir et la différence se fait alors par la luminance. Il faut donc une formule qui effectue une comparaison sur les teintes lorsque la saturation est forte, et sur les luminances lorsque la saturation est faible. Par exemple la formule de Carron utilise une sigmoïde :

Pour des images contenant des textures, la mesure de la similarité des pixels nécessite des calculs plus complexes. En effet, deux pixels peuvent avoir des valeurs très différentes mais appartenir à la même

Segueni Lamia - Kellal Houda 6

Page 7: Segmentation Final

Segmentation d’images 18 octobre 2009

texture et donc à la même région. Dans ces cas là, il faut analyser le voisinage de chaque pixel et calculer des indicateurs propres à la texture, puis ensuite comparer entre eux les indicateurs associés aux pixels. Par exemple les indicateurs d'Haralick sont calculés sur les matrices de co-occurrences de valeurs.

IV. Ligne de Partage des Eaux (watershed) [4]

Cette technique consiste à faire grossir simultanément toutes les régions jusqu'à ce que l'image soit entièrement segmentée. Cette technique tire son nom d'une analogie avec la géophysique. On peut en effet considérer les valeurs d'intensité des pixels d'une image comme une information d'altitude. Dans ce cas on peut représenter cette image (appelée carte d'élévation) comme un terrain en 3 dimensions. Le principe est alors de remplir progressivement d'eau chaque bassin du terrain. Chaque bassin représente une région.

Image originale

Lorsque l'eau monte et que deux bassins se rejoignent, la ligne de rencontre (i.e. la ligne de partage des eaux) est marquée comme une ligne de frontière entre les 2 régions.

Ligne de partage des eaux entre 2 bassins

L'algorithme se compose de deux étapes:

1. Générer une carte d'élévation à partir de l'image de départ

2. Remplir progressivement les bassins

IV.1       Carte d'élévation (elevation map)

La carte d'élévation est une image dont les valeurs représentent une altitude. Pour construire cette image nous allons partir du gradient de l'image.

Segueni Lamia - Kellal Houda 7

Représentation d'une image sous forme de terrain 3D et remplissage des bassins avec de l'eau

Page 8: Segmentation Final

Segmentation d’images 18 octobre 2009

Dans la carte d'élévation, on assigne l'altitude la plus élevée (HMAX) aux pixels ayant un fort gradient ainsi qu'aux bords de l'image. Cela nous donne les lignes de crête.

La valeur d'altitude des autres pixels est calculée en fonction de l'éloignement de la ligne de crête : plus on s'éloigne de la ligne de crête, plus l'altitude doit décroître. La formule pour calculer la valeur d'altitude d'un pixel est donc :

Altitude(Pixel) = HMAX - distance (Pixel, ligne_de_crête)

Remarque : on peut calculer la distance entre un pixel et la ligne de crête en utilisant les masques de " Chamfer ".

IV.2      Remplissage des bassins par infiltration (flooding)

Il existe de nombreux algorithmes permettant de réaliser le remplissage des bassins (cf " The Watershed Transform: Definitions, Algorithms and Parallelization Strategies " , Roerdink and Meijster, 2001 )

Nous détaillons ici un algorithme utilisant la technique de croissance de régions vue précédemment. Dans cet algorithme, le remplissage des bassins est un procédé itératif qui consiste à élever progressivement le niveau de l'eau de zéro à HMAX. A chaque itération, on doit remplir les bassins existants (extension des régions) et éventuellement créer les nouveaux bassins (nouvelles régions).

Pour NIVEAU de 0 à HMAX

/*** Action 1 : Etendre les régions existantes ***/

Pour chaque Région « [R] » dans la liste « [Régions] »

Faire croître « [R] » jusqu'à l'altitude NIVEAU

Fin Pour

/*** Action 2 : créer les nouvelles régions ***/

Segueni Lamia - Kellal Houda 8

Page 9: Segmentation Final

Segmentation d’images 18 octobre 2009

Pour chaque pixel « P » à l'altitude NIVEAU

Si « P » n'est pas associé à une région Alors

Créer une nouvelle région « [R]» dans la liste « [Régions] »

Ajouter le pixel « P » dans la région « [R] »

Faire croître « [R] » jusqu'à l'altitude NIVEAU

Fin Si

Fin Pour

Fin Pour

V. Réduction du nombre de régions

Segueni Lamia - Kellal Houda 9

Page 10: Segmentation Final

Segmentation d’images 18 octobre 2009

Les algorithmes précédents ont tendance à créer un grand nombre de toutes petites régions dans les zones à fortes variations (frontières entre régions). Pour limiter ce phénomène, il est possible de fusionner à posteriori les petites régions. Une méthode consiste à fusionner entre-elles les régions qui sont les plus similaires.

Pour cela, on utilise le graphe d'adjacence des régions. On calcule la " distance " entre chaque région et ses régions voisines. Cela revient à assigner une valeur à chacun des arcs (orientés) du graphe.

La distance entre régions peut s'obtenir, par exemple, en étendant la définition de distance entre couleurs :

d( R1,R2 )= d( couleur_moyenne(R1) , couleur_moyenne(R2) )* taille(R1)

Cette formule mesure la variation nécessaire à appliquer aux pixels de R1 pour rendre cette région similaire à R2.

Distance de la région R1 à ses voisines

Une fois qu'on a calculé les valeurs de distance entre chaque région, il suffit de chercher l'arc avec la valeur la plus faible. Les 2 régions reliées par cet arc sont alors fusionnées. Il convient alors de mettre à jour le graphe et de recalculer les distances entre régions.

On réitère cette méthode jusqu'à atteindre la précision désirée (nombre total de régions, valeur des régions, ...)

Segueni Lamia - Kellal Houda 10

Page 11: Segmentation Final

Segmentation d’images 18 octobre 2009

Résultats de la réduction

VI. Conclusion

Comme on peut le constater sur les images illustrant cette article, les techniques de segmentation présentées ici ne génèrent pas une solution optimale. Les résultats obtenus dépendent énormément du pré-filtrage effectué et du critère d'homogénéité choisi.

D'autres techniques de segmentation plus complexes permettent d'obtenir de meilleurs résultats. Citons notamment :

Segueni Lamia - Kellal Houda 11

Page 12: Segmentation Final

Segmentation d’images 18 octobre 2009

- La décomposition adaptative (Adaptive Split)

- La recherche de formes géométriques (Model based segmentation)

- L'approche probabiliste (relaxation)

- Le regroupement (k-mean, mean shift)

Bibliographie[1] Projet en Digital Photography « image Segmentation » ; Responsable : Patrick Vandewalle [2] « Segmentation interactive d'images 3D » de J. Stawiaski, F. Bidault, E. Decencière ‘‘Département d'imagerie médicale, Institut Gustave-Roussy, Villejuif, France’’[3] « Segmentation d'image »  Source: http://fr.wikipedia.org/w/index.php[4] « Segmentation  en   régions » par Xavier Philippeau Date de publication : 05/01/2008 - Club des décideurs et professionnels en Informatique.mht du site http://www.developpez.com

Segueni Lamia - Kellal Houda 12