Home
IDIAP R ESEARCH R EPOR T
Contents
1. anenb snoss p T 1010A onbrydezs uone u s id r apoo 9948 ro p mad mb TWN u ne s id r ey IIAL ANNUI 189 r ILI uonopnsqeu p NE9AIU 99 R I9JS9I SUOT E SNON Spul 10d eFoul eoups SIDUUO981 DO N 9 34 213 31 Reconnaissance de l crit manuscrit Diagrammes de s quences Chapitre 6 Mod lisation UML d OUESS EUUOO L p 1n9 119 p 6elu onod l uo jJV 1818111994 S J uo JiV p 1uepuods uoo 8qe l 19 UESS EUUOD L EI ap Pe NSI l 8AU9 9ULPIODUOI EI HH A SUPP nu luo np ougssipuuoo81 EI 10 2 1 S UUOHO S 1lu ui qe e d s ANS BA lute1qi EI anbeyo yen id S2u quu ssieJA uuoj SNOS 5181 1591 s UOL V s e Ins S Joly suep 9219192129 np SoUESSIEUU0281 EI ano S UUOHO T S lJu uu qe e id slu uu lle1 1ud Se 1015 10 ajuasoaid s y ew un nb sio nbeu Steis Se JU JUENI sensau s OUI
2. 1auu0nda1a y llte 5 apnopy lt LOS RUIPUI lt S UDE Sal SIN Igel 292 a Bew aun amausuc n ke 3W31SAS s auuonos s Ju uu l q e id e s Jn lesiinn i Is 05 5913 eye e aun SaJUBAINS SUO UD sa sajno mnreuuoo or Joyen91d suonouoj xne Jyuepuods zioo souanbos SILILIBISEIP SNOS s f 9 9 19 L 9 s m n XNE JUPUOJUIBUU DIOA 1811011814 eouenbes ewuuwubiBoiq 2 9 3an911 aup1s amp s ne afew peuay 03 sa sa apaua sauueas os 37 IN c Bau aun ayyawsuel L an W 0934 65 31992189 s l ins Jauue1s 0645 aj as ed nasima ca Bew aun 2 15 5 5 33 aun 2 EIER GINN 5 OlALS eoups SIDUUO981 poN 9 9 34 213 33 2 Reconnaissance de l crit manuscrit Diagrammes de s quences Chapitre 6 Mod lisation UML leun o6euwul u w e1 91d oi n15 Ji8 gt nod K lt d nio ll slu uui lie1 9Jd Se ISIOUO lt uoneuns p nb ulollqiq el 181040 nb ulollqi
3. normalisation de la taille centrage centrage aucun pr traitement 9 12 correction de l inclinaison correction de l inclinaison 1 25 Jo normalisation de la taille normalisation de la taille2 centrage centrage 44 Reconnaissance de l crit manuscrit Chapitre 8 Tests R sultats TABLE 8 2 R sultats des tests pour 10 000 chiffres MNIST 2 taux entrainement test R d erreur correction de l inclinaison correction de l inclinaison 1 31 D flou gaussien 3 3 flou gaussien 3 3 normalisation de la taille normalisation de la taille centrage centrage suppression des taches suppression des taches 194 96 correction de l inclinaison flou gaussien 2 2 centrage correction de l inclinaison flou gaussien 2 2 centrage Les r sultats des tests avec la librairie d imagettes MNIST sont excellents Le plus faible taux d erreur descend 1 21 Il ne peut tre rabaiss z ro en raison de certains chiffres dont nous n arivons pas nous m mes reconna tre FIGURE 8 3 Confusion entre un 8 et un 9 Reconnaissance de l crit manuscrit first 9 second 8 45 CHAPITRE 9 Formats de fichiers Vous d couvrirez dans ce chapitre la structure des formats de fichiers utilis s par le logiciel Pour des raisons de temps nous n avons pas sp cialement choisi les formats d image les plus courants mais les plus rapides mettre en oeuvre
4. FIGURE 5 3 A D A vecteurs support hyperplan optimal de s paration m DAA Do D AA m A 1 A eg X XxS Oo O 4 vecteurs support Ainsi est cr pour chaque classe un nouveau model contenant tous les vecteurs support s parant cette classe des autres Ils seront ensuite utilis s par le classificateur H est noter que tous les vecteurs support de la classe d apprentissage sont de signes positifs contrairement aux vecteurs support des autres classes qui sont eux de signes n gatifs Classificateur La reconnaissance de chiffres va pouvoir s effectuer l aide du classifica teur Comme son nom l indique il va classiffier les objets qu il recevra en entr e Pour cela il a besoin des mod les pr alablement calcul s par l entra nement classificateur FIGURE 5 4 Phase de classification r sultats Reconnaissance de l crit manuscrit 25 Chapitre 5 Reconndisseur SVM Classificateur Algorithme L quation ci dessous est l algorithme utilis pour le reconnaisseur SVM FA y s vK u SV 5 1 La classification se fait classe par classe Le principe est qu il calcule la somme des distances de tous les vecteurs support d une classe l image reconna tre sachant que les distances la classe en question auront un signe S positif et les autres distances un signe n gatif Nous obtenons donc une liste de vraissemblence pour chacune des classes
5. e un pointeur sur l image segmenter l espace minimum requis entre les caract re blanc minimum la largeur minimale d un caract re caract re minimum Reconnaissance de l crit manuscrit 8 Chapitre 3 Segmentation Histogramme FIGURE 3 2 Structogramm de la fonction principale de segmentation Histogramme Segmentation caract re d tect caract re d tect largeur blanc gt blanc minimum caract re d tect 0 copie la partie de l image largeur caract re gt caract re minimum caract re d tect 1 copie la partie de l image derni re colonne de l image colonne suivante Cette fonction nous retourne une liste de pointeurs sur chaque imagette Les termes largeur caract re et largeur blanc repr sentent simplement la largeur en pixels d un caract re et l espace s parant deux caract res comme le rep sente la figure 3 1 Par la suite nous appelerons la projection verticale histogramme hori zontal de par sa forme horizontale et la projection horizontale histogramme vertical Voici la figure 3 3 un exemple de projections verticale et horizontale d une imagette Reconnaissance de l crit manuscrit 9 Chapitre 3 Segmentation Fonctions C FIGURE 3 3 Histogrammes horizon tal et vetrical Fonctions C histogramme vertical histogramme horizontal TABLE 3 1 Fonctions relatives
6. Reconnaissance de l crit manuscrit 6 CHAPITRE 3 Segmentation Segmenter signifie diviser en segments ou diviser un tout en plusieurs parties En effet dans ce chapitre nous allons d couper l image contenant la s quence de caract res manuscrits en plusieurs imagettes con tenant chacune un caract re M thode Pour proc der cette op ration nous allons utiliser un algorithme des plus simples qui consiste mesurer l espace blanc entre les projections verti cales des caract res Pour qu une segmentation s effectue correctement 11 faudra donc que les caract res se d tachent distinctement les uns des autres FIGURE 3 1 Mesures d espaces 2 largeur d un caract re largeur entre deux caract res Afin de facilit cette t che il a t n cessaire de projeter tous les pixels de l image sur un axe horizontal V x LPC y 3 1 Reconnaissance de l crit manuscrit 7 Chapitre 3 Segmenfofion M thode Ci dessus V x repr sente la valeur de la projection vertical de limage au point x de l abscisse et p x y la valeur d un pixel aux coordonn es X y Il est tout fait possible de faire de m me pour l axe vertical H y LPC y 32 Cette projection horizontale peut tre utile pour segmenter plusieurs lignes Impl mentation Voici comme l illustre la figure 3 2 le structogramme de la fonction de segmentation Il faudra simplement passer trois param tres qui sont
7. la segmentation classe fonction description CSegmentation DoSegmentation Segmente une image en retournant une liste d imagettes contenant les caract res CSegmentation GetNumberlmages Retourne le nombre d imagettes apr s une segmentationapr s une segmentation CHisto DoHisto Calcul les projections horizontale et verticale d une image CDisplay DisplayHistoH Affiche l histogramme horizontal DisplayHistoV Affiche l histogramme vertical Reconnaissance de l crit manuscrit 10 na Pretraitements Ce chapitre d crit les diff rents pr traitements qui ont t utilis s pour le demonstrateur Flou Le flou va nous permettre de transformer une image noir blanc en une image niveaux de gris Pour cela nous allons adoucir les flancs par filtrage H existe une multitude de filtres plus ou moins utilis s et il serait fastidieux de vouloir tous les tester Notre choix s est port sur le filtrage dit gaussien car il repr sente un filtre lin aire parmi les plus courants et son efficacit n est plus prouver Filtre de Gauss Ce filtre tire son nom de la valeur de ses coefficients qui sont ceux d une courbe de Gauss Pour commencer prenons l quation qui d crit une courbe de gauss une dimension 2 ee 1 26 G x 6 o 27 La figure 4 1 repr sente cette fonction Nous pouvons remarquer que le param tre o permet de modifier la s lectivit du filtre Nous uti
8. la figure 2 2 Chapitre 2 Introduction au traitement de l image Le filtrage FIGURE 2 2 n Suppression de l effet T de bord fitenxn 77 n 2 image originale 7222222 Le filtre G est en fait une matrice de nombres Il peut tre de dimension rectangulaire ce qui changera videmment les dimensions de la couronne L quation 2 4 repr sente un filtre 3x3 Gii Gi Gu G xa G G Gos 2 3 G31 G32 G33 L op ration math matique appliqu e chaque pixel de l image s appelle le produit de convolution si la combinaison d un pixel avec ses voisins est faite de la m me mani re pour tous les endrois de l image Voici un exemple de produit de convolution d un filtre G avec une image La Lu L G out 24 1 G G Ici G repr sente la matrice horizontale et G la matrice verticale Voici un exemple toujours pour une matrice 3x3 G G G avec G Ei D G l 2 5 Gu G G Du Reconnaissance de l crit manuscrit 5 Chapitre 2 Introduction au traitement de l image Le filtrage Ceci signifie que nous pouvons filtrer l image d abord avec G puis avec G Il est donc possible d appliquer des filtres H f utilis en lectricit sur des images Les fr quences repr sentent pour une image les variations de couleurs entre deux pixels voisins Pour transposer ce type de filtres 1l suffit de calculer la transform e de Fourrier
9. la figure 6 2 que l utilisateur intervient sur le stylo scanner En effet c est lui qui donnera l ordre au stylo scanner de commencer la capture de l image Diagrammes de s quences Il s agit maintenant d tablir les principales s quences de chaque cas d utilisation Les lignes verticales repr sentent l coulement du temps Ici ces diagrammes restent tr s g n raux car ils font partie des premi res it rations Ils nous permettent d j de d terminer les classes principales du projet Reconnaissance de l crit manuscrit 30 Diagrammes de s quences Chapitre 6 Mod lisation UML e2ue qLuessIBIA nee qe 5105 Sey nspa s l SI Spe s ie sye ins s l euni C gt eleuuocsoy gt suep SIA BIBI 5uessipuuo2 1 p m n lil gt emeuuocsey uleiq ejsuep l no eSsueAv Bieu5 juetue qe esid s uuo p l s 1u uu qe e id 919 e 19 9189 s u ul len id sel 1415 yed ueq 2 eueseid Janney ynad in esilnn 1 ll Anou un nb sio enbeys 1 SHE s n beul p uteiqi eun s bieu 3W31SAS dn vs n UESSTEUUO 1 JISIOUS uonEs Imn p sgo np s v nb s
10. utilisation 28 D finition des acteurs 29 D finition des cas d utilisation 29 Repr sentation graphique 29 Diagrammes de s quences 30 Repr sentation graphique 31 Diagramme de classes 35 D monstrateur 37 Environnement 37 Installation 37 Lancement de l application 37 Mode d emploi 38 Mode en ligne 38 Mode image par image 39 Reconnaissance de l crit manuscrit ili Table des mati res SECTION IV EXP RIENCES Tests Constitution d une base de donn es 42 Tests 43 R sultats 44 Formats de fichiers Big endian et little endian 46 Avantantages et inconv nients 46 Fichiers Images 47 MNIST 47 PBM 48 SVM 49 Fichiers labels 50 MNIST 50 Conclusions Am liorations possibles 51 Bug MFC 51 ANNEXES A Codes sources 42 46 51 55 Reconnaissance de l crit manuscrit ala Pr ambule Ce travail de dipl me s est effectu au sein du groupe VISION del IDIAP en collaboration avec un autre dipl mant de l Ecole d Ing nieurs du Valais M Philippe Gillioz Objectif L objectif est de d velopper un logiciel de d monstration capable de reconna tre l criture manuscrite Ce logiciel sera crit en C et fonctionnera sur un syst me d exploitation Windows 95 ou Windows NT Il sera capable de charger des images de provenances diverses telles qu un fichier ou d un stylo scanner via le port s rie du PC de les traiter et d en effectuer la reconnaissance d
11. 4 13 Pour conserver les proportions il faut prendre comme pas la plus grande valeur entre le pas horizontal et le pas vertical Cependant un probleme persiste lorsque nous voulons rapetisser une image d un pixel seulement Nous voyant en effet sur la figure 4 9 Ou avec notre premier algorithme la derni re colonne de pixels est supprim e Cela est d au pas qui prend seulement une valeur suffisante en fin d image pour sauter un pixel imagette originale imagette rapetiss e La solution ce probl me consiste r chantillonner l image avec une meilleure r solution Pour ce faire l image sera agrandie d environ un facteur dix l aide du premier algorithme de changement de taille Ensuite elle passera travers un filtre passe bas de largeur de la moiti de ce m me facteur Et pour terminer elle sera rapetisser la taille d sir e toujours avec notre premier algorithme Voici la figure 4 10 le r sultat de ce nouvel algorithme imagette originale imagette rapetiss e Dans le chapitre 8 Tests vous verrez dans les tableaux de tests les deux traitements suivants normalisation de la taille 1 et normalisation de la taille Cela signifie que pour la normalisation de la taille nous avons Reconnaissance de l crit manuscrit 18 Chapitre 4 Pr traitements Normalisation de la faille des images utilis le premier algorithme de changement de taille et pour la normalisa tion de l
12. imagette d coup e au minimum TABLE 4 1 Diverses fonctions relatives aux pr traitements de l image classe fonction description CPreprocessing DoBlur Effectue un adoucissement de l image flou gaussien CPreprocessing RemoveSmallBlobs Enl ve les taches sur l image CPreprocessing SlantCorrectChar Corrige l inclinaison du cara ct re contenu dans l image CPreprocessing CenterMass Centre l image sur son centre de gravit CPreprocessing SizeNormalize Normalise la taille des caract res ainsi que de l image globale CPreprocessing Shift D cale l image dans les deux dimensions Clmage ResizeLinear Agrandit ou rapetisse une image Copy Copy une zone de l image Clmage Crop D coupe une partie de l image CropMin D coupe l image au minimum Reconnaissance de l crit manuscrit 21 SECTION 11 Reconnaissance onnaissance de l crit manuscrit 22 CHAPITRE 5 Reconnaisseur SVM Ce chapitre est consacr exclusivement au reconnaisseur de type SVM car il serait trop long et fastidieux de vouloir d crire d autres types de reconnaisseurs et cela ne fait pas l objet de ce rapport Introduction Pourquoi avons nous choisi un reconnaisseur de type SVM Support Vector Machine Machine Vecteurs de Support Celui ci pr sente un certain nombre d avantages par rapport aux autres types de reconnaisseurs tels que les r seaux de neurones les arbr
13. neuuos u q yen id s h beul p eureiqi el e Juepuods21109 sl qe s l lueu luoo 191491 5 l lisiouo Jegen s qe s F lt 19 S9 91IS9p rb siege 1961eu9 s n beul p ute1qil El SIOU9 anaes yn T lt eure1ql Jun 1962 soyeBeui p Jun 19619 N SH 49 1 SIDUUO98 undivsii n 7108 un lu uu l l nuepui ulss p sn resilln 1 lt UN s ulss q 2181982189 UN JOUISS9Q euBl ue 1 need SIDUUO98 PONWN NJI VSHILA y 9 34 213 32 t manuscri cri Reconnaissance de l Diagrammes de s quences Chapitre 6 Mod lisation UML snuuoJa Sal SUD sqe1Ins i s l DUDU feu 5319728129 5512 0 EI anpapg sensau s saya 8412UU098 x 89 0 quauage 234d sjuawajie nad sa agns En apa Bew nbeuo Jajuau Bas sapa ew ua a Bew suep snuajuoa s sna adnoagq aqua B s Pa sanal saauuop sap Jed e a Bew mnsuo3 i awajsis 37
14. w repr sente une pond ration qui a t calcul e l entra nement Voici ci dessous l quation du type de noyau que nous avons utilis gt K py SV 5 2 Il a t choisi en fonction des r sultats des tests faits l IDIAP L explica tion se cet algorithme ne fait pas ici l objet de ce travail Reconnaissance de l crit manuscrit 26 SECTION HI D monstrateur onnaissance de l crit manuscrit CHAPITRE Mod lisation UML Ce chapitre pr sente les grandes lignes de mod lisation du logiciel n cessaires la compr hension de sa structure g n ral Pour cette partie il est recommand que le lecteur connaisse les grandes lignes de la programmation orient e objets ainsi que la notation UML Pour plus de d tails concernant la program mation il faut se reporter au code C en annexe Introduction La mod lisation est une phase primordiale dans l laboration d un projet informatique Elle repr sente le squelette sur lequel la programmation va se greffer Le concept de r utilisabilit doit y tre int gr au maximum Pour cela 7 utiliserai principalement la notation unifi e UML qui est n e de la fusion des trois principales m thodes de mod lisation Booch Rhum baugh et Jacobson Elle est tr s bien adapt e pour la programmation orient e objets Diagramme des cas d utilisation Le diagramme des cas d utilisation permet d obtenir un aper
15. Big endian et l ttle endian Avant de d crire les diff rents formats de fichier il est important de conna tre leur structure fondamentale Dans un fichier comme dans une m moire les donn es peuvent tre organis es de diff rente mani re En fait il existe deux principales architectures big endian et little endian Seul la direction des octets dans un mot les diff rencie L architecture big endian contient l octet de poids fort la plus basse adresse tandis que l architecture little endian contient l octet de poids faible la plus basse adresse Voici un exemple avec une valeur de 32 bits 0x12345678 en hexad cimal qui serait enregistr e dans la m moire Adresse 00 01 02 03 big endian 12 34 56 78 little 78 56 34 12 endian Avantantages et inconv nients Il y a des avantages et des inconv nients pour chaque m thode Les prin cipaux avantages du big endian sont Reconnaissance de l crit manuscrit 46 Chapitre 9 Formots de fichiers Fichiers Images Fichiers Images facilit accrue pour la lecture d une suite d octets dans une zone m moire manipulations plus ais es pour la plupart des fichiers graphiques car ceux ci utilisent g n ralement des mots sup rieurs au byte Et voici quelques inconv nients de l architecture big endian si nous lisons une valeur de mauvaise taille le r sultat sera toujours faux contrairement au little endian qui lui peut parfois do
16. File Convert Pleprocessina Help No image 13 751 Do Recognition Width of pen 2 thin Clear Image medium Modes of recognition Preprocessing T Reco Input M Reco Output Image by image Images database Results of PEN SCAN PEN SCAN r sultat de la reconnaissance l aide de la touche droite de la souris vous avez acc s au fonctionnalit s suivantes e _ ffectuer la reconnaissance des chiffres dessin s e changer l paisseur du stylo effacer l image Ce mode t cr pour simuler les images en provenance du stylo scanner La hauteur de la zone de saisie correspond exactement la r so lution du stylo scanner qui est de 102 pixels Mode image par image Vous devez charger une biblioth que d imagettes de test MNIST en s lec tionnant Open dans le menu File Vous pouvez maintenant visualiser toutes les imagettes de la biblioth que l aide des boutons de navigation Vous avez la possibilit d effecuer sur chaque imagette d entr e diff rents pretraitements qu il suffit de cocher L imagette de droite correspond au r sultat apr s le pr traitement Reconnaissance de l crit manuscrit 39 Chapitre 7 D monstrateur Mode d emploi FIGURE 7 3 image d entr e image pr trait e Mode de reconais sance image par image giz Untitled OCR Demonstrator File Convert Preproce Image 19 on 10000
17. NEIER N ils v rifient les galit s suivantes SE 0 x X x X 050 6 20 4 7 y y y 7 xy Xy Pour chacune de ces galit s les termes de droite seront utilis s pour l impl mentation de l algorithme car 15 consomment beaucoup moins de ressources processeur pour le calcul Principe de l algorithme L algorithme applique la transformation x x a y 48 Reconnaissance de l crit manuscrit 15 Chapitre 4 Pr traitements Centrage FIGURE 4 6 Exemple de correction de l inclinaison Centrage sur l objet avec a D0 G 5 4 9 ce qui a pour effet d annuler le moment mixte d ordre 2 x x y y cf preuve ci apr s Moment mixte d ordre 2 de l objet transform 2 9 FE 06 5 46 70 SE EE 4 10 x X y a y y La figure 4 6 illustre l application de cet algorithme Ce traitement a pour but de normaliser la position des caract res l int rieur de l imagette Le centre physique de l imagette correspondra toujours au centre de gravit du caract re Reconnaissance de l crit manuscrit 16 Chapitre 4 Pr traitements Changer la faille de l image Algorithme Commen ons par calculer le centre de gravit de l image 7 Voici le poids total de l image fc y axay 4 11 I Ensuite vient le point d annulation des moments du premier ordre sur les axes x et y qui repr sentent le cen
18. en entr e une imagette normalis e Plusieurs transformations diff rentes peuvent lui tre appliqu es cela d pend du reconnaisseur Par exemple une imagette peut tre repr sent e sous une forme de vecteur n dimensions tant le nombre de pixels de l imagette Elle peut aussi tre repr sent e sous forme d histogrammes conte nant ses projections horizontales verticales et diagonales Reconnaisseur Ce bloc contient le reconnaisseur qui a suivi pr alablement un entra nement Il est capable d apr s la repr sentation qu on lui donne de l imagette de cr er une liste de candidats avec un ordre de vraisemblance Pour un recon naisseur entra n avec des lettres il est envisageable de chercher dans un dictionnaire lectronique les mots correspon dant la s quence de lettres reconnues Si ce mot n existe pas il est toutefois possible de changer l ordre de vraisemblance d un ou plusieurs caract res Si cela ne suffit pas il faut modi fier la segmentation de l image soit par une fusion ou soit par une scission Avant de passer une description plus d taill e de ces tapes dans les chapitres suivants voici une notion incontournable dans le traitement de l image le filtrage Reconnaissance de l crit manuscrit 3 Chapitre 2 Introduction au traitement de l image Le filtrage Le filtrage Reconnaissance de l crit manuscrit Introduction En g n rale une image poss de une certaine redondance sp
19. obtenir de bons r sultats il est primordial que les objets recon na tre ressemblent le plus possible aux objets appris C est pour cela que nous allons proc der comme le montre la figure 2 1 toute une s rie de traitements pour que notre image se pr sente sous une forme connue du reconnaisseur Image originale FIGURE 2 1 Diff rentes phases de D Image traitements de l image normalis e e s al Repr sentation Reconnaisseur Reconnaissance de l crit manuscrit 2 R sultats classification Chapitre 2 Introduction au traitement de l image Utilit L image d origine va donc passer par quatre grandes tapes qui sont la segmentation la normalisation la repr sentation et enfin le reconnaisseur Nous pouvons visualiser ses tapes comme tant des blocs avec chaque fois une entr e et une ou plusieurs sortie Voici donc une description g n rale de chacun des blocs Segmentation Ce bloc re oit en entr e une image contenant la s quence de caract res manuscrits Il en ressort une liste d imagettes contenant chacune un caract re Normalisation Ce bloc re oit un imagette et lui affecte plus leurs traitements tels que la suppression de taches la correction de l inclinaison la normalisation de l paisseur du trait la normalisation de la taille ainsi que le centrage Cette phase est aussi appel e pr traitement Repr sentation Ce bloc re oit
20. sur l axe des x et 6 sur l axe y FIGURE 4 14 D coupage de l image du point 10 2 au point 35 12 l unit utilis est le pixel et chaque imagette mesure 28 x 28 pixels L origine des coordonn es 0 se trouve toujours sur le premier pixel en haut gauche de l image copier Cette fonction a pour but de copier enti rement ou partiellement une image Si la zone copier n est pas totalement inclue dans la surface de l image actuelle alors ce qui se trouve en dehors de celle ci sera rempli de pixels blancs imagette originale copie d une partie de l imagette Cette fonction permet de d caler l image sur les deux axes x et y Les nouveaux pixels rempla ant le vide apr s le d calage seront blancs d caler imagette originale imagette d cal e S R Cette fonction d coupe une partie de l image Si la zone de d coupage sort de l image alors cette partie ext rieure ne sera pas prise en compte comme vous pouvez le constater sur la figure 4 14 d couper imagette originale imagette d coup e Reconnaissance de l crit manuscrit 20 Chapitre 4 Pr traitements Fonctions C D couper au minimum Ce qui diff rencie cette fontion de la pr c dente r side dans le fait qu elle calcule elle m me la zone d couper afin que cette zone ne contienne uniquement que l information essentielle FIGURE 4 15 D coupage minimum d une image Fonctions C imagette originale
21. tr s bien classifier des l ments autres que des images 1 American Standard Code for Information Interchange Reconnaissance de l crit manuscrit 49 Chapitre 9 Formots de fichiers Fichiers labels Fichiers labels MNIST extension cix1 ubyfte Ce fichier est de type binaire et comporte tous les labels n cessaire pour l entra nement et les tests du reconnaisseur SVM En effet pour chaque objet entra n devra correspondre la classe laquelle il correspond Pour notre application ce fichier contiendra des entier compris entre 0 et 9 Voici au tableau 9 3 la structure d un fichier TABLE 9 3 Structure d un fichier label MNIST offset type value description 0000 32 bit integer 0x00000803 numero magic 2051 0004 32 bit integer 10000 number of images 0008 unsigned label byte 0009 unsigned 71 label byte unsigned 2 label byte XXXX unsigned YA label byte Reconnaissance de l crit manuscrit 50 BABI Conclusions L objectif de ce travail de dipl me a t atteint Les attentes et exigences de Tinstitut IDIAP ont t satisfaite Le d monstrateur fonctionne merveil leusement bien int grant comme pr vu le reconnaisseur SVM Am liorations possibles Comme nulle chose n est parfaite voici quelques am liorations envisage able pour notre d monstrateur e Cr er une aide int gr e au logiciel Conversion des fichier models Actuellement les vecteurs su
22. 0 images normalis es ubyte test t10k images idx3 107000 images normalis es ubyte En ce qui concerne la normalisation des images je vous renvoie au chapitre 4 Pr traitements PBM extension Gm Ce type de fichier est binaire et vous trouverez la structure de son en t te au tableau 9 2 II pr sente l avantage d tre extr mement facile lire et crire de plus beaucoup de logiciels de conversion d images le supportent TABLE 9 2 Structure de l en t te d un fichier image PBM binaire valeur description P4 num ro magic espace blanc largeur largeur de l image en pixels gt espace blanc hauteur hauteur de l image en pixels espace blanc L espace blanc apr s la taille de l image peut tre seulement un simple caract re typiquement une nouvelle ligne Apr s cela viennent les bits ligne par ligne de haut en bas Dans chaque ligne les bits sont enregistr s de gauche droite en octets le bit de poids fort se situe gauche Chaque ligne commence dans un nouvel octet m me si la largeur de l image n est pas un multiple de huit Reconnaissance de l crit manuscrit 48 Chapitre 9 Formots de fichiers Fichiers Images SVM extension aucune Ce type de fichier peut comporter un nombre ind termin d images au format ASCII II a t invent pour l utilisation du reconnaisseur SVM voir au chapitre 5 A mon avis le choix du format ASCII est une
23. IDIAP RESEARCH REPORT Dalle Molle Institute for Perceptual Artificial Intelligence PO Box 592 Martigny Valais Switzerland phone 41 27 7217711 fax 41 27 721 77 12 email secretariat idiap ch internet http vuv idiap ch IDIAP Martigny Valais Suisse b HANDVVRITTEN DIGITS RECOGNITION Eric Grand IDIAP RR 00 07 May 2000 Table des mati res Pr ambule Objectif v Informations sur le rapport vi Remerciements vi SECTION TRAITEMENT DE L IMAGE Introduction au traitement de l image Utilit 2 Le filtrage 4 Introduction 4 Le filtrage lin aire 4 Optimisation pour la rapidit de calcul 6 Segmentation M thode 7 Impl mentation 8 Histogramme 9 Fonctions C 10 Pr traitements Flou 11 Filtre de Gauss 11 Suppression des taches 13 Algorithme 13 Correction de l inclinaison des caract res 14 D finitions 14 Principe de l algorithme 15 11 Reconnaissance de l crit manuscrit Table des mati res SECTION II SECTION III Centrage 16 Algorithme 17 Changer la taille de l image 17 Normalisation de la taille des images 19 M thode 19 Manipulation de l image 19 copier 20 d caler 20 d couper 20 D couper au minimum 21 Fonctions C 21 RECONNAISSANCE Reconnaisseur SVM 23 Introduction 23 Entra nement 24 Principe g n ral 24 Classificateur 25 Algorithme 26 D MONSTRATEUR Mod lisation UML 28 Introduction 28 Diagramme des cas d
24. Input Image Output Image projections horizontale et verticale Modes of recognition Online p V Reco Input V Reco Output Image by imge 3 st 3 Preprocessing M remove small blobs slant correction WV blur Images database PEN SCAN V size normalize Results of PEN M centralize r sultats de la reconnaissance La partie la plus int ressante r side dans la reconnaissance du chiffre contenu dans l imagette Cochez simplement la case ad quate Vous verrez alors appara tre deux chiffres Le premier est celui qui a obtenu le meilleur score de reconnaissance et le deuxi me le second score Remarquez que les r sultats diff rent pour une imagette avant et apr s son pr traitement Reconnaissance de l crit manuscrit 40 SECTION IV Exp riences onnaissance de l crit manuscrit CHAPITRE 8 Tests Ce chapitre prouve par des tests l efficacit des pr traitements d images sur la reconnaissance Pour effectuer nos tests nous avons utilis deux bases de donn es d imagettes L une d j existante contient 107000 chiffres et l autre d tre cr e Constitution d une base de donn es Afin de construire ma propre base de donn es j ai distribu des feuilles qui ont t remplies par onze personnes diff rentes Ces feuilles comportent cinq num ros postaux qui poss dent eu
25. a taille le deuxi me Normalisation de la taille des images Toutes les images des bases de donn es MNIST qui servent l entra ne ment et aux tests sont normalis es de la mani re suivante 28 FIGURE 4 11 Exemple d une image normalis e centre de gravit Elles ont une taille de 28 x 28 pixels et le caract re ici le chiffre 2 est contenu dans une zone de 20 x 20 pixels et centr sur son centre de gravit M thode Voici comment nous allons proc der pour obtenir cette normalisation de la taille pour une image e d couper le caract re Tagrandir ou le rapetisser lin airement a la taille d sir e agrandir le canevas pour obtenir la bonne grandeur de l image finale centrer l image sur son centre de gravit La plupart de ces fonctions ont t d crites plus haut il suffit simplement de les appliquer une une Manipulation de l image Voici encore quelques fonctions compl mentaires permettant de manip uler une image Les algorithmes ne sont pas d crits en raison de leur extr me simplicit Voici simplement des exemples Dans chaque cas 1 Voici l adresse d crivant les bases de donn es MNIST http vvvvvv research att com yann ocr mnist index html Reconnaissance de l crit manuscrit 19 Chapitre 4 Pr traitements Manipulation de l image FIGURE 4 12 Exemple de copie d une partie de l image du point 10 2 au point 35 12 FIGURE 4 13 D calage de 10
26. agelnl n largeur hauteur Les mod les quant eux contiennent une liste de vecteurs support qui seront d crits un peu plus bas Pour la suite de l explication nous n allons prendre que deux dimensions car au del de la troisi me dimension il devient assez difficile de se faire une repr sentation Dans notre cas chaque axe repr sente le niveau de couleur d un pixel Prenons l exemple d un reconnaisseur qui doit tre entra n avec des images de deux classes diff rentes par exemple des cinq et toutes les autres classes Voici donc la figure 5 2 la repr sentation de ces deux classes d images sur deux dimensions seulement 1 noir A A EF A SCH Du A LI r A autres classes P O x O A GE o x Zx O p Se classe des cinq ex TE CE X lt x t Let blanc noir Reconnaissance de l crit manuscrit 24 Chapitre 5 Reconndisseur SVM Classificateur Il s agit maintenant de distinguer ces deux classes La m thode utilis e par le reconnaisseur SVM consiste chercher la plus grande surface hyper plan possible s parant les deux classes afin de minimiser l erreur de classification Cette surface peut tre d limit e de mani re lin aire mais aussi par des polyn mes d ordre n ou des courbes de Gauss Ce choix repr sente le type de noyau du reconnaisseur Les vecteurs tangents cette surface sont appel vecteurs support
27. atiale c est dire qu entre deux pixels voisins les caract ristiques sont tr s semblables Le bruit dans une image peut alors tre d fini de la mani re suivante C est un ph nom ne brusque de variation d un pixel isol par rapport ses VOISINS Ainsi pour lutter contre les effets du bruits il est n cessaire d op rer des transformations qui pour chaque pixel tiennent compte de son voisinage Les m thodes parmi les plus utilis es sont les techniques dites de filtrage de l image Dans le but d att nuer les effets du bruits elles portent le nom de filtrage passe bas Il existe deux types de filtrages passe bas le filtrage lin aire o la transformation d un pixel est le fruit d une combinaison lin aire des pixels voisins le filtrage non lin aire o les pixels voisins interviennent suivant une loi non lin aire Dans notre cas nous nous concentrerons sur le filtrage lin aire car sa mise en oeuvre est tr s simple et son fficacit remarquable Notation Voici la notation que nous utiliserons par la suite pour repr senter une image de largeur n et de hauteur m 111 12 lin IER yn 2 1 Lut m2 Imn Voici la notation pour la repr sentation d un pixel de l image Po He yl 2 2 Le filtrage lin aire Afin d liminer les effets de bords nous allons ajouter pour un filtre G de dimension n n une couronne de largeur n 2 comme vous pouvez le voir
28. cessaires pour la description d un logiciel le tout en notation UML Reconnaissance de l crit manuscrit 29 Chapitre 6 Mod lisation UML Diagrammes de s quences FIGURE 6 1 Diagramme des cas d utilisation autour de l utilisateur FIGURE 6 2 Diagramme des cas d utilisation autour du stylo scanner Param trer la transmission d Choisir les pr traite ments de donn es S L utilisateur peuts l ctionnerles L utilisateur peut chaisir le part de pr traitements qu il d sire appliquer transmission ainsi que son l image protocole CD ee Param ter la transmission Utilisateur Choisir les pr traitements de donn es Choisir le mode de reconnaissance L utilisateur peut choisir quel mode de reconnaissance il d sire utiliser Choisir le mode de reconnaissance image par image librairie d images stylo scanner enligne Les figures 6 1 et 6 2 nous montrent bien les relations qu il y a entre les acteurs et les diff rents cas d utilisation Par ailleurs nous pouvons constater l extr me simplicit de ces diagrammes ce qui fait toute leur force Envoyer une image Ce cas d utilisation est lanc par le stylo scanner une fois que celui ci a termin la capture d une image _ fa D gt z S s N uz Envoyer une image Utilisateur Stylo scanner Nous voyons
29. d riv es de CFilelmage Nous appelons ce genre de classes des class adapter ou en fran ais des adapteurs de classes Ce nom vient du fait qu elles contiennent des d clarations de m thodes communes dont leur contenu diff re Voici un petit exemple concret qui vaudra mieux qu une grande th orie Supposons que je d sire ouvrir un fichier d image quelconque puis lire sont contenu avec une m thode OpenFileQ Chaque type de fichier contiendra videmment sa propre structure de donn es Il faut donc qu l ouverture du fichier d image avec la m thode OpenFileQ celui ci lise bonne structure de donn e correspondant au type de fichier extrait de code d claration des variables CFilelmage m pFilelmage pointeur sur la classe de base TypeFile m TypeFile type de fichier l utilisateur choisit le fichier ouvrir contr le le type de fichier d apr s son extension switch m TypeFile choix multiple de types case MNIST m_pFilelmage new CFileMNIST cr e une nouvelle instance d une classe adapteur break case PBM m pFilelmage new CFilePBM break m_pFilelmage gt OpenFile appelle la fonction correspondant au type de fichier Ces classes jouent donc le r le d interfaces entre la classe de base et les classes sous jacentes La classe CRecoSVM est aussi une class adapter Cela deviendrait tr s utile si nous voudrions par la suite int grer un autre ty
30. e AN fichiers I E E ue models ableau des resultats comparaison aux d erreur 0 9 I Il y a peut tre une chose souligner dans ce diagramme c est que les imagettes d entra nement doivent passer par les m mes pr traitements que les imagettes de tests Reconnaissance de l crit manuscrit 43 Chapitre 8 Tests R sultats R sultats TABLE 8 1 Resultats des tests pour 220 chiffres traitement taux d erreur aucun 11 36 correction de l inclinaison 11 36 centrage correction de l inclinaison 12 73 normalisation de la taille2 centrage Les taux d erreur de notre base de donn es artisanale sont tr s lev s La raison principale repose sur le fait que le reconnaisseur subit un entra nement avec des chiffres qui ont t crits par des am ricains alors que la base de donn es contient des chiffres crits par des europ ens Il y a des diff rences notables pour les chiffres 1 7 et 9 TABLE 8 2 R sultats des tests pour 10 000 chiffres MNIST z taux entra nement test d erreur aucun pr traitement aucun pr traitement 136 correction de l inclinaison correction de l inclinaison 1 21 Yo centrage centrage aucun pr traitement 148 96 correction de l inclinaison 4 53 centrage flou gaussien 3 3 correction de l inclinaison correction de l inclinaison 1 31 Jo normalisation de la taille
31. e caract res Nous allons travailler uniquement avec des codes postaux ce qui limitera la reconnaissance des chiffres Ce travail fait partie d un projet global comme Tillustre la figure 1 1 D une part M Philippe Gillioz effectuera l acquisition de donn es en l occurence des images par la conception et la r alisation d un stylo scanner Il s occupera aussi de l int gralit de la transmission du stylo scanner vers un PC qui s effectuera sans fil par voie herzienne et de mani re asynchrone Une petite interface convertira le signal HF en un signal lectrique RS232 devra aussi crire le code C recevant les donn es sur le port s rie du PC D autre part interviendra le d monstrateur qui fait partie int grante de mon travail de dipl me 1 Institut Dalle Molle d Tntelligence Artificielle Perceptive Attp www idiap ch Reconnaissance de l crit manuscrit Chapitre 1 Pr ambule FIGURE 1 1 Globalit du projet Capture Transmission Reconnaissance optique b Stylo scanner di HF RS232 e e PC e Le J asal L j ON Traitements Image reconna tre 5 Reconnaissance Analyse des r sultats Informations sur le rapport Ce rapport est divis en quatre grandes parties La premi re partie se consacre au traitement de l image la seconde expose les principes g n raux de la reconnaissance et plus pr cis me
32. es de d cision ou les classifica teurs bay siens En effet sa mise en oeuvre est tr s simple car il n y a qu un param tre d finir son type de noyau que nous verrons plus bas De plus ses perform ances sont excellentes comme vous pourrez le constater au chapitre 8 Tests Le num ro de vecteur support est choisi automatiquement Afin de pouvoir tre fonctionnel le reconnaisseur doit passer par deux tapes qui sont l entra nement ou apprentissage et la classification ou reconnaissance La seule ombre au tableau r side dans son entra nement Etant donn qu il ne peut classifier que deux classes a la fois il faudra faire pour chacune des classes un entra nement avec toutes les autres Comme il est pourvu d un algorithme iteratif pour choisir les bons vecteurs support cela implique un temps de calcul consid rable Ne dit on pas La patience est la m re des vertus Reconnaissance de l crit manuscrit 23 Chapitre 5 Reconndisseur SVM Entrahement Entrainement FIGURE 5 1 Phase d entra nement FIGURE 5 2 Repr sentation de deux dimensions Principe g n ral L entra nement permet de cr er des mod les partir d objets comme Pillustre la figure Ces objets peuvent tre de nature quelconque Dans notre cas les objets correspondent la repr sentation d une image normalis e sous forme de vecteur n dimensions n tant le nombre de pixels de l image objet im
33. inverse du filtre et d introduire les valeurs dans les matrices G et G G F H f 26 Un exemple concret sera donn au chapitre 4 Pretraitements concer nant un filtre de Gauss passe bas Optimisation pour la rapidit de calcul Pour un filtre de dimensions 10x10 le calcul de chaque pixel demandra 100 multiplications si nous convoluons l image directement avec le filtre tandis qu il faudra seulement 20 multiplications si nous convoluons l image d abord avec le filtre horizontal G puis ensuite avec le filtre vertical G La convolution est une op ration qui n cessite beaucoup de temps de calcul du fait qu elle comporte un grand nombre de multiplications Il est toutefois possible d y rem dier en passant dans le domaine des fr quences En effet un convolution dans le domaine du temps correspond une multi plication dans le domaine des fr quences Cela diminue fortement le temps de calcul pour un syst me informatique 1 0 4 0 0680 Four 0 FGO 27 1 0 E Un Frot Il faudra cependant calculer la fonction de Fourrier de l image d entr e et du filtre puis apr s multiplication calculer la fonction inverse de Fourrier Remarque Dans mon code C Tai filtr les images en utilisant l op ration de convolution car la rapidit n tait pas exig e Il serait n anmoins possible d implementer la fonction de Fourrier par une FFT Fast Fourrier Transform
34. liserons la plupart du temps 6 1 Reconnaissance de l crit manuscrit 11 Chapitre 4 Pr traitements Flou FIGURE 4 1 Courbe de Gauss une dimension Comme nous l avons vu au chapitre 2 Introduction au traitement de l image nous pouvons dimensionner notre filtre G Prenons pour exemple un filtre de dimensions 3x3 et un 1 Il suffit seulement de calculer les filtres G et G et de les appliquer l un apr s l autre s 10 24 0 40 0 24 Q Il 1 0 24 42 y 0388 0 40 0 24 Q Il 1 X Le facteur 055 sert garder le niveau de couleur normal c est dire que si tous les pixels de l image sont 1 les filtres ci dessus ne doivent avoir aucune influence Voici la figure 4 2 une application d un filtre de Gauss sur une imagette FIGURE 4 2 imagette originale imagette filtr e Application d un filtre m gaussien de 5 x 5 pixels Nous voyons nettement l effet du filtre passe bas l aide des histogrammes Reconnaissance de l crit manuscrit 12 Chapitre 4 Pr traitements Suppression des taches Suppression des taches FIGURE 4 3 Imagette avec un bruit de fond FIGURE 4 4 Histogramme d une image avec un arri re plan Lors d une capture d image quelle qu en soit la source la pr sence de bruit est in vitable Ce bruit doit tre supprim car 1l vient perturber l information utile Il provient g n ralemen
35. nner un r sultat correct pour autant que cette valeur soit ne soit pas trop grande la plupart des architectures big endian ne permettent pas des mots d tre crit dans une adresse impaire Les avantages et inconv nients du little endian sont fondamentalement oppos s ceux cit s ci dessus MNIST extension idx3 ubyfte Un fichier MNIST peut contenir une ou plusieurs images de tailles iden tiques Il est de type binaire dont la structure est repr sent e au tableau 9 1 Les pixels des images sont organis s en lignes Les valeurs des pixels sont comprises entre 0 et 255 0 signifie le fond blanc et 255 le premier plan noir TABLE 9 1 Structure d un fichier image MNIST offset type value description 0000 32 bit integer 0x00000803 num ro magic 2051 0004 32 bit integer 10000 number of images 0008 32 bit integer 28 number of rovvs 0012 32 bit integer 28 number of columns 0016 unsigned 2 pixel byte 0017 unsigned 2 pixel byte unsigned 22 pixel byte XXXX unsigned Ge pixel byte Reconnaissance de l crit manuscrit 47 Chapitre 9 Formats de fichiers Fichiers Images Ce type de fichier est tr s pratique pour sauvegarder des biblioth ques enti res d images Dans notre cas les bases de donn es images d entra ne ment et de test sont sauvegard es dans ce format comme vous pouvez le voir ci dessous fonction nom du fichier contenu entra nement train images idx3 60 00
36. nt ceux du reconnaisseur SVM La troisi me partie pr sente la mod lisation du logiciel et son mode d emploi tandis que la derni re est r serv e aux tests de reconnaissance Vous trouverez la fin de chaque chapitre les principales fonctions C s y rapportant Remerciements Merci M Gianni Pante GPIL Martigny pour son dynamisme sa ma trise de FrameMaker et pour son amiti Merci M Juergen Luettin responsable du groupe Vision de l IDIAP Martigny pour ses encouragements et sa disponibilit Merci M Gilbert Ma tre professeur de traitement du signal P EIV pour son go t des math matiques Merci Mme Maryl ne Michelloud pour m avoir transmis le virus de l informatique Merci encore toutes les personnes travaillant l IDIAP pour leur conviv ialit et leur sympathie Reconnaissance de l crit manuscrit vi SECTION 1 Traitement de l image connaissance de l crit manuscrit CHAPITRE 2 Introduction au traitement de l image Vous d couvrirez dans ce chapitre la place essentielle que poss de le traitement de l image en vue de la reconnaissance Utilit Qui donc peut me reconna tre physiquement s il ne m a jamais vu ou s il n a re u aucune description d taill e de ma personne auparavant Pour cette m me raison un reconnaisseur a besoin de passer pr alablement par une phase d apprentissage avant de pouvoir accomplir pleinement sa t che Afin d
37. pe de reconnaisseur Pour le reste des classes il faut se r f rer au code C en annexe Reconnaissance de l crit manuscrit 36 CHAPITRE 7 D monstrateur Vous trouverez dans ce chapitre un petit mode d emploi du logiciel de d monstration permettant d en d couvrir les principales fonctionnalit s Environnement Le logiciel de d monstration fonctionne sur les syst mes d exploitation Windows 95 et NT Il est recommand de poss der 64 Mo de RAM car en fonctionnement normal le logiciel utilise 32 Mo de RAM L espace requis sur le disque dur est de 50 Mo Un processeur de type Pentium au minimum et tournant 100 MHz est conseill pour obtenir un temps de reconnaissance correct Installation Pour l instant il n existe pas d installation automatique Il faut donc installer le logiciel manuellement Inutile de faire une crise d angoisse seule une manipulation est n cessaire Copiez simplement le r pertoir models avec tout son contenu sur le premier niveau du disque c Lancement de l application Ex cutez le fichier RecoSVM exc Ne vous inqui tez pas si la fen tre d application n appara t pas tout de suite cela est d au chargement en m moire vive de tous les models indispensables la reconnaissance Reconnaissance de l crit manuscrit 37 Chapitre 7 D monstrateur Mode d emploi Mode d emploi Comme nous l avons vu au chapitre 6 Mod lisa
38. pport sont sauvegard s sous forme ASCII et prennent une tr s grande place m moire ce qui r duit la portabilit du logiciel II conviendrait de cr er une petite interface qui s occuperait de transformer ce fichier sous forme binaire Bug MFC Losque l on s lectionne dans un s lecteur de fichiers un grand nombre de fichiers ceux ci apparaissent correctement dans la zone d dition mais seulement les 255 premiers caract res sont r ellement stock s dans le buffer CFileDialog m ofn lpstrFile Essayez par exemple de charger une vingtaine d images la fois dans un programme de retouche d images Sion le 18 janvier 2000 Reconnaissance de l crit manuscrit 51 Bibliographie 111 Chapman Davis Visual C 6 Simon amp Schuster Macmillan ISBN 2 7440 0552 5 121 Conger Jim Microsoft Foundation Class Primer VVaite Group Press 1993 ISBN 1 878739 31 X 151 Davies ER Machine Vision Academic Press 1997 ISBN 0 12 206092 X 4 Desmadril Michel Programmer en C Eyrolles 1990 151 Fowler Martin UML distilled Addison Wesley 1997 ISBN 0 201 32563 2 161 Kay David C Levine John R Graphics File Formats TAB Books 1992 ISBN 0 8306 3060 0 7 Klaus Berthold Horn Paul Robot Vision The MIT Press 1986 ISBN 0 262 08159 8 8 Kreyszig Erwin Advanced Engineering Mathematics John Wi ley 1993 ISBN 0 471 59989 1 191 Kruglinski David J Visual C 6 0 Microsoft Pres
39. q un 1IsiouO 9 s p eouenbes ewwbiBoiq 6 9 34 213 soge p 1 16 41 un p juouayenaid juepouuod z rin nired uonouoj un p JWLIBISELIP 6 9 m r ET s ssejo s p gt anod sienns i s lluunoj SSI seude p 66 uonejuesaidei p mod J WJOJSULI 4 5 eouenbes 8 9 3421 34 2 Reconnaissance de l crit manuscrit Diagramme de classes Chapitre 6 Mod lisation UML WASI oseuoq si poyype H WASO98H9 Opuosesien 9 1 4 sins kideui sunsa wi 18ZIU098H9 Deubisiese Q zist si Oinigoa 55 89 u ulus ssewu lueoO zileuuuoN zIS Q nisoqi 2 0109 94 Osqoigiewserouene Buissesoidei49 olsiHoq OJSIH WA L AolsiH eIdsiq HolsiH eldsiQ B5euu Aeldsiq 4 eIdsiqo Wu suunoor u ix Npe t s beu qulmyl sy uonelu ui6 soq ISMBwi wA
40. s ISBN 2 84082 374 8 1101 Marr David Vision Freeman and 1982 ISBN 0 7167 1567 8 1111 Micheloud Maryl ne Rieder Medard Programmation orient e ob jets en C Presses polytechniques et universitaires romandes ISBN 2 88074 334 6 Reconnaissance de l crit manuscrit 52 Chapitre 12 13 Powel Douglass Bruce Real Time UML Addison Wesley 1998 ISBN 0 201 32579 9 Quatrani Terry Visual Modeling with Rational Rose and UML Ad dison Wesley 1998 ISBN 0 201 31016 3 Toumatzet Jean Jacques Traitement de l image sur micro ordi nateur Sybex 1987 ISBN 2 7361 0291 6 Ussain Zahid Digital Image Processing Ellis Horvvood 1991 ISBN 0 13 213281 8 W Kernighan Brian Ritchie Dennis M The C Programming Lan guage Prentice Hall 1988 ISBN 0 13 110362 8 Reconnaissance de l crit manuscrit 53 ANNEXE A Codes sources Voici le CD ROM contenant l int gralit des codes sources ainsi qu une version ex cutable du d monstra teur Reconnaissance de l crit manuscrit 54
41. t de d faut pr sent dans la structure du papier de taches quelconques d un quadrillage en arri re plan ou d une mauvaise opacit du papier faisant transpara tre le recto sur le verso Algorithme Seul un algorithme de suppression de taches a t impl ment dans le d monstrateur Mais avant de le pr senter je vais tout de m me expliquer bri vement comment il est possible de supprimer un fond d image Suppression d un fond d image D abord nous devons tablir l histogramme des niveaux de gris ou des niveaux de couleurs de l image Avec l imagette de la figure 4 3 nous obtenons un histogramme qui ressemble la figure 4 4 Nombre de pixels lt gt gt gt Niveau de gris 1 Caract re Fond Ensuite il devient assez facile de trouver la limite entre l information utile ici le caract re et le bruit de fond car ils se distinguent g n ralement assez bien Revenons nos moutons en ce qui concerne la suppression des taches Reconnaissance de l crit manuscrit 13 Chapitre 4 Pr traitements Correction de l inclinaison des caract res FIGURE 4 5 Exemple de suppression des taches Suppression des taches L algorithme utilis ici est un peu particulier Ja en premier lieu effectu un adoucissement de l image avec l algorithme de flou que nous avons vu pr c demment ce qui dissout les points noirs isol s Puis un seuillage est effectu ce qui s
42. tare car la taille d un fichier peut rapidement atteindre des proportions normes si celui ci comporte plusieurs centaines d images Voici un extrait d un fichier SVM utilis pour un test SVM file created by Eric Grand date Friday December 17 1999 0 206 0 301961 207 0 549020 208 0 549020 233 0 796078 234 0 996078 0 233 0 301961 234 0 549020 235 0 549020 Le fichier commence par des lignes de commentaires pr c d es du cara ctere Ensuite chaque ligne repr sente une image dont les pixels sont organis s par colonnes de haut en bas et de gauche droite Au d but de chaque ligne se trouve un entier qui peut vari suivant T utili sation du fichier En effet si ce fichier est utilis pour un test cet entier prendra la valeur comme dans l exemple ci dessus et s il est utilis pour l entra nement il vaudra 1 si cette image n appartient pas la classe entra ner 1 si elle appartient la classe entra ner Apr s cela nous trouvons pour chaque pixel de l image sa position dont la num rotation commence 1 suivie du caract re Ensuite vient sa valeur qui repr sente dans notre cas son niveau de couleur Ici la valeur d un pixel est comprise entre 0 fond et 1 premier plan Il est important de noter que seuls les pixels contenant l information sont sauvegard s Par contre aucune information n est donn e quant la taille des images car le reconnaisseur SVM peut
43. tion UML il existe quatre modes de reconnaissance Seuls deux modes sont actuellement fonctionnels mode en ligne mode image par image Avant de passer une explication plus d taill e sur l utilisation de ces deux modes de reconnaissance voici une description du contenu de la fen tre principale comme vous pouvez le voir la figure 7 1 compteur boutons de d images navigation FIGURE 7 1 Fen tre principale de l application giz Untitled OCR Demonstrator File Convert Preprocessing Help Image on Input Image Output Image r glage du niveau de flou Modes of recognition Preprocessing Online sanaa E remove smal bon T Reco Input T Reco Output t Sudan st sasay SSES 2nd qiz ini mages database Error rate 0 x r zer Results of PEN SCAN E centralize PEN SCAN s lection des pr traitements s lection du mode de reconnaissance N r sultats pour chaque mode de reconnaissance Pour commancer vous devez s lectionner un mode de reconnaissance Mode en ligne Ce mode de reconnaissance est le plus d monstratif car vous pouvez directement dessiner dans la zone pr vue cet effet comme l illustre la figure 7 2 Reconnaissance de l crit manuscrit 38 Chapitre 7 D monstrateur Mode d emploi FIGURE 7 2 Mode de reconaissance en ligne zone de dessin giz Untitled OCR Demonstrator
44. tre de gravit z fp y dxdy fc y dxdy I I 4 12 5 Joe y dxdy yp x y dxdy I I imagette originale imagette centr e FIGURE 4 7 Exemple de centrage d une image sur son centre de gravit Ici le dessin d une cible mon tre bien l efficacit de l algorithme Nous remarquons tout de m me que l imagette est l g rement d call e en bas droite Ceci est d au fait qu elle contient un nombre pair de pixels Il a fallu donc faire un choix pour d terminer de quel c t l image devait basculer Changer la taille de l image Cette fonction nous permet d agrandir ou de rapetisser une image sans Petirer c est dire en gardant les proportions de l image d origine FIGURE 4 8 imagette originale imagette rapetiss e Changement de la faille de 28 x 28 pixels lin airement d une image de 24 x 18 pixels mani re lin aire zone vide Reconnaissance de l crit manuscrit 17 Chapitre 4 Pr traitements Changer la faille de l image FIGURE 4 9 R duction de la taille d une imagette d un pixel FIGURE 4 10 R duction de la taille d une imagette d un pixel apr s reechantillonnage Une fonction tr s simple consiste calculer les rapport des hauteurs et des largeurs entre l image finale et de l image originale Ces rapports repr sentent les pas ou la fr quence laquelle il faudra r chantillonner l image largeur finale P S orizontal largeur originale
45. tymu AE uorejuouwBbeso olsiH repdni p ucuol si r xidl pi l xidl si seaauegazisoy ue urq zis u4 Oundoio Odo19 OeBeunxensrese 4 6euullx Npe ti Oellzuedo NWAS9I 45 10421151 91 LSINNO OeBeunxensrese Oleqenxenenese OlepeeHenes Oebeurxenpeexe llqu do uepe H APS llau do LSINWS119 Oefeunxensrese H DE H ABSI Oebeweigpeex Oebewnxenpesxe H Munool pu ed Ugen 4dop sioo9esieneme eaog 1249 peuBisun obew wA lut smog WE 1o oO d uu A Joel w 10J098dA1 OpauedoalAs1 L lqu do ureN li pi liq d ayadu qui ejunogi wA qul sobew wi Oellzuedo Nadel19 S SSDI s p uluipi6piq 01 9 34 213 S9SSD 2 SUWD1SDI 35 t manuscri cri Reconnaissance de l Chapitre 6 Mod lisation UML Diagramme de classes Nous pouvons remarquer dans le diagramme de classes la figure 6 10 Papparition de classes particuli res
46. u g n ral de la fonctionnalit du logiciel Son laboration se fait de mani re it rative pour aboutir enfin la meilleure repr sentation du projet Pour cela il est tr s important de bien conna tre le cahier des charges Il doit rester un niveau d abstraction lev sans entrer dans les d tails se d compose en trois phases principales 1 Unified Modeling Language Reconnaissance de l crit manuscrit 28 Chapitre 6 Mod lisation UML Diagramme des cas d utilisation D finition des acteurs Cette premi re phase sert identifier les diff rentes entit s qui entrent en int raction avec le d monstrateur Dans notre cas deux acteurs se pr sentent Utilisateur Personne qui utilise le logiciel et d sire effectuer la recon naissance de caract res e Stylo scanner Unit de capture et de transfert d images D finition des cas d utilisation Les cas d utilisations repr sentent les diff rentes actions pouvant tre activ es par les acteurs Un cas d utilisation peut en activer un autre Utilisateur e Param tre la transmission de donn es donn es en provenance du stylo scanner e Choisit les pretraitments effectuer e Choisit le mode de reconnaissance Commande le stylo scanner Stylo scanner Envoie une image Repr sentation graphique J ai utilis le logiciel Rational Rose 98 comme outil de mod lisation car il permet de r aliser l ensemble des diagrammes n
47. upprime tous les pixels en dessous d une certaine valeur Ce seuil est calcul en fonction du poids moyen de l image et d un coeffi cient a fix arbitrairement seuil x y 43 Ci dessus y gt repr sent le parcours de tous les pixels de l image et I p x y la valeur ou le poids d un pixel aux coordonn es x y Comme nous pouvons le constater la figure 4 5 cet algorithme tr s simple nous donne de bons r sultats imagette originale imagette trait e Correction de l inclinaison des caract res D finitions L algorithme repose sur une mesure des moments d ordre 1 et 2 de l objet 2D constitu par les pixels noirs de l imagette Ci apr s N repr sente le nombre de pixels noirs de l imagette et y la N somme sur les pixels noirs de l image Les moments d ordre 1 ou moments lin aires sont les moyennes des coordonn es x et y des pixels noirs tal 1 1 Reconnaissance de l crit manuscrit 14 Chapitre 4 Pr traitements Correction de l inclinaison des caract res La paire x y constitue les coordonn es du centre de masse de l objet Les moments d ordre 2 ou moments quadratiques relativement l origine du syst me de coordonn es sont d finis par les formules suvantes gs 2 2 2 x y r y NL xy NL 45 Les moments d ordre 2 relativement au centre de masse sont Ge NEE N 5 EEN 46 N G 00 y
48. x m mes huit styles d critures diff rents comme le montre la figure 8 1 TS x 2759 x 2 q al 2454 5 2454 x 2754 x 2q 54 x 29S Pour les tests seuls les styles grand et espac ont t pris en consid ration tant donn qu il nous est possible de segmenter uniquement des caract res qui ne se chevauchent pas comme nous l avons vu au chapitre 3 Segmentation Voici la proc dure que nous avons suivie pour constituer notre base de donn es d imagettes partir des feuilles brutes Reconnaissance de l crit manuscrit 42 Chapitre 8 Tests Tests Il a fallut dans un premier temps d couper chacun des codes postaux de la page ensuite les trier par styles segmenter chaque chiffre les normal iser et enfin les m moriser dans une librairie d imagettes au format MNIST voir au chapitre 9 C est le seul endroi o l histogramme vertical projection horizontale de l image est intervenu Il nous a permis de segmenter les lignes Tests La figure 8 2 illustre tr s bien le m canisme de test FIGURE 8 2 r phases de reconnaissance r phases de test 28 x Test de l efficacit des pr traitements fichier fichier MNIST MNIST 60 000 10 000 images i images pr traitements fichier I fichier MNIST MNIST 60 000 I H 10 000 fichier de images images labels pr trait es pr trait es N fichier SVM fichier SVM x
Download Pdf Manuals
Related Search
Related Contents
GUÍA DEL USUARIO - Support 日立高圧コンタクタ/コンビユニット 3000P Series-E-No PBI Logo - Wire-Tech iSongBook™ - Tivoli Audio SP600 User Guide V2 (AC&BC Mo... - Spa-Quip 取扱説明書 COMINOX. SAFETY. TECHNOLOGY. DESIGN. Copyright © All rights reserved.
Failed to retrieve file