Traitement d’images : concepts avancés

Slides:



Advertisements
Présentations similaires
Probabilités et statistiques au lycée
Advertisements

Traitement d’images : concepts fondamentaux
Traitement d’images : concepts fondamentaux
Traitement d’images : concepts fondamentaux
Traitement d’images : concepts avancés
Algorithmes et structures de données avancés
Recherche de motifs par méthodes exploratoires: Comparaisons de performances et statistiques sur le score.
Introduction au cours “Modèles stochastiques en traitement d’image”
Champs de Markov en Vision par Ordinateur
Champs de Markov en Vision par Ordinateur
Champs de Markov en Vision par Ordinateur
De la détection de changement à l’analyse du mouvement
RECONNAISSANCE DE FORMES
Les TESTS STATISTIQUES
Les TESTS STATISTIQUES
3. Analyse et estimation du mouvement dans la vidéo
A Pyramid Approach to Subpixel Registration Based on Intensity
Maria-João Rendas CNRS – I3S Novembre 2006
Optimisation dans les télécommunications
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Estimation du MAP (III)
Quelques filtres lisseurs de base (I)
Traitement d’images : briques de base S. Le Hégarat
Résumé cours précédent
Modélisation Bayésienne par chaines de Markov Monte Carlo
Traitement d’images : concepts avancés
Le filtrage au cours des âges Du filtre de Kalman au filtrage particulaire André Monin.
Concepts avancés en mathématiques et informatique appliquées
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
Application des algorithmes génétiques
Décodage des informations
III – Convergence Asymptotique
Construction de modèles visuels
Plan d’expérience dynamique pour la maximisation
DEA Perception et Traitement de l’Information
Traitement d’images : concepts avancés
II- L’algorithme du recuit simulé (pseudo-code)
Génération d’un segment de droite
Algorithmes d ’approximation
Optimisation dans les réseaux
Recherche Opérationnelle
Chapitre 4 : Morphologie Mathématique
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,
Serrure biométrique Reconnaissance dempreintes digitales Raphaël FROMONT – Pascal GRIMAUD – Nicolas MUNOZ Tuteur : M. Patrick ISOARDI.
Réseaux bayésiens Chap. 14 Sections 1 – 3.
Filtrage de Kalman et aperçu probabiliste
I MAGIS est un projet commun CNRS - INPG - INRIA - UJF iMAGIS-GRAVIR / IMAG Optimisation à base de flot de graphe pour l'acquisition d'informations 3D.
Programmation dynamique
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.
Classification (approches globales)
Graph cuts et applications
Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.
Classification : objectifs
Les réseaux de neurones à réservoir en traitement d’images
Institut de sciences et technologies Département d’informatique
Morphologie mathématique (cas fonctionnel)
Apparence globale 1 image = 1 vecteur Base apprentissage Rotation –capture les variabilités Troncature –Quelques coefficients Représentation linéaire Espace.
Recherches locales et méta-heuristiques
Les réseaux de neurones à réservoir en traitement d’images
Méthode des moindres carrés (1)
Faculté de Mathématiques et d’Informatique
Evaluation des performances des tests diagnostiques en absence de Gold Standard Christophe Combescure Laboratoire de Biostatistique, IURC.
Rappel de statistiques
Suivi d’Horizons Sismiques
Partie II : Segmentation
PIF-6003 Sujets spéciaux en informatique I
Recuit simulé Une métaheuristique venue de la métallurgie.
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.
ECHANTILLONAGE ET ESTIMATION
Techniques d’Optimisation Chapitre 2: Problème de flôt Dr TARI Abdelkamel Mars 2014.
Transcription de la présentation:

Traitement d’images : concepts avancés Morphologie mathématique (cas fonctionnel) :  Erosion, dilatation, ouverture et fermeture fonctionnelles, Filtres alternés séquentiels, Ligne de partage des eaux. Classification (approches globales) : Modèles markoviens, Estimation de paramètres. Estimation de mouvement : Cas d’un mouvement rigide, Flot optique.

Classification bayésienne d’images Formulation du problème Les images observées correspondent à la réalisation y d’un champ aléatoire Y = {Ys, sS}, S ensemble des ‘sites’, |S| = pixels, Ys ;  un autre champ aléatoire X = {Xs, sS}, celui des ‘étiquettes’ ou ‘labels’ des classes, dont la réalisation x est cachée, XsW, |W| = labels ou classes ; Le but de la classification est d’accéder à x connaissant y. # de sol. à tester = |W||S| → image ‘simple’ 2128128, image télédétection 1220482048 Avant les modèles markoviens Calcul de la fonction de décision optimale pour estimer x sachant y irréalisable  simplifications : Pour tout sS, estimation de xs sachant ys  classification aveugle, Pour tout sS, estimation de xs sachant {ys, sVS}  classifications contextuelles

