Chapitre V : Segmentation
Transcription
Chapitre V : Segmentation
Segmentation Chapitre V : Segmentation L'analyse d'images a pour but l'extraction de l'information caractéristique contenue dans une image. Le résultat d'une telle analyse s'appelle très souvent la description structurelle. Celleci peut prendre la forme d'une image ou de toute structure de données permettant une description des entités contenues dans l'image. Par opposition avec la phase d'interprétation, l'analyse tente, dans la mesure du possible, de ne pas prendre en compte le contexte (i.e. l'application). Essentiellement, l'analyse de l'image fait appel à la segmentation où l'on va tenter d'associer à chaque pixel de l'image un label en s'appuyant sur l'information portée (niveaux de gris ou couleur), sa distribution spatiale sur le support image, des modèles simples (le plus souvent des modèles géométriques). IV.1 – Introduction IV.1.a : Les principes de la segmentation La segmentation d'images ainsi définie est un domaine vaste où l'on retrouve de très nombreuses approches. • • • • • • Le seuillage La détection de frontières La modélisation La Transformée de Hough La recherche de régions L'approche de la classification Toutes ces approches visent à l'extraction des indices visuels. Après de nombreuses années passées à rechercher la méthode optimale, les chercheurs ont compris que la segmentation idéale n'existait pas. On peut même montrer que le problème de la segmentation est le plus souvent un problème mal posé. Etant donnée une image, il existe toujours plusieurs segmentations possibles. Une bonne méthode de segmentation sera donc celle qui permettra d'arriver à une bonne interprétation. Elle devra donc avoir simplifié l'image sans pour autant 1 Segmentation en avoir trop réduit le contenu. Entre autres, elle devra éviter les choix irréversibles. L'avenir de la segmentation est dans le pilotage aval par l'application. Globalement, la segmentation peut être définie comme une partition d'une image I en une ou plusieurs régions R1, …,Rn telles que : n I =U Ri et i =1 Ri∩Rj = ∅ pour tout i≠j IV.1.b : Les indices visuels Les indices visuels sont des objets extraits de l'image qui contiennent de manière concise une information importante pour son analyse. En général, ces indices sont soit des contours, soit des régions de l'image. Contours et régions sont complémentaires car on définit qualitativement les régions comme les zones de l'image homogènes au sens d'un certain critère, tandis que les contours sont les zones de transitions entre des régions homogènes. Les propriétés requises par les indices visuels dépendent de l'application et sont en général un sous-ensemble de la liste ci-dessous: • • • • • • Compacts : la représentation de l'image doit être aussi concise que possible pour réduire la complexité des algorithmes ultérieurs. Intrinsèques : les indices visuels doivent correspondre à la projection dans l'image d'objets physiques; en particulier, ils doivent être invariants par changement de point de vue. Robustes : la représentation doit être peu sensible aux petites variations d'intensité dans l'image provoquées par des bruits divers tels que ceux liés à l'acquisition, la digitalisation, etc. Discriminants : les indices visuels doivent posséder des propriétés qui permettent de les discriminer, afin de faciliter la mise en correspondance entre deux descriptions (pour la reconstruction tri-dimensionnelle ou pour l'appariement avec un modèle). Précis : la position des indices visuels doit pouvoir se calculer avec précision car la qualité de la localisation des objets physiques en dépend. Denses : la densité des indices visuels doit être suffisante pour représenter tous les objets intéressants de la scène. IV.2 – Le seuillage IV.2.a : Principes du seuillage Le seuillage a pour objectif de segmenter une image en plusieurs classes en n'utilisant que l'histogramme. On suppose donc que l'information associée à l'image permet à elle seule la segmentation, i.e. qu'une classe est caractérisée par sa distribution de niveaux de gris. A chaque pic de l'histogramme est associée une classe. 2 Segmentation Il existe de très nombreuses méthodes de seuillage d'un histogramme. La plupart de ces méthodes s'appliquent correctement si l'histogramme contient réellement des pics séparés. De plus, ces méthodes ont très souvent été développées pour traiter le cas particulier de la segmentation en deux classes (i.e. passage à une image binaire) et leur généralité face aux cas multi-classes n'est que très rarement garantie. IV.2.b : La détection de vallées Cette technique est la plus intuitive. On suppose que chaque classe correspond à une gamme distincte de niveaux de gris. L'histogramme est alors m-modal : On peut alors dégager (m-1) seuils pour séparer les m classes et minimiser au mieux l'erreur de segmentation. Il est intuitivement logique de choisir ces seuils sur la position des minima de l'histogramme H. La méthode des modes, que nous présentons ici, consiste à identifier les m maxima principaux de l'histogramme H et à détecter les m-1 minima les séparant. En termes mathématiques, les seuils si sont obtenus par : H(si)= Min[H(k)]k = ]mi,mi +1,..., mi +1[ où mi et mi+1 sont les valeurs moyennes (ou les modes) de l'intensité lumineuse dans les classes Ci et Ci+1. Malgré le développement de techniques robustes visant à faciliter la détection des vallées, cette méthode, bien que simple, est très peu appliquée car les histogrammes traités sont le plus souvent bruités et unimodaux (c'est à dire composés d'un seul pic principal) ou bi-modaux si on considère des images représentant des objets foncés (respectivement clairs) sur des images claires (respectivement foncées). Un exemple d'image bi-modale est illustré en figure 1. Figure 1 : Exemple d'image (et d'histogramme) bi-modale Un exemple de découpage en 4 classes est illustré quant à lui sur la figure 2. 3 Segmentation Figure 2 : Exemple de seuillage en 4 classes par histogramme Il est également important de remarquer que souvent, il faut éviter de prendre deux maxima locaux appartenant à un même "pic" (maximum plus global) sous peine de sur-discriminer les classes (voir un exemple sur la figure 3). On peut alors fixer une distance minimale entre les maxima ou filtrer l'histogramme afin de le lisser. Figure 3 : Histogramme bi-modal dont les deux pics principaux présentent des maxima locaux non pertinents pour la segmentation Un exemple de détection de seuillage optimal dans le cadre d'histogrammes bi-modaux est présenté ici. Supposons que l'on veuille distinguer les objets de l'image (ensemble que nous noterons O) du fond de l'image (ensemble que nous noterons F). L'algorithme itératif est le suivant : Etape 0 : Les 4 pixels aux coins de l'image appartiennent à F. Le reste appartient à O. Etape t : On calcule les deux paramètres suivants : µOt = ∑I(i, j) (i, j)∈O card(O) et On calcule alors un nouveau seuil : St +1= µ Ft = ∑ I(i, j) ( i , j )∈ F card ( F ) µFt +µ0t et on repartitionne I avec ce seuil 2 On itère jusqu'à ce que St+1=St Si cette segmentation, simple à mettre en œuvre est assez robuste, elle ne fonctionne en revanche que sur un nombre limité de cas : les histogrammes bi-modaux. 4 Segmentation De plus, il est aisé de remarquer dès à présent que la segmentation ne permet pas en elle même de définir des objets mais uniquement des ensembles de pixels, dont rien n'assure par ailleurs qu'ils soient connexes (c'est à dire connectés entre eux). IV.2.c : La minimisation de variance La répartition des pixels en N classes est un problème classique de classification. Le choix des seuils si permet de détecter m classes auxquels on peut associer taille (ti), moyenne (mi) et variance vi par : ti =∑H(j) , mi =∑ Dj Dj j⋅H(j) ti , (j−mi)²⋅H(j) ti Dj vi =∑ où H est l'histogramme normalisé (son intégrale est ramenée à l'unité) et Dj = [si-1,si[ est la gamme de niveaux de gris correspondant à la classe Ci (par hypothèse, s0 = 0) . A partir de ces indicateurs statistiques, on peut construire la variance intraclasse totale W par : W =∑ti ⋅vi i Le meilleur seuillage dans cette approche correspond à une minimisation de la variance intraclasse (méthode de Fisher). Cette technique est difficilement applicable lorsque le nombre de classes est élevé. En effet, il faut tester exhaustivement tous les (N-1)-uplés (s1,...,sN-1 ) possibles. De plus, il faut que chaque classe ait une taille significative en nombre de niveaux de gris pour que les indicateurs statistiques aient un sens. Dans le cas de la binarisation (N=2), cette méthode est performante. Plus récemment, Otsu a proposé de réaliser une maximisation de la variance inter-classe qui, dans le cas de la binarisation, s'exprime par : B = t0 . t1 (m0 - m1)2 ce qui est rigoureusement équivalent puisque l'on a la relation : W + B = constante Cependant, la méthode de Otsu est plus intéressante d'un point de vue calculatoire car elle ne nécessite pas de calcul de variances. D'autres critères statistiques sont utilisables : test de Student, distance de Fisher (pour laquelle il existe un algorithme optimisé), ... L'exemple exposé sur la figure 4 illustre ce processus : un seuil a été déterminé par l'algorithme optimal de Fisher. Ce seuil trouvé est 127. Compte tenu du fait que l'on n'utilise qu'un seul seuil, toutes les composantes de l'image ne peuvent être séparées. 5 Segmentation Figure 4 : Exemple de seuillage par minimisation de variance IV.2.d : Seuillage entropique Le seuillage entropique est une technique dérivée de la théorie de l'information. Les seuils sont déterminés de manière à maximiser l'entropie E résultant du découpage de l'histogramme H en plusieurs classes. En effet, l'entropie mesure la quantité d'information portée par un groupe. Pour un nombre de seuils fixe, on cherche à ce que les classes résultantes portent le maximum d'information. L'entropie totale est calculée de la manière suivante: E =∑ E(Ci) i où Ci désigne la classe n° i et : E(Ci)=∑ p j⋅log2(p j) Di où Di est l'ensemble des niveaux de gris j associés à la classe Ci et pj la probabilité a postériori du niveau de gris j, estimée par pj= H(j) (N et M représentant les dimensions de l'image) N ⋅M La notion d'entropie n'est pas liée à une caractéristique vis uelle. C'est pourquoi l'image résultat parait le plus souvent de moins bonne qualité (du point de vue de l'œil humain) qu' une image obtenue par une des techniques présentées dans ce chapitre. IV.2.e : Méthode du pourcentage Dans certains cas, une connaissance a priori de la scène, si celle-ci est simple, permet de choisir les seuils. En particulier, si l'image est constituée de deux entités, la connaissance de la fraction surfacique F de l'une des deux phases peut être reliée au seuil s par : | d(s) - F | = Min | d(k) - F | où d(k) représente l'intégrale normalisée de l'histogramme entre les bornes 1 et k. 6 Segmentation Cette technique peut être appliquée au seuillage de pages de caractères si la densité dans une page est connue. Cependant, elle ne s'applique que dans des applications particulières et la généralisation au cas de m classes est difficilement envisageable. Par contre, si la connaissance de F est rarement suffisante, elle peut faciliter la modélisation de l'histogramme. IV.2.f : Maximisation du contraste Bien que déterminant des seuils, cette technique ne fait pas appel à l'histogramme mais utilise directement la répartition spatiale des niveaux de gris g(i) dans l'image. Elle est ici présentée dans le cas de la binarisation. L'objectif est de trouver le seuil qui va introduire le maximum de contraste dans l'image résultat. Soit k un seuil donné. On construit l'ensemble K par : K(k) = {(a,b) / g(a) <= k <= g(b)} où a et b sont deux pixels voisins dans l'image (pour un ordre de voisinage à fixer). A cet ensemble, on associe la mesure de contraste suivante : C(k)=∑Min( g(a)−k , g(b)−k K(k) La valeur retenue pour le seuil sera celle qui maximisera le ratio C(k)/Card[K(k)]. Cette méthode en apparence complexe est très intéressante car elle introduit la notion de contexte dans l'étude des couples de pixels voisins. L'histogramme des niveaux de gris n'est plus la seule source d'information. Cette idée sert de base aux méthodes contextuelles. IV.2.g : Un petit bilan sur le seuillage Les méthodes de segmentation basées sur le choix d'un ou plusieurs seuils sont aujourd'hui utilisées dans des applications très particulières. On les retrouvera en contrôle qualité où la maîtrise du milieu ambiant et la simplicité des scènes permet d'avoir de très bonnes conditions d'éclairage. On peut ainsi assurer au mieux l'hypothèse de séparabilité des phases nécessaire au bon fonctionnement de ce type de méthodes. C'est dans ce type d'applications que l'on exploite le mieux les deux grands avantages du seuillage : la simplicité et la rapidité. Ces deux caractéristiques sont liées. En effet, la simplicité des algorithmes permet souvent la réalisation d'opérateurs câblés permettant la rapidité nécessaire dans le contexte du temps réel qui est le contexte habituel des applications industrielles. Bien que nécessitant des paramètres, les techniques de seuillage peuvent fonctionner en mode autonome. Il est possible d'affiner un seuil par comparaison entre l'image initiale et l'image seuillée ou bien en rajoutant des contraintes sur la qualité (à définir) de l'image seuillée. Cette mesure peut être interprétée en terme d'évaluation de l'erreur de classification. L'histogramme étant une fonction trop globale, on peut envisager un seuillage qui ne soit pas fixe. Pour cela, l'image est décomposée en sous-images. Sur chacune d'elles, une technique classique de seuillage est appliquée. Cependant, ce processus risque d'introduire des 7 Segmentation discontinuités. De plus, si les sous-images sont trop petites, les histogrammes ne contiendront pas assez de valeurs pour être statistiquement exploitables. Cette technique est à réserver à des configurations particulières (dérive lumineuse par exemple). Cependant, ces méthodes ne sont pas suffisantes pour la plupart des applications où la complexité de l'information contenue dans l'image ne peut être résumée par l'histogramme des niveaux de gris sans trop de pertes d'information. IV.3 – La transformée de Hough La transformée de Hough (apparue en 1962) est un outil classique de l'analyse d'images qui permet de détecter la présence de courbes ayant une forme paramétrique (droite, conique...) connue. Nous l'introduisons dans le cas particulier de la droite mais sa généralisation ne pose pas de problème mathématique. L'idée sous-jacente à la TH est d'associer au plan image, un plan (ou un espace de dimension plus élevé) d'accumulateurs liés aux paramètres de la courbe recherchée. L'image est tout d'abord pré-traitée afin d'en extraire un ensemble de points caractéristiques susceptibles d'appartenir aux courbes recherchées. A chaque présence, dans l'image, d'un ensemble de points caractéristiques compatibles avec un ensemble de paramètres donnés, on incrémente les accumulateurs attachés aux valeurs de ces paramètres. On ramène ainsi la détection de courbes à la recherche de nuages de points dans l'espace des paramètres, c'est à dire à un problème "classique" d'analyse de données. Ainsi, dans le cas de détection de droites, on peut choisir de paramétrer toute droite avec les deux coefficients a et b de l'équation y=ax+b satisfaite pour tout point P(x,y) de la droite. L'espace des paramètres est alors constitué du plan (a,b). Un choix plus judicieux de paramétrisation est d'utiliser un système de coordonnées polaires. Considérons un pixel P(x,y) qu'un opérateur ODF (Opérateur de Détection de Frontière) a permis de détecter localement. Ce point P appartient à toutes les droites dont l'équation est, en coordonnées polaires : P y x⋅cos(θ)+ y⋅sin(θ)= ρ (1) ρ Q y' θ x x' Figure 3 : Equation polaire d'une droite : les paramètres ρ et θ sont les coordonnées polaires du pied de la normale à la droite passant par l'origne L'équation (1) dépend du paramètre θ (ou ρ). Il y a donc une infinité de droites possibles (!). Cependant, nous avons une relation liant à . Soit Q un autre point sélectionné. Grâce à lui, 8 Segmentation nous obtenons une seconde relation qui permet de ne trouver qu'un seul couple ( , ) pour lesquels P et Q sont sur la droite (2!). Cette technique est appelée principe d'accumulation d'évidence. Pour déterminer les paramètres d'un modèle, on fait appel à un large ensemble de sources d'information (ici les pixels) et l'on procède à un recoupement de ces informations. En pratique ce regr oupement s'opère dans un accumulateur A( , ) qui est une matrice. Chaque élément de cette matrice correspond à une droite unique. Cette matrice ayant un nombre limité d'éléments, on ne peut espérer une précision infinie quand à la localisation de la droite. Soit N² la taille de l'image I alors, les droites susceptibles d'avoir une intersection non vide avec I sont caractérisées par : Si on utilise un accumulateur dont la taille est également N⋅N alors la précision sur le résultat sera au mieux : (∆ρ,∆θ )=( 2, 2π N ) Le calcul de l'accumulateur : chaque élément ( , ) de la matrice est un compteur incrémenté par les sources d'information lorsqu'elles votent pour la droite ( , ). La (ou les) meilleure(s) droite(s) sera (seront) donc associée(s) aux maxima présents dans l'accumulateur. Pour améliorer la détection des pics, il est souvent nécessaire d'employer une technique de vote non uniforme. En effet toutes les droites passant par le point (x,y) ne sont pas aussi probables. De même, tous les pixels ne sont pas équivalents. Grâce à un ODF, on peut pondérer le vote du pixel (x,y) par l'amplitude m(x,y) et orienter le choix des droites en fonction de la direction (x,y) (deuxième information fournie par l'ODF). On peut ainsi se contenter de considérer les droites telles que abs( - (x,y)) < seuil (paramètre fixé a priori). Très simple dans son principe, cette technique requiert un volume important de mémoire. De plus la présence de bruit dans l'accumulateur rend difficile l'extraction des meilleures droites. Enfin, cette technique ne fournit aucune information quant à la localisation de la droite dans l'image (une droite n'existe souvent que sur une partie de l'image). Pour palier ces défauts, une nouvelle approche de la transformée de Hough a été développée en utilisant une structure pyramidale. Cette approche permet un calcul et une extraction rapide des meilleures droites. Les méthodes pyramidales s'appuient sur une décomposition de l'image en une pyramide d'images de résolution décroissante au fur et à mesure que l'on monte dans la pyramide (quadtree). Une utilisation immédiate de la pyramide est de commencer la détection aux niveaux supérieurs (résolution faible). On obtient alors peu de contours, mais ils sont fiables, quoique imprécisément placés. En descendant progressivement, on confirme la position des contours ou on les complète (techniques multi-échelles). 9 Segmentation IV.4 – La recherche de régions IV.4.a : Le modèle de région La segmentation d'une image vis à vis d'un critère d'homogénéité H (par exemple "tous les pixels sont du même niveau de gris" ou "la variation de niveau de gris n'excède pas n niveaux") peut s'exprimer de la manière suivante : La segmentation d'une image I en regard du critère H est une partition de l'image I en n régions homogènes X1, ..., Xn telles que : • n U X =I i i =1 • • • Pour tout i, Xi est connexe Pour tout i, H[Xi] est vrai Pour tout couple (Xi,Xj) de régions voisines, H[Xi,Xj] est faux Cette définition conduit à deux remarques très importantes. Tout d'abord, une segmentation dépend du critère employé. Le choix du critère est donc primordial. Ensuite, la décomposition obtenue n'est pas unique. Pour un critère donné, il existe plusieurs solutions. IV.4.b : L'algorithme de Split and Merge L'algorithme Split_and_merge (littéralement "diviser et réunir") a été proposé par Horowitz et Pavlidis en 1974. Le processus est décomposé en deux étapes. L'image initiale peut être une première partition résultant d'une analyse grossière ou bien l'image brute. Dans la première étape, ou division, on analyse individuellement chaque région Xi. Si celle-ci ne vérifie pas le critère d'homogénéité, alors on divise cette région en blocs (le plus généralement en 4 quadrants) et l'on réitère le processus sur chaque sous-région prise individuellement. On peut tout à fait initier le processus en considérant que la première région est composée de toute l'image. Dans la deuxième étape, ou réunion, on étudie tous les couples de régions voisines (Xk,Xi). Si l'union de ces deux régions vérifie le critère d'homogénéité, alors, on fusionne les régions. La principale difficulté de cette approche réside bien sûr dans le parcours de l'ensemble de tous les couples de régions voisines. Voyons cet algorithme plus en détail : Soient Xi, i=1,...,N l'ensemble des régions constituant une première partition de l'image I (on peut avoir N=1, X1=I). Soit H un prédicat d'homogénéité Etape 1 : SPLIT (algorithme récursif) Pour toute région Xi 10 Segmentation Si H[Xi] faux Alors Pour toute sous-région Yj de Xi Split(Yj) Remarque : Le plus souvent, on choisit pour Xi une décomposition en quatre quadrants. Etape 2 : MERGE Pour tout couple (Xi,Xj) Si Voisin(Xi,Xj) et H[Union(Xi,Xj)] Alors Fusion(Xi,Xj) La figure 5 illustre le résultat de cet algorithme sur un critère d'homogénéité simple. Figure 5 : Split and Merge : Image initiale et image segmentée (7666 régions après le split, 2117 régions après le merge) IV.4.c : Pyramides stochastiques et adaptatives Les techniques dites de pyramides irrégulières sont utilisées en segmentation d'images pour partitionner une image en régions par un procédé de type bottom-up region growing. A l'état initial, chaque pixel de l'image à segmenter est une région. Ces régions sont les nœuds d'un graphe dont les arêtes sont les liens de voisinage entre régions. Le processus est itératif et à chaque itération, il tente de supprimer le maximum de régions par agglomération (i.e. réduction du graphe). A l'instar du "Split and Merge", il n'y a pas de réel split (division) mais uniquement des regroupements. Pour atteindre cet objectif, il est nécessaire de définir des règles de fusion. Selon les règles, on obtient différentes techniques dont les plus connues sont la pyramide stochastique et la pyramide adaptative Règles de fusion A l'itération k, l'image Ik est un graphe dont les nœuds sont les régions Rk,i (i = 1, ..., nk) et les arêtes, les liens de voisinage entre ces régions. La construction de l'image à l'itération k+1 a pour but de regrouper les régions voisines afin d'avoir nk+1 < nk. Le principal problème, déjà rencontré dans la phase merge de l'algorithme split & merge, réside dans le choix de l'ordre dans lequel on procède à ces regroupements car ceux ci ne sont bien sûr pas tous indépendants. 11 Segmentation Les techniques de pyramides irrégulières ont eu pour principal mérite de résoudre le dilemme grâce à la formalisation du problème de la fusion en terme de réduction de graphe . Plus exactement, le problème du choix des fusions se ramène à la recherche d'un stable dans le graphe. Ceci s'opère en deux étapes : 1. Sélection d'un sous ensemble de nœuds du graphe initial : les régions survivantes 2. Affectation de toutes les régions non survivantes à une région survivante en conservant la cohérence du graphe On doit à P. Meer un algorithme parallèle très efficace pour atteindre ce double objectif. Afin d'obtenir une réduction importante du nombre de régions entre deux itérations successives, P. Meer a proposé d'imposer la contrainte suivante : C1 : Deux régions voisines (i.e. en relation dans le graphe) ne peuvent survivre toutes les deux Afin de faciliter l'affectation des régions non survivantes, il est nécessaire que cette décimation ne soit pas trop brutale. Pour cela, on impose une deuxième contrainte : C2 : Toute région non survivante possède, parmi ses régions voisines, au moins une région qui va survivre Pour valider ces deux contraintes, on applique l'algorithme suivant : A chaque région R, on associe deux variables binaires p et q qui indiquent si la région valide les contraintes C1 et C2. Etape 1 : Pour toute région R, p(R) = 1 si et seulement si x(R) >= [l(i) x(i)] pour tout i dans le voisinage de R. La variable x, associée à la région R, traduit son aptitude a priori à être retenue dans le graphe suivant. Les méthodes se différencient sur la nature de cette variable ainsi que sur l'emploi du paramètre l(i). Graphe initial avec les valeurs x(R) Régions suivantes après la première étape (notées en noir) Cette première étape assure que la contrainte C1 soit validée. Un processus itératif permet de valider la contrainte C2. Etape n : qn(R) = 1 si et seulement si Pn-1(R) = 0 12 Segmentation pn(R) = 1 si et seulement si x(R) >= [l(i) x(i)] pour tout i dans le voisinage de R tel que qn(i) = 1 La variable qn(R) sera positionnée à 1 si la région R ne peut valider la contrainte C 2. La recherche de nouveaux minima locaux est alors restreinte à ce s seules régions. Ce processus itératif est convergent. Exemple : représentation des étapes 1, 2a et 2b Dans cet exemple, la région associée à la valeur 5 est déclarée survivante (alors qu'elle n'est pas un minimum local) afin de valider la contrainte C2. La phase de fusion concerne alors les régions R telles que p(R) = 0 à l'issue de la convergence du processus de décimation. Comme une telle région peut avoir plusieurs régions voisines survivantes, un critère de choix est nécessaire. Pyramide stochastique (P. Meer, 1986) Dans ce modèle initial, les régions survivantes sont choisies aléatoirement, i.e. x(R) est la réalisation d'une variable aléatoire uniforme. En cas de présence de plusieurs régions survivantes dans le voisinage de la région à fusionner, un tirage aléatoire est mis en oeuvre. Pour une image de taille 2N×2N, le nombre de graphes intermédiaires (Ik) est de l'ordre de N+1. De plus, on peut montrer que le ratio de décimation Ik)/Ik) est en moyenne égal à 5,44 (± 0,067). Si le processus converge vite, l'emploi de variables aléatoires rend le résultat indépendant du contenu de l'image. En ce sens, cette méthode est beaucoup trop extrémiste. Grâce aux paramètres l(i), on peut cependant favoriser l'émergence de régions survivantes dans des directions privilégiées. Pyramide adaptative (Jolion et Montanvert, 1989) Afin de relier le processus des décimations au contenu de l'image, on prend pour la variable x une mesure de variation, i.e. la variance. Ceci revient à favoriser l'émergence des régions homogènes. De plus, afin de ne pas converger vers un graphe où une seule région représente toute l'image, on autorise la neutralisation de régions non survivantes dans les graphes intermédiaires. Une région sera neutralisée si et seulement si elle n'est pas survivante en regard d'un critère de contraste : si R est non survivante et si R' est la plus similaire de ses régions voisines survivantes alors 13 Segmentation si contraste(R,R') > seuil alors R est neutralisée sinon R fusionne avec R' La similarité et le contraste sont approximés par la différence entre les niveaux de gris moyen des régions (d'autres expressions sont bien sûr possibles). La neutralisation introduit un ralentissement dans le processus de réduction du graphe. Cependant, le résultat est de bien meilleure qualité. IV.5 – La croissance de région Comme nous l'avons vu au paragraphe IV.2, les techniques de seuillage n'assurent pas la connexité des zones détectées. C'est – entre autres – ce problème que permettent de résoudre les techniques dites de croissance de région. IV.5.1 : Principe Le principe d'un algorithme de type croissance de région est le suivant : • • • On se fixe un point de départ dans l'image. Ce point est appelé germe de la région cherchée. On se fixe un critère d'homogénéité de la région cherchée (par exemple une intensité comprise entre deux valeurs ou des critères de texture) Par une procédure récursive (i.e. de proche en proche), on inclus dans la région tous les points connexes qui vérifient le critère. - On fait ainsi croître la région tant que le critère est respecté - On obtient une région connexe. IV.5.2 : L'algorithme du Labyrinthe Cette algorithme, puissant et simple, assure de toucher tous les points d'un domaine qui vérifie le critère d'homogénéité. Elle est cependant assez gourmande en ressources machine (récursivité oblige) spécialement lorsque la récursivité est assez mal supportée par certains logiciels de calcul formel (ex : Matlab) Le déroulement est le suivant : • • • M est un point initial donné M est marqué comme appartenant à la région On vérifie pour chaque point de M si il satisfait au critère d'homogénéité et s'il n'a pas été déjà visité - Si oui, on applique la même procédure au voisin - Si non, on arrête la procédure 14 Segmentation IV.5.3 : A propos du critère d'homogénéité et de la texture Le critère d'homogénéité choisi peut être relativement simple (seuillage) mais prendre également des formes plus sophistiquées. On peut par exemple imposer une variation lente de l'intensité (i.e. une différence d'intensité entre deux points quelconques de la région inférieure à un seuil donné) On peut aussi envisager de contraindre une variance locale inférieure à un seuil, ce qui s'apparente à une homogénéité de la texture. La notion de texture, bien qu'assez intuitive, est assez délicate à formaliser. On peut en donner une définition approximative : une région d'image possédant une organisation spatiale homogène. Le terme d'organisation fait référence à une structure identifiable ou quantifiable, à l'opposé d'une distribution anarchique. Cette organisation peut se percevoir à plusieurs niveaux : - Echelle macroscopique : Il s'agit par exemple de la répétition d'un motif de base (primitive) dans les différentes directions. - Echelle microscopique : On parle ici de textures aléatoires. L'aspect apparaît anarchique, désorganisé mais néanmoins homogène et peut être caractérisé par des densités de probabilité particulières. On comprend donc l'importance de l'interprétation et de la perception visuelle. La caractérisation d'une texture doit faire appel à une large expertise et ne peut se résumer à une approche simple de type seuillage ou définition d'un paramètre. Nous nous orientons alors vers une caractérisation de type multi-paramétrique. Ces paramètres sont alors rassemblés dans une entité unique, multi-dimensionnelle appelée vecteur caractéristique. IV.6 – L'approche de la classification Les techniques de classification ont très souvent été utilisées dans le domaine de la segmentation d'images. On cite souvent les travaux de Wacker en 1969 comme la première application des techniques de classification à la segmentation d'images. De nombreux algorithmes ont été développés depuis. IV.5.a : Un schéma classique Nous développons ici un schéma classique de cette approche. • Calcul des variables : En chaque pixel, on calcule un certain nombre de paramètres caractéristiques de l'intensité lumineuse, de la texture, pour différents ordres de voisinages centrés en ce pixel. 15 Segmentation • • • • • Décorrélation des variables : Grâce à une approche classique de l'analyse de données, on construit des facteurs non corrélés. La transformée de Karhunen-Loeve est le plus souvent utilisée. Réduction du nombre de variables : Grâce à la quantité d'information portée par chaque variable principale, on est à même de sélectionne r un nombre réduit de variables en se fixant un pourcentage minimum de l'information expliquée. Préclassification : Il est alors nécessaire de décomposer le nuage de points constitué par les pixels de l'image dans l'espace des paramètres; toute technique de classification est applicable. Si le nombre de classes n'est pas connu, on peut utiliser la procédure suivante, reposant sur la technique des K plus proches voisins : Tout d'abord, on fixe le nombre de classes à 2. On classifie les données et l'on quant ifie la qualité de la segmentation par S = tr(B) . tr(W) où B est la matrice des variances interclasses, W la matrice des variances intraclasses et tr l'opérateur trace d'une matrice (somme des éléments de la diagonale principale). Cette mesure de séparabilité des classes permet, par sa maximisation, de trouver le nombre optimal de classes; à cet extremum, le nombre de facteur est réduit par l'utilisation de la mesure de Bhattacharyya. Classification : La même procédure de classification est appliquée de nouveau à partir des facteurs principaux extraits à l'étape précédente. Segmentation : Cette dernière étape permet simplement de repasser de l'espace des paramètres à celui de l'image. On peut par exemple utiliser les techniques de pseudo couleurs pour mettre en valeur les résultats de la classification. IV.5.b : Un premier bilan Cette technique, en apparence autonome, nécessite une connaissance de l'image dans la mesure où il faut fournir une liste de paramètres. Ceux-ci seront calculés pour chaque pixel. La connaissance doit donc pouvoir s'exprimer par des propriétés locales ce qui n'est pas toujours le cas. Cependant, par l'utilisation des facteurs principaux, la méthode s'affranchit des problèmes de redondance d'information. On constate également, qu'en plus de l'image segmentée, la méthode fournit une classification, au sens de l'analyse de données, des régions extraites. Il y a donc aide à l'analyse de l'image. Cette méthode fournit donc plus d'information que les autres techniques de segmentation. Elle a été appliquée avec succès à de nombreux types d'images, notamment dans le domaine de la télédétection ou l'imagerie aérienne. Ses principaux inconvénients sont : • • • • • Le coût important en temps d'exécution. L'utilisation de modèle linéaire. La segmentation qui n'est pas forcément optimale au sens de l'œil humain. Un comportement incertain en présence de bruit. La difficulté à prendre en compte la localisation spatiale des données dans les paramètres. IV.5.c : Une approche supervisée Afin d'aider cette approche, on peut utiliser une technique supervisée. Dans un premier temps, l'image initiale est réduite en taille et classifiée par un algorithme du type des plus proches voisins mais en version supervisée, i.e. avec l'aide d'un expert. On utilise ensuite un réseau de neurones pour apprendre les différentes classes. Une fois le réseau stabilisé sur cet ensemble 16 Segmentation d'apprentissage, on peut l'utiliser pour segmenter l'image initiale ou toute image du même type. V : Multirésolution et pyramides La multirésolution est un concept qui est apparu très tôt dans le domaine de l'image numérique lorsque les chercheurs se sont intéressés au filtrage par masques (en particulier pour la détection de contours). Quelle valeur fallait-il choisir pour la taille du masque ? Y-a-til une valeur optimale ? La réponse est bien sûr non car toute image contient des informations à plusieurs niveaux de détails. C'est pourquoi sont apparues des techniques dites de multirésolution qui permettaient de manipuler plusieurs résolutions (et donc plusieurs tailles de masques) dans un même environnement. Parmi les différents environnements proposés, le plus connu est le modèle pyramidal dont voici les grands principes. Lorsque l'on souhaite appliquer à une image un traitement mettant en jeu un opérateur linéaire cela revient à utiliser remplacer la valeur en un point quelconque par une somme pondérée des valeurs du voisinage de ce point. Plus le voisinage sera grand, plus la somme comportera de valeurs et donc plus le traitement sera long. Une alternative consiste à utiliser un voisinage constant en taille mais à réduire l'image à traiter. C'est de cette idée qu'est venu la notion de pyramide. Cependant, on ne peut pas réduire n'importe comment la taille d'une image. Il est nécessaire de valider un ensemble de propriétés (dont le principale est issue du théorème de Shannon sur l'échantillonnage). La construction d'images de tailles réduites à partir d'une image initiale constitue ce que l'on appelle une pyramide. Il existe plusieurs pyramides selon ce que l'on souhaite mettre en évidence comme information (composantes principales, contours, texture, ...). 17