Classification (approches globales) Modèles markoviens, Niveau image, Niveau objet Estimation de paramètres.
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, sS}, S ensemble des ‘sites’, |S| = nbre pixels, Ys ; un autre champ aléatoire X = {Xs, sS}, celui des ‘étiquettes’ ou ‘labels’ des classes, dont la réalisation x est cachée, XsW, |W| = nbre de labels ou classes ; Le but de la classification est d’accéder à x connaissant y. nbre de sol. à tester = |W||S| → image ‘simple’ 2128128, image télédétection 1220482048 Avant les modèles markoviens Calcul de la fonction de décision optimale pour estimer x sachant y irréalisable simplifications : Pour tout sS, estimation de xs sachant ys classification aveugle, Pour tout sS, estimation de xs sachant {ys, sVS} 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, sS avec (C ens. cliques) tous les sites sauf s Z constante de normalisation : Z = xW|S| exp{-U(x)}
Théorème d’Hammerley-Clifford aucune configuration n’est impossible pour S fini ou dénombrable, V borné, {xs, sS} discret xsW: X est 1 champ de Markov relativement à V ET P(X=x)>0 xW|S| X est un champ de Gibbs de potentiel associé à V D’où : =P(Xs=xs,X-s=x-s) en posant Somme des potentiels des cliques sur le voisinage Ne dépend plus que du voisinage et de ses configurations possibles
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 , tS:ts, et = 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 et xtk+1 = xtk tS:ts, pour tout i de W : poser = 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
Théorie bayésienne de la décision La théorie de la décision bayésienne repose sur la minimisation du ‘risque’ Soit Ct(x,x’) le coût associé à la décision de x’ alors que la réalisation de X était x La performance de l’estimateur x’ est mesurée par le risque de Bayes E[Ct(x,x’)] = P(x’/x,y)=P(x’/y) car décision selon y seul Coût marginal (conditionnel à y) à minimiser Or x’P(x’/y)=1 et x’, P(x’/y)≥0, La règle qui minimise le coût moyen est donc celle telle que P(x’/y)=1 si et seulement si xP(x/y)Ct(x,x’) minimale
Exemple (non image) Détection d’un véhicule dangereux (V) Décider V si et seulement si Cas où a>b, on va décider plus facilement V que V en raison du coût plus fort d’une décision erronée en faveur de V que de V
A priori critère MPM plus nuancé que le MAP Critères MAP / MPM Maximum A Posteriori : Ct(x,x*) = 1- d(x,x*) où d(x,x*) = 0 si x x*, et d(x,x) = 1 Marginal Posterior Modes : Ct(x,x*) = où d(xs,xs*) = 0 si xs xs*, et d(xs,xs) = 1 A priori critère MPM plus nuancé que le MAP 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)
Distribution A Posteriori Cas d’un champ de Markov caché (X,Y) = (Xs,Ys)sS 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) = sS P(Ys=ys / Xs=xs) (indépendance conditionnelle à X) sS, P(Ys=ys / Xs=xs) > 0 Us0(xs,ys)=-ln(P(ys /xs)) avec Pas de texture 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 Principe : simuler la loi P(X/Y) 1/T en faisant décroître le paramètre de température T 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 T0 : xk étant la config. courante Mettre le compteur à 0 Pour tous les sites s S : tirer ls selon la loi uniforme dans W, poser , tS:ts, et = 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 T0 : xk étant la config. courante Mettre le compteur à 0 Pour tous les sites s S : poser , et xtk+1 = xtk tS:ts, Pour chaque i de W, poser = 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 , et xtk+1 = xtk tS:ts, Pour chaque i de W, poser = 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
MAP : exemples de résultats (II) Classif. aveugle ICM, b=100 SAG, b=100 s=20 p=10% ICM, b=999 SAG, b=999
Processus lignes Énergie à minimiser : But : préserver les structure fines et la géométrie des objets Solution : pénaliser de façon différente les lignes et le bruit Énergie à minimiser : où hs et vs {0,1} indiquent les bords horizontaux et verticaux, et Z est l’image des moyennes des classes : Configurations : Valeurs par défaut (article Geman) : vs+vh = 4 b = b2 = 2.7; vs+vh = 3 b = b1 = 1.8; vs+vh = 2 b = b0 = 0.9 (angle) ou b = b1 = 1.8 (bords parallèles); vs+vh = 1 b = b2 = 2.7
Processus lignes : ex. de résultats ICM, b=100 Proc. line, b=100 s=5 Classification aveugle ICM, b=500 Proc. line, b=999 s=10
Ex. image satellite Classification aveugle Classification MRF ICM Classification MRF avec proc. lignes
Cas d’images binaires Graphe : Cas d’un modèle d’Ising : Nœuds = {pixels s de l’image} + source S (xs=1) + puits T (xs=0) Arcs entre S et s : capacité = Arcs entre T et s : Arcs entre pixels s et t voisins : capacité = b © Greig et al., 1989 Cas d’un modèle d’Ising : Coupe (cut) = S des capacités des arcs “coupés” = Longueur de la frontière entre les 2 classes
Optimisation par coupes minimales Représentation 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 N1 N2 N3 N4 N5 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 d-=N4 d+=N4 Chaîne améliorante de 1=min(6-3,2-1,3-2) d+=N3 * d+=* d+=N3 N1 N2 N3 N4 N5 d+=* 2/2 1/3 3/3 2/3 0/4 4/6 1/1
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 Avec : i {1,2,3,4} bi > 0, 0 < b1‑b3 < g < b2/nconnex, et tl ≤ th Seuillage avec hystérésis modèle markovien suivant : ys <tl [tl, th[ th t Vs / xt = l1 1 Us(ys|xs=l1, xt, tVs) 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, tVs) + 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’, lcm, 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 : Nœuds = 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 lcm et P vrai ls lcm et P fausse H vrai? non oui 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
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 Max de Vraisemblance est avec Pb : on ne sait pas calculer la constante Z(a) 1ère sol.: approximation par le maximum de pseudo-vraisemblance 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 rechercher a qui ajuste ces fréquences aux lois conditionnelles
Cas de données complètes 3ème sol.: 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 a0, 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 à ak - actualiser ak+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 Algo. 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 ». 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 Temp. élevée grand # de réalisations différentes Temp. faible réalisations toutes quasi-identiques