Graph Matching

 

Description

Graph Matching est une démonstration de reconnaissance en hors-ligne de caractères manuscrits isolés.

La reconnaissance hors ligne concerne les documents scannés. Elle est à distinguer de la reconnaissance en-ligne dans laquelle un stylo spécial permet de connaître l'ordre de tracé, comme dans le cas des tablettes tactiles.

L'intérêt de la méthode, qui est détaillée plus bas, est de générer une plausibilité de reconnaissance associée a chaque caractère reconnu, avec la possibilité de sélectionner les trois premiers caractères reconnus.

Ceci est une démonstration d'un logiciel de reconnaissance structurelle de caractères isoles. Cette version du logiciel est un freeware, son utilisation et sa distribution sont totalement libres.

Remarque : l'optimisation en vitesse de l'algorithme de reconnaissance n'ayant pas été faite, il pourrait être sensiblement plus rapide.

Téléchargement du logiciel GMDemo (478 Ko)

 

Présentation des démonstrations

Demo1.bat

L'exemple choisit pour présenter les résultats est celui de la reconnaissance de dossiers de candidature de l'INSA, lesquels sont soumis à un alphabet impose. Le fait d'imposer un alphabet strict ainsi que le précasage des caractères, qui autorise une bonne segmentation, permet d'obtenir un excellent taux de reconnaissance, même dans le cas de la reconnaissance hors ligne omniscripteur de l'écriture manuscrite, qui est le plus difficile du domaine.

 

Demo2.bat

Cette démo reprend le test de reconnaissance sur les dossiers d'inscription, mais en utilisant deux fichiers au format BMP, un fichier pour les caractères à reconnaître et un autre pour les modèles. Cette démo peut donc servir de base pour réaliser d'autres de tests de reconnaissance avec un alphabet de référence quelconque (cette démo est détaillée plus bas).

 

Demo3.bat

Cette démo est un test de reconnaissance en ligne des chiffres manuscrits ; les graphes structurels sont obtenus par une "conversion hors-ligne" du tracé en ligne. Ils ne sont pas exactement similaires aux graphes hors-ligne, mais ils sont quand même compatibles.

 

Runes1.bat

Cette démo présente la comparaison entre deux alphabets runiques. L'un comporte 16 caractères et est issu du livre Que Sais-je sur les écritures alphabétiques. L'autre comporte 52 caractères et est issu du Livre des Signes et des Symboles. Pour faire de la traduction automatique de documents runiques, il ne reste plus qu'à compiler les bons alphabets et ... à trouver la bonne correspondance avec les lettres de l'alphabet latin, ce qui n'est pas une sinécure.

 

Runes2.bat

Cette démo montre la mesure de l'ambiguïté d'un jeu de caractères runiques, c'est-à-dire la distinction des caractères les uns par rapport aux autres, afin de déceler ceux qui se ressemblent. Pour cela, on procède à la reconnaissance du jeu de caractères avec le même jeu de référence, ce qui marche forcement, mais l'étude des probabilités de reconnaissance donne une indication sur les résultats maximums que l'on pourra obtenir avec un jeu de caractères, ce qui peut servir à améliorer un alphabet imposé dans un système de reconnaissance.

 

Détails sur la méthode de reconnaissance

La méthode de reconnaissance est décrite dans deux articles publies en 1993 et 1994 qui sont inclus dans le package : Icohd93.doc et Rfia94.doc au format MS Word 97, référence (voir aussi publications) :

- DARGENTON, P., VINCENT, N., EMPTOZ, H. Construction d'un graphe structurel représentatif d'une forme. ICOHD'93, Sixth International Conference on Handwriting and Drawing, Paris, July 4-7, 1993, p. 231-233 ;

- DARGENTON, P., VINCENT, N., EMPTOZ, H. Appariement de deux graphes structurels quelconques pour la reconnaissance de lettres manuscrites. Actes du 9e congrès AFCET-RFIA, Paris, Jan. 1994, p. 461-471 ;

