Reconnaissance de formes

publicité
RECONNAISSANCE DE FORMES
A. approche statistique pour les objets « simples » : mesure sur des objets
par exemple en chaîne de production « bons » et « mauvais »
B. approche structurelle : description d’objets complexes sous forme de
graphes liant des objets plus simples pour représenter ces objets complexes
ECRITURE MANUSCRITE
SIGNATURE
VISAGES, BIOMETRIE
OBJETS ET ENVIRONNEMENT EN ROBOTIQUE
idée à retenir : tout cela ne marche pas très bien les approches sont encore
élémentaires ; on ne sait pas encore mimer le fonctionnement cérébral
1
A. approche statistique
approche standard en reconnaissance de formes d’objets « simples »
(classification)
un objet analysé à reconnaître est représenté sous la forme
d’un vecteur de paramètres
nécessité d’un
dans le même espace, on dispose de formes types,
apprises au préalable correspondant aux objets à reconnaître apprentissage
reconnaître l’objet c’est décider que le vecteur caractérisant
l’objet analysé à reconnaître est suffisamment proche d’un
des vecteur mémorisés lors de l’apprentissage
approche probabiliste ; théorie de la décision (critère de bayes
et de neyman pearson)
problèmes : bruit, préanalyse incorrecte (contours, régions)
fluctuations importantes d’un objet à l’autre
2
http://www.ee.columbia.edu/~sfchang/course/spr/
Reconnaissance de formes
Approche statistique
Un objet est décrit comme un ensemble de paramètres (un vecteur
de dimension réduite)
longueur
largeur
3
Il y a des fluctuations d’un objet à l’autre
Chaque groupe (classe) est associée à un nuage de points
Comment décide t on de l’appartenance à une classe ?
longueur
longueur
L
L
R
R
largeur
largeur
Formalisation probabiliste
4
mesure de paramètres
objet représenté par un vecteur
séparation de
l’espace des
paramètres en régions
5
représenter les classes sous forme de densités de probabilités
6
maximiser la probabilité d’appartenance à une classe
7
Probabilité d’appartenance à un des deux groupes
xL  0.3 L  0.1
  xn  xL 2


pLn 
exp

0.5
2 
 2 L

p x|L L( 2  )
1
xR  1
R  0.2
  xn  xR 2


pRn 
exp

0.5
2 
R( 2  )
2 R


p x|R
1
5
p x|L
p Ln
p Rn
0
10
p x|R
2.5
0
0.5
1
1.5
2
1.5
2
xn
10
p Ln
5
p Rn
0
0
0
0
0.5
1
xn
2 8
  xn  xL 2
  xn  xR 2
1




 dessousexp
pRque
 x appartient
exp à la classe L
n
SeuilpL
s nen
duquel
on
décide


0.5
2 
0.5
2 
L( 2  )
R( 2  )
 2 L 
 2 R 
