Reconnaissance supervisee de chiffres manuscrits Projet de Master SIS M1 Option Imagerie Numérique Reconnaissance supervisee de chiffres manuscrits Benjamin Duplex – Dimitri Kudelski – Guillaume Martinez Encadrants : Jean-Marc Boï et Bernard Fertil
Reconnaissance de chiffres manuscrits sommaire Explication du problème Définition Résultat manuel Solution mise en place Mise en pratique Problèmes engendrés Influence des paramètres Analyse des résultats Performances du programme Gestion des erreurs Bilan Notre programme Pistes à explorer Reconnaissance de chiffres manuscrits
I. Explication du problème 1. Définition Pouvoir identifier correctement un chiffre manuscrit Typiquement un problème de classement Grâce à un apprentissage supervisé, être capable de prendre une décision Application directe aux systèmes de tris postaux ou bancaires Reconnaissance de chiffres manuscrits
I. Explication du problème 2. Résultat manuel : super expert Résultat du super expert : moyenne de trois résultats Réussite = nombre de bonnes réponses (en vert) / nombre total d’images Ici, réussite de presque 98 % (42 mauvaises réponses sur 2007 images) Répartition des réponses : 1 2 3 4 5 6 7 8 9 354 262 196 159 154 165 142 164 172 Classe de l’image Classe dans laquelle le super expert a placé l’image Reconnaissance de chiffres manuscrits 3 3
I. Explication du problème 3. Solution mise en place Algorithme des "k plus proches voisins" 3 phases différentes de l'algorithme Apprentissage Comparaison Décision Problème Comment faire lorsque l’effectif des classes n’est pas le même pour toutes les classes ? k = 5 Reconnaissance de chiffres manuscrits
Reconnaissance de chiffres manuscrits II. MISE EN PRATIQUE 1. Problèmes engendrés L’effectif des différentes classes de la base d’apprentissage doit-il être le même ? La métrique est-elle importante ? Comment choisir k ? Quel est son rôle ? Quelle est l'importance de la taille de la base d'apprentissage ? Quel critère est le plus discriminant ? Reconnaissance de chiffres manuscrits
Reconnaissance de chiffres manuscrits II. MISE EN PRATIQUE 2. Influence des paramètres Effectif des différentes classes dans la base d'apprentissage : Solution retenue : utilisation d’une pondération pour chaque classe Reconnaissance de chiffres manuscrits
Reconnaissance de chiffres manuscrits II. MISE EN PRATIQUE 2. Influence des paramètres Evolution du classifieur en fonction de la métrique (ex. Minkowski) : Solution retenue : utilisation de la distance euclidienne (distance de Minkowski de degré 2) p : degré de la fonction distance n : taille des images (largeur * hauteur) Reconnaissance de chiffres manuscrits
Reconnaissance de chiffres manuscrits II. MISE EN PRATIQUE 2. Influence des paramètres Importance du nombre de voisins k k grand : classifieur peu sensible au bruit k petit : meilleur affinage lorsqu'il y a peu de différences entre les images Solution retenue : utilisation de k proche de 10 Reconnaissance de chiffres manuscrits
Reconnaissance de chiffres manuscrits II. MISE EN PRATIQUE 2. Influence des paramètres Taille de la base d'apprentissage : Solution retenue : utilisation de l’intégralité de notre base d’apprentissage Reconnaissance de chiffres manuscrits
Reconnaissance de chiffres manuscrits II. MISE EN PRATIQUE 2. Influence des paramètres Etude de tous les paramètres et de leur influence Combinaison des paramètres pour en extraire le résultat le plus correct Classifieur non parfait, apparition d'erreurs Reconnaissance de chiffres manuscrits
III. Analyse des résultats 1. Performances du programme Comparaison par rapport aux références : Utilisation de la base MNIST (Modified National Institute of Standards and Technology) : Base d'apprentissage de 60 000 images Base de test de 10 000 images D’après la littérature, les différents algorithmes de référence donnent des résultats entre 88% et 99% de réussite Notre programme atteint presque 97% de bonnes réponses Bilan très encourageant Possibilité d’améliorer l’efficacité sans toutefois arriver à la perfection Reconnaissance de chiffres manuscrits
III. Analyse des résultats 2. Gestion des erreurs 2 types d'erreurs : ambiguïté et erreur de saisie Hésitation entre un 4 et un 6 : ambiguïté mise en place d’un seuil entre les classes majoritaires Image qui ne représente rien : erreur de saisie mise en place d’un second seuil à partir duquel on peut dire que les images voisins sont trop éloignées. Ajout d'une classe supplémentaire au classifieur, la classe « inconnu » Reconnaissance de chiffres manuscrits
IV. BILan 1. Notre programme Résultat du classifieur : ~ 94 % de réussite (127 erreurs ou classées comme « inconnu ») Nombre d’image rangées dans la classe « inconnu » : 38 (qui font toutes partie des 42 du super expert) 1 2 3 4 5 6 7 8 9 I 353 257 178 150 175 10 141 11 164 138 152 172 Classe de l’image Classe dans laquelle le classifieur a placé l’image Reconnaissance de chiffres manuscrits 13 13
Reconnaissance de chiffres manuscrits IV. BILan 1. Notre programme Ecrit en C et interfacé avec Glut, portable (fonctionne sous Linux et Windows) Reconnaissance de chiffres manuscrits
Reconnaissance de chiffres manuscrits IV. BILan 1. Notre programme Reconnaissance de chiffres manuscrits 15 15
Reconnaissance de chiffres manuscrits IV. BILan 1. Notre programme Utilisation du classifieur déclinée en plusieurs applications : programme du super expert Reconnaissance de chiffres manuscrits
Reconnaissance de chiffres manuscrits IV. BILan 1. Notre programme Utilisation du classifieur déclinée en plusieurs applications : programme de dessin Reconnaissance de chiffres manuscrits 17 17
Reconnaissance de chiffres manuscrits IV. BILan 2. Pistes à explorer Pré-traitement des images (rotation, translation, réduction de bruit, etc…) Réduction de dimension grâce à l'ACP Construction d'un classifieur en fonction des situations Affinage de l'analyse lorsqu'il y a ambiguïté grâce à un sous-classifieur Reconnaissance de chiffres manuscrits