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 dessousexp 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 01 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 01 1 m12 0212 m1 0.5 x min 2 2 2 0 1 1 0212 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 2xR xR 2xR yR 2yRyR longueur pL pR2 L pL pR2 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