graphes en analyse d’images, vision, reconnaissance

Post on 17-Feb-2022

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Graphes en analyse d’images, vision, reconnaissance

Florence TupinFlorence.Tupin@enst.fr

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

top related