Ex. : modèles ‘réguliers’ i.e. favorise pixels voisins de même label Modèles markoviens Pb : estimer x connaissant y  définir : (i) un modèle ‘d’attache aux données’, i.e. reliant X et Y, ET (ii) un modèle a priori pour X, i.e. favorisant certains types de solutions Modélisation des interactions (locales) entre les  sites Ex. : modèles ‘réguliers’ i.e. favorise pixels voisins de même label Définition des interactions locales  déf. d’un système de ‘voisinage’ : Et du système de ‘cliques’ associé, i.e. soit singletons, soit ensembles de sites tous voisins les uns des autres 4-connexité : 8-connexité : Cliques d’ordre 2 Cliques d’ordre 3 Cliques d’ordre 4

Champs de Markov – champs de Gibbs X est un champ de Markov  où X est un champ de Gibbs de potentiel associé au système de voisinage Vs, sS  avec (C ens. cliques) tous les sites sauf s Z constante de normalisation : Z = xWexp{-U(x)}

Théorème d’Hammerley-Clifford pour S fini ou dénombrable, V borné, {xs, sS} discret xsW: X est 1 champ de Markov relativement à V ET P(X=x)>0 xW|S|  X est un champ de Gibbs de potentiel associé à V D’où : en posant  aucune configuration n’est impossible =P(Xs=xs,X-s=x-s) Ne dépend plus que du voisinage et de ses configurations possibles Somme des potentiels des cliques sur le voisinage

Tirage de réalisations d’1 champ de Gibbs d’énergie U(x)/T Algorithme de Metropolis (1953) A partir de x0 la configuration initiale, Répéter à l’infini : xk étant la configuration courante Pour tous les sites s  S : tirer ls selon la loi uniforme dans W, poser xt = xtk, tS:ts, et xs = ls, calculer DU = si DU < 0 alors sinon : tirer z selon la loi uniforme dans [0,1] si z < exp(- DU / T), alors

Tirage de réalisations d’1 champ de Gibbs d’énergie U(x)/T Echantillonneur de Gibbs (Geman, 1984) A partir de x0 la configuration initiale, Répéter à l’infini : xk étant la configuration courante Pour tous les sites s  S : poser xt = xtk et xtk+1 = xtk tS:ts, pour tout i de W : poser xs = i, calculer pi = tirer z selon la loi uniforme dans [0,1], trouver j minimum tel que poser xsk+1 = j

Exemples de champs de Markov Modèle d’Ising (1925) : 4 ou 8-connexité, |W|=2 Modèle de Potts (Wu, 1982) : 4 ou 8-connexité, |W| > 2 |W|=3 |W|=4 b(i,j) constant i,j |W|=3 |W|=4 b(i,j) variable selon i,j Modèles couple (X,Y), modèles triplets

A priori critère MPM plus ‘fin’ que critère MAP Critères MAP / MPM Maximum A Posteriori : A priori critère MPM plus ‘fin’ que critère MAP Marginal Posterior Modes : Ct(x,x*) = où d(xs,xs*) = 0 si xs  xs*, et d(xs,xs) = 1 En chaque pixel s, maximiser la probabilité P(x’s/y)  estimer cette probabilité par simulation d’un champ de Gibbs : Sx/xs=x’sP(x/y) ( ) å W Î - = Þ S x s y P ' * , / min arg d 1

Distribution A Posteriori Cas d’un champ de Markov caché (X,Y) = (Xs,Ys)sS avec W|S| l’espace des états de X P(X = x,Y = y) = P(Y = y / X = x).P(X = x) Hypothèses supplémentaires : P(Y=y / X=x) = sS P(Ys=ys / Xs=xs) (indép. cond. à X) sS, P(Ys=ys / Xs=xs) > 0  Us0(xs,ys)=-ln(P(ys /xs))  avec Constante de normalisation issue de la distribution a priori

Exemple de distribution a posteriori Y gaussien conditionnellement aux classes  Loi a priori = modèle de Potts b(i,j) = b   P(X=x / Y=y) = P(Y=y / X=x).P(X=x)/P(Y=y)  cliques d’ordre 2 

