Graphes en analyse d’images, vision, reconnaissance
Transcript of Graphes en analyse d’images, vision, reconnaissance
Graphes en analyse d’images, vision, reconnaissance
Florence [email protected]
http://www.tsi.enst.fr/˜tupin
Telecom ParisTech - CNRS UMR 5141 LTCI
Paris - France
F. Tupin - Graphes – p.1/57
Plan du cours
1. Définitions et modèles de représentation
2. Méthodes mono-graphes• Méthodes de segmentation et graph-cuts• Graphes et reconnaissance des formes
3. Mise en correspondance de graphes• Isomorphismes de graphes et de sous-graphes• Isomorphismes de sous-graphes avec tolérance d’erreur• Mise en correspondance approximative (inexact matching)
F. Tupin - Graphes – p.2/57
Plan du cours
1. Définitions et modèles de représentation
2. Méthodes mono-graphes• Méthodes de segmentation et graph-cuts• Graphes et reconnaissance des formes
3. Mise en correspondance de graphes• Isomorphismes de graphes et de sous-graphes• Isomorphismes de sous-graphes avec tolérance d’erreur• Mise en correspondance approximative (inexact matching)
F. Tupin - Graphes – p.3/57
Pourquoi des graphes ?
• Intérêt : représentation compacte, structurée, complète, facile à manipuler
• Applications :• Traitement d’images : segmentation, détection de contours• Reconnaissance des formes : caractères, objets (bâtiments 2D ou 3D,
structures cérébrales, ...), reconnaissance de visages (avec ou sans modèle)• Recalage d’images• Indexation• Interprétation de scènes structurées• ...
F. Tupin - Graphes – p.4/57
Définition et rappels
Graphe : G = (X, E)
• X ensemble des sommets (|X| ordre du graphe)
• E ensemble des arêtes (|E| taille du graphe)
• graphe complet (taille n(n−1)2
)
• graphe partiel G = (X, E′) avec E′ partie de E
• sous-graphe F = (Y, E′), Y ⊆ X et E′ ⊆ E
• degré d’un sommet x : d(x) = nombre d’arêtes
• graphe connexe : pour toute paire de sommets, il existe une chaîne les reliant
• arbre : graphe connexe sans cycles
• clique : sous-graphe complet
• graphe dual (face → nœud)
• graphe aux arêtes (arête → nœud)
• hypergraphe (relations n-aires)
• graphes pondérés : coûts ou poids sur les arcs
F. Tupin - Graphes – p.5/57
Représentation
Matrice d’adjacence, listes d’adjacence
a
d
f c e
b
a b c d e f
a 0 1 1 1 0 0
b 1 0 0 0 0 0
c 1 0 0 0 1 1
d 1 0 0 0 1 0
e 0 0 1 1 0 0
f 0 0 1 0 0 0
F. Tupin - Graphes – p.6/57
Notion de complexité
Majorant du nombre d’opérations élémentaires pour obtenir le résultat
• algorithme polynomial / exponentiel
• problème NP-complet : il n’existe pas d’algorithme qui soit dans tous les cas nonexponentiel (polynomial)
F. Tupin - Graphes – p.7/57
Exemples de graphes
• Graphe relationnel attribué : G = (X, E, µ, ν)
• µ : X → LX interpréteur de sommets (LX = attributs des nœuds)• ν : E → LE interpréteur d’arcs (LE = attributs des arcs)
Exemples :• graphe des pixels• graphe d’adjacence de régions• régions de Voronoï / triangulation de Delaunay• graphe de primitives avec des relations plus complexes
• Graphe aléatoire : sommets et arcs = variables aléatoires
• Graphe flou : G = (X, E = X × X, µf , νf )
• µf : X → [0, 1]
• νf : E → [0, 1]
• avec ∀(u, v) ∈ X × X νf (u, v) ≤ µf (u)µf (v) ouνf (u, v) ≤ min[µf (u)µf (v)]
F. Tupin - Graphes – p.8/57
Exemples de graphes (suite)
• Graphe d’attributs flous : graphe relationnel attribué avec valeur floue pour chaqueattribut
• Graphe hiérarchique :graphes à plusieurs niveaux et graphe biparti entre deux niveaux(approches multi-échelles, regroupements d’objets, ...)
Exemples :• quadtrees, octrees• représentation hiérarchique du cerveau
• Graphes de raisonnement(graphe de mise en correspondance, arbre de décision,...)
• Graphes d’aspect
F. Tupin - Graphes – p.9/57
Exemple de graphe hiérarchique du cerveau
Niveaux 1 et 2 :
FB
MB
B
HB
B
Tel
Die
I;B
MB
B
Met
B
MO
B
F. Tupin - Graphes – p.10/57
Exemple de graphe hiérarchique du cerveau
Niveau 3 :
LVL
V3
CdL
E
ThL
B
icL
cc
H
LVR
CdR
E
ThR
B
icR
H
V4
E E
MB
Pons
CbL CbR
MO
PuL
GPL
E
E
PuR
GPR
E
E
I
I
ClL
E
emcL
E
I
I
ClR
E
emcR
E
E E
E E
B
Ar Ar
B
I
excL
E
I
excR
E
F. Tupin - Graphes – p.10/57
Exemple de graphe hiérarchique du cerveau
Niveau 4 (partiel) :
FLV
BLV
V3
HCd
E
ccH
spt
I
CLVBCd
E
Th
B
TLV
Av
OLVTCdH
aic
E
pic
E
Pu
LGP
I
I
MGP
I
I
E E
I
H
F. Tupin - Graphes – p.10/57
Quelques algorithmes classiques sur un graphe
Recherche de l’arbre couvrant de poids minimal
• algorithme de Kruskal O(n2 + mlog2(m))
• algorithme de Prim O(n2)
Problèmes de plus court chemin
• poids positifs : algorithme de Dijkstra O(n2)
• valuations quelconques mais sans cycle : algorithme de Bellman O(n2)
Flot maximum et coupe de capacité minimum
• G = (X, E)
• partition en 2 parties A et B (A ∪ B = X, A ∩ B = ∅)
• cut(A, B) =P
x∈A,y∈B w(x, y)
• algorithme de Ford et Fulkerson
F. Tupin - Graphes – p.11/57
Plan du cours
1. Définitions et modèles de représentation
2. Méthodes mono-graphes
• Méthodes de segmentation et graph-cuts
• Graphes et reconnaissance des formes
3. Mise en correspondance de graphes• Isomorphismes de graphes et de sous-graphes• Isomorphismes de sous-graphes avec tolérance d’erreur• Mise en correspondance approximative (inexact matching)
F. Tupin - Graphes – p.12/57
Segmentation par arbre couvrant
Constantinidès (1986)
• graphe des pixels pondéré par les différences de niveaux de gris
• recherche de l’arbre couvrant de poids minimal
• arbre couvrant ⇒ partition par suppression d’arêtes (= les (N − 1) plus coûteuses)
12800
128
0
les plus coûteusessuppression des arêtesarbre couvrant de poids minimal
12800
0
02550255
image graphe des pixels attribué
0255255
0
F. Tupin - Graphes – p.13/57
Calcul de l’arbre couvrant de poids minimal
Algorithme de Kruskal
• A partir d’un graphe partiel initialement sans arête, itérer (n − 1) fois : choix d’unearête de poids minimum ne formant pas de cycle avec les arêtes précédemmentchoisies
• Mise en œuvre :
1. tri des arêtes par ordre des poids croissants
2. tant qu’on n’a pas retenu (n − 1) arêtes :• sélection de la première arête non examinée• si cycle, rejet• sinon ajout de l’arête
• Complexité O(n2 + mlog2(m))
Algorithme de Prim
• Extension de proche en proche de l’arbre couvrant minimal
• Complexité O(n2)
F. Tupin - Graphes – p.14/57
Segmentation par coupe de capacité minimale
Graph-cut
Wu et Leahy (1993)
• Graphe des pixels, poids des arcs w(x, y) en fonction de similarités
• Segmentation : partitionnement du graphe en sous-graphes
• Principe : recherche itérative de la coupe de capacité minimale• coupe : partition du graphe en 2 parties A et B
• A ∪ B = X, A ∩ B = ∅• cut(A, B) =
P
x∈A,y∈B w(x, y)
• Extension possible au graphe d’adjacence d’une sur-segmentation
F. Tupin - Graphes – p.15/57
Calcul de la coupe de capacité minimale (flot
maximal)
Algorithme de Ford et Fulkerson
• flot : flot(u) ≤ capa(u) et conservation du flot en chaque sommet
• Théorème :valeur max du flot = coupe de capacité min
• Principe de l’algorithme de Ford et Fulkerson :partant du flot nul, chercher s’il existe une chaîne augmentante pour augmenter leflot le long de la chaîne
1. algorithme de marquage pour détecter une chaîne augmentante
2. amélioration du flot courant s’il existe une chaîneSortie : valeur du flot et coupe de capacité minimale
• Complexité : O(mn cmax)
• Variantes plus rapides pour très grand nombre de sommets
F. Tupin - Graphes – p.16/57
Un exemple simple
128
128
graphe des pixels attribuéimage
255
0 0
0 255
255 255
coupe de capacité minimale partition
255
Influence du nombre d’arcs dans la coupe : Cut(A, B) = 4b, Cut(A′, B′) = 3b
a
a
a
aaa
1 2
3 4
5
6
b
b
b
b
b
Cut(A,B)
Cut(A’,B’)
⇒ coupe normalisée
F. Tupin - Graphes – p.17/57
Segmentation par coupe normalisée
Shi et Malik (2000)
• Principe : segmentation par partitionnement du graphe par coupe de coût minimal
• + suppression de l’influence du nombre d’arcs dans la coupe : coupe “normalisée”
Ncut(A, B) =cut(A, B)
assoc(A, X)+
cut(A, B)
assoc(B, X)
assoc(A, X) =X
a∈A,x∈X
w(a, x)
• Mesure de l’association à l’intérieur d’un groupe
Nassoc(A,B) =assoc(A, A)
assoc(A, X)+
assoc(B, B)
assoc(B, X)
Ncut(A, B) = 2 − Nassoc(A, B)
minimiser le coût de séparation ⇔ maximiser l’associationF. Tupin - Graphes – p.18/57
Segmentation par coupe normalisée (suite)
Problème NP complet
• Optimisation (clustering spectral):x = (xi) avec xi = 1 si i ∈ A, xi = −1 sinonD = diag(di) avec di =
P
j wij
W = (wij)
minx
Ncut(x) = miny
yT (D − W )y
yT Dy
avec yi ∈ 1,−b (b =
P
xi>0di
P
xi<0di
) et yT D1 = 0
Solution : vecteur propre associé à la seconde plus petite valeur propre de
(D − W )y = λDy ou D−1
2 (D − W )D−1
2 z = λz
(z = D1
2 y)
• Itérations : en fonction de la “qualité” de la partition
• Autre application : classification en fonction des valeurs des vecteurs propres
F. Tupin - Graphes – p.19/57
Exemples (univ. Berkeley)
http://www.cs.berkeley.edu/projects/vision/Grouping/
F. Tupin - Graphes – p.20/57
Exemples (univ. Berkeley)
http://www.cs.berkeley.edu/projects/vision/Grouping/ F. Tupin - Graphes – p.20/57
Exemples (univ. Berkeley)
http://www.cs.berkeley.edu/projects/vision/Grouping/ F. Tupin - Graphes – p.20/57
Exemples (univ. Alberta) avec contraintes
linéaires
F. Tupin - Graphes – p.21/57
Graph-cuts
Autres méthodes• Variantes sur la définition du “coût de la coupe” (Minimum mean cut, etc.)
• Variantes sur les fonctions de coût des arcs• Contours actifs optimisés par graph-cuts
Bibliographie
• An optimal graph theoretic approach to data clustering: theory and its applicationto image segmentation, Z. Wu et R. Leahy, IEEE PAMI, vol.15, num.11, nov. 93
• Normalized cuts and image segmentation, J. Shi et J. Malik, IEEE PAMI, vol. 22,num. 8, 2000
• Image segmentation with minimum mean cut, 8th ICCV, 2001
• Fast Normalized Cut with Linear Constraints, Xu, Li, Schurmaans, CVPR 2009
F. Tupin - Graphes – p.22/57
Plan du cours
1. Définitions et modèles de représentation
2. Méthodes mono-graphes• Méthodes de segmentation et graph-cuts• Graphes et reconnaissance des formes
3. Mise en correspondance de graphes• Isomorphismes de graphes et de sous-graphes• Isomorphismes de sous-graphes avec tolérance d’erreur• Mise en correspondance approximative (inexact matching)
F. Tupin - Graphes – p.23/57
Interprétation d’images
Tenenbaum et Barrow (1977)
• Segmentation en régions
• Construction du graphe d’adjacence des régions
• Interprétation contrainte par un ensemble de règles sur :
1. les objets (taille, couleur, texture,...)
2. les relations entre objets (au-dessus de, à l’intérieur de, à côté de ...)
Généralisation avec des graphes d’attributs flous
F. Tupin - Graphes – p.24/57
Méthodes markoviennes (graphes aléatoires)
U(x|y) = U(y|x) + U(x) = U(y|x) +X
c∈C
Vc(x)
• Applications de bas-niveau :• graphe des pixels• segmentation, classification, restauration
• Applications de plus haut-niveau :• graphe des régions (bassins versants de la LPE, Suk, ...)• graphe de primitives (contours, points caractéristiques, lignes,...)
⇒ segmentation, reconnaissance d’objets structurés, interprétation de la scène
F. Tupin - Graphes – p.25/57
Exemple sur un graphe d’adjacence (T. Géraud)
F. Tupin - Graphes – p.26/57
Exemple sur un graphe de segments (F. Tupin)
F. Tupin - Graphes – p.27/57
Exemple sur un graphe de régions (F. Tupin)
F. Tupin - Graphes – p.28/57
Exemple sur un graphe de régions (F. Tupin)
F. Tupin - Graphes – p.29/57
Méthodes markoviennes et optimisation par ...
graph-cuts
Segmentation binaire (Greig et al. 89) :
U(x|y) =X
i
Vc(yi|xi) +X
(i,j)
β(xi − xj)2
• source S (label 1), puits P (label 0)
• arcs terminaux de poids l’attache aux données
• arcs entre voisins de poids Vc(0, 1)
solution MAP ⇔ coupe de poids minimale
cut(ES , EP ) =X
i∈ES
Vc(yi|1) +X
i∈EP
Vc(yi|0) +X
(i∈Es,j∈EP )
β
(xi = 1 pour i ∈ ES , xi = 0 pour i ∈ EP )
F. Tupin - Graphes – p.30/57
Méthodes markoviennes et optimisation par ...
graph-cuts
(xi = 1 pour i ∈ ES , xi = 0 pour i ∈ EP )
S(label 0)
P (label 1)
i
Vc(yi|0)
Vc(yi|1)
β β β β
coupe
F. Tupin - Graphes – p.31/57
Méthodes markoviennes et optimisation par ...
graph-cuts
Segmentation ou restauration à niveaux de gris (Boykov, Veksler 99) :
⇒ généralisation de la méthode précédenteDéfinition de deux espaces de mouvement (permettant de se ramener au cas binaire)
• expansion de label α : source S et puits P correspondant à 2 labels différents α etα)
• échange α − β : source S et puits P aux labels α et β
Optimisation par recherche itérative du graph-cut :
• le graphe : pixels étiquetés à ces labels
• les poids définis par la segm. courante
• faible nombre d’itérations par rapport au recuit simulé
NB : contrairement au cas binaire : pas de garantie sur l’optimalité de la solution
F. Tupin - Graphes – p.32/57
Méthodes markoviennes et optimisation par ...
graph-cuts
Restauration à niveaux de gris :
⇒ généralisation de la méthode précédente: optimisation exacte dans le cas de fonctionde régularisation convexe
• Approche Ishikawa (2003) : construction d’un très gros graphe (graphe encouches, une couche par label) et recherche de la coupe minimale
• Approche Darbon (2005) : décomposition de la solution sur ses ensembles deniveaux et résolution par graph-cut du problème binaire sur chaque ensemble deniveau
⇒ solution exacte pour des fonction de régularisation convexes !⇒ mais problème de taille mémoire....
F. Tupin - Graphes – p.33/57
Exemples - optimisation multi-labels
F. Tupin - Graphes – p.34/57
Reconnaissance des formes
• Objet : défini par un ensemble de primitives (nœuds du graphe)
• Relations binaires de compatibilité entre primitives (arcs du graphe)
• Clique : sous-ensemble de primitives compatibles 2 à 2= configuration possible de l’objet
• Reconnaissance par détection de la clique maximale
Recherche des cliques :
• Problème NP-complet
• Pas d’algorithme qui soit dans tous les cas non exponentiel
• Construction d’un arbre de décision : un nœud de l’arbre = 1 clique du graphe
• Elagage de l’arbre pour ne pas réengendrer les mêmes cliques
• Théorème : soit S un nœud de l’arbre de recherche T , et soit x le premier fils de S
à être exploré. Si tous les sous-arbres de S ∪ x ont été générés, il suffitd’explorer les fils de S qui ne sont pas adjacents à x.
F. Tupin - Graphes – p.35/57
Exemple : détection du bâti par recherche de la
clique maximale (IGN)
F. Tupin - Graphes – p.36/57
Plan du cours
1. Définitions et modèles de représentation
2. Méthodes mono-graphes• Méthodes de segmentation et graph-cuts• Graphes et reconnaissance des formes
3. Mise en correspondance de graphes
• Isomorphismes de graphes et de sous-graphes
• Isomorphismes de sous-graphes avec tolérance d’erreur• Mise en correspondance approximative (inexact matching)
F. Tupin - Graphes – p.37/57
Mise en correspondance (matching) de graphes
Problème :• Graphe(s) modèle(s) (atlas, carte, modèle(s) d’objet(s))
• Graphe image construit à partir des données
• Mise en correspondance des deux graphes
G = (X, E, µ, ν) →? G′ = (X′, E′, µ′, ν′)
Isomorphismes de graphes : fonction bijective f : X → X′
• µ(x) = µ′(f(x))
• ∀e = (x1, x2), ∃e′ = (f(x1), f(x2)) / ν(e) = ν′(e′) et réciproquement
Souvent trop strict ⇒ isomorphismes de sous-graphes
F. Tupin - Graphes – p.38/57
Isomorphismes de sous-graphes• Il existe un sous-graphe S′ de G′ tel que f soit un isomorphisme de G dans S′
2
3
4 6
7
8
1
5
b
c
d
a
e
a
b
cd
d
1
2
34 6
57
8
• Il existe un sous-graphe S de G et un sous-graphe S′ de G′ tel que f soit unisomorphisme de S dans S′
F. Tupin - Graphes – p.39/57
Isomorphismes de sous-graphes : recherche de
cliques maximales
Recherche de la clique maximale du graphe d’association
• principe : construction du graphe d’association
• clique maximale = isomorphisme de sous-graphes
a
a
a
b
a a a
b
(4,4’)
(1,1’)
(1,2’) (1,4’)
(2,1’)
(2,2’)
(2,4’)
(3,3’)(4,1’)
(4,2’)
1
2 3
4
3’
1’2’
4’
F. Tupin - Graphes – p.40/57
Isomorphismes de sous-graphes : algorithme
d’Ullman
• Principe : extension d’un ensemble d’associations (vi, wxi) jusqu’à ce que tout le
graphe G ait été parcouru. En cas d’échec, on “remonte” l’arbre des associations(“backtrack”).Accélération : procédure “forward checking” avant d’ajouter une association.
• Algorithme :• matrice des associations de sommets• matrice des associations futures possibles pour une liste d’associations
donnée• liste des associations mise à jour par les 2 procédures “Backtrack” et
“ForwardChecking”
• Complexité : pire cas O(mnn2) (n ordre de X, m de X′, n < m)
F. Tupin - Graphes – p.41/57
Plan du cours
1. Définitions et modèles de représentation
2. Méthodes mono-graphes• Méthodes de segmentation et graph-cuts• Graphes et reconnaissance des formes
3. Mise en correspondance de graphes• Isomorphismes de graphes et de sous-graphes• Isomorphismes de sous-graphes avec tolérance d’erreur
• Mise en correspondance approximative (inexact matching)
F. Tupin - Graphes – p.42/57
Isomorphismes de sous-graphes avec tolérance
d’erreurs
• Monde réel : graphes bruités, incomplets, distorsions
• Distance entre graphes (opérations d’édition, fonction de coût,...)
• Isomorphisme de sous-graphe avec tolérance d’erreurs : recherche dusous-graphe de G′ à distance minimale de G
• Algorithmes optimaux : A∗
(solution correcte assurée, complexité exponentielle)
• Algorithmes approximatifs : génétiques, recuit simulé, réseaux de neurones,relaxation probabiliste,...• minimisation itérative d’une fonction objectif (distance de la solution courante
à la solution optimale)• mieux adaptés pour les grands graphes• problèmes de minima locaux et de convergence
F. Tupin - Graphes – p.43/57
Algorithme A ∗
• Principe : construction d’un arbre de recherche par appariements successifs dessommets avec évaluation de la fonction de coût pour chaque état(seuls les états de coûts inférieurs sont ensuite propagés)
• Complexité : O(n2mn) (pire cas)
• Amélioration : estimation des coûts futurs pour ne pas propager inutilement desbranches
F. Tupin - Graphes – p.44/57
Recalage carte + image SPOT (M. Roux)
F. Tupin - Graphes – p.45/57
Recalage carte + image SPOT (M. Roux)
F. Tupin - Graphes – p.45/57
Recalage carte + image SPOT (M. Roux)
F. Tupin - Graphes – p.45/57
Recalage carte + image SPOT (M. Roux)
F. Tupin - Graphes – p.45/57
Recalage carte + image SPOT (M. Roux)
F. Tupin - Graphes – p.45/57
Recalage carte + image SPOT (M. Roux)
F. Tupin - Graphes – p.45/57
Décomposition en éléments communs
Messmer (1996)
d a b
c
d a
c e
b d a c e
d a
d a
c
d a b
c
d a
c e
G1
G2
d a
d
a c e
1 2
3
456
G3
1 2 3 4 5
1
3
2
6
5 4
1,23,2
1,2,53,2,5
1,2,5,4
G1 G2
F. Tupin - Graphes – p.46/57
ExempleReconstruction 3D par appariement entre un ensemble de graphes modèles et ungraphe de données (IGN)
F. Tupin - Graphes – p.47/57
Plan du cours
1. Définitions et modèles de représentation
2. Méthodes mono-graphes• Méthodes de segmentation et graph-cuts• Graphes et reconnaissance des formes
3. Mise en correspondance de graphes• Isomorphismes de graphes et de sous-graphes• Isomorphismes de sous-graphes avec tolérance d’erreur• Mise en correspondance approximative (inexact matching)
F. Tupin - Graphes – p.48/57
Relaxation probabiliste• Expression du problème par MAP :
maxωλ∈Ω
P (θi = ωλ|xj,j∈N0, Aij,j∈Ni
)
• Règle de mise à jour d’un nœud :
P (n+1)(θi = ωθi) =
P (n)(θi = ωθi)Q(n)(θi = ωθi
)P
ωλP (n)(θi = ωλ)Q(n)(θi = ωλ)
Q(n)(θi = ωα) = Πj∈Ni
X
ωβ∈Ω
P (n)(θj = ωβ) × p(Aij |θi = ωα, θj = ωβ)
Initialisation :
P (0)(θi = ωθi) = P (θi = ωθi
|xi)
Arrêt : nombre d’itérations, probabilité proche de 1 des étiquettes des nœuds,évolution négligeable
• Modèle d’erreur gaussien par rapport au modèle : évaluation desp(Aij |θi = ωα, θj = ωβ)
• Contraintes : définir la probabilité d’appariement au nœud nul(nœud du modèle manquant, nœuds faux des données)(niveau de bruit attendu dans le graphe)
F. Tupin - Graphes – p.49/57
Exemple- Kostin et al. 2005
F. Tupin - Graphes – p.50/57
Reconnaissance des sillons corticaux (J.-F. Man-
gin)
F. Tupin - Graphes – p.51/57
Reconnaissance des sillons corticaux (J.-F. Man-
gin)
F. Tupin - Graphes – p.51/57
Reconnaissance des sillons corticaux (J.-F. Man-
gin)
F. Tupin - Graphes – p.51/57
Reconnaissance des sillons corticaux (J.-F. Man-
gin)
F. Tupin - Graphes – p.51/57
Activations en imagerie fonctionnelle (O.
Coulon)
F. Tupin - Graphes – p.52/57
Activations en imagerie fonctionnelle (O.
Coulon)
F. Tupin - Graphes – p.52/57
Activations en imagerie fonctionnelle (O.
Coulon)
F. Tupin - Graphes – p.52/57
Activations en imagerie fonctionnelle (O.
Coulon)
F. Tupin - Graphes – p.52/57
Activations en imagerie fonctionnelle (O.
Coulon)
F. Tupin - Graphes – p.52/57
Mise en correspondance approximative (inexact
matching)Fonction à optimiser :
• Fonction de dissimilarité entre nœuds
cN (aD, aM ) =X
αid(aNi (aD), aN
i (aM ))X
αi = 1
• Fonction de dissimilarité entre arcs
CE((a1D, a2
D), (a1M , a2
M )) =X
βjd(aAj (a1
D, a2D), aA
j (a1M , a2
M ))X
βj = 1
• Fonction de coût du matching h :
f(h) =α
|ND|
X
aD∈ND
cN (aD, h(aD))+1 − α
|ED|
X
(a1
D,a2
D)∈ED
cE((a1D, a2
D), (h(a1D), h(a2
D)))
Méthodes d’optimisation :
• algorithmes de recherche arborescente
• EM• algorithmes génétiques
• réseaux bayésiens et estimation de distributions
• ...
F. Tupin - Graphes – p.53/57
Exemple : reconnaissance de structures
cérébrales (A. Perchant)
F. Tupin - Graphes – p.54/57
Exemple : reconnaissance de structures
du visage (R. Cesar et al.)
F. Tupin - Graphes – p.55/57
Exemple : reconnaissance de structures
du visage (R. Cesar et al.)
2(1, |N |)(1, l )min(1, 1) (1, 2) ... ...
(0, 0)
(2, 1) (2, 2) ... ...(2, k )min 2(2, |N |)
etc.
F. Tupin - Graphes – p.55/57
Exemple : reconnaissance de structures
du visage (R. Cesar et al.)
graphmatchingprocess
modelmask
modelgraph
frame i
i = i + 1
gradient extraction
updated landmarks
watershed algorithm
input graphcreation
affinetransform
segmented /recognizedfeatures
F. Tupin - Graphes – p.55/57
Exemple : reconnaissance de structures
du visage (R. Cesar et al.)
Segmentation
Déformation du modèle au cours de la séquence (tracking)
F. Tupin - Graphes – p.55/57
Exemple : reconnaissance de structures
du visage (R. Cesar et al.)
F. Tupin - Graphes – p.55/57
Exemple : reconnaissance de structures
du visage (R. Cesar et al.)
F. Tupin - Graphes – p.55/57
Matching par recherche d’une transformation
• Graphe = représentation d’informations topographiques
• Mise en correspondance = recherche de la transformation entre 2 graphes• transformation rigide• transformation élastique (morphing)
• Méthodes de mise en correspondance :• recherche du maximum de corrélation (translation)• transformée de Hough (taille de l’espace des paramètres)• méthodes par génération et propagation d’hypothèses• après initialisation rigide, déplacements aléatoires des sommets
• Exemple : reconnaissance de visages
F. Tupin - Graphes – p.56/57
Exemple (Wiskott et al.)
F. Tupin - Graphes – p.57/57