Вы находитесь на странице: 1из 74

Graphes en analyse dimages, vision, reconnaissance

Florence Tupin
Florence.Tupin@enst.fr http://www.tsi.enst.fr/ tupin

ecommunications Ecole Nationale Superieure des Tel - CNRS UMR 5141 LTCI Paris - France

F. Tupin - Graphes p.1/53

Plan du cours
1. Dnitions et modles de reprsentation

2. Mthodes mono-graphes

Mthodes 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 tolrance derreur Mise en correspondance approximative (inexact matching)

F. Tupin - Graphes p.2/53

Plan du cours
1. Dnitions et modles de reprsentation

2. Mthodes mono-graphes

Mthodes 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 tolrance derreur Mise en correspondance approximative (inexact matching)

F. Tupin - Graphes p.3/53

Pourquoi des graphes ?

Intrt : reprsentation compacte, structure, complte, facile manipuler Applications :

Traitement dimages : segmentation, dtection de contours Reconnaissance des formes : caractres, objets (btiments 2D ou 3D, structures crbrales, ...), reconnaissance de visages (avec ou sans modle) Recalage dimages Indexation Interprtation de scnes structures ...

F. Tupin - Graphes p.4/53

Dnition et rappels
Graphe : G = (X, E )

X ensemble des sommets (|X | ordre du graphe) E ensemble des artes (|E | taille du graphe) graphe complet (taille
n(n1) ) 2

graphe partiel G = (X, E ) avec E partie de E sous-graphe F = (Y, E ), Y X et E E degr dun sommet x : d(x) = nombre dartes graphe connexe : pour toute paire de sommets, il existe une chane les reliant arbre : graphe connexe sans cycles clique : sous-graphe complet graphe dual (face nud) graphe aux artes (arte nud) hypergraphe (relations n-aires) graphes pondrs : cots ou poids sur les arcs

F. Tupin - Graphes p.5/53

Reprsentation

Matrice dadjacence, listes dadjacence

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/53

Notion de complexit

Majorant du nombre doprations lmentaires pour obtenir le rsultat

algorithme polynomial / exponentiel problme NP-complet : il nexiste pas dalgorithme qui soit dans tous les cas non exponentiel (polynomial)

F. Tupin - Graphes p.7/53

Exemples de graphes

Graphe relationnel attribu : G = (X, E, , )

: X LX interprteur de sommets (LX = attributs des nuds) : E LE interprteur darcs (LE = attributs des arcs)

Exemples : graphe des pixels graphe dadjacence de rgions rgions de Vorono / triangulation de Delaunay graphe de primitives avec des relations plus complexes

Graphe alatoire : sommets et arcs = variables alatoires Graphe ou : 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/53

Exemples de graphes (suite)

Graphe dattributs ous : graphe relationnel attribu avec valeur oue pour chaque attribut Graphe hirarchique : graphes plusieurs niveaux et graphe biparti entre deux niveaux (approches multi-chelles, regroupements dobjets, ...) Exemples :

quadtrees, octrees reprsentation hirarchique du cerveau

Graphes de raisonnement (graphe de mise en correspondance, arbre de dcision,...) Graphes daspect

F. Tupin - Graphes p.9/53

Exemple de graphe hirarchique du cerveau

Niveaux 1 et 2 :
Tel
FB

I;B

Die
B

MB

MB B
B

Met B

HB

MO

F. Tupin - Graphes p.10/53

Exemple de graphe hirarchique du cerveau

Niveau 3 :
cc H H

LVL E

LVR E

CdL

CdR

PuL

PuR

E E I E I ClL emcL I icL E

E E I E

I B B icR E I emcR ClR

GPL E E

V3 E E

GPR

excL

ThL

ThR

excR

MB

Ar CbL

Pons

Ar CbR V4 B

MO

F. Tupin - Graphes p.10/53

Exemple de graphe hirarchique du cerveau

Niveau 4 (partiel) :
H FLV I E cc

spt I

Pu I E

HCd

BLV

E I aic B LGP E E I I H MGP TCd TLV OLV pic Th BCd Av E CLV

V3

F. Tupin - Graphes p.10/53

Quelques algorithmes classiques sur un graphe

Recherche de larbre couvrant de poids minimal

algorithme de Kruskal O(n2 + mlog2 (m)) algorithme de Prim O(n2 ) poids positifs : algorithme de Dijkstra O(n2 ) valuations quelconques mais sans cycle : algorithme de Bellman O(n2 ) G = (X, E ) partition en 2 parties A et B (A B = X , A B = ) P cut(A, B ) = xA,yB w(x, y ) algorithme de Ford et Fulkerson

