Distance et classification Cours 4: Traitement du signal et reconnaissance de forme Plan Introduction Pré-traitement Segmentation d’images Morphologie mathématique Extraction de caractéristiques Classification Conclusion Objectifs et moyens En fonction des caractéristiques extraites, classer la forme dans une catégorie Évaluer les similitudes entre deux formes (un modèle et la forme étudiée) Prendre une décision en fonction des résultats obtenus Valider (ou non) les résultats (matrice de confusion) Problème ! Les méthodes contextuelles donnent une chaîne de caractères et les méthodes globales un vecteur de caractéristiques Quelle(s) méthode(s)? Comparer deux chaînes de caractères (aspect qualitatif) Comparer des vecteurs de caractéristiques (aspect quantitatif) Ce qu’on peut faire… Distance d’édition Classification Supervisée Non supervisée Distance d’édition Une chaîne de caractères (Freeman, primitives, polygones, mot reconnu par un système OCR…) S=s1,s2,…sn Classer une chaîne de caractères en fonction de sa distance d’édition avec un alphabet de modèles (obtenu par apprentissage) Distance d’édition = nombre minimal d’opérations pour passer d’une chaîne à une autre Opérateurs d’édition coût de la transformation de la chaîne A en B Substitution d’un caractère Insertion d’un caractère Suppression d’un caractère Coût global = somme des coûts élémentaires Exemple Chaîne A: ababa Chaîne B: Coût de la transformation abba - remplacer a par b puis éliminer le b suivant: 2 opérations - éliminer le a central: 1 opération COUT MINIMUM Problème ! processus combinatoire = temps de calcul énorme Algorithme de Wagner-Fisher Soient deux chaînes X={aabacd} et Y={abd} de longueurs respectives M=6 et N=3. Matrice D de taille (M+1, N+1) D(0,0) = 0 Substitution de a par b γ(a,b) Insertion de a γ(λ,a) Suppression de b γ(b, λ) Tous les coûts sont fixés à 1 Matrice dynamique de Wagner-Fisher X Y a a b a c d 0 1 2 3 4 5 6 a 1 0 1 2 3 4 5 b 2 1 1 1 2 3 4 d 3 2 2 2 2 3 3 - Pour les couples (i,0) et (0,j) D(i,0)= D (i-1, 0)+ γ(λ,Xi) D(0,j)= D (0, j-1)+ γ(Yj, λ) - Pour les couples (i,j) (i et j ≠ 0) D(i,j)=min { D(i-1,j-1)+ γ(Xi,Yj), D(i-1,j)+ γ(λ,Xi), D (i, j-1)+ γ(Yj, λ) } Distance d’édition δ(X,Y) = D(M,N)=3 Avantages/inconvénients Avantages très simple d’utilisation Très bons résultats en reconnaissance de mots Inconvénients Coût informatique peut être long Problème d’échelle Classification Objet X défini par d descripteurs [x1 x2 … x d ]T Ce vecteur peut être positionné dans l’espace des caractéristiques de dimension Rd. 6 5 4 X2 Exemple. Vecteur de caractéristiques dans R² 3 2 1 0 0 1 2 3 X1 4 5 6 Classificateur (ou classifieur) Rôle: déterminer, en fonction du vecteur de caractéristiques, à quelle classe (parmi un ensemble fini de classes) appartient un objet donné. Moyens: trouver un outil discriminant (méthodes statistiques, géométriques, connexionistes) qui sépare au mieux les classes Nécessité: dans le cas d’un système de reconnaissance de formes (au-delà du simple tri), une phase d’apprentissage est indispensable. Apprentissage Fournir au système un ensemble de formes déjà connues (c’est-à-dire que l’on connaît la classe d’appartenance). L’apprentissage permet de régler le système de reconnaissance. Ainsi l’apprentissage met en concordance vecteur de caractéristiques et classe Apprentissage (2) Deux types d’apprentissage Apprentissage supervisé - Nombre de classes connus - Classe de chaque forme de l’ensemble d’échantillon connue Exemple: Bayes, Géométrie, neurones, Markov Apprentissage non supervisé - Nombre de classes connus ou inconnus - On ne connaît pas la classe des échantillons (on sait cependant que l’ensemble d’apprentissage contient ce que l’on doit connaître) Exemple: nuées dynamiques (ou kmoyennes, ou clustering), neurones Apprentissage non supervisé: Nuées dynamiques (1) Principe: regrouper les données en amas (ou classes) en fonction de leur ressemblance. 6 étapes. Étape 1: Définir le nombre de classes (exemple: 2 classes k1 et k2). 6 5 X2 4 Étape 2: fixer arbitrairement les centres de gravité des noyaux dans l’espace des caractéristiques (k1 et k2 fixés arbitrairement) 3 k2 2 k1 1 0 0 1 2 3 X1 4 5 6 Nuées dynamiques (2) Étape 3: Affecter chaque donnée de l’ensemble d’apprentissage à la classe dont le centre de gravité est le plus proche (du point de vue de la distance euclidienne) 6 5 4 3 k2 2 k1 1 0 0 1 2 3 4 5 6 5 6 6 Étape 4: mettre à jour les centres de gravité en prenant en compte l’ensemble d’apprentissage de chaque classe 5 4 k1 k2 3 k1 2 k2 1 0 0 1 2 3 4 Nuées dynamiques (3) Etape 5: éventuellement réaffectation des pixels (en recalculant les distances par rapport au nouveau centre de gravité). Etape 6: retour à l’étape 3 (si centre de gravité non stabilisé) sinon arrêt de l’apprentissage Nuées dynamiques (4) Apprentissage fini. Classification de chaque donnée en calculant la distance par rapport au centre de gravité (distance euclidienne ou autres distances) Variantes: algorithme Isodata avec prise en compte de la dispersion du nuage (distance de Mahalanobis) Avantages/inconvénients Avantages Très simple Affectation automatique Inconvénients Nombre de classe fixé à l’avance Dépend du point de départ Chaque élément doit être affecté à une classe Apprentissage supervisé Apprentissage supervisé: Pour les objets utilisés lors de l’apprentissage Vecteur de caractéristiques et Classe d’affectation connus. Apprentissage supervisé Méthodes paramétriques Hypothèse sur la « forme » de la classe, modélisation Exemple: loi normale Méthodes non paramétriques Aucune hypothèse sur la « forme » de la classe Théorie de Bayes Décision sur appartenance à une classe en fonction de la probabilité d’appartenance à cette classe. Le classificateur de Bayes affecte un objet à la classe qui maximise la probabilité d’appartenance. Rappel de probabilités (1) Un paquet de pièces de 2 types: A et B 80% de A et 20% de B On appelle P(A) la probabilité a priori de l’hypothèse A et P(B) la probabilité a priori de l’hypothèse B. P(A) = 0,8 et P(B) = 0,2 et P(A)+ P(B) =1 Rappel de probabilités (2) On suppose que les pièces A sont faussées et permettent d ’obtenir à 2/3 de chance « Pile ». Les pièces B ont une équiprobabilité d’obtenir pile ou face On appelle P(Pile|A) la probabilité d’obtenir pile sachant A (limité aux pièces A) et P(Pile|B) la probabilité d’obtenir pile sachant B. P(Pile|A) = 2/3 et P(Pile|B) = 0,5 Règle de Bayes On lance une pièce au hasard Pile ! Quelle est la probabilité d’avoir lancé une pièce A ? Une pièce B ? Règle de Bayes: P( APile)= P(Pile A).P(A) P(Pile A).P(A)+P(PileB).P(B) • P(A|Pile) = 0,84 et P(B|Pile) = 0,16 Règle de Bayes: de façon générale (1) P(wi) la probabilité a priori d’avoir la classe wi. Soit C le nombre total de classes P(X|wi) la probabilité d’observer X sachant la classe wi. P(wi|X) la probabilité a posteriori que la classe correcte soit wi sachant l’observation X. Règle de Bayes: P ( X w ). P ( w ) P ( w X )= P ( X w ). P ( w ) i i i C i =1 i i Règle de Bayes: de façon générale (2) Dénominateur est identique pour toutes les classes chercher la probabilité P(wi|X) maximale revient à chercher le maximum de P(X|wi).P(wi). Problème calculer les probabilités P(wi) et surtout les probabilités (P(X|wi) Exemple Exemple: reconnaissance de caractères manuscrits dans un texte. On veut distinguer deux lettres i et m Probabilité a priori: 60% i P(w1)=0,6 et P(w2)=0,4 40% m Critère observé: Nombre de pixels 45 45 40 40 35 35 30 30 effectif effectif Observation: nombre de pixels caractérisant la lettre 25 20 25 20 15 15 10 10 5 5 0 0 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 nombre de pixels 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 nombre de pixels La distribution de ces pixels va permettre de déterminer P(X|wi) P(X|wi) définit la fonction de distribution (ou fonction de densité de probabilité) dans la classe Loi de densité de probabilité La loi de densité de probabilité P(x|wi) peut être aussi complexe que voulu la complexité augmente le temps de calcul Hypothèse sur la loi pour simplifier les choses hypothèse basique: la distribution est gaussienne (loi normale) Notions de loi normale (distribution gaussienne) Distribution gaussienne: Hypothèse valable lorsque les valeurs se distribuent de façon harmonieuse (avec une décroissance régulière) autour d’une valeur moyenne µ Cas à une dimension (cas discret): - Position moyenne de la courbe µ : µ= K k =1 - Dispersion autour de µ (variance ²): L’écart-type σ² = xk p k K k =1 ( xk − µ )² pk est la racine carrée de la variance. Calcul de la densité de probabilité Ces deux paramètres (µ et ) suffisent à caractériser une distribution gaussienne et à calculer la fonction de densité de probabilité P(x|wi). fonction de densité de probabilité: − 1 P ( x wi ) = e σ 2π ( x − µ )² 2σ ² Estimation Les données peuvent être modélisées de la façon suivante. 45 45 40 40 35 35 30 30 25 25 20 20 15 15 10 10 5 5 0 0 0 5 10 1 µ=14,94 15 20 ; σ=2,5) ; 2 µ=21,2 ; σ=2) 25 30 0 5 10 15 1 µ=14,94 20 ; σ=4) ; 2 µ=21,2 ; σ=2) 25 30 Résultats (1) La probabilité d’appartenance à la classe 1 (i) P(w1|x) ou à la classe 2 (m) P(w2|x) suivant le nombre de pixels. 1 0,9 1 µ=14,94 ; σ=2,5) ; 2 µ=21,2 ; σ=2) 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 0 10 20 30 40 50 Résultats (2) Même chose avec classes plus lointaines 1 0,9 0,8 0,7 0,6 1 µ=14,94 ; σ=4) ; 2 µ=21,2 ; σ=2) 0,5 0,4 0,3 0,2 0,1 0 0 10 20 30 40 50 Règle de Bayes Le nombre de classes peut être supérieur à 2. En général, on utilise un vecteur de plusieurs caractéristiques. écart-type remplacée par matrice de covariance Σ. Cas particulier Remarque: si les écarts-type sont les mêmes pour toutes les classes et si les classes sont équiprobables le calcul du maximum de probabilité revient à calculer (x-µ)². distance euclidienne (distance minimale) Avantages/inconvénients Avantages Très robuste Inconvénients Grand échantillon Modèle pas toujours simple (car la loi n’est pas toujours normale) Connaissance a priori sur les classes Cas non paramétrique Aucune hypothèse sur la forme des classes. On reste dans le cas supervisé Comparaison par rapport aux voisins Méthode du plus proche voisin (1) Calcul de toutes les distances existantes entre l’objet à classer et les points disponibles. 8 7 6 5 4 3 2 1 0 0 0,5 1 1,5 2 2,5 3 3,5 4 Méthode du plus proche voisin (2) L’objet est assigné au voisin le plus proche 8 7 6 5 4 3 2 1 0 0 0,5 1 1,5 2 2,5 3 3,5 4 Inconvénient Très sensible à un unique point de la classe l’objet le plus proche peut –être d’une classe incorrecte alors que les points autour sont de l’autre classe. Extension de la méthode aux k plus proches voisins. K plus proche voisins (1) « Parmi les k plus proches voisins, quelle est la classe la plus représentée » ? exemple: k =11 Parmi les 11 plus proches voisins, 8 appartiennent à A et 3 à B, alors la forme à classer appartient à A K plus proche voisins (1) En pratique, Plus k est élevé, plus la probabilité d’erreur est faible. Mais, plus k est élevé, plus le coût du calcul est compromis prohibitif La distance euclidienne n’est pas toujours la plus adaptée, il existe d’autres distances mathématiques (Mahalanobis…) Autre méthode non paramétrique: Fenêtre de Parzen Avantages/inconvénients – méthodes non paramétriques Avantages Pas de « modélisation » de la classe Méthode très simple et très utilisée Inconvénients Complexité informatique (répétition du calcul des distances est coûteuse) Séparation géométrique (1) Espace des caractéristiques considéré comme un espace géométrique. Apprentissage supervisé Trouver des séparateurs géométriques entre les régions (droites, plans,courbes..) Difficulté trouver l’équation de ces droites ou des ces plans Séparation géométrique (2) Exemple: droite séparatrice X2 X1 Inconvénient En pratique: assez compliqué (équation de plans à déterminer). Hypothèse: il existe des plans ou des droites séparant les classes (ce qui est loin d’être toujours le cas, on peut avoir des courbes) Arbre de décision Question/réponses Classification Nombre de pixels >15 Oui Présence d’une boucle Oui Non Non Angles aigus? 0 1 >2 Avantages/inconvénients Avantages Méthode très simple Traitement rapide de grands volumes de données (simples) Inconvénients Complexe pour forme complexe Dépendance vis à vis de la question de départ Autres classificateurs (1) Méthodes neuronales Perceptron, Hopfiel, Kohonen Méthodes de Markov Processus statistique élaboré Outil très puissant mais souvent lourd à mettre en place Prendre une décision On réalise une mesure de probabilité ou de distance à partir de quelle probabilité ou quelle distance on accepte ou non Fixer un seuil Mesurer la « confiance » de la décision Données de validation (tests) Après l’apprentissage Permet de tester l’ensemble de l’outil utilisé Connaissance des classes d’appartenance Calcul de la matrice de confusion Matrice de confusion Évaluation de notre classification détection Réalité Lettre i Lettre m Lettre i 58 3 Lettre m 2 37 Taux d’erreur 3.33 % d’erreur pour la lettre i et 7.5% d’erreur pour la lettre m. A voir si cela est satisfaisant ou pas Rejet On peut également calculer un taux de rejet le « risque » est trop gros d’assigner une forme à une classe Exemple si Probabilité d’appartenance est inférieure à 80% Rejet (forme non classée) On peut calculer un taux de rejet Ajustement des outils de décision Exemple 1: tri postal ou banque fort couteux de prendre un mauvaise décision sur l‘adresse ou sur compte bancaire risque minimum/ augmentation du taux de rejet Exemple 2: détection d’un maladie en médecine augmentation du taux de détection quitte à avoir de faux-malades Conclusion (1) Processus de classification est long: Prétraitement, Segmentation, Extraction de caractéristiques, classification, décision. Lot d’apprentissage, lot de validation Accepter et connaître le taux d’erreur Conclusion (2) Chaîne de traitement très proche pour reconnaissance de forme et parole Prochain cours: traitement de signal, spécificités reconnaissance de parole, TPs (Dragon Naturally Speaking, Omnipage, traitement d’images). Questions ?