I. Définitions & classification II. Approche fonctionnelle Plan I. Définitions & classification II. Approche fonctionnelle III. Quelques méthodes de segmentation ESIEA 30/11/2005
Segmentation d’images Philippe Ciuciu (CEA/SHFJ) ciuciu@shfj.cea.fr http://www.madic.org/people/ciuciu Vieux pb de vision par ordinateur encore incmplètement résolu qui consiste essentiellement à établir une relation géométrique entre les Objets représentés par des images ; de manière qq peu réductrice, le terme recalage est synonyme de mise en correspondance ou alignement Il n’existe pas un pb unique de recalage mais plutôt une variété de taches visuelles que le bon sens nos incite à regrouper sous le même vocable ESIEA 30/11/2005
Cours préparé à partir de ressources Web et de Jean-François Mangin (CEA/SHFJ) Sa thèse est disponible en ligne ESIEA 30/11/2005
I. Définitions & classification ESIEA 30/11/2005
Pas de norme, de méthode unique ! Pas de recette ! ESIEA 30/11/2005
Approches « région » - Basées sur l'homogénéité de caractéristiques localisées spatialement et 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 ESIEA 30/11/2005
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 techniques de contours déformables - Sensibles aux bruits et aux contours mal définis, elles offrent une bonne localisation spatiale ESIEA 30/11/2005
Vue d'ensemble Techniques de segmentation Seuillage adaptatif Approches frontière Template Matching Approches région 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 ESIEA 30/11/2005
II. Approche fonctionnelle Initialisation Image Mesures Critères Évolution Carte des régions Modification Arrêt bloc élémentaire ESIEA 30/11/2005
Approche fonctionnelle et méthodes complexes Bloc 1 N1 Bloc k Nk Bloc 2 N2 ESIEA 30/11/2005
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 ... ESIEA 30/11/2005
Choix des mesures : un problème compliqué Texture Seuillage Détection de contour ! ESIEA 30/11/2005
? 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. ? ESIEA 30/11/2005
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. ESIEA 30/11/2005
fondamental en segmentation Trouver les bons paramètres Le choix et le réglage des mesures est fondamental en segmentation 4x4 8x8 16x16 32x32 ESIEA 30/11/2005
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 ESIEA 30/11/2005
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 ESIEA 30/11/2005
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 ESIEA 30/11/2005
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 ... ESIEA 30/11/2005
III. Quelques méthodes de segmentation III.1 Segmentation par seuillage adaptatif III.2 Segmentation par détection / fermeture de contours III.3 Segmentation par contours actifs III.4 Segmentation par Split / Merge III.5 Segmentation par Template Matching ESIEA 30/11/2005
III.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 : ESIEA 30/11/2005
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 ESIEA 30/11/2005
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) ESIEA 30/11/2005
III.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 ESIEA 30/11/2005
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 ? ESIEA 30/11/2005
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 : ESIEA 30/11/2005
ESIEA 30/11/2005
Applications aux images numériques Pour chaque pixel (i,j), on mesure le gradient dans deux directions orthogonales : Dx Dy Calcul de l’amplitude du gradient Calcul de la direction du gradient Dx H1 Carte d’amplitude M q f(i,j) Dy H2 Carte de direction ESIEA 30/11/2005
Contour détecté si M dépasse une certaine valeur (seuil). Carte de direction utilisée pour «suivre» les contours. Exemples d’opérateurs H1 H2 Roberts Prewitt Sobel ESIEA 30/11/2005
Exemple de détection de contours Amplitude blanc=p/4 ... gris = p +p/4 128x128 (inhomogénéité du contour) « Roberts » Zoom Direction ESIEA 30/11/2005
H1 Amplitude Direction H2 ESIEA 30/11/2005
Éventail de 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 ESIEA 30/11/2005
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 contour G G1 G2 direction de G M Principe :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 ESIEA 30/11/2005
Fermeture des contours Hypothèse : l’image de la norme de gradient est disponible et les extrémités des contours à fermer sont connues contour de l’image A arc d’un chemin solution S0 Sf S R Trouver le chemin du coût minimum : S qui minimise S qui minimise la distance entre S0 et Sf ESIEA 30/11/2005
III.3 Segmentation par contours actifs Un contour actif : 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 et la fonction image au voisinage de la courbe ESIEA 30/11/2005
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 l’énergie E(C) est mesurée à chaque pas t 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 ESIEA 30/11/2005
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 des caractéristiques images (gradient) ESIEA 30/11/2005
Évolution temporelle du contour actif Calculer l'énergie pour chaque point Faire la liste des points par ordre d’énergie décroissante Faire évoluer le point avec l'énergie maximale 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 ESIEA 30/11/2005
Problèmes liés aux contours actif Contour initial sélectionné manuellement Contour initial relativement proche du contour final Modèle non utilisable en présence de texture Modèle perturbé en présence de bruit Minimisation d'énergie demande l’inversion de matrices de grande taille à chaque itération calcul très long ESIEA 30/11/2005
III.4 Segmentation par Split / Merge Méthodes structurales visant à 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 ESIEA 30/11/2005
Méthode ascendante : Croissance de régions Croissance 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 Borner le nombre de pixels M dont les NG se situent hors d’un intervalle [Moy(R)-EcType(R),Moy(R)+EcType(R)] Pixel S intégré à R si ses caractéristiques (NG, couleur, texture centrée sur ce point,..) sont proches de celles de R S est connexe à R ESIEA 30/11/2005
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 polygonal quelconque Division d’une région R en sous-régions si R ne remplit pas la contrainte d’homogénéité fixée ESIEA 30/11/2005
III.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 ESIEA 30/11/2005
Image d’intercorrélation Image d’intercorrélation seuillée Motif Image originale Image d’intercorrélation Image d’intercorrélation seuillée ESIEA 30/11/2005