Problmes de plus court chemin

Flot maximum et coupe de capacit minimum

F. Tupin - Graphes p.11/53

Plan du cours
1. Dnitions et modles de reprsentation

2. Mthodes mono-graphes

Mthodes 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 tolrance derreur Mise en correspondance approximative (inexact matching)

F. Tupin - Graphes p.12/53

Segmentation par arbre couvrant

Constantinids (1986)

graphe des pixels pondr par les diffrences de niveaux de gris recherche de larbre couvrant de poids minimal arbre couvrant partition par suppression dartes (= les (N 1) plus coteuses)

0 255 255 0

255 0 0

0 128 128

255 0

128

image

graphe des pixels attribu

arbre couvrant de poids minimal

suppression des artes les plus coteuses

F. Tupin - Graphes p.13/53

Calcul de larbre couvrant de poids minimal

Algorithme de Kruskal

A partir dun graphe partiel initialement sans arte, itrer (n 1) fois : choix dune arte de poids minimum ne formant pas de cycle avec les artes prcdemment choisies Mise en uvre : 1. tri des artes par ordre des poids croissants 2. tant quon na pas retenu (n 1) artes : slection de la premire arte non examine si cycle, rejet sinon ajout de larte

Complexit O(n2 + mlog2 (m))

Algorithme de Prim

Extension de proche en proche de larbre couvrant minimal Complexit O(n2 )

F. Tupin - Graphes p.14/53

Segmentation par coupe de capacit minimale Graph-cut


Wu et Leahy (1993)

Graphe des pixels, poids des arcs w(x, y ) en fonction de similarits Segmentation : partitionnement du graphe en sous-graphes Principe : recherche itrative de la coupe de capacit minimale

coupe : partition du graphe en 2 parties A et B A B = X, A B = P cut(A, B ) = xA,yB w(x, y )

Extension possible au graphe dadjacence dune sur-segmentation

F. Tupin - Graphes p.15/53

Calcul de la coupe de capacit minimale (ot maximal)


Algorithme de Ford et Fulkerson

ot : f lot(u) capa(u) et conservation du ot en chaque sommet Thorme : valeur max du ot = coupe de capacit min Principe de lalgorithme de Ford et Fulkerson : partant du ot nul, chercher sil existe une chane augmentante pour augmenter le ot le long de la chane 1. algorithme de marquage pour dtecter une chane augmentante 2. amlioration du ot courant sil existe une chane Sortie : valeur du ot et coupe de capacit minimale Complexit : O(mn cmax ) Variantes plus rapides pour trs grand nombre de sommets

F. Tupin - Graphes p.16/53

Un exemple simple

255 0 0 255

0 255 255

255 128 128

image

graphe des pixels attribu

coupe de capacit minimale

partition

Inuence du nombre darcs dans la coupe : Cut(A, B ) = 4b, Cut(A , B ) = 3b


1 a a a 3 a a a 4 b 6 2 b b b b 5

Cut(A,B)

Cut(A,B)

coupe normalise

F. Tupin - Graphes p.17/53

Segmentation par coupe normalise

Shi et Malik (2000)

Principe : segmentation par partitionnement du graphe par coupe de cot minimal + suppression de linuence du nombre darcs dans la coupe : coupe normalise N cut(A, B ) = cut(A, B ) cut(A, B ) + assoc(A, X ) assoc(B, X )

assoc(A, X ) =

X
aA,xX

w(a, x)

Mesure de lassociation lintrieur dun groupe N assoc(A, B ) = assoc(B, B ) assoc(A, A) + assoc(A, X ) assoc(B, X )

N cut(A, B ) = 2 N assoc(A, B ) minimiser le cot de sparation maximiser lassociation


F. Tupin - Graphes p.18/53

Segmentation par coupe normalise (suite)

Problme NP complet

Optimisation : x = (xi ) avec xi = 1 si i A, xi = 1 sinon P D = diag (di ) avec di = j wij W = (wij ) y T (D W )y min N cut(x) = min x y y T Dy avec y (i) {1, b} (b =
Pxi >0 P di
xi <0 di

) et y T D1 = 0

Solution : vecteur propre associ la seconde plus petite valeur propre de (D W )y = Dy ou D 2 (D W )D 2 z = z (z = D 2 y )


1 1 1

Itrations : en fonction de la qualit de la partition Autre application : classication en fonction des valeurs des vecteurs propres
F. Tupin - Graphes p.19/53

