Segmentation en régions. o Partition o Croissance de région o Partition par quad-tree o Montée des eaux o Nuées dynamiques

Documents pareils
Traitement bas-niveau

Les algorithmes de base du graphisme

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Optimisation, traitement d image et éclipse de Soleil

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Algorithmique avec Algobox

La classification automatique de données quantitatives

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Programmation Linéaire - Cours 1

Chapitre 5 : Flot maximal dans un graphe

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Quantification Scalaire et Prédictive

Programmation linéaire

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Plus courts chemins, programmation dynamique

L apprentissage automatique

Projet de Traitement du Signal Segmentation d images SAR

TP Bases de données réparties

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Programmation linéaire

Architecture des Systèmes d Information Architecture des Systèmes d Information

Arbres binaires de décision

Jean-Philippe Préaux

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Une nouvelle approche de détection de communautés dans les réseaux sociaux

Chapitre 3. Les distributions à deux variables

C f tracée ci- contre est la représentation graphique d une

OM 1 Outils mathématiques : fonction de plusieurs variables

Les Réseaux sans fils : IEEE F. Nolot

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Manuel de validation Fascicule v4.25 : Thermique transitoire des structures volumiques

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Fête de la science Initiation au traitement des images

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Introduction au maillage pour le calcul scientifique

Théorie des Langages

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Initiation à LabView : Les exemples d applications :

Examen d informatique première session 2004

1 Recherche en table par balayage

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

Python - introduction à la programmation et calcul scientifique

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Géométrie Algorithmique Plan du cours

UNE REPRESENTATION GRAPHIQUE DE LA LIAISON STATISTIQUE ENTRE DEUX VARIABLES ORDONNEES. Éric TÉROUANNE 1

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

Introduction au Data-Mining

Pourquoi l apprentissage?

Résolution d équations non linéaires

Rapport de Stage. Titre : Clustering à l aide d une représentation supervisée

Infolettre #18 : Les graphiques avec Excel 2010

Intégration de la dimension sémantique dans les réseaux sociaux

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Analyse de la variance Comparaison de plusieurs moyennes

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

Algorithmique avec Algobox

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Comparatif entre Matrox RT.X2 et Adobe Premiere Pro CS3 (logiciel seul)

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Rupture et plasticité

Sommaire. Introduction Définition Historique Domaine d application.2. 4.Les Travaux réalisés sur les domaines d application.

Prudence, Epargne et Risques de Soins de Santé Christophe Courbage

3 Approximation de solutions d équations

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Apprentissage incrémental par sélection de données dans un flux pour une application de sécurité routière

Synthèse d'images I. Venceslas BIRI IGM Université de Marne La

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Programmation Objet - Cours II

Proposition d un model hiérarchique et coopératif agent pour la segmentation d image

3. Conditionnement P (B)

1 - PRESENTATION GENERALE...

CAPTEURS - CHAINES DE MESURES

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier

Lecture graphique. Table des matières

Relation entre deux variables : estimation de la corrélation linéaire

Photoshop Séquence 4 - Créer une image de taille personnalisée taille

CAISSE ENREGISTREUSE ELECTRONIQUE SE-G1

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

L exclusion mutuelle distribuée

Quelques Algorithmes simples

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Chapitre VI. Connexions et fonctions numériques

Image d un intervalle par une fonction continue

Guide d installation ADSL + TÉLÉPHONE + TV NUMERIQUE

Algorithmes de recherche

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Leçon 18 Coupes et sections

Algorithmique I. Algorithmique I p.1/??

Algorithmes récursifs

Algorithmique et Programmation, IMA

Transcription:

Segmentation en régions o Partition o Croissance de région o Partition par quad-tree o Montée des eaux o Nuées dynamiques

1. Partition d une image Ou segmentation en régions d une image 1 3 2 Image en niveaux de gris 1 3 2 Image texturée

1.1 Définition d une partition Soit I une image Soit P un prédicat d homogénéité S = R 1, R 2,..., R n est une partition de I selon P : I = R i, i [1, n] R i est connexe, i [1, n] P(R i ) est vrai, i [1, n] P(R i R j ) est faux, pour tout couple (R i, R j ) de régions connexes R1 R3 R2

1.2 Obtenir une partition Les axiomes d une partition définissent une segmentation unique? non! Il faut en plus : fonction Q caractérisant la qualité d'une segmentation contrainte d'optimisation de la fonction Q S* est la partition recherchée sur I si : I = R i, i [1, n] R i est connexe, i [1, n] P(R i ) est vrai, i [1, n] P(R i R j ) est faux, pour tout couple (R i, R j ) de régions connexes une partition S de I, Q(S) Q(S*) Complexité trop forte! Algorithmes de segmentation sous-optimaux