1
2
0.
papL  0.7
0.588
papR  0.3
p Ln
p Rn
p Ln p ap L
1
p Rn p ap R
0
0
0.5
s
1
1.5
2
xn
Evaluation de la probabilité d’erreur
p x|L dx
s
Rapport de vraisemblance
Extension : test d’hypothèse en statistique (critère de Neyman Pearson)
9
Notions de Théorie de la Décision
décider si un élément
caractérisé par un vecteur de paramètres
appartient à une classe ou à une autre
3
2
1
ya n
0
yb n
yk k
1
2
3
4
séparatrice
2
1.5
1
0.5
0
0.5
1
1.5
2
2.5
3
3.5
4 .
xa n  xb n  xk k
10
probabilité d’erreur
évaluer le coût des erreurs de décision
en déduire le critère de décision
deux approches classiques
élémentaire : Bayes
plus élaboré : Neyman Pearson
11
Approche bayesienne
y réel, peut être produit uniquement
par une cause u qui ne prend que les
valeurs 0 ou 1 ;
probabilités pour que u = 0 ou 1, q0 et q1, connues
Si la cause est u = 0 , la loi de probabilité de y est p(y|u = 0)
si la cause est u = 1 , la loi de probabilité de y est p(y|u = 1)
12
Le problème de la décision : on a mesuré y ;
choisir parmi les deux propositions (d = 0 et d = 1):
‘y a été causé par u = 0’ ou ‘y a été causé par’ u = 1 ;
il faut se donner une fonction de pénalité :
les quatre coûts associés aux situations possibles
c(0|0) quand on choisit
c(0|1) quand on choisit
c(1|0) quand on choisit
c(1|1) quand on choisit
d = 0 et que la vraie valeur est u = 0
d = 0 et que la vraie valeur est u = 1
d = 1 et que la vraie valeur est u = 0
d = 1 et que la vraie valeur est u = 1
13
Pour une valeur de y mesurée,
on choisira d = 0
si le coût associé à ce choix est moins élevé
que le coût associé au choix d = 1
Calcul de la valeur moyenne du
coût associé au choix u = 0
en tenant compte du fait que
cette valeur de y a pu avoir une
des deux causes
14
les quatre possibilités de choix
les probabilités associées
u=0 & d=0
u=0 & d=1
p(y|u=0).q0
p(y|u=0).q0
u=1 & d=0
u=1 & d=1
p(y|u=1).q1
p(y|u=1).q1
15
Les coûts moyens associés aux décisions sont obtenus
en considérant pour chaque décision
les probabilités des valeurs possibles de u :
d=1
d=0
c(0|0) p(y|u=0).q0+ c(0|1)p(y|u=1).q1
c(1|0) p(y|u=0).q0 + c(1|1)p(y|u=1).q1
On choisit d = 0 si, en moyenne,
cela coûte moins que de choisir d = 1,
c(0|0) p(y|u=0).q0+ c(0|1)p(y|u=1).q1
<
c(1|0) p(y|u=0).q0 + c(1|1)p(y|u=1).q1,
16
c(0|0) p(y|u=0).q0+ c(0|1)p(y|u=1).q1< c(1|0) p(y|u=0).q0 + c(1|1)p(y|u=1).q1,
(c(0|1) - c(1|1))p(y|u=1).q1 < (c(1|0) - c(0|0) )p(y|u=0).q0 .
hypothèse : coûts des mauvaises décisions plus élevés
que coûts des décisions correctes
(c(0|0)< c(1|0) et c(1|1)< c(0|1)),
on choisira d = 0 lorsque
p( y | u  1) q1 c(1 | 0) - c(0 | 0)
. 
p( y | u  0) q0 c(0 | 1) - c(1 | 1)
17
Un exemple :
deux lois de probabilités conditionnelles gaussiennes
18
1
choix des
valeurs des pénalités c(1 | 0) - c(0 | 0)  2
c(0 | 1) - c(1 | 1)
p0 q0
p1 q1
0.1
Pour minimiser le critère, on choisira l’hypothèse u = 1
si y est dans l’intervalle (ymin=0.87 , ymax=1.21) ;
0.01
4 en 2dehors
0
2
4
6
8
si y est
de
cet
intervalle,
on choisira u = 0.
y
p( y | u  1) q1 c(1 | 0) - c(0 | 0)
. 
p( y | u  0) q0 c(0 | 1) - c(1 | 1)
3
0.87
1.21
2

p1 q1
2
p0 q0
1
.
0
0.6
0.71
0.81
0.92
1.02
1.13
y
1.23
1.34
1.44
1.54
19
probabilité de détection correcte
probabilité d’erreur (fausse alarme)
20
Règle de Bayes :
définition des probabilités conditionnelles p(u  0 y) 
p(u  0 et y)
p(y)
On écrit de deux manières différentes
p(u  0 et y)  p(u  0 y). p(y)  p( y u  0). p(u  0 )
p(u = 0| y) peut être écrit en fonction de p(y|u = 0)
p(u  0 et y ) p( y u  0) p(u  0)
p(u  0 y ) 

p(y)
p(y)
la probabilité p(y) s’écrit en fonction des probabilités conditionnelles
p(y)  p( y u  0) p(u  0)  p( y u  1) p(u  1)
et on en déduit
p( y u  0) p(u  0)
p(u  0 y ) 
p( y u  0) p(u  0)  p( y u  1) p(u 21
 1)
.
Critère de Neyman Pearson
probabilités a priori des causes q0 = p(u=0) et q1 = p(u=1) inconnues.
décider
si une mesure x correspond à l’émission d’une donnée u = 0,
et dans ce cas la densité de probabilité de x est p0(x) ;
ou si elle correspond à l’émission u = 1,
et dans ce cas la densité de probabilité de x est p1(x) ;
maximiser la probabilité de détection correcte (ici u=1)
sous la contrainte que la probabilité de fausse alarme
ne dépasse pas un seuil fixé a priori
22
0.8
les densités de probabilités
des événements :
rouge : il y a erreur
vert : la détection est correcte
 n  4  1  1

N

0.6
 n  4  2  0.5

N

