Upload
gervais-villain
View
106
Download
0
Embed Size (px)
Citation preview
1
RECONNAISSANCE DE FORMES
ECRITURE MANUSCRITESIGNATUREVISAGES, BIOMETRIEOBJETS 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
A. approche statistique pour les objets « simples » : mesure sur des objetspar exemple en chaîne de production « bons » et « mauvais »
B. approche structurelle : description d’objets complexes sous forme degraphes liant des objets plus simples pour représenter ces objets complexes
2
un objet analysé à reconnaître est représenté sous la forme d’un vecteur de paramètres
approche standard en reconnaissance de formes d’objets « simples »(classification)
dans le même espace, on dispose de formes types, apprises au préalable correspondant aux objets à reconnaître
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
problèmes : bruit, préanalyse incorrecte (contours, régions) fluctuations importantes d’un objet à l’autre
approche probabiliste ; théorie de la décision (critère de bayeset de neyman pearson)
A. approche statistique
nécessité d’unapprentissage
http://www.ee.columbia.edu/~sfchang/course/spr/
3
Reconnaissance de formes Approche statistique
Un objet est décrit comme un ensemble de paramètres (un vecteurde dimension réduite)
longueur
largeur
4
Il y a des fluctuations d’un objet à l’autre
longueur
largeur
Formalisation probabiliste
R
L
longueur
largeur
R
L
Chaque groupe (classe) est associée à un nuage de points
Comment décide t on de l’appartenance à une classe ?
5
mesure de paramètresobjet représenté par un vecteur
séparation de l’espace des paramètres en régions
6
représenter les classes sous forme de densités de probabilités
7
maximiser la probabilité d’appartenance à une classe
8
Probabilité d’appartenance à un des deux groupes
xL 0.3 L 0.1 xR 1 R 0.2
pLn1
L 2 ( )0.5
exp
xn xL 2
2 L2
pRn1
R 2 ( )0.5
exp
xn xR 2
2 R2
0 0.5 1 1.5 20
2.5
5
pLn
pRn
xn
0 0.5 1 1.5 20
5
1010
0
pLn
pRn
20 xn
p x | L p x | R
p x | L
p x | R
9
pLn1
L 2 ( )0.5
exp
xn xL 2
2 L2
pRn
1
R 2 ( )0.5
exp
xn xR 2
2 R2
0 0.5 1 1.5 20
1
2
pLn
pRn
pLn papL
pRn papR
0. 0.588
xn
papL 0.7 papR 0.3
Rapport de vraisemblance
Seuil s en dessous duquel on décide que x appartient à la classe L
Extension : test d’hypothèse en statistique (critère de Neyman Pearson)
Evaluation de la probabilité d’erreur
s
s
p x | L dx
10
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
2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 3 3.5 44
3
2
1
0
1
2
3
ya n
yb n
yk k
xan xbn xkk
.
séparatrice
11
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
12
Si la cause est u = 0 , la loi de probabilité de y est p(y|u = 0)
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 = 1 , la loi de probabilité de y est p(y|u = 1)
13
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 d = 0 et que la vraie valeur est u = 0c(0|1) quand on choisit d = 0 et que la vraie valeur est u = 1c(1|0) quand on choisit d = 1 et que la vraie valeur est u = 0c(1|1) quand on choisit d = 1 et que la vraie valeur est u = 1
14
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
15
u=0 & d=0 u=0 & d=1
u=1 & d=0 u=1 & d=1
p(y|u=0).q0 p(y|u=0).q0
p(y|u=1).q1p(y|u=1).q1
les quatre possibilités de choix les probabilités associées
16
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 :
c(1|0) p(y|u=0).q0 + c(1|1)p(y|u=1).q1
d = 1d = 0
c(0|0) p(y|u=0).q0+ c(0|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,
17
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)),
1)|(1 - 1)|(0
0)|(0 - 0)|(1.
0)|(
1)|(
0
1
cc
cc
q
q
uyp
uyp
on choisira d = 0 lorsque
18
Un exemple :
deux lois de probabilités conditionnelles gaussiennes
19
21)|(1 - 1)|(0
0)|(0 - 0)|(1 ccccchoix des valeurs des pénalités
Pour minimiser le critère, on choisira l’hypothèse u = 1 si y est dans l’intervalle (ymin=0.87 , ymax=1.21) ; si y est en dehors de cet intervalle, on choisira u = 0. 4 2 0 2 4 6 8
0.01
0.1
1
p0 q0
p1 q1
y
0.6 0.71 0.81 0.92 1.02 1.13 1.23 1.34 1.44 1.540
1
2
3
2
p1 q1
p0 q0
0.87 1.21
y
.
1)|(1 - 1)|(0
0)|(0 - 0)|(1.
0)|(
1)|(
0
1
cc
cc
q
q
uyp
uyp
20
probabilité de détection correcte
probabilité d’erreur (fausse alarme)
21
p(y)
yupyup
)et 0()0(
)p(uuypp(y)yupyup 0).0().0()et 0(
p(y)
upuyp
p(y)
yupyup
)0()0()et 0()0(
)1()1()0()0( upuypupuypp(y)
)1()1()0()0(
)0()0()0(
upuypupuyp
upuypyup
définition des probabilités conditionnelles
On écrit de deux manières différentes
p(u = 0| y) peut être écrit en fonction de p(y|u = 0)
la probabilité p(y) s’écrit en fonction des probabilités conditionnelles
et on en déduit
.
Règle de Bayes :
22
Critère de Neyman Pearson probabilités a priori des causes q0 = p(u=0) et q1 = p(u=1) inconnues.
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) ;
décider
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
les densités de probabilités des événements :rouge : il y a erreurvert : la détection est correcte
quand faut il décider qu’il y a effectivement détection?(elle ne peut pas toujours être correcte)
0 1 2 3 40
0.2
0.4
0.6
0.8
dnormn
N4 1 1
dnormn
N4 2 0.5
n
N4
.
calcul sur un domaine xmin<xmax des probabilitésde fausse alarme et de détection correcte
24
calcul sur un domaine xmin<xmax des probabilitésde fausse alarme et de détection correcte
pfam n si xmax
mxmin
n
xminn
xmaxm
xdnorm x 1 1( )
d 0
pdcm n si xmax
mxmin
n
xminn
xmaxm
xdnorm x 2 0.5( )
d 0
pfa pdc
xmax xmax
xmin xmin
xmax<xmin xmax<xmin
probabilité de fausse alarme probabilité de décision correcte
25
sur la frontière (pfa =0.1niveau rouge sur la figure de gauche)on trouve le maximum de la probabilité de décision correcte
pfapfav
pfapdcs
domaine où la probabilité de fausse alarmeest en dessous d’un seuil fixé à 0.1
sur ce domaine : probabilité de détection correcte
xmax xmax
xmin xmin
xmax<xmin xmax<xmin
probabilité de fausse alarme probabilité de décision correcte
26
Critère de Neyman Pearson
probabilités a priori des causes q0 = p(u=0) et q1 = p(u=1) inconnues.
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
)(
)()(
0
1
xp
xpxr
dépasse un seuil s donné de la manière suivante
décider
27
pour chaque mesure x, considérer la probabilité pfa d’une fausse alarme (d = 1 alors que u = 0)
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;)
probabilité de fausse alarme pfa : probabilité que u = 0
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é
)(
)()(
0
1
xp
xpxr
D
fa dxxpp )(0
dépasse le seuil salors que
28
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)
dxx
p fa 38.1
7.0 2
2
002
exp2.
1
= 0.158
les probabilités a priori des causes ne sont pas prises en compte ;
probabilité de fausse alarme probabilité de détection correcte
0.7
1.38
y1
1 2 0.5
expy m
1 2
2 1 2
d 0.904
29
Neyman Pearson : on se donne un seuil 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
max
min 1 )(x
xdc dxxpp
dans l’intervalle [xmin, xmax] : r(x) > s
une fois fixé maximiser la probabilité de décision correcte
30
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
max
min 0 )(x
xfa dxxpp
ne dépasse pas le seuil .
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 :
s
mxx
21
21
20
2
1
0
22exp
31
soit, en logarithmes :
0
22)
.log(
21
21
20
2
1
0
mxx
s
en fonction des puissances de x
0).
log(220
121
21
21
1221
20
21
20
sm
xm
x
Les deux valeurs du dépassement du seuil sont racines d’une équation du deuxième degré
)
.log(2.
0
121
21
21
20
21
20
41
21
smm
5.0
21
121
20
21
20min
m
x
5.0
21
121
20
21
20max
m
x
32
pour tous les seuils s
calculer xmin et xmax
- en déduire la probade fausse alarme- trouver la valeur de spour laquelle cette pfa atteint la borne qu’on s’est fixé
(calcul complémentaire pdc)
33
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 et une probabilité de décision correcte de 0.709
34
longueur
largeur
R
L
pRn m1
2 xR yR 1 rR2
0.5
expxn mxR 2
2xR xR
xn mxR ym myR 2 rR( )
2xR yR
ym myR 2
2yR yR
pL pR 2
pL pR 2
Dans le cas multidimensionnelSéparatrices entre les Nuages de points(souvent, mais pas nécessairementDes droites ou des plans)
gaussiennes dans un espace de dimension élevéedistance de mahalanobis
35
2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 3 3.5 44
3
2
1
0
1
2
3
ya n
yb n
yk k
xan xbn xkk
.
36
essayer de quantifierles décisions correctes (hypothèses 1 et 2les 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 ! ’’
37
réduire le nombre de composantes d’un vecteuren essayant de garder l’information la plus pertinentepour ne pas détériorer la discrimination entre classes
analyse en composantesprincipales
38
(vecteurs propres de lamatrice de covariance)
39
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 variancescaractérisant les différentes classes ; voir les enseignementssur les estimations de paramètres
B. génération automatique de la description des classeenvisageable 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
40
affecter un numéro de classe i à chaque échantillon au hasard
calculer la moyenne sur les valeurs des échantillons
(centre ci) de chacune des classes
chaque échantillon (x,y) a une valeur f (x,y)
pour chaque échantillon, affecter maintenant
le numéro de la classe dont le centre ci
est le plus proche de cet échantillon ;
réitérer ce processus jusqu’à stabilisation
initialisation
première classification par les k-means
boucle
test d’arrêt
la distance de chaque échantillon à chacun des centres de classe ci est calculée
d (x,y, ci)
41
http://en.wikipedia.org/wiki/K-means_clustering
convergence non garantie !
42
méthodologie générale de l’apprentissage’’expectation maximization’’
http://en.wikipedia.org/wiki/Expectation-maximization_algorithm
http://www.ee.columbia.edu/~sfchang/course/spr/
43
Catherine Aaron Université Paris I http://samos.univ-paris1.fr/archives/ftp/preprints/samos212.pdf
nombre de gaussienne K fixé a priorion recherche un maximum local
calcul itératif :
44
http://www.ee.columbia.edu/~sfchang/course/spr/
45http://www.math.u-psud.fr/~blanchard/gtsvm/intro.pdf
Introduction aux \Support Vector Machines" (SVM)
46
Support Vector Machines" (SVM)
H. Mohamadally B. Fomani, U. Versailles St Quentin
2. chercher un hyperplan dont la distance minimale aux exemples d’apprentissage est maximale
1. transformation non linéaire des données pour trouver une séparation linéaire des données d’apprentissage dans un nouvel espace
47
SYNTHESE
48
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
http://www.cs.bilkent.edu.tr/~saksoy/courses/cs551-Spring2008/slides/cs551_structural.pdf
Mais ...
lettres manquantes, relations de position erronées ...
Distances entre graphes
rechercher dans la base des graphes, celui qui est le plus prochedu graphe déduit des données analysées
Schalkoff, Pattern Recognition: Statistical, Structural and Neural Approaches, 1992
49http://wwwisg.cs.uni-magdeburg.de/bv/files/LV/Pattern_Recognition/VL/L12_Structural%20Pattern%20Recognition.pdf
50
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 combinaison ne figure pas non plus dans les
dictionnaires courants.
51
la reconnaissance d’objets complexes
nécessité d’une représentation structurée
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)
élément simplep ex morceau de contour
élément simplep ex morceau de contour
regroupement
regroupement
regroupement
objet complexe
regroupement
relations entre élémentsregroupés
progression dans la reconnaissance
52
53
54
55
56
57
58
contours haut et bas
segmentation
reconnaissance des « segments » dans une basede segments mémorisés et de leurs enchaînements(modèles de markov)
Abdenaim EL YACOUBI (la poste nantes)ftp://ftp.irisa.fr/local/IMADOC/lorette/elyacoubi/MOUNIM.PPT
exemple de reconnaissance d’écriture manuscrite
http://www.cs.bilkent.edu.tr/~saksoy/courses/cs551-Spring2008/slides/cs551_structural.pdf
Schalkoff, Pattern Recognition: Statistical, Structural and Neural Approaches, 1992
60
recognition and classification are done using:
I Parsing (analyse syntaxique, compilation) (for formal grammars),
I Relational graph matching (for relational descriptions).
61
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.
62
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.
63
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
64
65
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/
66
transition
mesures
a m m( ' , )
b m n( , ') b m n( , )
2. Automates utilisés dans les modèles de Markov cachés
Séquence d’états :
Séquence de mesures :
(Probabilités)
S s s sT 0 1, , ,
Y y y yT 0 1, , ,
d m p s m( ) ( ) 0
a m m p s m s mt t( ' , ) ( '/ ) 1
b m n p y n s mt t( , ) ( / )
états
n’ n
m’ m
probabilité de transition de l’état m’ à l’état m
probabilité de mesurer ‘n’ quand l’automate estdans l’état m
probabilité que l’état initial soit m
67
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
tenir compte du fait qu’un état peutproduire plusieurs mesures possibles
modèle de MarkovUn état = Une mesure
68
Les trois problèmes :
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)
Séquence d’états :
Séquence de mesures :
S s s sT 0 1, , ,
Y y y yT 0 1, , ,
69
SHAPE MATCHING BASED ON GRAPH ALIGNMENT USING HIDDEN MARKOV MODELS
Xiaoning Qian and Byung-Jun Yoo University of South Florida
70
L'algorithme de Needleman et Wunsch (programmation dynamique)Laurent Bloch, 2006
un score de ressemblance
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 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)
71
séquence n° 1 : G A A T T C A G T T Aséquence n° 2 : G G A T C G A
la « prime de score » pour la comparaison 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).
1. Remplir la matrice
2.Déterminer l'alignement optimal
Initialisation
72
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)
73
0
0.2
0.41
1
0.67
TA
NG
EN
TE
S
-0.1
8 ANGLES
QUANTIFICATION DES PENTES DES CONTOURS
74
0
0.1
0.20.3
0.41
10.82
0.67
0.53
TA
NG
EN
TE
S
-0.1
16 ANGLES
QUANTIFICATION DES PENTES DES CONTOURS
75
A. Mesure et quantification des pentes des contourspar 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
76
70
3
4
6
0
33
3 5
5
0
Recherche de la forme dans une base en mémoire :on peut avoir des milliers voire des millions de formes type
un seul contourplusieurs contours
77
Si on ne trouve pas la séquence de la forme en mémoireOn 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
Morphologie mathématique :Ici l’extension de régionPeut fermer la boucle et permettre la reconnaissance
Module de reconnaissance
? Forme inconnue
‘A’ !
12
3
4
5
78
Découpe en formes élémentaires plus simplesPar 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
Ecriture manuscrite cursive
79
reconnaissance de visages
approche statistique (eigenfaces)
approche structurelle(relations entre éléments caractéristiques)
80
A
B
C
en dessous
au dessus à gauche
D
au dessus à droite
E
au dessus
point de départ : détection des éléments de contour
1. recherche par corrélation d’éléments simples :en « balayant » l’image, est ce que le médaillonanalysé ressemble à l’image simple à laquelleon le compare (sourcil, œil, nez, bouche)(on peut avoir plusieurs formes pour ces imagessimples)
2. Vérification de la cohérence
F
au dessusE
FB D
AC
3. Retour à l’image initialepour essayer d’affiner l’analyse
81
détection de visage
apprendre à partir de visages types
représentation paramétrique dans un espace de dimension réduite
images grossières avec peu de détails
comment caractériser la notion de « visage »comment rechercher dans l’image les domaines qui présentent ces caractéristiqueset 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)
http://www.ensta.fr/~manzaner/Cours/Ese24/Proj_Visages/Hjelmas2001.pdf
82
un classifieur va apprendre ce qu’est un visage(Neural Networks, Support Vector Machine, Principal Component Analysis - Eigenfaces...).
détection de visage
apprendre à partir de visages types
représentation dans un espace de dimension réduite
images grossières peu de détails
83
analyse en composantes principales :
représenter les visages sur une base de vecteur orthogonauxen essayant de prendre en compte les caractéristiquesles plus significatives des visages
approche statistique de la reconnaissance de visages
84
analyse en composantes principales de visages :
eigenfaces
une image = un vecteurde paramètres
(opérations préalables : cadrer les images et soustraire la moyenne de chaque image)
http://www.umiacs.umd.edu/~knkim/KG_VISA/PCA/FaceRecog_PCA_Kim.pdf
85
imag
e 1
imag
e 2
imag
e 3
imag
e M
matrice rectangulaire W
RECHERCHE DESVECTEURS PROPRES e1, ...,eM (orthogonaux)DE LA MATRICE (carrée MxM) WT.W
N
M
les vecteurs propres associés aux valeurs propres les plus grandes contiennentl’information la plus significative de l’ensemble des images ayant servi à les construire(composantes de plus grand écart type)
86
une nouvelle image est projetée sur cette base
M
iiikk eav
1, .
elle est caractérisée par le vecteur de paramètres ika ,
(les images de la base d’apprentissage peuvent être caractérisées de la mêmemanière par une projection sur cette base : )
mu
ima ,
les images et sont ressemblantes
si la distance est petitemukv
|| mk uv
87
0e
1e
2e
vecteurs propresassociés auxvaleurs propresles plus grandesde la matricede covariancedes « vecteurs »représentant les images
M
iiikk eav
1, .
représentation d’uneimage dans cette base
la distance entre deux images qui se ressemblent est « petite »
les composantes suivant les vecteurs propres associés aux valeurs propres plus petites sont moins informatives et sont négligées
88
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
Reconstructed images of training images- they are almost same as their original images
M
iiikk eav
1, .
représentationsur la base
reconnaissance
(calcul de distance entre points dans l’espace de dimension réduite M)
89
base de données
visages inconnus de la base
limitations : fond, éclairage, cadrage, utilité d’un prétraitement (filtrage passe hautpour mettre en évidence les contours, normalisation de l’histogramme, recentragede l’image, etc. ...°
90
Résultats pour la détection de visages
Voir utilisation des fonctions de Haar
91
92VERTFfiltre3( ) 128
prétraitement utile filtrage passe haut (mise en évidence des contours)
prétraitement utile filtrage passe bas (caractérisation du « type visage »)
ROUGEFfiltre( )
VERTFfiltre( )
ROUGE
VERT
93
mais il peut y avoir des erreurs !
the face on mars ...
94
Conclusion
Tout ça marche assez bien quand le problème n’est pas trop difficile
Il y a encore beaucoup à comprendre sur le fonctionnement cérébral
Ce qu’on sait sur les neurones et le cerveau
On est très loin d’atteindre les performances d’un animal
Mais les algorithmes tombent facilement dans les pièges les plus simples
95http://ext1.siteparc.fr/dehaene-20080318.pdf
stanislas dehaene
96