2. Croissance de région 2.1 Principe Regrouper de manière itérative des régions connexes dont l union respecte une propriété «d homogénéité» Il faut définir : une partition initiale de l'image un ensemble de critères de regroupement de 2 régions voisines une heuristique pour maîtriser la complexité

2.2 Stratégie de segmentation Exemple : critère de fusion : écart des luminances < ε partition initiale : parcelles 3x3 fusionner deux régions adjacentes si l union respecte le critère arrêt du processus : aucun couple ne vérifie les conditions de fusion Remarques : la partition obtenue dépend de l'ordre de traitement des couples A B C Supposons : max-min(a B) < ε max-min(a C) < ε max-min(a B C) > ε Quelle fusion faut-il faire en premier? un choix à l instant t conditionne le résultat final (comme au jeu d échec ) impossible d'évaluer toutes les partitions pour choisir la meilleure

Stratégie pour une solution sous-optimale guidée par les données : définir une fonction de qualité Q pour une région (ex : -variance(r) ) construire la table des couples (R i, R j ) de régions adjacentes trier la table suivant Q(R i R j ) décroissant fusionner le couple (R k, R l ) en tête de liste nouvelle région R k mettre à jour la table des couples en respectant l ordre induit par Q réitérer tant qu il existe un couple (R i, R j ) fusionnable

Amélioration : Définir plusieurs critères de fusion : 1. max-min d une région < ε 2. variance < ε 3. gradient aux frontières < ε Hiérarchiser les critères dans le processus de segmentation : Croissance de région avec le critère 1 jusqu à stabilité Puis, croissance de région avec le critère 2 jusqu à stabilité Puis, Croissance de région avec le critère 3 jusqu à stabilité

Image initiale Critère max-min Critère variance Critère gradient à la frontière

3. Partition par quad-tree 3.1 Principe Spleet and merge ou éclatement-regroupement Deux phases : Eclater l image de manière récursive en parcelles (rectangles) «homogènes» Regrouper les parcelles voisines en régions «homogènes»

3.2 Eclatement définir une taille minimum de parcelle définir un critère d homogénéité ( ex : max-min < ε ) découpage récursif en parcelles (rectangles) Action eclater(parcelle) si surface(parcelle) < seuil alors mémoriser(parcelle) sinon si homogène(parcelle) alors mémoriser(parcelle) sinon découper en 4 sous-parcelles eclater chaque sous-parcelle fin si fin action

Soient (x1, y1) et (x2, y2) les coins inf-gauche et sup-droit d une parcelle action eclater(x1, y1, x2, y2) si (x2-x1)*(y2-y1)< surface minimum alors creerparcelle(x1,y1,x2,y2) ; sinon si ecartminmax(x1, y1, x2, y2)< seuil alors creerparcelle(x1,y1,x2,y2) ; sinon x3 = (x1+x2)/2 ; y3 = (y1+y2)/2 ; eclater(x1,y1,x3,y3) ; eclater(x3,y1,x2,y3) ; eclater(x1,y3,x3,y2) ; eclater(x3,y3,x2,y2) ; fin action

Représentation d une parcelle : table des parcelles : un numéro de parcelle un numéro de région (initialisé par le numéro de parcelle) liens entre l image et une parcelle : coordonnées de 2 coins opposés d une parcelle chaque pixel est étiqueté avec le numéro de la parcelle le contenant 1 2 3 4 5 6 7 Rég. position infos suiv 1 2 3 4 5 Table des parcelles 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 5 5 5 5 5 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6 6 7 7 6 6 7 7 8 8 9 9 8 8 9 9 Carte des parcelles

3.2 Regroupement Région : Liste de parcelles connexes et homogènes construire la table des couples de parcelles voisines pour gérer les fusions pour toutes les parcelles i parcourir la périphérie de la parcelle i si la parcelle voisine j est nouvelle alors fin si fin pour si i<j alors fin si empiler (i,j) 1 1 3 3 2 5 6 6 6 7 5 6 6 6 7 5 8 8 8 9 Carte des parcelles 7 9 6 7 6 8 6 9 5 6 Table des voisins

action fusion création des régions initiales (n région = n parcelle) création de la table des régions voisines pour tous les couples (i, j) de régions voisines : si homogénéité(i j) < ε alors concaténer les deux listes de parcelles choisir i comme représentant anciennes parcelles de j <- numéro de i mettre à jour la table des voisins de j fin si fin pour

Stratégie pour guider la fusion : Privilégier la fusion des régions donnant la meilleur homogénéité. créer une liste des régions voisines ordonner cette liste suivant l homogénéité décroissante des couples tant que homogène(premier couple) dépiler le premier couple (r1, r2) de régions fusionner les deux régions (par exemple : r1 «absorbe» r2) mettre à jour la liste des régions voisines : mise à jour des voisins de la région absorbée ( (r2, r3) devient (r1, r3) ) repositionner les couples modifiés (car l homogénéité s est dégradée)

