Segmentation Neuro-floue Application aux Images à Résonance Magnétique F. Hachouf* , N. Mezhoud* * Département d’électronique, université Mentouri Constantine Route d’Ain El Bey , 25000 Constantine, Algérie Tél : 031-61-42 –06 poste 31, Fax : 031-61-42-07 E-mail : [email protected], [email protected] ABSTRACT Dans ce papier, nous présentons une méthode hybride pour la segmentation d’images utilisant les principes de la classification floue et des réseaux de neurones artificiels. Chaque pixel sera caractérisé par trois paramètres ; l’intensité, la moyenne et l’ écart-type. La classification est effectuée par l’algorithme des cartes auto-organisatrices de Kohonen (SOM) qui groupe les pixels dans les classes identifiées. Le nombre de classes est à priori inconnu, et le réseau de neurones qui implémente le SOM est utilisé pour le calculer. La détermination des classes dans le SOM est effectuée par l’algorithmes des C-moyennes floues (FCM). Les tests réalisés sur des images à résonance magnétique ont révélé que la méthode proposée donne de bons résultats. 1. INTRODUCTION La segmentation d’images est une étape importante dans l’analyse d’images et la reconnaissances de formes. Elle consiste en la décomposition d’une scène en ses principales composantes[1] [2]. Ses domaines d’application sont aussi bien nombreux que variés pour ne citer que la détection des tumeurs dans les applications médicales et le suivi de routes pour un robot et ainsi de suite. Les techniques de segmentation d’images peuvent être classées [3] en trois catégories : (1) basées sur le seuillage ou le partitionnement (2) détection de contours et (3) extraction de région. Cependant, toutes ces techniques possèdent des avantages et des inconvénients. Toute méthode de segmentation élaborée est souvent , une combinaison de ces techniques classiques et/ou des notions de logique floue et de réseaux de neurones. Les méthodes de partionnement (clustering) sont souvent associées aux approches floues pour gérer l’ambiguïté et l’incertitude dans les images. La méthode de partionnement flou la plus utilisée est l’algorithme des Cmoyennes floues (FCM) [ 4]. La restriction du FCM est le nombre de classes qui doit être connu à priori. Les réseaux de neurones artificiels (ANN) sont appliqués aux différents domaines. Le traitement parallèle et les caractéristiques non linéaires qu’ils offrent font que les ANN sont beaucoup utilisés en classification et en clustering. La carte auto-organisatrice de Kohonen (SOM) est un outil puissant pour le partitionnement des données [5]. SOM possède la propriété de préserver la topologie des données ainsi que la relation de distance entre elles. L’espace des données est projetée sur une grille régulière dont la dimension constitue le nombre de classes pour le FCM. Dans ce travail, nous proposons une méthode de segmentation hybride. Elle est basée sur une information globale fournie par le partionnemnt flou dont le nombre de classes est optimisé par l’algorithme des cartes auto-organisatrices de Kohonen [6] ; et une information locale fournie par la moyenne et l’écart type calculés sur une fenêtre. La fonction objective de l’algorithme des C-moyennes floues a été modifiée par l’ajout d’un terme de pénalisation pour garantir une distribution uniforme des centres de classes [7]. Dans la section 2, un rappel sur les cartes autoorganisatrices de Kohonen est fait. La section 3 présente l’algorithme des C-moyennes floues (FCM). En section 4, une description de la méthode proposée est expliquée. La section 5 sera consacrée à la discussion de résultats obtenus sur des images à résonance magnétiques. Nous terminerons par une conclusion et des perspectives de notre travail. 2. CARTES AUTO-ORGANISATRICES DE KOHONEN Le réseau de Kohonen [6] (SOM) est un réseau de neurones artificiels (ANN) non supervisé. Il est constitué (cf Fig. 1) : - d’une couche d’entrée où tout individu à classer est représenté par un vecteur multidimensionnel ; soit x ∈ Rn. A chaque individu est affecté un neurone qui représente le centre de la classe. - d’une couche de sortie ou de compétitions . Tous les neurones d’entrée sont connectés aux neurones de sortie qui répondent différemment à la forme de l’entrée. Les neurones de cette couche entrent en compétition . A chaque étape, dans la phase d’apprentissage , le neurone qui se rapproche le plus de l’entrée est élu ‘’ gagnant ‘’ ( dans le sens du minimum de la distance euclidienne). x(t )−mc(t ) =min{ x(t )−mi(t ) } i (1) centre de gravité. L’algorithme nécessite la connaissance du nombre de classes au préalable et génère les classes de telle sorte que les sommes des écarts quadratiques interclasses et intra classes soient maximale et minimale. Le problème de l’optimisation du FCM est : J m (U, V, X) = mc(t ) : neurone gagnant A chaque neurone, on fait correspondre un espace de sortie qui , en général est un espace 2D défini par une grille ou un voisinage rectangulaire ou hexagonale Nc(t). Le neurone gagnant et son voisinage sont mis à jour de façon que les poids associés soient proches de l’entrée. Le facteur de mise à jour ou facteur de gain n’est pas égal pour tous les neurones mais sa plus grande valeur se situe près du neurone gagnant et décroît en fonction du voisinage. Avec le temps, le facteur de gain doit décroître ainsi que la taille de chaque voisinage. mi(t +1)=mi(t )+α (t )[xi(t )−mi(t )] ∀i ∈ Nc(t) (2) c n ∑∑ (µ ik m ) ( d ik ) 2 (3) i =1 k =1 Sous la contrainte : Et 0≤ µik ≤1 c ∑ i=1 µ ik (4) =1 ∀ k (5) C : étant le nombre de classes vérifiant 2 ≤ c < n • X = {x1, x2, ….. , xk,…., xn } : l’ensemble des p vecteurs caractéristiques définis sur R . • U = {µik = µi (xk), 1 ≤ k ≤ n , 1 ≤ i ≤ c } : la matrice n × c réelle représentant une C-Partition floue de X, où µik ∈ [0,1] est le degré d’appartenance de xk à la classe i. • V = { v1, v2, . . ., vi , . . ., vc } est le vecteur code p Fig. 1-carte auto_organisatrice de Kohonen Durant la phase d’apprentissage, les poids des neurones changent de manière ordonnée de telle façon que les caractéristiques dans une image tendent à s’organiser en fonction de la distribution topologique dans le réseau. Les neurones adjacents répondent de manière similaire alors que les neurones distants ont des réponses divergentes. La convergence des caractéristiques s’effectue en imposant des contraintes au facteur de gain α pendant la mise à jour des poids. 3. ALGORITHME DES C-MOYENNES FLOUES. FCM ( Fuzzy C-means) est un algorithme de classification floue introduit par Bezdek dans [4]. Il est fondé sur l’optimisation d’un critère quadratique de classification où chaque classe est représentée par son représentant les centres inconnus des classes, vi ∈ R ,1≤i≤c. • m ∈ [ 1, +∞ [ est le facteur de flou. Il contrôle l’étendue de recouvrement entre les classes, donc le flou de la partition qui croit avec la valeur de m. l’algorithme suivant donne la solution qui converge aux valeurs minimums locaux pour la fonction indiquée en (3) 1. Initialiser V et U aléatoirement en satisfaisant les contraintes indiquées (4) et (5). 2. initialiser m>1 3. pour i=1…n, et j=1…c 1 U ji = (6) 2 (m −1) c X i − Vj ∑ k =1 X i − Vk 2 (m −1) n pour j=1…c: V j = ∑U i =1 n m ji ∑U i =1 Xi (7) m ji 4. On arrête lorsque la différence entre l’itération de U ji courante et précédente est inférieur à l’étape 3. ε 1 ; sinon refaire 4. SEGMENTATION PROPOSEE L’information fournie par l’intensité ou la couleur d’un pixel ne suffit pas pour segmenter correctement une image. A cet attribut, nous avons rajouté deux autres paramètres évalués sur une fenêtre du voisinage du pixel. Ces paramètres sont la moyenne et l’écart type. Ainsi, pour chaque pixel, la couche d’entrée de la carte autoorganisatrice de Kohonen sera constituée de trois neurones et la couche de sortie sera constituée de N neurones représentant le nombre de classes. La procédure de segmentation proposée est inspirée d’une version modifiée du FCM [7] , qui consiste à minimiser une fonction objective donnée par : min U,V n c ∑∑U mji X i − Vj 2 i =1 j =1 + ϑ tr ( VDV T ) (8) Vj = i =1 n X i + ϑ Vj ∑U i =1 m ji + ϑ (10) 2. mettre ϑ > 0 . 3. mettre m>1 4. Pour i=1…n, 1 U ji = 2 (m −1) c X i − Vj ∑ et j=1…c, calculer 2 (m −1) X i − Vk 5. Pour j=1…c, calculer k =1 n Vj = ∑U m ji X i + ϑ Vj i =1 n ∑U mji + ϑ jusqu’à convergence i =1 6. arrêter quand la différence entre la valeur courante et la valeur précédente de U ji est inférieure à ε1 ; sinon aller à 4. Les algorithmes basés sur le principe du clustering sont très sensibles aux conditions initiales. Donc, le minimum local dépend des choix initiaux des valeurs des centres de classes. Pour atteindre le minimum global , une stratégie développée dans [8] est utilisée. Elle consiste à itérer les étapes 5 et 6 de l’algorithme pour une décroissance linéaire du paramètre flou m entre deux valeurs m2 et m1. 5. RESULTATS ET CONCLUSION Dans ce cas les centres de classes sont calculés par : m ji en faisant référence à la grille de la Fig. 2 : V1 = ( V2 + V4 ) 2 V2 = ( V1 + V3 + V5 ) 3 V5 = ( V2 + V4 + V6 + V8 ) 4 1. Initialiser aléatoirement V et U satisfaisant les contraintes : 0 ≤ U ji ≤ 1 c = ∀ U 1 , i ∑ ji j =1 Fig. 2-. une grille 3x3 contient c=9 vecteurs de codes . ∑U plus proches voisins à V j dans la grille. Dans ce cas, la mise à jour des vecteurs de codes reflète la nature du SOM qui sera beaucoup influencé par les valeurs des données et le plus proche code vecteur dans la grille. L’algorithme suivant trouve la solution qui converge au minimum local de la fonction dans l’équation (8) où : ϑ > 0 représente un paramètre assurant une distribution spatiale régulière des vecteurs de codes distribués sur une grille. Ce paramètre force la valeur d’un vecteur de codes à être très proche de la valeur moyenne de ses plus proches voisins sur la grille cf Fig. 2 D : L’opérateur Laplacien. V : Matrice constituée par les vecteurs de codes. tr : Trace de la matrice. n où V j représente la moyenne des vecteurs de codes les (9) La méthode proposée a été appliquée sur des images à résonance magnétique, cf Fig. 3a. L’algorithme fonctionne selon deux modes : supervisé et non supervisé. Le problème classique dont il faut s’affranchir est la détermination automatique du nombre de classes fournie par l’utilisateur : en l’occurrence, c’est le nombre des objets présents dans le cerveau, sachant que , si une pathologie est présente, elle doit être prise en compte. Les différentes classes les plus robustes ont été déterminées à partir de l’histogramme lissé de l’image. Pour la defuzzification , nous avons considéré les pixels ayant un degré d’appartenance supérieur à un seuil β fixé à 0,6. L’algorithme a été testé sur différentes images et les valeurs du facteur flou m2 et m1 ont été fixés aux valeurs 2 et 1,07. Nous nous sommes intéressées aux variations du paramètre ϑ . Nous remarquons que les images des Fig. 3b et Fig. 3c sont sur-segmentées et dans le lobe latéral gauche, une partie de la matière blanche est classée comme matière grise avec un nombre de classes C respectivement égal à 4 et à 6. Les images des Fig. 3d et Fig. 3e présentent une nette amélioration dans les résultats, ce qui nous conduit à tirer la conclusion que la valeur optimale de ϑ est autour de 0,5. L’image de la Fig. 3f est le résultat de la segmentation par l’algorithme des C-moyennes floues. L’image est sur-segmentée. La tumeur de grande taille est segmentée en deux classes et les tumeurs de petites tailles se confondent avec les autres classes. Il faut remarquer que dans les images des Fig. 3b, Fig. 3c, Fig. 3d et Fig. 3e, toutes les tumeurs appartiennent à la même classe ( elles ont la même fausse couleur) d’où la robustesse de la méthode proposée. En perspective, nous pensons que la méthode peut être améliorée en introduisant d’autres paramètres de mesures ou de textures. Ceux-ci vont être utilisés en couche d’entrée de la carte SOM . La méthode proposée est aussi bien valable pour la segmentation des images en couleurs. Il suffit d’introduire les trois composantes de la couleur dans le vecteur codes. 6. REFERENCES [1] S. K. Pal et al., ‘‘ A Review on Image Segmentation Techniques ’’, Pattern Recognition 29 (1993) 1277-1294. [2] H. D. Cheng et al, ‘‘ Color Image Segmentation : Advances and Prospects’’, Pattern Recognition 34 (2001) 2259-2281. [3] K. S. Fu, J. K. Mui, “ A survey on Image Segmentation ’’, Pattern Recognition 13 (1981) 3-16. [4] R. L. Cannon, J.V. Dave, J.C. Bezdek, “ Efficient Imlementation of the Fuzzy C-means Clustering Algorithms”, IEEE Trans. Pattern Anal. Mach. Intell. PAMI-8 (2) (1986) 249-255. [5] J. Vesanto, E. Alhoneimi, “ Clustering of the Self Organizing Map ”, IEEE Trans. Neural Networks 11 (3) (2000) 586-600. [6] T. Kohonen, “ The Self-Organizing Maps ”, Neurocomputing 21 (1998) 1-6. [7] R. D. Pascual-Marqui et al., ‘‘ Smoothly distributed Fuzzy C-means : A New Self-Organizing Map’’ , Pattern recognition 34 (2001) 2395-2402. [8] T. Graepel, M. Burger, K. Obermayer, “ Self Organizing-Maps : Generalisation and new Optimisation techniques ”, Neurocomputing 21 (1998) 173-190. Fig. 3 a: image originale Fig. 3d-image segmentée C=5, ϑ =0,55 Fig. 3b : image segmentée C=4, ϑ =0,7 Fig. 3e- image segmentée C=5, ϑ =0,5 Fig. 3c : image segmentée C=6 , ϑ =0,6 Fig. 3f-image segmentée par le FCM, C=6 , m=1,5