graphes en analyse d’images, vision, reconnaissance

78
Graphes en analyse d’images, vision, reconnaissance Florence Tupin [email protected] http://www.tsi.enst.fr/˜ tupin T ´ el ´ ecom ParisTech - CNRS UMR 5141 LTCI Paris - France F. Tupin - Graphes –p.1/57

Upload: others

Post on 17-Feb-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: Graphes en analyse d’images, vision, reconnaissance

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

Page 3: Graphes en analyse d’images, vision, reconnaissance

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

Page 4: Graphes en analyse d’images, vision, reconnaissance

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

Page 5: Graphes en analyse d’images, vision, reconnaissance

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

Page 6: Graphes en analyse d’images, vision, reconnaissance

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

Page 7: Graphes en analyse d’images, vision, reconnaissance

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

Page 8: Graphes en analyse d’images, vision, reconnaissance

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

Page 9: Graphes en analyse d’images, vision, reconnaissance

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

Page 10: Graphes en analyse d’images, vision, reconnaissance

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

Page 11: Graphes en analyse d’images, vision, reconnaissance

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

Page 12: Graphes en analyse d’images, vision, reconnaissance

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

Page 13: Graphes en analyse d’images, vision, reconnaissance

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

Page 14: Graphes en analyse d’images, vision, reconnaissance

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

Page 15: Graphes en analyse d’images, vision, reconnaissance

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

Page 16: Graphes en analyse d’images, vision, reconnaissance

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

Page 17: Graphes en analyse d’images, vision, reconnaissance

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

Page 18: Graphes en analyse d’images, vision, reconnaissance

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

Page 19: Graphes en analyse d’images, vision, reconnaissance

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

Page 20: Graphes en analyse d’images, vision, reconnaissance

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

Page 21: Graphes en analyse d’images, vision, reconnaissance

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

Page 22: Graphes en analyse d’images, vision, reconnaissance

Exemples (univ. Berkeley)

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

F. Tupin - Graphes – p.20/57

Page 23: Graphes en analyse d’images, vision, reconnaissance

Exemples (univ. Berkeley)

http://www.cs.berkeley.edu/projects/vision/Grouping/ F. Tupin - Graphes – p.20/57

Page 24: Graphes en analyse d’images, vision, reconnaissance

Exemples (univ. Berkeley)

http://www.cs.berkeley.edu/projects/vision/Grouping/ F. Tupin - Graphes – p.20/57

Page 25: Graphes en analyse d’images, vision, reconnaissance

Exemples (univ. Alberta) avec contraintes

linéaires

F. Tupin - Graphes – p.21/57

Page 26: Graphes en analyse d’images, vision, reconnaissance

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

Page 27: Graphes en analyse d’images, vision, reconnaissance

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

Page 28: Graphes en analyse d’images, vision, reconnaissance

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

Page 29: Graphes en analyse d’images, vision, reconnaissance

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

Page 30: Graphes en analyse d’images, vision, reconnaissance

Exemple sur un graphe d’adjacence (T. Géraud)

F. Tupin - Graphes – p.26/57

Page 31: Graphes en analyse d’images, vision, reconnaissance

Exemple sur un graphe de segments (F. Tupin)

F. Tupin - Graphes – p.27/57

Page 32: Graphes en analyse d’images, vision, reconnaissance

Exemple sur un graphe de régions (F. Tupin)

F. Tupin - Graphes – p.28/57

Page 33: Graphes en analyse d’images, vision, reconnaissance

Exemple sur un graphe de régions (F. Tupin)

F. Tupin - Graphes – p.29/57

Page 34: Graphes en analyse d’images, vision, reconnaissance

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

Page 35: Graphes en analyse d’images, vision, reconnaissance

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

Page 36: Graphes en analyse d’images, vision, reconnaissance

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

Page 37: Graphes en analyse d’images, vision, reconnaissance

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

Page 38: Graphes en analyse d’images, vision, reconnaissance

Exemples - optimisation multi-labels

F. Tupin - Graphes – p.34/57

Page 39: Graphes en analyse d’images, vision, reconnaissance

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

Page 40: Graphes en analyse d’images, vision, reconnaissance

Exemple : détection du bâti par recherche de la

clique maximale (IGN)

F. Tupin - Graphes – p.36/57

Page 41: Graphes en analyse d’images, vision, reconnaissance

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

Page 42: Graphes en analyse d’images, vision, reconnaissance

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

Page 43: Graphes en analyse d’images, vision, reconnaissance

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

Page 44: Graphes en analyse d’images, vision, reconnaissance

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

Page 45: Graphes en analyse d’images, vision, reconnaissance

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