4. Processus de «montée des eaux» 4.1 Remarque Les frontières entre régions peu contrastées sont difficiles à détecter sont «floues» (position peu précise) Transition rapide Transition lente Fenêtre d analyse

4.2 La «ligne de partage des eaux» Méthode efficace pour délimiter des régions peu contrastées. Principe : image en niveau de gris : un relief sélection des minima locaux dans l image : «cuvettes» montée progressive de l eau à partir des cuvettes Au contact de deux régions, élévation de «digues» pour éviter que «les eaux ne se mélangent». Les digues : ligne de partage des eaux!

a) Sélection des minima locaux Difficulté principale : limitation du nombre de minima locaux. Une méthode de sélection : lisser fortement l image rechercher des minima locaux (< aux 8 voisins) éliminer des minima locaux dont la profondeur relative est < ε Pour ce dernier point, trier les minima dans l ordre croissant des altitudes, pour chaque minimum dans cet ordre : croissance de région jusqu à atteindre (min + ε) neutraliser les éventuels minima voisins qui ont été submergés (< min + ε) abandonner ce minimum si rencontre d un point plus bas

Minima non significatifs : A engloutit B A B ε B se déverse avant d atteindre ε ε ε B A

b) Montée des eaux On construira ainsi une carte des cuvettes initiales (étiquettes spécifiques) qui servira de point de départ pour le processus de montée des eaux. Deux approches similaires : processus progressif de dilatation contrôlée de régions (sous condition) altitude < ligne de niveau fixée jusqu à «contact» avec une autre région amincissement homotopique conditionnel du complémentaire des cuvettes initiales sous condition (altitude < ligne de niveau) le squelette constitue la ligne de partage des eaux.

La croissance des cuvettes est contrôlée par des lignes de niveaux

dh : Gain d altitude entre deux lignes de niveau carte1 et carte2 initialisées à 0 marquer les cuvettes dans carte2 H <- minimum de l image tant que H < maximum de l image H <- H+dH ; répéter carte1 <- carte2 ; croissancelimitée(carte1, H, carte2) ; jusqu à stabilité (carte1 = carte2) fin tant que

Processus de «dilatation» soumis à - une limitation d altitude - détection de contact entre 2 régions (les digues ) action croissancelimitée(carte1, H, carte2) pour tous les pixels P si carte1(p) 0 carte2(p)= carte1(p) sinon si hauteur(p)<h si P est voisin d une région i dans carte1 carte2(p) <- i; sinon carte2(p) <- 0; fin si fin si fin si fin pour fin action

5. Nuées dynamiques 5.1 Préliminaires Axiomes définissant une distance : Soit d : ExE -> R + d(x, x) = 0 d(x, y) = d(y,x) d(x, y) d(x, z) + d(z, y) C A B Axiomes définissant une ultra-métrique : Soit d : ExE -> R + d(x, x) = 0 d(x, y) = d(y,x) d(x, y) max(d(x, z), d(z, y)) B C A 500 kg 500 kg A B A C

5.2 Partition adaptative (k-means) Soit d une métrique ou une ultra-métrique sur un ensemble fini E, soit P = {C 1, C 2,..., C k } une partition de E en k classes soient k éléments de E choisis respectivement dans chaque classe : a 1,a 2,..., a k. a i est dit "descripteur" de C i Algorithme α initialisation : choisir (aléatoirement par ex) k a i dans E groupement : associer chaque élément de E au centroïde le plus proche x E, x C i si j i, d(a i, x) < d(a j, x) adaptation : évaluation d'un nouveau centroïde a i optimum pour chaque C i (barycentre de C i par ex) retourner au groupement si un a i a changé.

Partition en 3 classes

Algorithme β soit e un nouvel élément de E affecter e à une classe C j : e C j si i j, d(a j, e) < d(a i, e) adaptation : évaluation d'un a i optimum pour chaque C i groupement : réévaluer les classes C i arrêter lorsque tous les éléments de E sont affectés à une classe. Remarques sur l'algorithme β : évolution des descripteurs après chaque affectation d'un élément à E adapté à une arrivée séquentielle de nouvelles données en grande quantité

Inconvénients : obligation de fixer à priori le nombre de classes dépendance au choix des centres initiaux une distance ne détecte bien que les formes convexes (surtout sphériques de même taille). Pour contourner ce dernier point utiliser une ultra-métrique changer d espace de représentation Nuées dynamiques : Généralisation de l'algorithme α les descripteurs a i sont des n-uplets (plusieurs centroïdes pour une classe), on utilise un indice de dissemblance D(x, a i ) pour effectuer le regroupement on utilise un indice de ressemblance R(a i, C i ) pour l'adaptation

Image segmentée en trois classes par k-means

Image segmentée en six classes par k-means