Segmentation
« Sé koi ?» La segmentation des images consiste à regrouper les pixels de ces images qui partagent un même propriété pour former des régions connexes Deux approches : Approche « contours » : les régions sont délimitées par les contours des objets qu’elles représentent (séparation) Approche « régions » : les régions sont déterminées en fonction de leurs propriétés intrinsèques (agrégation de pixels fonction d’un critère d’homogénéité)
« Sé koi ?» Segmentation Recherche de frontières (approches « contours ») Recherche de régions (approches « régions »)
What to do? Seuillage Détection des discontinuités et des frontières Segmentation en régions
RECHERCHE DE FRONTIERES Détection des points isolés Détection des droites Détection des contours Détection des frontières
Détection de points isolés -1 8 et test (Image,Masque) Image
Détection de droites -1 2 0° (horizontale) 90° (verticale) 45° -45°
Détection de droites 0° (horizontale) 90° (verticale)
L'un des problèmes les plus étudiés : indice visuel idéal Détection de contours L'un des problèmes les plus étudiés : indice visuel idéal Exemple d'un signal monodimensionnel Niveau haut Niveau haut Contraste Hauteur de transition Niveau bas Niveau bas Largeur de transition
objet = région homogène Détection de contours Contours : lieux de variations significatives de l'information niveau de gris objet = région homogène image = mosaïque de régions homogènes séparées par des zones de transitions
Détection de contours Dérivée première Profil Dérivée seconde
Une variation existe si : le gradient est localement maximum Détection de contours Une variation existe si : le gradient est localement maximum la dérivée seconde présente un passage par zéro
1. Extraction des points de contour 2. Binarisation des contours Détection de contours Principe 1. Extraction des points de contour 2. Binarisation des contours 3. Réduction de l’épaisseur des contours : l’épaisseur des contours doit être d’un pixel 4. Fermeture et suivi de contours 5. Codage et Description des contours : organisation des contours en structures simples telles que suites numériques, segments de droite, arcs de cercle, etc….
Détection de contours Recherche des points de contours dans l’espace discret Evaluation de la variation du niveau de gris en chaque pixel Contours recherchés : de type créneau Algorithmes les plus connus : Approximations de la dérivée première = Gradient Approximation de la dérivée seconde = Laplacien
Dérivation du signal image Objectif: Mettre en évidence des variations locales du niveau de gris Image extension au cas bidimensionnel
Dérivation du signal image Dérivée première
Dérivation du signal image Vecteur gradient Module Direction
Détection de contours Opérateurs les + simples -1 1 -1 1
Approximation des dérivées partielles Dérivation du signal image Approximation des dérivées partielles On préférera: -1 1 -1 1
Détection de contours Image originale Image des contours (opérateur Roberts)
Détection de contours Opérateur de Prewitt -1 1 -1 1 Dérivée selon y Dérivée selon x
Détection de contours Image des contours Image originale (opérateur Prewitt) Image originale
Détection de contours Opérateurs de Sobel -1 1 -2 2 -1 -2 2 1 Dérivée selon y Dérivée selon x
Détection de contours 190 190 200 210 213 190 190 200 210 213 -4 -10 -2 2 190 190 -1 1 -2 2 -1 1 -2 2 200 210 213 -1 1 -2 2 190 -1 1 -2 2 190 -1 1 -2 2 200 210 213 -4 -10 -33 -1 1 -2 2 186 190 -1 1 -2 2 200 -1 1 -2 2 200 200 -619 -628 -492 -1 1 -2 2 50 50 -1 1 -2 2 -1 1 -2 2 1 100 100 -726 -730 -700 +13 +26 +13 10 -1 1 -2 2 -1 1 -2 2 10 10 -1 1 -2 2 30 30 50 50 14 100 100 10 10 10 30 30 Opérateur de Sobel
Détection de contours Image originale Image des contours (opérateur Sobel)
Prewit Roberts Sobel
Détection de contours Opérateurs gradients Module(s) Argument Norme dans L1 Argument
Dérivée seconde directionnelle Dérivation du signal image Dérivée seconde directionnelle Laplacien
Approximation des dérivées partielles Dérivation du signal image Approximation des dérivées partielles Ce qui conduit à: 1 -2 1 -2 1 -4
Approximation des dérivées partielles Dérivation du signal image Approximation des dérivées partielles 1 -1
Détection de contours Opérateur Laplacien Sensible au bruit Il produit une ligne double Passage à 0 (zero crossing) -1 4
Détection de contours Image originale Image des contours (zero crossing)
Détection de contours Liverpool 256 gris Sobel Laplacien
Détection de contours Variante : le gradient directionnel Combinaison linéaire des dérivées sur les axes principaux du repère Composition des masques (Prewitt ou Sobel) Si limitée aux 8 directions principales de la maille carrée 8 masques obtenus par rotations successives de /4 du masque de base h0 la numérotation des masques se fait dans l'ordre des directions de Freemanen 8-connexité
Détection de contours Les masques directionnels les plus connus sont : Sobel Prewitt Kirsh Robinson Ici masques de taille 3x3, mais quelle taille choisir ? + le masque est grand, - le gradient est bruité, + le tps de calcul est élevé, - bonne est la localisation du contour -1 -2 1/4 . 1 2 1/3 . 5 1/15 . -3 1/5 . x8 x8 x8 x8
Du gradient au contour Extraction des points de contours La phase d'extraction se termine par un seuillage introduit des manques, dus à la présence de bruit ou à des occultations Suivi de contours Fermeture des contours très importante en segmentation : Permet d'obtenir des régions fermées interprétables comme projections des objets de la scène Codage de contours
Les approches de fermeture les plus courantes : Du gradient au contour Les approches de fermeture les plus courantes : Exploitation des techniques d'exploration des graphes (IA, prog. dynamique) Méthodes neuromimétriques (réseaux de neurones) Principe des méthodes basées sur les techniques d'exploration des graphes On part des point possibles des contours ((m,n) >sh) On identifie les extrémités des chaînes des points de contour Analyse de la configuration de voisinage On cherche à propager ces extrémités : Dans la direction locale du gradient (à condition que leur amplitude soit supérieure à sb) Vers celui des voisins immédiats ayant la plus forte amplitude de gradient
Méthode locale Pour chaque pixel (x,y) d ’un contour (fort gradient), on cherche les pixels adjacents (x’,y’) dont le gradient est peu différent de celui de (x,y).
Fermeture de contours Principe : part de l'image des éléments essentiels - maillage - graphe Fermeture du contour = recherche du chemin entre les 2 sommets du graphe associés aux pixels P0 et Pf P0 contour Arc d'un chemin solution Pf
Fermeture de contours Exemple d'algorithme de fermeture Balayage de l'image des éléments essentiels Si extrémité, recherche parmi les voisins du meilleur candidat à la fermeture Elaboration de l'arborescence de tous les chemins possibles Attribution à chaque chemin d'un coût = des normes des gradients du chemin Prolongation du contour par le premier point du chemin au plus fort coût Réitération de l'algorithme à partir de ce nouveau point Arrêt de la fermeture si rencontre d'un point de contour ou nombre max d'itérations atteint
Codage de contour Description d'un contour se fait à l'aide d'une structure de données Codage le plus simple : le codage de Freeman Caractérise le passage d'un pixel à son successeur La suite des codes locaux donne le codage du contour
Transformée de Hough Plan de l’image Plan des paramètres y b x a x et y fixés a et b fixés
Transformée de Hough b a
Transformée de Hough case (u,v) => accumulateur Algorithme bmin 1)Quadrillage de l’espace (a,b) amin 2) Pour chaque case A(u,v)=0 b 3) Pour chaque point image a) Choisir b) Calculer c) Calculer la case (u,v) amax bmax d) A(u,v)= A(u,v)+1 a 4) Pour toute case (u,v), si A(u,v)>seuil, cette case représente une droite
Problème lié à l’implémentation précédente Transformée de Hough Problème lié à l’implémentation précédente y b a=100 a=1 a=10 a=10 x a=1 a=100 a x et y fixés Quadrillage impossible
Transformée de Hough Solution : une autre représentation des droites rmin y r q q -p/2 p/2 x rmax r Espace des paramètres
Transformée de Hough y r q q x r Espace image Espace des paramètres
Transformée de Hough
RECHERCHE DE REGIONS Seuillage Agrégation de pixels Split and Merge Contrairement à l’extraction des contours qui s’intéresse aux bords des régions, la segmentation en régions homogènes vise à segmenter l’image en se basant sur des propriétés intrinsèques des régions
Formulation Soient une Image = Région R Et P prédicat, critère, d’homogénéité
Seuillage avec Coordonnées du pixel Image Propriété locale au pixel
Seuillage Seuillage global Seuillage local Seuillage dynamique
Seuillage global
Seuillage global Utiliser l’histogramme
Seuillage local Le seuil est la valeur moyenne d ’une fenêtre 5x5 centrée en (x,y)
Seuillage par minimisation de variance Répartition des pixels en K classes : problème classique de classification Minimisation de l'inertie intra-classe, soit maximisation de l'inertie inter-classe Idée de base de la méthode de Fisher : Localiser les seuils comme les séparateurs de distributions Utilisation d'un critère de minimisation de la somme des inerties associées aux classes Principe : A chaque classe Cj (j= 1 à K), on associe : une taille avec Dj = ]sj-1,sj[ gamme des Niveaux de Gris de Cj une moyenne pondérée une variance Hi : histogramme normalisé On construit alors la variance intra classe et Seuillage = minimisation de W Propriétés Nécessite : - la connaissance a priori du nombre K de classes à détecter - de tester tous les (K-1)-uples (s1, s2, …,sK-1) possibles Méthode performante dans le cas d'une binarisation (K = 2) Lourde en calculs si K est élevé
Seuillage entropique Dérivée de la théorie de l'information Seuils = maximisation de l'entropie E résultant du découpage de l'histogramme en K classes L'entropie mesure la quantité d'information portée par un groupe Pour un nombre fixé de groupes, recherche de classes portant le maximum d'information Entropie totale et avec Dj = ]sj-1,sj[ , domaine de la classe Cj et pk la probabilité a posteriori du niveau de gris k estimée par : Image résultat paraît de - bonne qualité que celle d'autres méthodes l'entropie n'est pas liée à une caractéristique visuelle
Seuillage par classification bayesienne Principe : Estimation itérative de paramètres servant à classer les pixels par l'algorithme de classification Bayésienne sous l'hypothèse gaussienne Nécessite la connaissance a priori du nombre de classes Cas de 2 classes (formes et fond) Hypothèse : formes et fond suivent une répartition gaussienne Meilleur seuil = celui qui minimise l'erreur de classification Si on positionne un seuil T, l'erreur de classification est définie par : - Er minimum pour où p1(T)=p2(T) - Si 1 = 2 = , on obtient : (voisin de (1 + 2) /2) Histogramme réel 1 2 Niveau de gris 1 2 p1(x) p2(x) Seuil T
Seuillage par classification bayesienne Cas de ncl classes (ncl>2) Hypothèse : chaque classe suit une répartition gaussienne Meilleurs seuils = ceux qui minimisent l'erreur de classification Soient i et j 2 moyennes successives rangées dans l'ordre croissant, on a : L'affectation des pixels : i=1 pour j allant de 2 à ncl si intensité_pixel >tij alors i=j finpour affecter le pixel à la classe Ci Propriétés : Ne tient pas compte du voisinage du point considéré Peu performant pour les images complexes lorsque i = j =
Seuillage par méthodes locales adaptatives Principe : Adaptation locale du seuil de séparation des distributions gaussiennes Elaboré pour 2 classes, puis étendu à 3 classes Principe pour 2 classes : Découpe de l'image en blocs d'intersection vide Calcul de l'histogramme local dans chaque bloc Recherche de la bimodalité de l'histogramme local Si écart-type des niveaux de gris suffisant : l'histogramme local normalisé est lissé puis approximé par la somme de 2 gaussiennnes calcul du seuil de binarisation - il vérifie la relation : Affectation du seuil calculé au centre du bloc Si écart-type insuffisant, affectation d'un seuil égal à la moyenne pondérée des seuils des blocs voisins Affectation de chaque pixel par interpolation bilinéaire des seuils des centres des blocs qui l'entourent Extension de l'algorithme à 3 classes par Nakagawa : Approximation de l'histogramme en 3 gaussiennes Test de la trimodalité par le test bimodal des couples (1,2) et (2,3)
Seuillage par ligne de partage des eaux Recherche de la ligne de crête qui forme la limite entre 2 bassins versants S'obtient par amincissement morphologique effectué avec l'élément structurant L (et ses rotations) itéré jusqu'à stabilisation L = et ses 7 rotations successives de /4 L est constitué de 2 parties disjointes L0 et L1 Définition de l'amincissement : L'amincissement effectué dans les 8 directions abaisse les niveaux de gris des pixels situés sur les flancs sans toucher aux sommets ni aux vallées Résultat : Lignes de crêtes à leur niveau d'origine Régions de niveau de gris uniforme : le niveau le plus bas de la région Extraction de la ligne de partage des eaux par simple seuillage Intérêt : bien adapté pour séparer des objets très proches frontière = quelques niveaux de gris de différence par rapport aux objets 1 1 1 * 1 *
Seuillage par ligne de partage des eaux f*(x)
Segmentation en régions Methodes descendantes (division) Méthodes ascendantes (agrégation de pixels ou fusion de régions) Méthodes mixtes (division- fusion)
Formulation Image = Région R
Prendre en compte des nombres de régions supérieurs à256 Mise en évidence des régions La segmentation en régions ne doit pas être systématiquement associée à une représentation en image (informations sur la structure de l’image). Néanmoins, il est courant de visualiser des images de régions. Il faut pour cela : Affecter une couleur à chacune des régions Attribuer des niveaux très différents à deux régions adjacentes (pour pouvoir visualiser cette différence) Prendre en compte des nombres de régions supérieurs à256 Assigner aux régions des niveaux aléatoires entre 0 et 255
Définition d’un critère d’homogénéité Segmentation par division (split) Principe Définition d’un critère d’homogénéité Test de la validité du critère sur l’image Si le critère est valide, l’image est segmentée [arrêt de la méthode] Sinon, l’image est découpée en zones plus petites et la méthode est réappliquée sur chacune des zones
Segmentation par division (split) Paramètres de la segmentation par division Critère d’homogénéité : forme a priori de l’histogramme, extrema de l’image (valeurs minimum et maximum), valeurs identiques, variance limitée pour des paramètres de différentes nature définition d’erreurs, de seuils ou d’intervalles de validité Matière : niveaux de gris, couleurs, textures, etc. Décomposition de l’image : division en 4, en 6, en polygones, etc.
Segmentation par division (Split) Tant que tous les pixels ne sont pas identiques dans la région, celle-ci est divisée par 4. Le numéro de division apparaît en bas à droite Le numéro de région apparaît en haut à droite Quel est le critère de division ? Est-il unique ? Que penser de la division obtenue ?
Segmentation par division Quadtree
Segmentation par fusion (Merge) Principe On explore l’image à partir de petites régions On fait croître celles-ci si elles satisfont à un critère d’homogénéité ou de regroupement Paramètres Choix du critère d’homogénéité : différence de niveau de gris moyen, valeurs similaires, etc. Critère d’arrêt
Segmentation par fusion (Merge) Méthode locale itérative : coloration de taches [blob coloring] Soit la fenêtre suivante : Chaque couleur représente un index qui caractérise les régions, déterminées selon l’algorithme suivant Inconvénients : – Segmentation uniligne. – Parcours déterminé a priori
Segmentation par fusion (Merge) Algorithme de coloration de tâches Pour chaque pixel I(i,j) Faire Si Critère (i,j) = Critère (i-1,j) Alors Couleur (i,j) Couleur (i-1,j) Sinon Si Critère (i,j) = Critère (i,j-1) Alors Couleur (i,j) Couleur (i,j-1) Sinon Couleur (i,j) NouvelleCouleur Si (Critère (i,j) = Critère (i-1,j)) ET (Critère (i,j) = Critère (i,j-1)) Alors Fusionner les régions en donnant la même couleur aux pixels I(i,j), I(i-1,j) et I(i,j-1) FinPour
Segmentation par fusion (Merge) Méthode locale récursive Principe : on fait croître une région avant de passer à la suivante, sans parcours particulier déterminé a priori (méthode par agrégation libre de pixels) – Germe [seed] : – Croissance suivant un critère de similarité – Critère d’arrêt : convexité maximum, etc. Inconvénients – Méthode récursive .risques de débordements (pile) – Influence de la position initiale du germe
Segmentation par fusion (Merge) Algorithme de la méthode locale récursive Pour chaque pixel I(i,j) Faire Si I(i,j) n’a pas déjà été traité Alors Sauvegarder (i,j), Croissance (i,j), Incrémenter Région FinPour Croissance (i,j) Pour tout Pixel(k,l) adjacent à I(i,j) %Pour tous les 8-pixels Si (Pixel(k,l) pas déjà traité) ET (Critère (Pixel(k,l)) = Critère (I(i,j)) Alors Croissance (k,l)
Agrégation de pixels Choix d ’un pixel source Accumulation des voisins vérifiant la propriété
Split and Merge Constat – La segmentation par division fournit une structure hiérarchisée qui permet d’établir des relations de proximité entre les régions, mais qui peut fractionner une même région en plusieurs ensembles distincts – La segmentation par fusion produit un nombre minimal de régions connexes, mais fournit celles-ci dans une structure horizontale qui n’indique pas de relation de proximité
Split and Merge Proposition – Rassembler, à partir de la division grossière obtenue par division, les différents blocs adjacents de l’image Algorithme de division et rassemblement, aussi appelé algorithme Split and Merge
Mesures d’inhomogénéité Split and Merge Mesures d’inhomogénéité Inhomogénéité régionale: Prédicats d’uniformité: Inhomogénéité interrégionale: Graphe de contiguïté (RAG):
Critère de fin de rassemblement des régions Split and Merge Critère de fin de rassemblement des régions SQE(.) : somme des erreurs quadratiques Valeur du pixel au point n Moyenne des pixels dans la région Ri Nombre de nœuds du graphe Critère d ’arrêt : (valeur fixée a priori)
Split and Merge L’image est tout d’abord divisée en choisissant Tl= 0,2 comme valeur de seuil de tolérance de l’inhomogénéité régionale Les différentes régions sont ensuite rassemblées en choisissant T2= 5 comme valeur de seuil appliqué au critère de fin de fusion (rassemblement)
Split and Merge Quadtree I Split : On divise jusqu’à ce que la propriété soit vraie dans la sous-image Merge : On regroupe les régions Adjacentes dont l’union vérifie la propriété
Split and Merge Propriété recherchée : Même niveau de gris
Quadtree Seuil=0,2
Multi-résolution Un grand nombre de propriétés d’images peut être calculé à l’aide d’opérateurs appliqués localement Ex : statistique de niveau de gris, propriétés texturales, discontinuités locales Propriétés texturales: – Résolution sélection des textures – Micro-textures segments isolés Parade : multi-résolution pyramidale