0.4
dnorm
dnorm
0.2
.
0
0
1
2
n
4
N
quand faut il décider qu’il y a effectivement détection?
(elle ne peut pas toujours être correcte)
calcul sur un domaine xmin<xmax des probabilités
de fausse alarme et de détection correcte
3
4
calcul sur un domaine xmin<xmax des probabilités
de fausse alarme et de détection correcte
xmaxm





pfa
 si xmax  xmin  
dnorm( x 1  1) d x 0
m n
m
n


xmin
n


xmaxm





pdc
 si xmax  xmin  
dnorm( x 2  0.5) d x 0
m n
m
n


xmin
n


xmin
xmin
xmax<xmin
xmax<xmin
xmax
pfa
probabilité de fausse alarme
xmax probabilité de décision correcte
24
pdc
domaine où la probabilité de fausse alarme
est en dessous d’un seuil fixé à 0.1
xmin
sur ce domaine : probabilité
de détection correcte
xmin
xmax<xmin
xmax<xmin
xmax
pfav
probabilité de fausse alarme
xmax
probabilité de décision correcte
pdcs
pfa
pfa
sur la frontière (pfa =0.1niveau rouge sur la figure de gauche)
on trouve le maximum de la probabilité de décision correcte
25
Critère de Neyman Pearson
probabilités a priori des causes q0 = p(u=0) et q1 = p(u=1) inconnues.
décider
si une mesure x correspond à l’émission d’une donnée u = 0,
et dans ce cas la densité de probabilité de x est p0(x) ;
ou si elle correspond à l’émission u = 1,
et dans ce cas la densité de probabilité de x est p1(x) ;
on décidera que d = 1 si
r ( x) 
p1 ( x)
p0 ( x )
dépasse un seuil s donné de la manière suivante
26
maximiser la probabilité pdc
de détection correcte (d = 1 quand u = 1) ;
( la probabilité pem d’un événement manqué
(d = 0 alors que u = 1) vaut 1 - pdc;)
pour chaque mesure x, considérer la probabilité
pfa d’une fausse alarme (d = 1 alors que u = 0)
probabilité de fausse alarme pfa : probabilité que u = 0
alors que r ( x) 
p1 ( x)
p0 ( x )
dépasse le seuil s
pfaest l’intégrale de la densité de probabilité p0(x)
calculée pour l’ensemble des valeurs (domaine D) de x
pour lequel ce seuil est dépassé
p fa   p0 ( x)dx
D
27
les probabilités a priori des causes ne sont pas prises en compte ;
Exemple de densités de probabilité et de leur rapport
utilisé pour illustrer l’approche de Neyman Pearson
si le seuil s est choisi égal à 2, on décide d = 1 lorsque x est dans l’interv. (0.7, 1.4)
probabilité de détection correcte
probabilité de fausse alarme
p fa 
1
 0.
1.38

2 0.7
exp 
x2
2 0
2
dx = 0.158






1.38
0.7
  y  m 2
1
1 
 
 exp
d y  0.904


0.5
2
1  2  
2




1


28
Neyman Pearson : on se donne un seuil a
que cette probabilité de fausse alarme pfa ne doit pas dépasser
et on en déduit le seuil s utilisé dans la décision
cas où r(x) (rapport des densités de probabilités)
est une fonction croissante puis décroissante
le domaine D se réduit à un segment
borne inférieure xmin
borne supérieure xmax
dans l’intervalle [xmin, xmax] : r(x) > s
une fois a fixé maximiser la probabilité de décision correcte
x max
pdc  x min p1 ( x)dx
29
comment ajuster s et par conséquent les bornes xmin et xmax
pour maximiser la probabilité de décision correcte,
tout en assurant que la probabilité de fausse alarme
x max
p fa  x min p0 ( x)dx
ne dépasse pas le seuil a.
illustration sur un exemple (lois gaussiennes)
si s est fixé : calculer les valeurs xmin et xmax
entre lesquelles on décidera d=1
Le dépassement du seuil par le rapport des deux lois :
 x 2 x  m1 2 
0
s
exp 2 
2
 2
1
2 1 
 0
30
soit, en logarithmes :
 x 2 x  m1 2 
0
0
log(
) 2 
2

 1.s  2 0
2 1 
en fonction des puissances de x
 02   12 2
m1
m12
 1.s
x

2
x


2
log(
)0
2 2
2
2

 01
1
1
0
Les deux valeurs du dépassement du seuil
sont racines d’une équation du deuxième degré
 02  12  m12
1.s 
 4 
.

2
log(
)
2 2  2
0 
1
 01  1
m12
 0212  m1
0.5 
x min  2
  
2 2
 0  1  1

 0212  m1
0.5 
x max  2
  
2 2
 0  1  1