- DARGENTON, P. Contribution à la segmentation et à la reconnaissance de l'écriture manuscrite par l'ordinateur. Thèse de doctorat : Sciences, INSA LYON, Déc. 1994, 224 p. ;

 

Il y a une démo réduite (demo1.bat) qui utilise des fichiers au format Eyestar (IMG Eyestar : format autrefois utilise par les scanners de type MICROTEK), et une démo complète (demo2.bat) qui utilise les mêmes fichiers mais au format bmp standard, ce qui permet de changer facilement les images de tests. Cette démo complète contient les étapes suivantes :

Dans un premier temps, un utilitaire (BMPTOIMG.EXE) converti les fichiers du format BMP vers le format IMG Eyestar (dans une version ultérieure, le logiciel lira directement les fichiers au format BMP, ce qui évitera cette conversion). Il faut faire attention a ce que les images au format BMP soient binaires, en blanc sur fond noir et la tête en bas.

Ensuite, le logiciel CGS.EXE construits les graphes de référence qui seront ensuite utilisés pour reconnaître les caractères. Le code de chaque graphe est stocké (dans le même ordre) dans la variable BASE qui se trouve dans le fichier INSA.INI. La variable LECTURE permet de calculer automatiquement les scores de reconnaissance. Les fichiers de configuration des logiciels CGS.EXE et GM.EXE sont passes en argument de la ligne de commande.

Exemple : CGS INSA.INI

ou GM INSA.INI

Sinon, c'est le fichier CONFIG.INI qui est utilise par défaut.

Puis, le programme CGS.EXE construits les graphes structurels à partir du fichier image PATRICE.IMG contenant un dossier de candidature numérisé ; Les graphes sont stockés un par un dans le fichier forme.dat. Ensuite, le programme GM.EXE (Graphe Matching) reconnaît chaque graphe grâce à une comparaison caractère par caractère avec le fichier OCR_INSA.DAT qui représente les graphes stockes des lettres de référence de l'alphabet utilise dans cette application. En pratique, il serait possible de classer les graphes de référence pour éviter une comparaison exhaustive sur l'ensemble des caractères du fichier formant l'alphabet de référence.

Deux fichiers sont alors crées, un fichier RESULTAT.TXT contenant les résultats complets de reconnaissance, et un fichier PROBA.TXT contenant le minimum nécessaire pour exploiter les résultats, c'est-à-dire les (1 a 3 premiers) caractères reconnus associes à une plausibilité de reconnaissance graduée entre 0 et 9.

Remarque : vous pouvez vérifier que les fichiers obtenus sont identiques aux fichiers de reconnaissance que j'ai obtenus : RESULT_0.TXT et PROBA__0.TXT.

Les 4 coûts d'appariements sont calcules ainsi :

- le premier est un calcul fonde sur la différence des noeuds du squelette de chaque caractère,

- le second est un calcul fonde sur la différence entre les arcs reliant les noeuds du squelette de chaque caractère,

- le troisième est un calcul fonde sur la différence entre les arcs du contour de chaque caractère,

- le quatrième est une pondération des trois premiers, en fonction de la capacité, pour chaque coût, à distinguer les caractères entre eux.

 

Dans le fichier RESULTAT.TXT, la lettre C désigne le Coût ("distance" de reconnaissance) et la lettre P désigne la Probabilité ou Plausibilité de reconnaissance. Les sept premiers caractères sont présents pour chaque coût. A la suite des quatre coûts est détaillé la proportion en % de chaque coût servant à calculer le coût final n°4.

 

A vous de jouer !

 

Pour envoyer un Mél. patrice.dargenton@free.fr

Adresse web : http://patrice.dargenton.free.fr/index.html

 

Voir aussi : RMC : Reconnaissance Matricielle de Caractères manuscrits

 

Retour à la page ORS Production