En pratique, décroissance géométrique Estimation du MAP (I) Recuit simulé (Kirkpatrick, 1983) sur algorithme de Métropolis A partir de x0 la configuration initiale, et de T la température initiale, Répéter tant que le compteur est >t et T0 : xk étant la config. courante Mettre le compteur à 0 Pour tous les sites s  S : tirer ls selon la loi uniforme dans W, poser xt = xtk, tS:ts, et xs = ls, calculer DU= si DU < 0 alors sinon : tirer z selon la loi uniforme dans [0,1] si z < exp(- DU / T), alors si xsk+1  xsk incrémenter le compteur de 1 T  a.T Théoriquement, pour assurer convergence vers minimum global, décroissance de T en 1/ln(1+n°iteration) En pratique, décroissance géométrique

Estimation du MAP (II) Recuit simulé sur échantillonneur de Gibbs A partir de x0 la configuration initiale, et de T la température initiale, Répéter tant que le compteur est >t et T0 : xk étant la config. courante Mettre le compteur à 0 Pour tous les sites s  S : poser xt = xtk, et xtk+1 = xtk tS:ts, Pour chaque i de W, poser xs = i, calculer pi = tirer z selon la loi uniforme dans [0,1], Trouver j minimum tel que Poser xsk+1 = j, si xsk+1  xsk incrémenter le compteur de 1 Poser T = a.T

Estimation du MAP (III) Iterated Conditionnal Modes (Besag, 1974) A partir de x0 la configuration initiale, Répéter tant que le compteur est >t : xk étant la configuration courante Mettre le compteur à 0 Pour tous les sites s  S : poser xt = xtk, et xtk+1 = xtk tS:ts, Pour chaque i de W, poser xs = i, calculer ui = Poser j = argmini {ui} Poser xsk+1 = j, si xsk+1  xsk incrémenter le compteur de 1

MAP : exemples de résultats Classification aveugle ICM, b=2.5 SAG, b=2.5, it.1860 SAM, b=2.5, it.1380 s=60 Classification aveugle ICM, b=2.5 SAG, b=2.5, it.2100 SAM, b=2.5, it.1640

Optimisation par coupes minimales Existence de représentations permettant d’obtenir le minimum global rapidement Seulement le cas d’énergies représentables sous forme de graphe  Minimiser l’énergie  minimiser la coupe sur le graphe  maximiser le flot sur le graphe Cut(S,T)=6 Cut(T,S)=4 2 3 4 1 6 S T 0/2 1/3 2/2 2/3 2/4 1/1 3/6 0/3 Arc saturé

Algorithme de Ford & Fulkerson (1962) 2/2 1/3 2/3 0/4 1/2 3/6 1/1 2/2 1/3 0/3 2/3 0/4 1/2 3/6 0/2 1/1 2/2 0/3 2/3 0/4 0/2 2/6 0/1 0/2 0/3 0/4 0/6 0/1 Etape 1 : Saturation ad hoc des chemins de S vers T Etape 2 : Eventuelle remise en cause des choix déjà faits  recherche d’une chaîne améliorante - 2/2 1/3 3/3 2/3 0/4 4/6 1/1 2/2 1/3 2/3 0/4 1/2 3/6 1/1 + Chaîne améliorante de 1=min(6-3,2-1,3-2) + * + + + 2/2 1/3 3/3 2/3 0/4 4/6 1/1

Cas d’images binaires Cas d’un modèle d’Ising : Graphe : © Greig et al., 1989 Graphe : Nœuds = {pixels s de l’image} + source S (xs=0) + puits T (xs=1) Arcs entre S et s : capacité = Arcs entre T et s : Arcs entre pixels s et t voisins : capacité = b

Résultats pour l’image ‘blobs’ avec bruit gaussien s=60 Modèle de Potts b=20, 4-connexité Classification aveugle Optimisation ICM Optimisation Graph-Cut Résultats pour l’image ‘blobs’ avec bruit gaussien s=60 Optimisation Graph-Cut Résultat arc vers S ou T saturé Résultat final