Exemples (univ. Berkeley)

http://www.cs.berkeley.edu/projects/vision/Grouping/

F. Tupin - Graphes p.20/53

Exemples (univ. Berkeley)

http://www.cs.berkeley.edu/projects/vision/Grouping/

F. Tupin - Graphes p.20/53

Exemples (univ. Berkeley)

http://www.cs.berkeley.edu/projects/vision/Grouping/

F. Tupin - Graphes p.20/53

Graph-cuts

Autres mthodes

Variantes sur la dnition du cot de la coupe (Minimum mean cut, etc.) Variantes sur les fonctions de cot des arcs Contours actifs optimiss par graph-cuts

Bibliographie

An optimal graph theoretic approach to data clustering: theory and its application to 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 Object segmentation using graph cuts based active contours, CCVPR 2003, vol.2

F. Tupin - Graphes p.21/53

Plan du cours
1. Dnitions et modles de reprsentation

2. Mthodes mono-graphes

Mthodes 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 tolrance derreur Mise en correspondance approximative (inexact matching)

F. Tupin - Graphes p.22/53

Interprtation dimages

Tenenbaum et Barrow (1977)

Segmentation en rgions Construction du graphe dadjacence des rgions Interprtation contrainte par un ensemble de rgles sur : 1. les objets (taille, couleur, texture,...) 2. les relations entre objets (au-dessus de, lintrieur de, ct de ...)

Gnralisation avec des graphes dattributs ous

F. Tupin - Graphes p.23/53

Mthodes markoviennes (graphes alatoires)

U (x|y ) = U (y |x) + U (x) = U (y |x) +

X
cC

Vc (x)

Applications de bas-niveau :

graphe des pixels segmentation, classication, restauration

Applications de plus haut-niveau :

graphe des rgions (bassins versants de la LPE, Suk, ...) graphe de primitives (contours, points caractristiques, lignes,...)

segmentation, reconnaissance dobjets structurs, interprtation de la scne

F. Tupin - Graphes p.24/53

Exemple sur un graphe dadjacence (T. Graud)

F. Tupin - Graphes p.25/53

Exemple sur un graphe de segments (F. Tupin)

F. Tupin - Graphes p.26/53

Exemple sur un graphe de rgions (F. Tupin)

F. Tupin - Graphes p.27/53

Exemple sur un graphe de rgions (F. Tupin)

F. Tupin - Graphes p.28/53

Mthodes 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 lattache aux donnes arcs entre voisins de poids Vc (0, 1)

solution MAP coupe de poids minimale cut(ES , EP ) = X


iES

Vc (yi |1) +

X
iEP

Vc (yi |0) +

X
(iEs ,j EP )

(xi = 1 pour i ES , xi = 0 pour i EP )

F. Tupin - Graphes p.29/53

Mthodes markoviennes et optimisation par ... graph-cuts


(xi = 1 pour i ES , xi = 0 pour i EP )

S(label 0)

coupe Vc(yi|0)

Vc(yi|1)

P (label 1)
F. Tupin - Graphes p.30/53

Mthodes markoviennes et optimisation par ... graph-cuts


Segmentation ou restauration niveaux de gris (Boykov, Veksler 99) : gnralisation de la mthode prcdente Dnition de deux espaces de mouvement (permettant de se ramener au cas binaire)

expansion de label : source S et puits P correspondant 2 labels diffrents et ) change : source S et puits P aux labels et

Optimisation par recherche itrative du graph-cut :

le graphe : pixels tiquets ces labels les poids dnis par la segm. courante faible nombre ditrations par rapport au recuit simul

NB : contrairement au cas binaire : pas de garantie sur loptimalit de la solution

F. Tupin - Graphes p.31/53

Reconnaissance des formes


Objet : dni par un ensemble de primitives (nuds du graphe) Relations binaires de compatibilit entre primitives (arcs du graphe) Clique : sous-ensemble de primitives compatibles 2 2 = conguration possible de lobjet Reconnaissance par dtection de la clique maximale

Recherche des cliques :

Problme NP-complet Pas dalgorithme qui soit dans tous les cas non exponentiel Construction dun arbre de dcision : un nud de larbre = 1 clique du graphe Elagage de larbre pour ne pas rengendrer les mmes cliques Thorme : soit S un nud de larbre de recherche T , et soit x le premier ls de S tre explor. Si tous les sous-arbres de S {x} ont t gnrs, il suft dexplorer les ls de S qui ne sont pas adjacents x.

F. Tupin - Graphes p.32/53

Exemple : dtection du bti par recherche de la clique maximale (IGN)

