Traitements d'images et Vision par ordinateur
Segmentation
Alain Boucher - IFI
aboucher@[Link]
Segmentation
Qu'est-ce que la segmentation ?
La segmentation vise sous-diviser limage en constituants distincts objets La segmentation est lie la reconnaissance.
Vision par ordinateur - Alain Boucher
Qu'est-ce que la segmentation ?
La segmentation est normalement base sur:
les discontinuits les arrtes, les changements abruptes, les similitudes (zones homognes) couleurs, textures, intensits,
La segmentation est le dcoupage d'une image en diffrentes rgions et/ou contours.
Vision par ordinateur - Alain Boucher
Segmentation rgions/contours
Approches rgions
Rechercher les zones dans limage sur un critre dhomognit Rechercher les discontinuits entre rgions
Approches contours
Approches duales (rgions et contours) seulement dans quelques rares cas
Il existe une dualit entre rgions et contours
Une rgion est dlimite par un contour Un contour spare deux rgions
Vision par ordinateur - Alain Boucher
Segmentation contours
La segmentation en contours d'une image se fait principalement en utilisant les dtecteurs par convolution dj vus. Cependant, ces dtecteurs ne donne pas des contours ferms et sont sensibles aux bruits.
Une tape de seuillage du gradient, du Laplacien ou autre est ncessaire. Ensuite, il faut fermer les contours et conserver les contours significatifs.
Vision par ordinateur - Alain Boucher
Segmentation par seuillage
Le seuillage est une mthode simple et trs populaire pour la segmentation d'objets dans les images numriques. Le seuillage peut tre de nature
Globale : un seuil pour toute l'image Locale : un seuil pour une portion de l'image Adaptative : un seuil qui s'ajuste selon les images/parties de
l'image.
Vision par ordinateur - Alain Boucher
Segmentation par seuillage
Seuillage de base (2 classes) principe :
Si valeur(pixel) >= seuil alors valeur(pixel) = 1 Si valeur(pixel) < seuil alors valeur(pixel) = 0
Le rsultat du seuillage est une image binaire.
Il est aussi possible d'avoir n seuils pour sparer l'image en n-1 classes.
Problme : choix du seuil !!!
Vision par ordinateur - Alain Boucher 8
Seuillage d'histogramme
Avantages
Universel, temps rel, simplicit Fonctionne bien sur des histogrammes multi-modaux Connatre le nombre de classes Apparition de faux lments (aucune prise en compte de la composante spatiale) Nombre de modes souvent nombre de classes attendu
2 modes pour 3 classes
Vision par ordinateur - Alain Boucher 9
Inconvnients
Seuillage d'histogramme simple
Seuillage simple
1 si f ( x, y) T g( x, y) 0 si f ( x, y) T
Source : [Link]
Vision par ordinateur - Alain Boucher 10
Seuillage d'histogramme multiple
Seuillage multiple
2 si f ( x , y ) T2 g ( x , y ) 1 si T2 f ( x , y ) T1 0 si f ( x , y ) T
Vision par ordinateur - Alain Boucher
11
Seuillage
Seuillage global de base
Comment trouver le seuilT ? Une valeur obtenue par tests La valeur moyenne des tons de gris La valeur mdiane entre le ton maximum et le ton minimum Une valeur qui balance les deux sections de l'histogramme - seuillage automatique
Vision par ordinateur - Alain Boucher
12
Exemple de seuillage
Seuillage global de base
Valeur mdiane Environnement contrl Applications industrielles
Vision par ordinateur - Alain Boucher
13
Seuillage global automatique
Exemple d'algorithme :
Choisir un T initial (moyenne, mdiane ) On obtient 2 groupes de pixels G1 si f(x,y) > T et G2 si f(x,y) T Calculer les moyennes de tons de gris pour G1 et G2 -> 1 et 2 Calculer une nouvelle valeur de T
Rpter jusqu' ce que T soit ~ constant
T = 1/2 (1 + 2)
Il existe plusieurs autres mthodes globales automatiques
Otsu, Kittler, K-moyennes, Il faut les tester pour chaque nouvelle application
Vision par ordinateur - Alain Boucher 14
Seuillage global automatique
Seuil trouv par l'algorithme
T = 125
Vision par ordinateur - Alain Boucher
15
Seuillage global - problme
Problme d'clairage ?
Vision par ordinateur - Alain Boucher
16
Seuillage global - problme
Problme : Le seuillage global ne peut traiter ce cas Solution : seuillage local adaptatif
Vision par ordinateur - Alain Boucher
17
Exemple de seuillage adaptatif
Nous avons besoin de sparer l'image en sous images, et de traiter chacune avec son propre seuil
Le choix de la dimension des sous-images est critique Avant de traiter chaque sous-image, nous vrifions la variance des tons de gris pour dcider s'il existe un besoin de segmentation
Exemple : pas besoin si variance<100
Vision par ordinateur - Alain Boucher
18
Exemple de seuillage adaptatif
Les 4 sous images de coins ne sont pas traites car variance<100
Vision par ordinateur - Alain Boucher
19
Exemple de seuillage adaptatif
Bimodal
Bimodal ??
Vision par ordinateur - Alain Boucher 20
Division-Fusion de rgions
Initialisation
l'image initiale entire forme un bloc
Diviser rcursivement tout bloc non-homogne selon un prdicat dfini (variance, max-min, ) La division d'un bloc donne 4 sous-blocs Les attributs de chaque sous-bloc sont recalculs Regrouper les blocs adjacents reprsentant des rgions homognes selon un prdicat dfini
Etape de division
Etape de fusion
Post-traitement
Lissage pour liminer la forme carr des rgions
Vision par ordinateur - Alain Boucher 21
Croissance de rgions
L'algorithme dbute avec un pixel, et "collectionne" les pixels voisins qui rpondent un critre d'appartenance :
Variance faible Niveau de gris rpondant un un seuil
Le(s) pixel(s) initials (ou initiaux) sont appels "germes" ou "semences". La rgion "grandit" partir de son germe. Une connaissance a priori est utile pour slectionner les germes.
Vision par ordinateur - Alain Boucher
22
Croissance de rgions
Vision par ordinateur - Alain Boucher
23
Segmentation par partage des eaux
On considre la visualisation de l'image en 3D, en utilisant le ton de gris comme troisime dimension
Image 2D
Source : [Link]
Visualisation en 3D
Vision par ordinateur - Alain Boucher 24
Segmentation par partage des eaux
Ensuite on "complmente" les valeurs pour crer des zones inondables.
Vision par ordinateur - Alain Boucher
25
Segmentation par partage des eaux
Enfin, on "infiltre" les cavits des zones inondables
Vision par ordinateur - Alain Boucher
26
Segmentation par partage des eaux
Vision par ordinateur - Alain Boucher
27
Segmentation par partage des eaux
Vision par ordinateur - Alain Boucher
28
Segmentation conseils
La segmentation d'une image cause encore aujourd'hui beaucoup de problmes.
Aucune mthode ne fonctionne pour toutes les images. Pas de garantie, pas de recette miracle!
Pour certaines applications, on ralise qu'on peut viter la segmentation complte de l'image. C'est souvent mieux. Le pr-traitement des images, la slection de capteurs et sources dnergie appropries, et la prise contrle des images rendent cette tape plus facile et plus efficace.
Vision par ordinateur - Alain Boucher 29
Segmentation conseils
Le problme d'valuer le rsultat d'une segmentation n'est pas vident. Bien souvent, il est subjectif et varie d'une personne l'autre. Un des principaux problme est de dfinir le but de la segmentation : Qu'est-ce qu'on recherche exactement
dans l'image ?
Elments globaux de l'image ou dtails fin de la composition ? Prsence d'un humain ou dtails du visage ?
Il est bon de se poser aussi la question de ce que l'on veut faire ensuite avec la segmentation. Cela permet de dfinir le degr de prcision ncessaire.
Vision par ordinateur - Alain Boucher 30
Segmentation vs groupement
Aujourd'hui, on dlaisse de plus en plus le terme de segmentation, qui sousentend une sparation plus exacte de l'image, pour celui de groupement de pixels (grouping), qui ne fait appel qu' une notion de similarit de pixels sans aucune relation de contenu.
Extrait de [Malik 2001].
Vision par ordinateur - Alain Boucher 31
Approche Gestalt
Une autre approche de la segmentation/groupement sinspire de la psychologie et de lobservation de l'humain et de son environnement Cette approche est base sur les travaux de Gestalt sur la vision humaine
Importance du contexte dans cette approche.
Vision par ordinateur - Alain Boucher
32
Approche Gestalt
Proximit : objets proches sont regroups Similarit : objets semblables sont regroups Tendance commune : objets avec un mouvement cohrent semblable sont regroups Rgion commune : objets lintrieur dune mme rgion sont regroups Paralllisme : courbes ou objets parallles sont regroups Fermeture : courbes ou objets qui peuvent former des objets ferms sont regroups Symtrie : courbes ou objets qui peuvent former des objets symtriques sont regroups Continuit : courbes ou objets formant une continuit (au sens esthtique) sont regroups Configuration familire : courbes ou objets formant des objets connus sont regroups.
Vision par ordinateur - Alain Boucher 33
Approche Gestalt
Vision par ordinateur - Alain Boucher
34
Approche Gestalt
Questions sur lapproche Gestalt :
Comment intgrer des rgles de regroupement dans un algorithme? Comment gnrer des hypothses?
Malgr quelques essais, cette approche reste surtout thorique.
Vision par ordinateur - Alain Boucher
35