Page 46: Graphes en analyse d’images, vision, reconnaissance

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

Page 47: Graphes en analyse d’images, vision, reconnaissance

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

Page 48: Graphes en analyse d’images, vision, reconnaissance

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

Page 49: Graphes en analyse d’images, vision, reconnaissance

Recalage carte + image SPOT (M. Roux)

F. Tupin - Graphes – p.45/57

Page 50: Graphes en analyse d’images, vision, reconnaissance

Recalage carte + image SPOT (M. Roux)

F. Tupin - Graphes – p.45/57

Page 51: Graphes en analyse d’images, vision, reconnaissance

Recalage carte + image SPOT (M. Roux)

F. Tupin - Graphes – p.45/57

Page 52: Graphes en analyse d’images, vision, reconnaissance

Recalage carte + image SPOT (M. Roux)

F. Tupin - Graphes – p.45/57

Page 53: Graphes en analyse d’images, vision, reconnaissance

Recalage carte + image SPOT (M. Roux)

F. Tupin - Graphes – p.45/57

Page 54: Graphes en analyse d’images, vision, reconnaissance

Recalage carte + image SPOT (M. Roux)

F. Tupin - Graphes – p.45/57

Page 55: Graphes en analyse d’images, vision, reconnaissance

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

Page 56: Graphes en analyse d’images, vision, reconnaissance

ExempleReconstruction 3D par appariement entre un ensemble de graphes modèles et ungraphe de données (IGN)

F. Tupin - Graphes – p.47/57

Page 57: Graphes en analyse d’images, vision, reconnaissance

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

Page 58: Graphes en analyse d’images, vision, reconnaissance

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

Page 59: Graphes en analyse d’images, vision, reconnaissance

Exemple- Kostin et al. 2005

F. Tupin - Graphes – p.50/57

Page 60: Graphes en analyse d’images, vision, reconnaissance

Reconnaissance des sillons corticaux (J.-F. Man-

gin)

F. Tupin - Graphes – p.51/57

Page 61: Graphes en analyse d’images, vision, reconnaissance

Reconnaissance des sillons corticaux (J.-F. Man-

gin)

F. Tupin - Graphes – p.51/57

Page 62: Graphes en analyse d’images, vision, reconnaissance

Reconnaissance des sillons corticaux (J.-F. Man-

gin)

F. Tupin - Graphes – p.51/57

Page 63: Graphes en analyse d’images, vision, reconnaissance

Reconnaissance des sillons corticaux (J.-F. Man-

gin)

F. Tupin - Graphes – p.51/57

Page 64: Graphes en analyse d’images, vision, reconnaissance

Activations en imagerie fonctionnelle (O.

Coulon)

F. Tupin - Graphes – p.52/57

Page 65: Graphes en analyse d’images, vision, reconnaissance

Activations en imagerie fonctionnelle (O.

Coulon)

F. Tupin - Graphes – p.52/57

Page 66: Graphes en analyse d’images, vision, reconnaissance

Activations en imagerie fonctionnelle (O.

Coulon)

F. Tupin - Graphes – p.52/57

Page 67: Graphes en analyse d’images, vision, reconnaissance

Activations en imagerie fonctionnelle (O.

Coulon)

F. Tupin - Graphes – p.52/57

Page 68: Graphes en analyse d’images, vision, reconnaissance

Activations en imagerie fonctionnelle (O.

Coulon)

F. Tupin - Graphes – p.52/57

Page 69: Graphes en analyse d’images, vision, reconnaissance

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

Page 70: Graphes en analyse d’images, vision, reconnaissance

Exemple : reconnaissance de structures

cérébrales (A. Perchant)

F. Tupin - Graphes – p.54/57

Page 71: Graphes en analyse d’images, vision, reconnaissance

Exemple : reconnaissance de structures

du visage (R. Cesar et al.)

F. Tupin - Graphes – p.55/57

Page 72: Graphes en analyse d’images, vision, reconnaissance

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

Page 73: Graphes en analyse d’images, vision, reconnaissance

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

Page 74: Graphes en analyse d’images, vision, reconnaissance

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

Page 75: Graphes en analyse d’images, vision, reconnaissance

Exemple : reconnaissance de structures

du visage (R. Cesar et al.)

F. Tupin - Graphes – p.55/57

Page 76: Graphes en analyse d’images, vision, reconnaissance

Exemple : reconnaissance de structures

du visage (R. Cesar et al.)

F. Tupin - Graphes – p.55/57

Page 77: Graphes en analyse d’images, vision, reconnaissance

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

Page 78: Graphes en analyse d’images, vision, reconnaissance

Exemple (Wiskott et al.)

F. Tupin - Graphes – p.57/57