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