Cours de Segmentation PLAN Introduction

Slides:



Advertisements
Présentations similaires
Chap. 4 Recherche en Table
Advertisements

Non linéarités liées à la thermique
Regroupement (clustering)
Fonctions & procédures
RENDU DE TERRAIN Problématique : Rendre une très large zone de terrains en la simplifiant au maximum pour réduire le nombre de polygones à afficher. A.Bailly.
Efficient Simplification of Point-Sampled Surfaces
Introduction aux classes empiétantes François Brucker Brest (Breizh)
Calcul géométrique avec des données incertaines
1/30 Rendu par tracé de chemins ESSI2 George Drettakis http: //www-sop.imag.fr/reves/George.Drettakis/cours/ESSI2/index.html.
Regroupement (clustering)
RECONNAISSANCE DE FORMES
Reconnaissance de la parole
Les Prepositions.
Simplification et abstraction de dessins au trait
Génération interactive dimages projectives : Application à la Radiothérapie Pierre BLUNIER Du 01/12/2002 au 28/03/2003 Centre Léon Bérard.
A Pyramid Approach to Subpixel Registration Based on Intensity
Auteurs : P. Hellier C. Barillot E. Mémin P.Pérez
Xialong Dai, Siamak Khorram
1 Intégration numérique garantie de systèmes décrits par des équations différentielles non-linéaires Application à l'estimation garantie d'état et de paramètres.
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
Ordonnancement des mouvements de deux robots
07/24/09 1.
Identification des personnes par l’iris
Traitements d'images et Vision par ordinateur
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Structures Pyramidales Luc Brun L.E.R.I., Reims and Walter Kropatsch Vienna Univ. of Technology, Austria.
L’expérience de Young Sur une plage de Tel Aviv, (Israël), on peut très bien voir le phénomène de diffraction.
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Eric Guilbert, Marc Daniel *, Eric Saux
Application des algorithmes génétiques
Auto-organisation dans les réseaux ad hoc
Les structures de données arborescentes
II. Chaînage, SDD séquentielles
Classification Multi Source En Intégrant La Texture
FRE 2645 CIDED04 : 22 Juin 2004 Système de reconnaissance structurelle de symboles, basé sur une multi représentation en graphes de régions, et exploitant.
Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de lIntelligence.
Cours Corporate finance Eléments de théorie du portefeuille Le Medaf
Traitements à base d’histogrammes Cours 6
LES ARBRES IUP 2 Génie Informatique
Méthode des Ensembles de Niveaux par Eléments Finis P1
1 Du pixel à lobjet : méthodes stochastiques X. Descombes Projet Ariana Orféo, 14 juin 2005.
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Courbes de Bézier.
Génération d’un segment de droite
Notre calendrier français MARS 2014
I. Définitions & classification II. Approche fonctionnelle
LES REHAUSSEMENTS D'IMAGES
Interprétation automatique
Technique de points de contrôle: Formes de Bézier
Cours #9 Segmentation Découverte 4- Segmentation Introduction
Atelier de formation : MAT optimisation II (les graphes).
Échantillonnage (STT-2000) Section 2 Tirage de Bernoulli (plan BE). Version: 4 septembre 2003.
L’adaptativité pour un solveur de l’équation de Vlasov
ASI 3 Méthodes numériques pour l’ingénieur
CALENDRIER-PLAYBOY 2020.
Projet Télédétection Vidéo Surveillance Deovan Thipphavanh – Mokrani Abdeslam – Naoui Saïd Master 2 Pro SIS / 2006.
LES PILES ET FILES.
Deux sujets traités La segmentation d’images
Caractérisation texturale des surfaces boisées dans une image Ikonos de la région de Montréal Pierre Bugnet Langis.
Segmentation par analyse d’une image de gradient (ligne de partage des eaux) par fusion de régions dans un graphe par méthode variationnelle (Mumford.
Monitoring Détection de séquences vidéo en temps réel dans une grande base de données Julien Law-to 23/07/2004.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Arbres binaires et tables de hachage
SEGMENTATION EN REGIONS
Modèles Mathématiques et représentation discrètes pour la description des images couleur Luc Brun.
Apparence globale 1 image = 1 vecteur Base apprentissage Rotation –capture les variabilités Troncature –Quelques coefficients Représentation linéaire Espace.
Suivi rapide d’objet en mouvement
Partie II : Segmentation
PIF-6003 Sujets spéciaux en informatique I
Exemple et critique d’un système de vision simple Patrick Hébert (dernière révision septembre 2008) Référence complémentaire: Shapiro et Stockman: chap.
Transcription de la présentation:

Cours de Segmentation PLAN Introduction Segmentation par histogrammes (RHS) Region growing Split & Merge Algorithme CSC Contours Actifs (Snakes) Conclusion

Segmenter une image? Introduction Partitionner l’image en zone homogènes selon un critère déterminé: couleur, texture, niveau de gris, indice,…

Un problème difficile. Introduction Pourquoi les algorithmes présentés dans ce cours ne marchent-ils pas? Pas de données contextuelles Traitement global de l’image: pas de traitement actif, localisé dans l’image (voir cours Vision Active) Pas d’exploitation explicite de la continuité spatio-temporelle (tracking)

Plusieurs approches: Approches GLOBALES: histogrammes Introduction Plusieurs approches: En l’absence de contexte particuliers, les meilleurs résultats sont obtenus avec les méthodes hybrides. Approches GLOBALES: histogrammes Approches LOCALES: region growing, contours Approches HYBRIDES: split & merge, CSC

Histogrammes Idée: Si les objets présents dans l’image ont des couleurs bien distinctes et uniformes, ils vont apparaître comme des pics dans l’histogramme. Zone « vert » nbr de pixels teinte => Segmentation dans un espace dérivé de l’image

… Recursive Histogram Splitting (RHS) Ohlander (1975); Ohta, Kanade,Sakai (1980) Chaque pixel est décrit selon certains channels: R,G,B,H,S,V,… => L’algorithme travaille sur plusieurs histogrammes, un par channel MAX HR HG HB … voisinage Réinjection des régions de taille suffisante Retroprojection de la fenêtre de l’histogramme Image initiale Suppression de la région extraite

Recursive Histogram Splitting (RHS) AVANTAGES Méthode très rapide Peu sensible au bruit INCONVENIENTS Méthode globale: ignore les informations de proximité qui permettent d’utiliser des seuils variables locaux. Que se passe-t-il si deux objets ont la même couleur? => Nécessite en général un Region Growing pour détacher les composantes connexes.

Croissance de région (Region Growing) Idée: On part d’un point amorce (seed) et l’on l’étend en ajoutant les points de la frontières qui satisfont le critère d’homogénéité amorce croissance région finale Le point amorce peut être choisi soit par un humain, soit de manière automatique en évitant les zones de fort contraste (gradient important) => méthode par amorce. Si le critère d’homogénéité est local (comparaison de la valeur du pixel candidat et du pixel de la frontière) => méthode linéaire.

1  1 2  2 3  3 … 3  1 Croissance de région (Region Growing) Méthode linéaire (complexité 2n) Seuil S: P1 == P2 ssi Diff(Col(P1),Col(P2)) < S 1 1 2 2 3 x 1 1 1 1 1 x==y: val = x x<>y: mettre à jour l’index Extremité(x)  y y val=? x 1  1 2  2 3  3 … val = y y val=? 3  1 x val = Z (nouvel index) while (swap[x]!=x) x = swap[x]; y val=?

Croissance de région (Region Growing) Méthode par amorce (complexité O(n)) On définit une zone R qui contient la région à extraire. Initialement, R contient l’amorce. On utilise une file FIFO (First In, First Out) S qui contient les points frontière Initialement, S contient le voisinage de l’amorce. On retire p dans S si p est homogène avec R, on ajoute p à R et on ajoute à S les points du voisinage de p qui ne sont pas dans R et qui ne sont pas incompatibles. sinon, on marque p comme incompatible. On recommence tant que S n’est pas vide. Test local (pixels voisins) ou statistique global (calcul sur la couleur moyenne de R)

Croissance de région (Region Growing) AVANTAGES Méthode rapide Conceptuellement très simple INCONVENIENTS Méthode locale: aucune vision globale du problème. En pratique, il y a presque toujours un chemin continu de points connexes de couleur proche qui relie deux points d’une image… Problème du gradient: Tenir compte de l’homogénéité globale donne un algorithme sensible à l’ordre de parcours des points (méthode par amorce) Algorithme très sensible au bruit, peu stable.

Split & Merge Horowitz, Pavlidis (1976), Dubuisson, Jain (1993) Idée: Plutôt que de regrouper des pixels dans le region growing, pourquoi ne pas regrouper des zones homogènes pré-calculées sur l’image? Phase 1 : Créer les zones homogènes = SPLIT Phase 2 : Les regrouper = MERGE SPLIT: L’image est stockée dans un arbre. Initialement, arbre racine = image complète Récursivement, chaque feuille F est subdivisée en quatre si elle n’est pas assez homogène, et les quatre sous images sont ajoutée en tant que feuilles de F. L’algorithme poursuit tant qu’il reste des feuilles non homogènes à diviser.

Split & Merge Example Homogénéité = critère sur la variance Image initiale Split 1 Split 2 Split 3

Split & Merge Quadtree Construction du RAG RAG Region Adjacancy Graph Connecte les régions adjacentes Arrêtes = mesures de différence d’homogénéité RAG

Split & Merge MERGE: Chaque nœud du Region Adjacency Graph est examiné. Si un des voisins de ce nœud est à une distance inférieure à un seuil de regroupement, les deux nœuds fusionnent dans le RAG. Lorsque plus aucun nœud ne peut fusionner avec l’un de ses voisins, STOP. La distance en terme d’homogénéité de régions est portée par l’arrête valuée qui les relie dans le RAG

Split & Merge AVANTAGES Original AVANTAGES Méthode hybride locale/globale: permet de contrer le problème du gradient. Split & Merge INCONVENIENTS Méthode assez complexe Découpage un peu « carré », dû à la topologie des quadtrees

Algorithme CSC (Color Structure Code) Rehrmann (1994) Idée: Regrouper des structures de pixels qui se chevauchent et découper ensuite les zones communes par une descente récursive. L’algorithme CSC est un algorithme Merge & Split basé sur une topologie hiérarchique hexagonale avec recouvrements. pixel shift Ilot niveau 1

Algorithme CSC (Color Structure Code) Ilot de niveau 1 Ilot de niveau 0 Pixel Structure sous-jacente: arbre Ilot de niveau 2

élement (niveau 0) pixel îlot (niveau 0) Algorithme CSC (Color Structure Code) PHASE 1 : INITIALISATION Localement pour chaque îlot de niveau 0, on construit une partition en éléments (de niveau 0). élement = région de couleur homogène élement (niveau 0) pixel îlot (niveau 0)

Algorithme CSC (Color Structure Code) PHASE 2 : REGROUPEMENT On considère les éléments de niveau n contenus dans les îlots de niveau n On se place dans un ilôt de niveau n+1 (ici n=0, pour l’exemple) Les éléments de niveau n sont regroupés en éléments de niveau n+1 si: Ils sont de couleur proche Ils se touchent Élément niveau 1 (n+1) Élément niveau 0 (n) Propriété: deux éléments de niveau n se touchent ssi ils possèdent au moins un élément de niveau n-1 en commun. Îlot de niveau 1 (n+1)

Algorithme CSC (Color Structure Code) PHASE 2 : REGROUPEMENT Les éléments sont structurés sous forme d’arbre, tout comme les îlots Elements de niveau n+1: Elements de niveau n:

? Algorithme CSC (Color Structure Code) PHASE 2bis : DECOUPAGE Le problème du chaînage d’éléments localement identiques n’est pas résolu à ce stade (Problème du gradient) L’algorithme CSC permet de gérer ce problème dans la phase de découpage, qui a lieu en parallèle de la phase de regroupement. Découpage: Que se passe-t-il dans la phase de regroupement lorsque deux éléments de niveau n sont connectés mais de couleurs incompatibles? ?

Algorithme CSC (Color Structure Code) DECOUPAGE îlot niveau n+1 îlot niveau n élément E2 (n+1) élément E1 (n+1) => découpage récursif élément S1 (n) élément S (n) S attribué à E1 ou E2? Attribution à celui dont la couleur est la plus proche (ici E2) élément S2 (n) S n’est pas encore complètement séparé de E1 car il reste une intersection avec S1 et S2 S appartient à la fois à E1 et E2 (sont existence est garantie par les propriétés du réseau de recouvrement hexagonal)

Algorithme CSC (Color Structure Code) Original AVANTAGES Méthode hybride locale/globale: permet de contrer le problème du gradient. Excellente découpe des frontières de zone Multi-échelle Intrinsèquement parallèle Split & Merge Algorithme CSC INCONVENIENTS Méthode très complexe

Contours Actifs (snakes) Kass, Witkin, Terzopoulos (1987) Idée: Utiliser des courbes déformables qui sont « attirées » par les formes recherchées dans l’image. Analogie avec la physique: fonction d’énergie à minimiser. Un exemple classique Le « snake » se contracte et s’adapte à la forme de l’horloge

Qu’est ce qu’un snake? Contours Actifs (snakes) P9 P8 P10 P7 P11 P6 P3 P1 P5 P2 P4 Propriétés intrinsèques Longueur, courbure… Propriétés locales de l’image autour du snake

Contours Actifs (snakes) Comportement dynamique du snake? Minimiser l’énergie totale (interne + externe) Calculer les forces à appliquer à chaque point de contrôle de telle sorte que l’énergie soit minimisée

Contours Actifs (snakes) Exemple d’énergie INTERNE: Energie élastique Force élastique sur le point de contrôle i Comportement: tend à rétrécir le snake, tout en maintenant une répartition homogène des espaces entre les points de contrôle. Forme limite: le point.

Contours Actifs (snakes) Exemple d’énergie INTERNE: Energie de courbure Tend à redresser le snake et à limiter la courbure. Forme limite: le cercle Exemple d’énergie EXTERNE (Image): Zones brillantes ou sombres: Contours en tant que maxima de la norme du gradient: Répulsion d’une zone:

Illustrations Contours Actifs (snakes) Energie élastique Energie de courbure Zones brillantes

Conclusion Existe-t-il une meilleure technique de segmentation? Non, tout dépend du contexte, de l’application Dans sa catégorie (segmentation région selon couleur à base de merge/split), CSC est souvent le meilleur Existe-t-il une « super technique », peut être encore inconnue, qui obtienne de très bon résultats en segmentation? Non, en l’absence de contexte, la quantité d’information disponible est limitée. Les algorithmes du type CSC ne sont probablement pas loin de l’optimum. Mais le cerveau obtient de bien meilleurs résultats? Quelle est le secret? Problème difficile Pistes crédibles: - utilisation du contexte, vision liée aux objectifs, apprentissage, énorme bibliothèque d’algorithme spécifiques (reco visages par exemple) VISION ACTIVE