Seuillage à hystérésis : interprétat° markovienne Seuillage avec hystérésis  modèle markovien suivant : Avec : i {1,2,3,4} bi > 0, 0 < b1‑b3 < g < b2/nconnex, et tl ≤ th ys <tl [tl, th[ th  t Vs / xt = l1 1 Us(ys|xs=l1, xt, tVs) b2+n.g [b2, b2+(n-1).g] b1+ n.g [b1, b1+(n-1).g] +n.g [0, (n-1).g] Us(ys|xs=l2, xt, tVs) + n.g + n g b3+n.g b4+n.g

Modélisation de relations spatiales plus haut niveau Cas de relations spatiales entre objets  souvent ad hoc : a priori connu sur les solutions recherchées ex. d’application : Détection des couples nuages-ombres Modèles markoviens hiérarchiques  regroupement de primitives de plus en plus haut niveau  soit apprentissage sur des bases de données (e.g. réseaux de neurones, svm, etc.), soit ad hoc exemple d’application : Détection des marquages routiers

Ex. d’application : détection des nuages et ombres en imagerie satellitaire optique (I) Problème : Données d’entrée : régions étiquettées ‘nuage ou brume’, lcm, ou ‘ombre’, lsh Données sortie : régions étiquettées ‘nuage’, lc, ‘brume’, lm, ‘ombre’, lsh ou ‘autre’, lo A priori : A tout nuage correspond une ombre  ressemblante de direction donnée Modélisation : Graphe Markovien avec : Noeuds = régions, Arcs entre régions alignées dans la direction de l’ombre fw fβ fa q fm N shadow sensor sun cloud projection cloud h ag bg bg.sinfw ag.sinfa ag.cosfa bg.cosfw On sait calculer la direction q de la position attendue de l’ombre sur l’image connaissant celle du nuage (et les paramètres d’acquisition : azimut fa, angle du soleil fb, angle d’incidence fm et de l’orbite p/2‑fw) :

Ex. d’application : détection des nuages et ombres en imagerie satellitaire optique (II) Terme d’attache aux données Critère pour séparer la brume des nuages Critère pour valider l’adéquation de forme entre un nuage et son ombre supposée Terme d’interactions des objets ys lcm and P true ls lcm and P false H true? no yes Us(ys|xs= ) +d ≤ d‑d = 0 +A  A‑|Vs|max.d >0 Us(ys|xs= ) Us(ys|xs= ) Us(ys|xs= ) +a Valeurs de l’énergie locale associée aux différents cas d’attache aux données et de voisinage; les cellules grises indiquent le minimum dans le cas où A>>d>a>0

Ex. applicatif : détection des marquages routiers du pixel à l’objet Image des niveaux de gris Image binaire des pixels susceptibles d’être un marquage routier Image des composantes connexes (cc) Image des objets (formés par des cc alignées) Image des labels: gris = fausse alarme, vert = marquage droite, jaune =marquage gauche Etape 1 Étiquettage des composantes connexes Etape 3 Etape 2 Classification MRF à 3 niveaux : du pixel à l'objet.  à chaque niveau, 1 MRF modélise les informations a priori sur les interactions Niveau pixel : interactions entre les pixels voisins Niveau composantes connexes : interactions entre cc voisines ‘alignées’ Niveau objet : relations spatiales (gauche, droite, centre) entre les objets

Ex. applicatif : détection des marquages routiers niveau pixel Est-ce le pixel s appartient à un marquage au sol ou non ? Classes : { , } modélisées par distrib. sigmoïdes  Terme d’attache aux données : Terme de régularisation : largeur des marquages  constante

Question : A quel objet appartient la composante connexe i Ex. applicatif : détection des marquages routiers niveau composante connexe Question : A quel objet appartient la composante connexe i  Classes : les objets labelisés {o1,...,oi,...} Terme d’attache aux données constant (pas d’a priori) Terme de régularisation : favorise couplage entre cc alignées et spatialement proches Only 1 principal axis direction is well-defined  compare it to the couple-barycentre direction 2 principal axis directions are well-defined  compare them to the couple-barycentre direction , : principal axis directions :couple-barycentre direction Due to pixel sampling, principal axis direction is not well-defined  consider 3 cc at once, & compare the 3 couple-barycentre directions.

Ex. applicatif : détection des marquages routiers niveau objet Question : de quel type de marquage s’agit-il ?  Classes : {rL,rR,rM,Dr,Cr,pd,other, Nmk,} Terme d’attache aux données exploite les caractéristiques de forme de l’objet (e.g. rapport entre la longueur du grand axe et la longueur du petit axe) Terme de régularisation exploite la présence de marquages de même type ou la localisation des marquages d’autres classes Passage piétons, ligne continus, ligne discontinue, ligne gauche ligne droite, ligne centrale

Estimation de paramètres Dans le cas général, les paramètres à estimer sont les paramètres de la distribution a priori P(X), noté a, et ceux de la distribution de Y conditionnellement à X, notés b : q = (a, b). On distingue le cas de données ‘complètes’ et celui de données ‘incomplètes’ selon que l’on ait accès ou non à au moins une réalisation x de X.

Cas de données complètes Soit xobs réalisation issue de la distribution Pa(X), L’estimateur maximum de vraisemblance donne avec Pa(X) = 1/Z(a).exp{-Ua(x)}, Pb : on ne sait pas calculer la constante Z(a)  1ère sol.: approximation par le maximum de pseudo-vraisemblance :

Cas de données complètes 2ème sol.: « estimateur empirique »  Calculer la fréquence d’apparition de chaque classe conditionnellement à toutes les configurations de voisinage observées sur les données complètes, et recherche a qui ajuste ces fréquences aux lois conditionnelles Si en outre on suppose que Ua est linéaire en a, alors Ua(x) = a.F(x), Z(a) = , la log-vraisemblance est concave et il suffit donc d’annuler son gradient par rapport à a, soit donc à résoudre :

Gradient stochastique Soit à résoudre (avec q = a) Or  1 seule solution : Gradient stochastique (Younes, 1988) À partir de q0, x(0) arbitraires, répéter à l’infini (ou jusqu’à vérification d’un critère d’arrêt) - tirer x(k+1) issu de la distribution de Gibbs correspondant à qk - actualiser qk+1 : où KV constante (rq : et ) F(xobs) Eq[F(X)] q

Cas de données incomplètes Soit yobs une réalisation issue de la distribution Pq(X,Y), L’estimateur maximum de vraisemblance donne  recherche du maximum de log-vraisemblance  annuler son gradient par rapport à q = (a,b), soit donc à résoudre itérativement

Expectation-Maximization Formules de ré-estimation des paramètres Loi conditionnelle (cas gaussien) : Loi a priori : (cas aveugle : trivial ) cas Ua linéaire en a : cas pseudo-vraisemblance ( ) :

EM Gibbsien Maximisation de la pseudo-vraisemblance (Chalmond,1989) : On note ai,j = P(Xs = i / Vs de type j) A partir des paramètres initiaux , répéter jusqu’à convergence : Tirage des échantillons x(1), x(2), …, x(p) de P(x / yobs,q(k)) grâce à l’échantillonneur de Gibbs, Approximation des espérances : Remise à jour des paramètres : # de pixels / xs=i et Vs=j dans la réalisation q r 1ers tirages considérés comme trop dépendants de l’initialisat° de l’échantillonneur de Gibbs # de fois où xs=i dans les réalisations considérées

Iterative Conditional Estimation (Pieczynski, 1994) Principe : Algorithme A partir des paramètres initiaux , répéter jusqu’à convergence : Tirage des échantillons x(1), x(2), …, x(p) de P(x / yobs,q(k)) grâce à l’échantillonneur de Gibbs, Estimation des paramètres pour chaque échantillon q[r+1,…p] : Remise à jour des paramètres : Espérance conditionnelle = meilleur estimateur au sens de la minimisation de l’erreur quadratique 0 ou 1 moyennage des estimations faites sur chaque réalisation moyenne des ys / xs=i dans la réalisation q

Autres approches « Segmentation courante » : avec x(k) résultat de la classification de yobs sur la base de q(k)  risque de divergence Algorithme de Lakshmanan & Derin (1989) Au cours de la décroissante de la température du recuit simulé (classification MAP), ré-estimation à échéance régulière de q  passage d’une procédure ICE à une procédure « segmentation courante ». Temp. élevée  grand # de réalisations différentes Temp. faible  réalisations toutes quasi-identiques Si une classe a une proba. a priori + faible, elle va être défavorisée dans la classification, d’où une proba. encore + faible à l’it. suivante (en particulier si cette proba. + faible provient d’une dissymétrie de la fct de coût, rien ne justifie qu’elle soit encore + pénalisée

Bibliographie H. Maître, Le traitement des images, Hermès éditions. J.-P. Cocquerez & S. Philipp, Analyse d’images : filtrage et segmentation, Masson éditions. S. Bres, J.-M. Jolion & F. Lebourgeois, Traitement et analyse des images numériques, Hermès éditions.