Modèles Mathématiques et représentation discrètes pour la description des images couleur Luc Brun
De quoi allons nous parler ? Définitions (Image, partition …) La segmentation Les structures de données Un modèle combinant des informations géométriques et topologiques
De quoi ne parlerons nous pas ? Structures de données hiérarchiques Algorithmes de segmentation
Définitions: Image
Image Définitions Grille discrète 2D Pixel Voisinage
Région Définitions Région : –Ensemble 4 ou 8 connexe de pixels * P Q
Partition Définitions Partition : Composante connexe : Ensemble de régions adjacentes inclues dans une autre région.
Définitions / Segmentation Questions ? Image Région Partition Composante connexe
La segmentation {S 1,…, S n } segmentation de X ssi :
La segmentation {S 1,…, S 5 } segmentation de X ssi : –P : couleur identique S1S1 S3S3 S5S5 S4S4 S2S2
Les méthodes de segmentation Détection de contours (P. Lambert ) Régions –agrégation et fusion (L. Macaire) –Découpes –Découpes et fusions
Détection de contours Caractériser la frontière entre les régions
Détection de contours Seuil Fermeture de contours
Les méthodes d ’agrégation et fusion Effectuer une sur-segmentation Fusionner toutes les régions dont l’union reste homogène.
Les méthodes d ’agrégation et fusion Agrégation : Régions initiales d ’un pixel Fusion : Région initiales quelconques Sensible à la stratégie de fusion Union-find (agrégation)
Les méthodes de découpe Effectuer une sous-segmentation Découper toutes les régions non-homogènes.
Les méthodes de découpe Création de couple de région dont l ’union reste homogène.
Les méthodes de découpe et fusion Segmentation initiale quelconque –Découper toutes les régions non homogènes –Fusionner toute les régions adjacentes dont l’union reste homogène.
Exemple de découpe-fusion Alternance de découpes et fusions
Segmentation/Structures de données Questions ? Détection de contours Agrégation Fusion Découpe Découpe-Fusion
Stocker la partition Accès à deux types d’informations : –Informations Géométriques –Informations Topologiques
Informations géométriques Ensemble des pixels d’une région. Région englobant un pixel Frontière d’une région
Informations Topologiques Ensemble des voisins d’une région Frontière entre deux régions Composantes connexes incluses Région englobante
Structures Géométriques
Tableau de labels Numéroter les pixels : L
Tableaux de labels
Tableau de labels Avantages –Extrêmement simple –Accès à la majorité des informations géométriques Inconvénients –Pas d’information de frontière –Pas compacte
Quadtree Décomposition récursive de l’image
Quadtree Avantages –Accès efficace aux informations géométriques –Possibilité de Multi-résolution Inconvénients –Restreint les découpes et les fusions
Codage par plages (Run Length encoding) Ne coder que les extrémités des segments
Codage par plages Avantages –Compression d ’informations –Parcourt aisé de l’ensemble des pixels Inconvénients –Pas d’information de frontière
Transformation par axe médian (MAT) BB-MAT (ou DB-MAT) plus grand carré (ou disque) inclus dans la région.
Transformation par axe médian (MAT) BB-MAT (ou DB-MAT) plus grand carré (ou disque) inclus dans la région.
Transformation par axe médian Avantages –Représentation compacte –Axe médian : Informations sur la forme de la région Reconnaissance de formes Inconvénients –Pas adapté aux découpes et fusions
Représentation par frontière Ne coder que les points frontières
Représentation par frontière Avantages –Informations de frontières Inconvénients –Ambiguïté sur la localisation de la frontière –Pas d’informations topologiques
Structures Topologiques
Graphe d ’adjacence de régions (RAG) Graphe : G=(V,E) –Un nœud par région –Une arête par relation d ’adjacence entre régions
Graphe d’adjacence de régions Avantages –Codage compact de nombreuses propriétés topologiques Inconvénients –Difficultés de mises à jour lors des découpes –Ne code pas la frontière d’une région
Graphes duaux Deux graphes codant les adjacences de régions et les relations entre segments.
Graphes duaux Deux graphes codant les adjacences de régions et les relations entre segments.
Graphes duaux Avantages –Codage des adjacences de régions –Codage de la frontières des régions Inconvénients –Codage et maintenance de deux structures –Pas d’informations géométriques
Les structures de données Structures de données de base –enrichies –combinées Dédiées à la Géométrie ou la Topologie
Les structures de données Accès rapide à peu d’informations –Agrégation : Tableaux de labels –Fusions : Graphe d’adjacence de régions –Découpe-Fusions : Quadtrees
Structures de données / Modèle Questions ? Tableau de labels Quadtrees Codage par plages Axe médian Graphe d ’adjacence Graphes duaux
Le modèle Combiner des informations : –Géométrique Forme des régions Frontières –Topologiques Voisinage Inclusions
Niveau Géométrique Chemins inter-pixels : –Placer les frontières en dehors de l’image Points de coordonnées demis-entières
Niveau Géométrique Chemins inter-pixels :
Niveau géométrique Les segments et les nœuds –segment : Chemin maximum entre deux régions –nœud : intersection de plusieurs segments g d h b
Niveau géométrique Les segments et les nœuds –segment : Chemin maximum entre deux régions –nœud : intersection de plusieurs segments S1S1 S3S3 S2S2 S4S4 S5S5 S6S6
Chemins inter-pixels Avantages –Informations de frontières –Codage compact –Pas d’ambiguïté sur le placement des frontières Inconvénients –Pas d’informations topologiques
Cartes Combinatoires / graphes duaux S1S1 S3S3 S2S2 S4S4 S5S5 S6S6
Cartes Combinatoires Une seule structure pour coder les deux graphes. S1S1 S3S3 S2S2 S4S4 S5S5 S6S
Cartes Combinatoires Définitions de base Ensemble D Permutation : application bijective de D dans D –Orbite de b D suivant : * (b) = {b, (b), 2 (b), 3 (b), 4 (b), 5 (b),…} –Décomposition en cycles = * (b 1 ) * (b 2 ) * (b 3 ) * (b 4 )...
Cartes Combinatoires Exemple de permutation Permutation : Orbites : * (1) = {1,3,6} * (2)={2,10,9,8,5} * (4)={4}, *(7)={7} Cycles :
Cartes Combinatoires Définition G=(V,E) G=(D, , ) –Décomposer chaque arête en deux demi- arêtes(brin) : : Codage des arêtes. D ={-6,…,-1,1,…,6}
Cartes Combinatoires Définition G=(D, , ) – : Codage des sommets * (1)=(1, * (1)=(1,3 * (1)=(1,3,2)
Cartes Combinatoires Définition Récapitulatif : G=(D, , ) –Elément de base : demi-arête (brin) –Chaque brin appartient à un sommet –Arêtes définies par les orbites de –Sommets définis par les orbites de
Cartes Combinatoires Propriétés Passage au dual : –G=(D, , ) G=(D, = , ) * (-1)=(-1, * (-1)=(-1,3 * (-1)=(-1,3,4 * (-1)=(-1,3,4,6)
Cartes Combinatoires Propriétés Chaque brin appartient à un seul sommet (cycle de ) Chaque brin appartient à une seule face (cycle de )
Cartes Combinatoires Propriétés Dual : G=(D, = , ) –Tous les brins d’une orbite « voient » leurs face associées à main droite
Cartes Combinatoires Propriétés Dual : G=(D, = , ) –Toutes les faces sauf une, sont parcourues dans le sens négatif (horaire). –La face orientée dans le sens positif est appelée la face infinie : f Extérieur Composante connexe f =(1,-2)
Cartes Combinatoires Propriétés Exemple de face infinie : f1f1 f2f2 f3f3 f4f4
Cartes Combinatoires G=(D, , ) –Codage des arêtes : –Codage des sommets : –Codage des faces : = Codage implicite Fonctions d ’étiquetage
Cartes Combinatoires Fonctions d’étiquetage Etiquette de face : Une face une orbite de constante sur chaque orbite { {{ { (1) (-1) (-6) (5)
Cartes Combinatoires Fonctions d’étiquetage Les fonctions d’étiquetage:
Implémentation Niveau Topologique Stockage par des tableaux d ’entiers
Le modèle Liaison géométrie-topologie –Nœuds et sommets –Segments et arêtes –Régions et faces
Gestion des relations d’inclusions
Gestion des relations d’inclusions
Gestion des relations d’inclusions Ensemble des composantes connexes incluses : la fonction fille f f1f1 f2f2 f3f3 f4f4 fille(f) = { f 1 , f 2 , f 3 , f 4 }
Gestion des relations d’inclusions Région englobant une composante connexe : la fonction mère ff f mère(f )= f
Gestion des relations d ’inclusions –mère : face finie incluant une composante connexe –fille : ensemble des composantes connexes incluses
Modèle : Définition / Utilisation Questions ? Chemins inter-pixels Nœuds, segments Brins Permutations , , Fonctions, -1 Fonctions mère, fille
Informations Géométriques Frontière : f fS -6, S -5, S -3, S 2 S -6 S2S2 S -3 S -5
Informations Géométriques Ensemble des pixels d’une région –Parcourir la frontière –Positionner des drapeaux Codage par plage
Informations Géométriques Intersection de deux régions : f1f1 f2f2 f1f1 f2f2 S 6 et S 3 6 et 3
Informations Géométriques Région englobant un pixel ) Lancer une sonde 2) Suivre le segment ) Nœud-Sommet 4) Segment-brin 5) brin-face (-1)
Informations Topologiques Voisinage extérieur –Deux faces sont adjacentes ssi elles ont une arête en commun : f1f1 f2f2 f3f3 ff
Informations Topologiques Voisinage extérieur f1f1 f2f f3f3 ff (1) (-3) (-4) (-6) ff f2f2 f3f3 V ext (f 1 )=
Informations Topologiques Voisinage extérieur f
Informations Topologiques Voisinage général f
Informations Topologiques Remarque : Les voisinages extérieurs et généralisés peuvent être utilisés pour définir des bases de voisinages fondamentaux Topologies
Modifications de la partition Découpe ) Tracer le segment ) Insérer les sommets 3) Insérer l ’arête
Modifications de la partition Fusion
Modifications de la partition Fusion ) Supprimer le segment 3 -3
Modifications de la partition Fusion ) Supprimer le segment 2) Supprimer l ’arête
Modifications de la partition Fusion 1) Supprimer le segment 2) Supprimer l ’arête 3) Supprimer le sommet
Modifications de la partition Simplifications : –Gestion des faces infinies –Gestions des relations d’inclusions –Gestion des labels
Utilisation du Modèle / Segmentation Questions ? Frontière d ’une région Ensemble des pixels Intersection de deux régions Région englobante Voisinages extérieur / général Modifications de la partition
Algorithme de segmentation en Régions Agrégation Fusion Découpe Découpe-Fusion
Interactions : Modèle / Segmentation en régions –Sélection d’une région Association point / région Fonctions de Labels Voisinages –Découpe Fonctions de parcourt Mise à jour du modèle –Fusions: Voisinages Calculs ou mise à jour d ’attributs Mise à jour du modèle
Choix de la structure de données Difficulté sur –Le prédicat P Déterminer les opérations les plus courantes Choisir une structure de données « classique » – Algorithmique Structure de données complexe
Difficultés de la segmentation Prédicat P non universel
Deux approches « classiques » de la segmentation Segmentation non supervisée. –Sémantique incorporée à l’algorithme Segmentation supervisée (classification) –Sémantique induite par l’apprentissage Segmentation
Propriétés des approches supervisés et non supervisées Pré-compilation du prédicat P –Rapides –Bons résultats –Classe d ’image réduite
Segmentation Interactive L ’utilisateur désigne : –La région à travailler (association point-région) –L ’algorithme de Découpe Fusion Découpe-fusion
Exemple de session Image originale Découpe Fusion SélectionDécoupeFusionSélection Découpe-Fusion Edition Suppression/Sélection Découpe Edition Découpe Edition Découpe-Fusion Edition