V. Segmentation V.1 Définitions & classification V.2 Approche fonctionnelle V.3 Quelques méthodes de segmentation
V.1 Définitions & classification
Pas de norme ! Pas de méthode unique ! Pas de recette !
Approches "région" - Basées sur l'homogénéité de caractéristiques localisées spatialement calculées sur les niveaux de gris - Homogénéité : variation à l'intérieur d'une région < variation entre 2 régions - Robustes aux bruits mais mauvaise localisation spatiale
Approches "frontière" - Basées sur l'information de gradient pour localiser les frontières des régions - 2 approches : (détection et fermeture de contours) ou (contours déformables) - Sensibles aux bruits et aux contours mal définis, elles offrent une bonne localisation spatiale
Vue d'ensemble Techniques de segmentation Seuillage adaptatif Approches FRONTIERE Template Matching Approches REGION Méthodes variationnelles (contours actifs) Méthodes dérivatives Détection de contours + Fermeture des contours Méthodes Markoviennes Approches structurales Texture Analyse et classification
V.2 Approche fonctionnelle Critères Mesures Evolution Modification Arrêt Initialisation Image Carte des régions bloc élémentaire
Approche fonctionnelle et méthodes complexes Bloc 1 N1 Bloc k Nk Bloc 2 N2
Bloc Mesures - Réalise les mesures nécessaires pour évaluer l'homogénéité des régions - Des mesures 'images' : moyenne, variance, entropie, gradient, texture ... - spatiales - fréquentielles - Des mesures 'régions' : forme, surface, périmètre ...
Le choix des mesures : un problème compliqué Texture Seuillage Détection de contour !
? Texture = information visuelle qualitative: Grossière, fine, tachetée, marbrée, régulière, périodique... Région homogène: Assemblage plus ou moins régulier de primitives plus ou moins similaires. Texture microscopique: Aspect chaotique mais régulier, primitive de base réduite. Texture macroscopique: primitive de base évidente, assemblage régulier. ?
Approches pour l'analyse de Texture Structurelles: recherche de primitives de base bien définies et de leur organisation (règles de placement) Méthodes peu utilisées Stochastiques: primitives mal définies et organisation +/- aléatoire. Principe: évaluation d’un paramètre dans une petite région (fenêtre de taille dépendant de la texture (!) ): Analyse fréquentielle, statistiques, comptage d’événements, corrélation,.... Pas de modèle général de texture Nombreuses méthodes ad-hoc.
fondamental en segmentation Trouver les bons paramètres Le choix et le réglage des mesures est fondamental en segmentation 4x4 8x8 16x16 32x32
Bloc Critères - Fusionne les mesures en un seul critère qui sera utilisé pour évaluer le besoin de modification - Introduction d'hyper-paramètres conditionnant le résultat de la segmentation
Bloc Evolution - Estime à partir des critères le besoin d'évolution des régions - Evolution par seuillage : binaire ou progressive - Evolution par dérivée : variation du critère entre 2 itérations
Bloc Modification - Modifie la carte des régions - N constant : seuillage, contour actif, ... - N+ : split - N- : merge - Stratégies diverses ... et représentation des régions adaptée - déplacement de point - étiquetage - maillage - Considéré comme le cœur des méthodes de segmentation
Bloc Arrêt - Décide l'arrêt des itération - Par défaut, arrêt quand la carte de segmentation ne bouge plus - Autres possibilités : manuel, nombre d'itération, nombre de points modifiés ...
V.3 Quelques méthodes de segmentation V.3.1 Segmentation par seuillage adaptatif V.3.2 Segmentation par détection / fermeture de contours V.3.3 Segmentation par contours actifs V.3.4 Segmentation par Split / Merge V.3.5. Segmentation par Template Matching
V.3.1 Segmentation par seuillage adaptatif Détection de vallées, en prenant le minimum de l’histogramme situé entre les 2 pics Optimisation du seuil S par modélisation Gaussienne p1(x) et p2(x) et en minimisant l’expression basée sur les fonctions de répartition :
Exemple : Méthode Fisher Objectif : Trouver le seuil S qui minimise la somme des moments centrés d’ordre 2 (somme des Variances) des 2 classes h(x) : histogramme de l’image Centre de gravité G d’une classe Variance Var d’une classe
Trouver S qui minimise la somme des variances : En simplifiant les termes en carrés, cela revient à maximiser la fonctionnelle J(S) : Le problème de seuillage ou de partitionnement revient à chercher S dans {0,255} qui maximise J(S)
V.3.2 Segmentation par détection / fermeture de contours La détection de contour est suivie d’une localisation de contour et de la recherche d’un ensemble connexe de points Détection de contour Extraction de Fermeture de
Détection de contour Un contour caractérise la frontière d’une région Un contour est défini par une variation «rapide» de caractéristique Contour Contour ? Contour ?
Définition continue d'un contour f(x,y) r x q qg Mesure du gradient de f(x,y) dans la direction r La direction q du contour est obtenue pour :
Applications aux images numériques Pour chaque pixel (i,j), on mesure du gradient dans deux directions orthogonales : Dx Dy Calcul de l’amplitude du gradient Calcul de la direction du gradient f(i,j) Dx Dy M q Carte d’amplitude Carte de direction H1 H2
Un contour est détecté si M dépasse une certaine valeur (seuil). La carte de direction est utilisée pour «suivre» les contours. Exemples d’opérateurs H1 H2 Roberts Prewitt Sobel
Exemple de détection de contours « Roberts » Zoom (inhomogénéité du contour) Amplitude blanc=p/4 ... gris = p +p/4 128x128 Direction
H1 Amplitude Direction H2
Il existe de nombreuses méthodes de détection de contour: Dérivation au premier ordre Prewitt, Sobel, Roberts, Kirsh, Compass, dérivateurs... Dérivation au second ordre Laplacien, Marr et Hildreth,... Filtrage optimal Canny-Deriche, Shen Modélisation des contours Hueckel, Haralick Morphologie mathématique gradient morphologique, ligne de partage des eaux... Caractéristiques: Complexité, précision de localisation, sensibilité au bruit, création de faux contours
Extraction des contours Un contour = ligne de crête dans l’image de la norme du gradient (IG): des niveaux de gris toujours élevés de faibles dénivelés le long de ces lignes de forts dénivelés dans les autres directions ==> les points de contour = maxima locaux de IG Le principe est de comparer le gradient G en un point M avec les gradients G1 et G2 des deux voisins pris dans la direction du gradient si G>G1 et G>G2, alors M est un maximum local contour G G1 G2 direction de G M
Fermeture des contours Hypothèse : l’image de la norme de gradient est disponible et les extrémités des contours à fermer sont connues S0 Sf S contour de l’image A arc d’un chemin solution R Trouver le chemin du coût minimum : S qui minimise S qui minimise la distance entre S et Sf
V.3.3 Segmentation par contours actifs Un contour actif est une courbe fermée ou non, initialisée à proximité du contour recherché qu’on déforme par itérations successives afin de converger vers le contour réel L’évolution du contour actif est régie par une minimisation d’énergie L’évolution s’arrête par un critère d’arrêt qui correspond à une condition de stabilité La convergence traduit une adéquation entre la forme finale de la courbe C la fonction image au voisinage de la courbe
Contours actifs : définitions Le contour actif est assimilé à une courbe C : s est l‘abscisse curviligne, v(s,t) est un point courant de C, a et b sont les extrémités de C, l’évolution temporelle se fait entre 0 et T Une énergie E(C) est mesurée à chaque t durant l’évolution temporelle E(C) intégre : les caractéristiques intrinsèques de la courbe C les caractéristiques de l’image I au voisinage de C l’interaction entre I et C
Contours actifs : Energie du contour E(C) Eint : - lié à la rigidité (tension), il agit sur la longueur - lié à l'élasticité (flexion), il agit sur la courbure Eext : - introduit des contraintes opérateur (points de contrôle ...) Eimage : - introduit les caractéristiques images (gradient)
Evolution temporelle du contour actif Calculer l'énergie pour chaque point Faire la liste des points par ordre d’énergie croissante Faire évoluer le point avec l'énergie minimale Calculer l'énergie nouvelle pour ce point et organiser la liste si la distance entre deux points est trop grande, ajouter un point entre les deux
Problèmes liés aux contours actif Le contour initial ne peut pas être sélectionné automatiquement Le contour initial doit être proche du contour final Le modèle n’est pas utilisable dans le cas de la présence de texture Le modèle peut être perturbé en présence de bruit La minimisation d'énergie demande l’inversion de matrices de grande taille à chaque itération ==> calcul très long
V.3.4 Segmentation par Split / Merge Les méthodes structurales visent à regrouper des ensembles de points ou de régions selon des critères d’homogénéité Ces méthodes garantissent la connexité des régions Les stratégies utilisées peuvent être : ascendante : mécanisme de croissance (MERGE) de régions : du niveau élémentaire (ex : pixel) aux grandes régions descendante : mécanisme de division (SPLIT) de régions : du niveau haut (ex : image) vers la décomposition en petites régions
Méthode ascendante : Croissance de régions La croissance est conduite selon deux critères : homogénéité pour une région R formée de N pixels connexité (adjacence) du pixel à intégrer dans R Exemples de contrainte d’homogénéité : Variance Var(R) inférieure à un seuil Nombre de pixels M dont les NG se situe hors d’un intervalle [Moy(R)-EcType(R),Moy(R)+EcType(R)] inférieur à un seuil Un pixel S est intégré à R si les caractéristiques de ce point (NG, couleur, texture centrée sur ce point,..) est proche de celles de R S est connexe à R
Méthodes descendantes : division de régions Les méthodes descendantes divisent l’image ou une partie d’image en régions en utilisant des partitions élémentaires connues comme le quadtree Le maillage peut être régulier ou irrégulier de type rectangulaire, triangulaire ou polygone quelconque La division d’une région R en sous-régions se fait si R ne remplit pas la contrainte d’homogénéité fixée
V.3.5. Segmentation par Template Matching La méthode Template Matching est basée sur la recherche de la position spatiale d’un motif (objet) M connu dans une image I La recherche (ou le collage) se fait par le calcul de l’intercorrélation bidimensionnelle C(p,q) entre I et M : La position du motif est donnée par les maxima de la fonction d’intercorrélation CIM
Image originale Motif Image d’intercorrélation Image d’intercorrélation seuillée
Plan I. Introduction II. Représentations & Acquisition III. Pré-traitement & Amélioration IV. Compression V. Segmentation VI. Introduction à l'indexation VII. Introduction au tatouage VIII. Conclusion