F. Tupin - Graphes p.33/53

Plan du cours
1. Dnitions et modles de reprsentation

2. Mthodes mono-graphes

Mthodes 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 tolrance derreur Mise en correspondance approximative (inexact matching)

F. Tupin - Graphes p.34/53

Mise en correspondance (matching) de graphes

Problme :

Graphe(s) modle(s) (atlas, carte, modle(s) dobjet(s)) Graphe image construit partir des donnes 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 rciproquement

Souvent trop strict isomorphismes de sous-graphes

F. Tupin - Graphes p.35/53

Isomorphismes de sous-graphes

Il existe un sous-graphe S de G tel que f soit un isomorphisme de G dans S


1 2 7 3 4 5 6 3 4 6 8 7 1 2 5 8

a a b b c d e c d d

Il existe un sous-graphe S de G et un sous-graphe S de G tel que f soit un isomorphisme de S dans S


F. Tupin - Graphes p.36/53

Isomorphismes de sous-graphes : recherche de cliques maximales


Recherche de la clique maximale du graphe dassociation

principe : construction du graphe dassociation clique maximale = isomorphisme de sous-graphes


3 2
a b

2 (1,2) (1,1) (2,1) (4,4) (2,2) (4,2) (2,4) (4,1) (3,3)


F. Tupin - Graphes p.37/53

(1,4)

Isomorphismes de sous-graphes : algorithme dUllman

Principe : extension dun ensemble dassociations (vi , wxi ) jusqu ce que tout le graphe G ait t parcouru. En cas dchec, on remonte larbre des associations (backtrack). Acclration : procdure forward checking avant dajouter une association. Algorithme :

matrice des associations de sommets matrice des associations futures possibles pour une liste dassociations donne liste des associations mise jour par les 2 procdures Backtrack et ForwardChecking

Complexit : pire cas O(mn n2 ) (n ordre de X , m de X , n < m)

F. Tupin - Graphes p.38/53

Plan du cours
1. Dnitions et modles de reprsentation

2. Mthodes mono-graphes

Mthodes 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 tolrance derreur Mise en correspondance approximative (inexact matching)

F. Tupin - Graphes p.39/53

Isomorphismes de sous-graphes avec tolrance derreurs



Monde rel : graphes bruits, incomplets, distorsions Distance entre graphes (oprations ddition, fonction de cot,...) Isomorphisme de sous-graphe avec tolrance derreurs : recherche du sous-graphe de G distance minimale de G Algorithmes optimaux : A (solution correcte assure, complexit exponentielle) Algorithmes approximatifs : gntiques, recuit simul, rseaux de neurones, relaxation probabiliste,...

minimisation itrative dune fonction objectif (distance de la solution courante la solution optimale) mieux adapts pour les grands graphes problmes de minima locaux et de convergence

F. Tupin - Graphes p.40/53

Algorithme A

Principe : construction dun arbre de recherche par appariements successifs des sommets avec valuation de la fonction de cot pour chaque tat (seuls les tats de cots infrieurs sont ensuite propags) Complexit : O(n2 mn ) (pire cas) Amlioration : estimation des cots futurs pour ne pas propager inutilement des branches

F. Tupin - Graphes p.41/53

Recalage carte + image SPOT (M. Roux)

F. Tupin - Graphes p.42/53

Recalage carte + image SPOT (M. Roux)

F. Tupin - Graphes p.42/53

Recalage carte + image SPOT (M. Roux)

F. Tupin - Graphes p.42/53

Recalage carte + image SPOT (M. Roux)

F. Tupin - Graphes p.42/53

Recalage carte + image SPOT (M. Roux)

F. Tupin - Graphes p.42/53

Recalage carte + image SPOT (M. Roux)

F. Tupin - Graphes p.42/53

Dcomposition en lments communs


Messmer (1996)
G1 d a b 1 b 2 d {1} {3} c d G2 d a {1,2} {3,2} d c e c 3 d G3 1 d d a a b d a {1,2,5} {3,2,5} a a 3 a {2} {6} 4 c {5} 5 e

{4}

6 a

5 c

4 e G1

c G2

c {1,2,5,4}

F. Tupin - Graphes p.43/53

Exemple
Reconstruction 3D par appariement entre un ensemble de graphes modles et un graphe de donnes (IGN)

F. Tupin - Graphes p.44/53

Plan du cours
1. Dnitions et modles de reprsentation

2. Mthodes mono-graphes

Mthodes 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 tolrance derreur Mise en correspondance approximative (inexact matching)

