Segmentation.

Slides:



Advertisements
Présentations similaires
Traitement d’images : concepts fondamentaux
Advertisements

Traitement d’images : concepts fondamentaux
Traitement d’images : concepts fondamentaux
Traitement d’images : concepts avancés
Gestion de portefeuille
Efficient Simplification of Point-Sampled Surfaces
RECONNAISSANCE DE FORMES
Equipe optimisation TempoSoft
3. Analyse et estimation du mouvement dans la vidéo
4. Descripteurs du contenu


Xialong Dai, Siamak Khorram
Introduction à limagerie numérique Acquisition, Caractéristiques, Espaces couleurs, Résolution.
Traitements d'images et Vision par ordinateur
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Application des algorithmes génétiques
Prétraitement de l’image
Algorithmes Branch & Bound
Classification Multi Source En Intégrant La Texture
Analyse d’images Détection de contour Cours 8
Le filtrage d’images.
Méthode des k plus proches voisins
MODULE - METHODES POTENTIELLES
Construction de modèles visuels
La segmentation
Courbes de Bézier.
Visualisation de surfaces décrites analytiquement
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
Génération d’un segment de droite
Recherche Opérationnelle
I. Définitions & classification II. Approche fonctionnelle
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Le filtrage d’images.
Interprétation automatique
Technique de points de contrôle: Formes de Bézier
Cours #9 Segmentation Découverte 4- Segmentation Introduction
Filtrage de Kalman et aperçu probabiliste
MAP-6014 Concepts avancés en mathématiques et informatique appliquées
Programmation linéaire en nombres entiers : les méthodes de troncature
L’adaptativité pour un solveur de l’équation de Vlasov
Structures de données IFT-2000 Abder Alikacem La récursivité Département d’informatique et de génie logiciel Édition Septembre 2009.
Segmentation (1ère partie)
Projet Télédétection Vidéo Surveillance Deovan Thipphavanh – Mokrani Abdeslam – Naoui Saïd Master 2 Pro SIS / 2006.
Deux sujets traités La segmentation d’images
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.
Morphologie mathématique ensembliste
La Planification de Réseaux Locaux sans Fils
Module 4: Le filtrage d’images. Objectifs du filtrage.
Rappels de statistiques descriptives
Mise-à-jour de données de haute incertitude spatiale Présentation dans le cadre du groupe de discussion sur la fusion de données géospatiales – 22 nov.
Graph cuts et applications
Programmation linéaire en nombres entiers
Classification : objectifs
Micro-intro aux stats.
STATISTIQUES – PROBABILITÉS
SEGMENTATION EN REGIONS
Traitement d’images Prétraitements.
Modèles Mathématiques et représentation discrètes pour la description des images couleur Luc Brun.
INF-1019 Programmation en temps réel
Suivi d’Horizons Sismiques
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
Partie II : Segmentation
PIF-6003 Sujets spéciaux en informatique I
PROGRAMMATION SCIENTIFIQUE EN C
Classification-Segmentation
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.
Filtrage des images.
Processus ponctuels Caractéristiques et Modèles de répartitions spatiales.
Transcription de la présentation:

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