31
pour tous les seuils s
calculer xmin et xmax
- en déduire la proba
de fausse alarme
- trouver la valeur de s
pour laquelle cette pfa
atteint la borne qu’on
s’est fixé
(calcul complémentaire
pdc)
32
Valeur des limites xmin et xmax du domaine de décision d =1, en fonction du seuil s
probabilité de fausse alarme et probabilité de détection correcte en fonction du seuil s.
Si la probabilité de fausse alarme est de 0.1, on choisira un seuil de décision à 4.5,
ce qui correspondra aux bornes xmin = 0.824 et xmax = 1.259
33
et une probabilité de décision correcte de 0.709

 0.5
2
2  xR yR 1  rR
 2xR xR
2xR yR
2yRyR 
longueur
pL  pR2
L
pL  pR2
R
Dans le cas multidimensionnel
Séparatrices entre les
Nuages de points
(souvent, mais pas nécessairement
Des droites ou des plans)
largeur
gaussiennes dans un espace de dimension élevée
34
distance de mahalanobis
3
2
1
ya n
0
yb n
yk k
1
2
3
4
2
1.5
1
0.5
0
0.5
1
1.5
2
2.5
3
3.5
4 .
xa n  xb n  xk k
35
essayer de quantifier
les décisions correctes (hypothèses 1 et 2
les erreurs (1 ou lieu de 2 ou 2 au lieu de 1)
à partir des probabilités d’erreur
et les conséquences de ces fausses décisions
(par exemple risque de faux diagnostic médical)
règle de probas à ne pas oublier :
‘‘ la loi des grands nombres ne s’applique pas aux petits ! ’’
36
analyse en composantes
principales
réduire le nombre de composantes
d’un vecteur
en essayant de garder l’information
la plus pertinente
pour ne pas détériorer la
discrimination entre classes
37
(vecteurs propres de la
matrice de covariance)
38
apprentissage
Trouver les paramètres des lois de probabilités des classes
ou les séparatrices de ces classes
A. Si un « superviseur » connaît les classes d’échantillons test
On déduit de ces échantillons les moyennes et les variances
caractérisant les différentes classes ; voir les enseignements
sur les estimations de paramètres
B. génération automatique de la description des classe
envisageable si les classes sont assez bien séparées
(voir la présentation sur les champs de Markov)
à appliquer avec précaution ; éviter de traiter des vecteurs de grande dimension
39
première classification par les k-means
chaque échantillon (x,y) a une valeur f (x,y)
initialisation
affecter un numéro de classe i à chaque échantillon au hasard
boucle
calculer la moyenne sur les valeurs des échantillons
(centre ci) de chacune des classes
pour chaque échantillon, affecter maintenant
le numéro de la classe dont le centre ci
est le plus proche de cet échantillon ;
test d’arrêt
réitérer ce processus jusqu’à stabilisation
la distance de chaque échantillon à chacun des centres de classe ci est calculée
d (x,y, ci)
40
http://en.wikipedia.org/wiki/K-means_clustering
convergence non garantie !
41
méthodologie générale de l’apprentissage
’’expectation maximization’’
http://en.wikipedia.org/wiki/Expectation-maximization_algorithm
42
http://www.ee.columbia.edu/~sfchang/course/spr/
nombre de gaussienne K fixé a priori
on recherche un maximum local
calcul itératif :
43
Catherine Aaron Université Paris I
http://samos.univ-paris1.fr/archives/ftp/preprints/samos212.pdf
Expectation Maximization
Une variable aléatoire peut suivre l’une ou l’autre de deux lois de probabilités
Comment retrouver à laquelle des deux lois appartient un échantillon
Tout en ajustant les paramètres des lois de probabilité pour qu’elles
« collent » le mieux possible aux données
44
Expectation Maximization
Une variable aléatoire y suit une des deux lois de probabilité
1
 y    
p ( y) 
exp 
 avec la probabilité r
 2
2


2
0
0
2
1
 y    
p ( y) 
exp 

 2
2



2
avec la probabilité (1  r )
1
1
2
(Les deux lois ont des moyennes différentes et la même variance )
Une fonction indicatrice
z 0
z 1
j
j
y
y
si
si
j
j
suit la loi p ( y)
0
suit la loi p ( y)
1
Vraisemblance d’une séquence de mesures
 p y
j 1
0

1 z j
N
j
. p y
1
y ,, y ,, y
1
j
N

zj
j
Handbook of Computational Statistics
45
J.E. Gentle, W. Härdle, Y. Mori, ISBN-10: 3540404643
Expectation Maximization
Maximisation de la vraisemblance (ou de la log-vraisemblance)
en effectuant alternativement les deux étapes :
1. Expectation
Réactualisation de la probabilité que
y
j
suive l’une des lois
r. p ( y )
 
1  r . p ( y )  r. p ( y )
1
j
j
0
j
1
j
(On remplace artificiellement z j par sa moyenne)
2. Maximization
46
1. Expectation
pour j  1,, N
r. p ( y )
 
1  r . p ( y )  r. p ( y )
1
j
j
0
j
1
j
2. Maximization
Maximum de la log-vraisemblance (par annulation des dérivées
partielles par rapport aux paramètres à estimer ) r 0 1 
Réactualisation des valeurs des paramètres
 1   . y
N
1
r  
N
N
j 1
 
j
0
j
j 1
N  
 
j
N
j 1
 . y
N

N
j 1
j
j 1
2
j
j
0
j
j
j
N
1
1
   (1   ).( y   )   .( y   )
N
2
j
j 1
1
2
j

On réitère les deux étapes 1 et 2 jusqu’à convergence
47
0.3
1
  0.4
0.5
0.15
r  0.8
.
0
2
1
0
m0  1
1
.
0
2
2
1
0
1
2
m1  1
1
1
0.5
0
0
0.5
.
.
1
2
1
0
1
2
1
0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
48
1.1
Évolution des paramètres des densités de probabilités
0.3
1
0.8
0.6
  0.4
0.5
0.15
r  0.8
0.4
0.2
.
0
2
1
0
m0  1
Données
de
la simulation
1
.
0
2
2
1
0
.
0
2 2
1
1
Convergence
en cours
m1  1
1
0
1
2
Convergence
1
1
0
0
0.5
0
0.5
.
.
1
2
1
0
1
2
1
0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1
.
1
0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1
Évolution de la probabilité d’appartenance à une des deux classes
49
50
http://www.ee.columbia.edu/~sfchang/course/spr/
Introduction aux \Support Vector Machines" (SVM)
http://www.math.u-psud.fr/~blanchard/gtsvm/intro.pdf
51
Support Vector Machines" (SVM)
1. transformation non linéaire des données pour trouver une séparation
linéaire des données d’apprentissage dans un nouvel espace
2. chercher un hyperplan dont la distance
minimale aux exemples d’apprentissage
est maximale
52
H. Mohamadally B. Fomani, U. Versailles St Quentin
SYNTHESE
53
B. Approche structurelle
Un objet complexe est décrit comme un mot composé
de lettres d’un alphabet prédéfini
et des relations de position entre ces lettres
Mais ...
lettres manquantes, relations de position erronées ...
Distances entre graphes
rechercher dans la base des graphes, celui qui est le plus proche
du graphe déduit des données analysées
http://www.cs.bilkent.edu.tr/~saksoy/courses/cs551-Spring2008/slides/cs551_structural.pdf
Schalkoff, Pattern Recognition: Statistical, Structural and Neural Approaches, 1992
54
55
http://wwwisg.cs.uni-magdeburg.de/bv/files/LV/Pattern_Recognition/VL/L12_Structural%20Pattern%20Recognition.pdf
A gauche, et se prolongeant en dessous, la
clef n°162 (marcher vite) sous sa forme
simplifiée (trois ou quatre traits, suivant
comment on le dessine). Le bloc interne qu'il
isole est une composition verticale.
Sous le bloc interne, quatre traits qui forment
la clef n° 61 (coeur)
Au dessus de ce même bloc, la clef 116 (trou),
cinq traits. Le bloc interne est une
composition horizontale.
A gauche, une clef de quatre traits qui est soit
la clef n°74 (lune), soit plus probablement la
clef n° 130 (chair).
A droite, une clef de deux traits, la clef n° 18
(couteau), qui en position latérale se trace
simplement sous forme de deux traits
verticaux.
Enfin, le bloc interne est une composition
verticale en triptyque, où un caractère est
encadré par deux exemplaires d'un autre.
Au centre, une autre superposition verticale de
la clef n° 149 (mot), sept traits, et de la clef n°
187 (cheval) de neuf traits. Cette combinaison
ne figure pas dans les dictionnaires courants.
De part et d'autre, une superposition verticale
de la clef n° 52 (petit), de trois traits, et de la
clef n° 168 (long) de huit traits. Cette
56 les
combinaison ne figure pas non plus dans
dictionnaires courants.
la reconnaissance d’objets complexes
nécessité d’une représentation structurée
élément simple
p ex morceau
de contour
regroupement
regroupement
objet complexe
élément simple
p ex morceau
de contour
regroupement
regroupement
relations
entre éléments
regroupés
progression dans la reconnaissance
nécessité de prendre
en compte les erreurs
de prétraitement
il faut pouvoir remettre en cause
une décision qui a été prise
antérieurement (processus itératif)
57
58
59
60
61
62
63
exemple de reconnaissance d’écriture manuscrite
contours haut et bas
segmentation
reconnaissance des « segments » dans une base
de segments mémorisés et de leurs enchaînements
(modèles de markov)
Abdenaim EL YACOUBI (la poste nantes)
64
ftp://ftp.irisa.fr/local/IMADOC/lorette/elyacoubi/MOUNIM.PPT
http://www.cs.bilkent.edu.tr/~saksoy/courses/cs551-Spring2008/slides/cs551_structural.pdf
Schalkoff, Pattern Recognition: Statistical, Structural and Neural Approaches, 1992
recognition and classification are done using:
I Parsing (analyse syntaxique, compilation) (for formal
grammars),
I Relational graph matching (for relational descriptions).
66
String matching: Given string x and text, determine whether
x is a factor of text, and if so, where it appears.
I String edit distance: Given two strings x and y, compute the
minimum number of basic operations — character insertions,
deletions and exchanges — needed to transform x into y.
I String matching with errors: Given string x and text, find the
locations in text where the “distance” of x to any factor of text
is minimal.
I String matching with the “don’t care” symbol: This is the
same as basic string matching but the special “don’t care”
symbol can match any other symbol.
67
I Substitutions: A character in x is replaced by the corresponding character in y.
I Insertions: A character in y is inserted into x, thereby increasing the length of x
by one character.
I Deletions: A character in x is deleted, thereby decreasing
the length of x by one character.
68
Techniques based on tree search
• The basic idea
– A partial match (initially empty) is iteratively expanded by
adding to it new pairs of matched nodes.
– The pair is chosen using some necessary conditions, usually
also some heuristic condition to prune unfruitful search paths.
– Eventually, either the algorithm finds a complete matching, or
no further vertex pairs may be added (backtracking)
– For PR the algorithm may consider the attributes of nodes and
edges in constraining the desired matching.
http://www.prip.tuwien.ac.at/teaching/ss/strupr/matching.ppt#288,14,Techniques based on tree search
69
70
Reconnaissance de séquences fondée sur
les Modèles de Markov Cachés
Hidden Markov Models
Formulation en reconnaissance de séquence
2.1 Reconnaissance (Viterbi)
2.2 Probabilité d’une séquence
2.3 Apprentissage
http://htk.eng.cam.ac.uk/
71
2. Automates utilisés dans les modèles de Markov cachés
n’
mesures
n
b(m, n')
états
m’
b(m, n)
m
(Probabilités)
a(m', m)
transition
Séquence d’états :
S  s0 , s1 ,, sT 
Séquence de mesures :
Y   y0 , y1 ,, yT 
a(m', m)  p( st  m'/ st 1  m)
probabilité de transition de l’état m’ à l’état m
b(m, n)  p( yt  n / st  m)
probabilité de mesurer ‘n’ quand l’automate est
dans l’état m
d (m)  p( s0  m)
probabilité que l’état initial soit m
72
Modèles de Markov Cachés (HMM Hidden Markov Models)
par exemple pour mesurer la ressemblance entre deux contours de lettres
On écarte les portions de contour qui ne sont pas des côtés parallèles d’un segment
modèle de Markov
Un état = Une mesure
tenir compte du fait qu’un état peut
73
produire plusieurs mesures possibles
Les trois problèmes :
Séquence d’états : S  s0 , s1 ,, sT 
Séquence de mesures :Y   y0 , y1 ,, yT 
1. Reconnaissance : Y donné quelle est la S la plus probable ?
2. Quelle est la probabilité d’observer Y avec l ’automate (a,b,d) ?
3. Apprentissage : comment calculer a(m,m’), b(m,n) et d(m)
74
SHAPE MATCHING BASED ON GRAPH ALIGNMENT USING HIDDEN MARKOV MODELS
Xiaoning Qian and Byung-Jun Yoo University of South Florida
75
L'algorithme de Needleman et Wunsch (programmation dynamique)
Laurent Bloch, 2006
savoir si deux mots se ressemblent,
quel est leur degré de ressemblance,
ou de trouver, dans un ensemble de mots,
celui qui ressemble le plus à un mot-cible
un score de ressemblance
un alignement des deux chaînes
(qui n’ont pas forcément la même longueur)
selon la configuration
qui procure le meilleur score ;
La programmation dynamique résout des problèmes
en combinant des solutions de sous-problèmes.
(Thomas Cormen, Charles Leiserson, Ronald Rivest
et Clifford Stein, Introduction à l’algorithmique)
76
séquence n° 1 : G A A T T C A G T T A
séquence n° 2 : G G A T C G A
1. Remplir la matrice
la « prime de score » pour la comparaison
Initialisation
du résidu de rang i de la première séquence
avec le résidu de rang j de le seconde séquence
sera
Si,j = 1 si les deux résidus sont identiques,
sinon
Si,j = 0 (score de discordance) ;
w = 0 (pénalité de gap).
2.Déterminer l'alignement optimal
77
a titre d’illustration :
un exemple simple dans le cas de l’écriture manuscrite
- extraction des contours
- quantification en fonction de la pente
- description sous forme d’un graphe
-comparaison avec un graphe mémorisé
(éventuellement prise en compte de la distance
entre graphes)
78
5
6
4
3
8 ANGLES
2
1
7
1
0.67
0.41
0.2
0
0
-0.1
QUANTIFICATION DES PENTES DES CONTOURS
79
16 ANGLES
1
0.82
0.67
0.53
0.41
0.3
0.2
0.1
0
-0.1
QUANTIFICATION DES PENTES DES CONTOURS
80
A. Mesure et quantification des pentes des contours
par exemple huit pentes possibles
(horizontale, verticale, oblique gauche et oblique droite)
B. Recherche de tronçons aux côtés parallèles l’un en face de l’autre
(typiquement analyse du type morphologie mathématique)
puis élimination dans la description des autres éléments de contours
81
g
b
b
a b
g
5
b
d
a
g
d
b
0
a
g
d
a
b
g3b g3b a5d a5d
d3a d0a b5g
d3a b5g
g0b
plusieurs contours
g
d
g
5
3
b
d
7
4
d
g
a
a
d
a
b
3
0
3 ad
g
a
b
g
b
d
a
6
b
d g
g
d
a
bg 3
0
a
d
a3d a0d g6b g 4b g 3b g 0b a7d
b3g b0g d6a d4a d3a d0a b7g
un seul contour
Recherche de la forme dans une base en mémoire :
on peut avoir des milliers voire des millions de formes type
82
Si on ne trouve pas la séquence de la forme en mémoire
On cherche si il y a une forme proche,
La méthode la plus ‘reconnue’ est celle des
‘Modèles de Markov Cachées’
Coopération entre différents niveaux
Module de reconnaissance
1
2
? Forme inconnue
5
‘A’ !
4
Morphologie mathématique : 3
Ici l’extension de région
Peut fermer la boucle et
permettre la reconnaissance
83
Ecriture manuscrite cursive
Découpe en formes élémentaires plus simples
Par exemple en cassant des segments horizontaux
Ou obliques situés sur le contour extérieur
En supposant que le mot existe dans le dictionnaire :
Trouver le mot du dictionnaire
dont la séquence ressemble le plus à celle qui a été analysée
la plupart du temps, elle ne sera pas telle quelle dans le dictionnaire ;
là encore les modèles de markov cachés Sont un outil efficace
84
reconnaissance de visages
approche statistique
(eigenfaces)
approche structurelle
(relations entre éléments
caractéristiques)
85
point de départ : détection des éléments de contour
E
B
1. recherche par corrélation d’éléments simples :
en « balayant » l’image, est ce que le médaillon
analysé ressemble à l’image simple à laquelle
on le compare (sourcil, œil, nez, bouche)
(on peut avoir plusieurs formes pour ces images
simples)
A
C
F
E
2. Vérification de la cohérence
au dessus
au dessus
B
D
au dessus à gauche
3. Retour à l’image initiale
pour essayer d’affiner l’analyse
F
D
au dessus à droite
A
en dessous
C
86
détection de visage
images grossières avec peu de détails
apprendre à partir de visages types
comment caractériser la notion de « visage »
comment rechercher dans l’image les domaines qui présentent ces caractéristiques
et les différencier de ceux qui ne les présentent pas ?
faut il décrire le visage ? ou bien en faire une présentation paramétrique approximative
(avec peu de paramètres) (approche statistique)
représentation paramétrique dans un espace de dimension réduite
http://www.ensta.fr/~manzaner/Cours/Ese24/Proj_Visages/Hjelmas2001.pdf
87
détection de visage
images grossières peu de détails
apprendre à partir de visages types
un classifieur va apprendre ce qu’est un visage
(Neural Networks,
Support Vector Machine,
Principal Component Analysis - Eigenfaces...).
représentation dans un espace de dimension réduite
88
approche statistique de la reconnaissance de visages
analyse en composantes principales :
représenter les visages sur une base de vecteur orthogonaux
en essayant de prendre en compte les caractéristiques
les plus significatives des visages
89
analyse
en composantes
principales
de visages :
eigenfaces
une image = un vecteur
de paramètres
(opérations préalables : cadrer les images
et soustraire la moyenne de chaque image)
90
http://www.umiacs.umd.edu/~knkim/KG_VISA/PCA/FaceRecog_PCA_Kim.pdf
matrice rectangulaire W
M
N
RECHERCHE DES
VECTEURS PROPRES e1, ...,eM
(orthogonaux)
DE LA MATRICE (carrée MxM) WT.W
les vecteurs propres associés aux valeurs propres les plus grandes contiennent
l’information la plus significative de l’ensemble des images ayant servi à les construire
(composantes de plus grand écart type)
91
M
une nouvelle image est projetée sur cette base
vk   ak ,i .ei
i 1
elle est caractérisée par le vecteur de paramètres ak ,i
(les images u m de la base d’apprentissage peuvent être
caractérisées de la même
manière par une projection sur cette base : am,i )
les images vk et u m sont ressemblantes
si la distance | vk  um | est petite
92
vecteurs propres
associés aux
valeurs propres
les plus grandes
de la matrice
de covariance
des « vecteurs »
représentant les
images
les composantes
suivant les
vecteurs propres
associés aux
valeurs propres
plus petites sont
moins
informatives et
sont négligées
e2
M
vk   ak ,i .ei
i 1
représentation d’une
image dans cette base
e1
e0
la distance entre deux images qui se ressemblent est « petite »
93
AT&T Laboratories,Cambridge at http://www.uk.research.att.com/facedatabase.html
Original training images
Eigenface - The first eigenface account for the maximal variation of the training vectors,and the second one for the second
M
Reconstructed images of training images- they are almost same as their original images
vk   ak ,i .ei
i 1
reconnaissance
représentation
sur la base
94
(calcul de distance entre points dans l’espace de dimension réduite
M)
base de données
visages inconnus de la base
limitations : fond, éclairage, cadrage, utilité d’un prétraitement (filtrage passe haut
pour mettre en évidence les contours, normalisation de l’histogramme, recentrage
de l’image, etc. ...°
95
Résultats pour la détection de visages
Voir utilisation des fonctions de Haar
96
97
prétraitement utile
filtrage passe bas
(caractérisation du
« type visage »)
ROUGE
( ROUGEFfiltre)
( VERTFfiltre)
VERT
prétraitement utile
filtrage passe haut
(mise en évidence
des contours)
( VERTFfiltre 3)  128
98
mais il peut y avoir des erreurs !
the face on mars ...
99
Conclusion
Tout ça marche assez bien quand le problème n’est pas trop difficile
Mais les algorithmes tombent facilement dans les pièges les plus simples
On est très loin d’atteindre les performances d’un animal
Il y a encore beaucoup à comprendre sur le fonctionnement cérébral
Ce qu’on sait sur les neurones et le cerveau
100
stanislas dehaene
http://ext1.siteparc.fr/dehaene-20080318.pdf
101
102
DeepFace: Closing the Gap to Human-Level Performance in Face Verification
Yaniv Taigman Ming Yang Marc’Aurelio Ranzato Facebook AI Group Menlo Park, CA, USA
Lior Wolf Tel Aviv University Tel Aviv, Israel Conference on Computer Vision and Pattern Recognition (CVPR), 2014
Figure 1. Alignment pipeline. (a) The detected face, with 6 initial fiducial points. (b) The
induced 2D-aligned crop. (c) 67 fiducial points on the 2D-aligned crop with their corresponding
Delaunay triangulation, we added triangles on the contour to avoid discontinuities. (d) The
reference 3D shape transformed to the 2D-aligned crop image-plane. (e) Triangle visibility w.r.t.
to the fitted 3D-2D camera; darker triangles are less visible. (f) The 67 fiducial points induced by
the 3D model that are used to direct the piece-wise affine warpping. (g) The final frontalized
crop. (h) A new view generated by the 3D model (not used in this paper).
103
Figure 2. Outline of the DeepFace architecture. A front-end of a single convolution-pooling-convolution
filtering on the rectified input, followed by three locally-connected layers and two fully-connected layers.
Colors illustrate feature maps produced at each layer. The net includes more than 120 million parameters,
where more than 95% come from the local and fully connected layers.
104
Téléchargement