F. Tupin - Graphes p.45/53

Relaxation probabiliste

Expression du problme par MAP : max P (i = |xj,j N0 , Aij,j Ni )

Rgle de mise jour dun nud :


(n+1)

P (n) (i = i )Q(n) (i = i ) (i = i ) = P (n) ( = )Q(n) ( = ) i i P X


(n )

(i = ) = j Ni

P (n) (j = ) p(Aij |i = , j = )

Initialisation : P (0) (i = i ) = P (i = i |xi ) Arrt : nombre ditrations, probabilit proche de 1 des tiquettes des nuds, volution ngligeable

Modle derreur gaussien par rapport au modle : valuation des p(Aij |i = , j = ) Contraintes : dnir la probabilit dappariement au nud nul (nud du modle manquant, nuds faux des donnes) (niveau de bruit attendu dans le graphe)

F. Tupin - Graphes p.46/53

Reconnaissance des sillons corticaux (J.-F. Mangin)

F. Tupin - Graphes p.47/53

Reconnaissance des sillons corticaux (J.-F. Mangin)

F. Tupin - Graphes p.47/53

Reconnaissance des sillons corticaux (J.-F. Mangin)

F. Tupin - Graphes p.47/53

Reconnaissance des sillons corticaux (J.-F. Mangin)

F. Tupin - Graphes p.47/53

Activations en imagerie fonctionnelle (O. Coulon)

F. Tupin - Graphes p.48/53

Activations en imagerie fonctionnelle (O. Coulon)

F. Tupin - Graphes p.48/53

Activations en imagerie fonctionnelle (O. Coulon)

F. Tupin - Graphes p.48/53

Activations en imagerie fonctionnelle (O. Coulon)

F. Tupin - Graphes p.48/53

Activations en imagerie fonctionnelle (O. Coulon)

F. Tupin - Graphes p.48/53

Mise en correspondance approximative (inexact matching)


Fonction optimiser :

Fonction de dissimilarit entre nuds cN (aD , aM ) = X


N i d(aN i (aD ), ai (aM ))

i = 1

Fonction de dissimilarit entre arcs


2 1 2 CE ((a1 D , aD ), (aM , aM ))

1 2 A 1 2 j d(aA j (aD , aD ), aj (aM , aM ))

j = 1

Fonction de cot du matching h : X


aD ND

f (h) = |ND |

1 cN (aD , h(aD ))+ |ED |

X
(a1 ,a2 )ED D D

2 1 2 cE ((a1 D , aD ), (h(aD ), h(aD )))

Mthodes doptimisation :

algorithmes de recherche arborescente EM algorithmes gntiques rseaux baysiens et estimation de distributions


F. Tupin - Graphes p.49/53

Exemple : reconnaissance de structures crbrales (A. Perchant)

F. Tupin - Graphes p.50/53

Exemple : reconnaissance de structures du visage (R. Cesar et al.)

F. Tupin - Graphes p.51/53

Exemple : reconnaissance de structures du visage (R. Cesar et al.)


(0, 0)

(1, 1)

(1, 2)

...

(1, l min )

...

(1, |N 2 |)

(2, 1)

(2, 2)

...

(2, kmin ) etc.

...

(2, |N 2 |)

F. Tupin - Graphes p.51/53

Exemple : reconnaissance de structures du visage (R. Cesar et al.)


gradient extraction watershed algorithm input graph creation

frame i i=i+1 updated landmarks

model mask

model graph

affine transform

segmented / recognized features

graph matching process

F. Tupin - Graphes p.51/53

Exemple : reconnaissance de structures du visage (R. Cesar et al.)

Segmentation

Dformation du modle au cours de la squence (tracking)

F. Tupin - Graphes p.51/53

Exemple : reconnaissance de structures du visage (R. Cesar et al.)

F. Tupin - Graphes p.51/53

Exemple : reconnaissance de structures du visage (R. Cesar et al.)

F. Tupin - Graphes p.51/53

Matching par recherche dune transformation

Graphe = reprsentation dinformations topographiques Mise en correspondance = recherche de la transformation entre 2 graphes

transformation rigide transformation lastique (morphing) recherche du maximum de corrlation (translation) transforme de Hough (taille de lespace des paramtres) mthodes par gnration et propagation dhypothses aprs initialisation rigide, dplacements alatoires des sommets

Mthodes de mise en correspondance :

Exemple : reconnaissance de visages

F. Tupin - Graphes p.52/53

Exemple (Wiskott et al.)

F. Tupin - Graphes p.53/53

Вам также может понравиться