<Desc/Clms Page number 1>
Procédé et dispositif de reconnaissance en ligne des caractères manuscrits Reconnaître un caractère, c'est l'identifier à l'un des caractères de référence d'une liste appelée alphabet ; par exemple, on reconnaît une lettre en l'identifiant à l'une des 26 lettres de l'alphabet latin. Le but d'une méthode de reconnaissance optique des caractères (OCR) est de convertir en code ASCII des caractères écrits. On dispose actuellement de méthodes capables de reconnaître des caractères typographiés mais lorsqu'ils sont tracés manuellement, la précision et la fiabilité de la reconnaissance sont insuffisantes.
Les applications du traitement automatique de manuscrits sont nombreuses ; par exemple au bureau : l'archivage de documents, la constitution de banques de données, le mailing ; dans le secteur multimédia : la lecture de télécopies et de textes, l'aide aux aveugles ; dans les services bancaires : la lecture de chèques et de coupons ; à la poste : la reconnaissance des codes de ville et la lecture des adresses ; d'une manière générale, la lecture de tous formulaires tels que fiches de salaire et de soins médicaux, cartes d'accès à des manifestations, bons de commande, etc. L'OCR permet de traiter à vitesse élevée et à moindre coût de grandes quantités de documents.
La reconnaissance des caractères manuscrits est habituellement précédée du repérage des champs du document réservés aux inscriptions de caractères, de signes ou de marques. Par signes ou marques, on désigne des repères, des éléments de ponctuation, des points ou des croix inscrits dans des cases, etc.
Pour améliorer la fiabilité de la reconnaissance, il est courant d'utiliser l'information contextuelle disponible : les lettres forment en général des mots, et on peut vérifier l'appartenance des groupes de lettres reconnues à un dictionnaire de mots possibles, également appelé lexique. Si un groupe de lettres reconnues ne forme pas un mot possible, on peut tenter de modifier ce groupe de façon à retrouver un mot possible : c'est la correction orthographique.
Kahn [1] a proposé une méthode et un système pour repérer sur un formulaire, des marques préimprimées situées à proximité de coins opposés, ce qui permet de trouver par comparaison avec un formulaire mis en mémoire, les coins réservés au texte à imprimer, par exemple une case pour le nom, une autre pour le nom de la rue, etc. La
<Desc/Clms Page number 2>
méthode s'applique quel que soit le format du formulaire. Poursuivant dans la même direction, Rangarajan [2] complète la méthode par la description d'un système et d'une méthode capables de reconnaître automatiquement le type de formulaire et, pour chaque modèle, les champs réservés aux inscriptions manuscrites. Dans le domaine de la reconnaissance en ligne des caractères manuscrits, plusieurs voies ont été proposées.
Tanaka Toshio [3] et Yamashita Kazuhiko [4] revendiquent un système de reconnaissance de caractères japonais fondé sur le partage du flux de données des coordonnées des points du caractère de manière à déterminer la position, la longueur, la direction, la courbure, etc. de fractions de courbes assimilées à des segments, et d'en tirer des informations caractéristiques du caractère qui sont ensuite comparées à celles contenues dans un dictionnaire afin de reconnaître les courbes, et partant de là, le caractère. Nakajima Kenji [5] propose une méthode très proche des précédentes. A partir des coordonnées de tous les points du caractère, il détermine les orientations des courbes qui constituent le caractère et on les compare à celles de caractères de référence.
La particularité de cette méthode est de pouvoir reconnaître le caractère qu'il soit écrit de gauche à droite ou inversement. Kozo Kitamura [6] revendique un système qui réduit le nombre de caractéristiques qui pourraient correspondre au caractère à identifier et ce, de manière rapide et précise, en effectuant un petit nombre d'opérations. Il s'agit de diviser le caractère, par exemple un caractère japonais, en un certain nombre de courbes qui sont présentées sous une forme normalisée devant des matrices de cases afin d'établir la position du centre de gravité de chaque courbe, position caractérisée par une suite de bits qui est comparée à des suites de référence ; par des comparaisons successives et de plus en plus précises, le système décide si le caractère pourra être identifié par une analyse détaillée.
Le système proposé n'opère qu'un premier tri. Nakamura Norio [7] introduit les caractères dans une unité de traitement qui les transmet à une unité de modélisation qui fournit des configurations caractéristiques qui sont comparées à des données de codes définissant les caractères de référence, ce qui permet de reconnaître les caractères d'entrée. Un système de visualisation présente des tables montrant les caractères à identifier et les caractères de référence qui leur correspondent. Riyuu Gakukei [8] vise l'amélioration de la reconnaissance de caractères mal tracés, en divisant le caractère en courbes vectorisées. Les orientations des vecteurs par rapport à un axe de référence sont calculées et comparées aux orientations correspondantes
<Desc/Clms Page number 3>
provenant de caractères de référence.
Un indice est déterminé pour chaque vecteur ; le caractère identifié est celui dont les indices sont les plus concordants.
Ces méthodes fort proches les unes des autres présentent plusieurs inconvénients. Quelles que soient les nuances entre les méthodes existantes, il s'avère en définitive que chaque caractère est identifié en prenant en compte quelques caractéristiques, en procédant par comparaison avec les caractères de référence et en fondant la reconnaissance sur la prise en considération du meilleur résultat des comparaisons ; dès que cette opération est achevée, les résultats des comparaisons obtenus avec les différents caractères restants sont négligés. Ils n'interviennent plus lors de la phase de correction orthographique. Dans ce cas, la procédure appliquée consiste à former par des substitutions successives et arbitraires de caractères, un mot nouveau à partir du mot inexistant.
Cette manière de procéder attribue une importance décisive au meilleur résultat des comparaisons et néglige de prendre en compte toute la richesse de l'information contenue dans les comparaisons avec les caractères rejetés. La pratique montre que ce n'est pas toujours le caractère le plus probable qui est celui qu'il faut retenir.
La décomposition en caractères appelée aussi segmentation électronique d'un mot à reconnaître est une opération très délicate, source de nombreuses erreurs d'interprétation étant donné que le nombre de lettres peut être inexact dès le départ des investigations ce qui ne peut se rectifier facilement au cours des opérations successives qu'implique l'OCR.
La présente invention a pour but de remédier à ces inconvénients.
Elle s'appuie sur l'observation que les marchés les plus importants de documents qui sont utilisés dans les applications de l'OCR sont des formulaires contenant des caractères à reconnaître en nombre assez limité. Ces caractères sont inscrits dans des champs réservés, bien délimités, chaque champ correspond à une fonction univoque, par exemple le nom du souscripteur, son adresse ou son code postal. Les informations à inscrire sont généralement concises, par exemple le motif de paiement, la référence à un
<Desc/Clms Page number 4>
contrat, le numéro de code d'une prestation médicale, le numéro de liste d'un article de vente, etc. Pour ces motifs, la présente invention s'applique directement aux documents à caractères explicitement segmentés c-à-d. inscrits dans des cases séparées, regroupées en mots ou en locutions prédéterminés.
Elle est également applicable à l'écriture manuscrite en caractères d'imprimerie et à l'écriture cursive après séparation des caractères par une méthode de segmentation appropriée.
Dans la méthode préconisée par le déposant, la segmentation s'effectue directement en réservant une case pour chaque caractère. L'expérience montre que des précautions doivent être prises pour tenir compte qu'en pratique tout caractère segmenté peut avoir été partiellement tracé en dehors de la case qui lui est réservée. La méthode est applicable à une image digitalisée du document dans laquelle sont extraits les champs utiles c-à-d. ceux qui sont destinés à recevoir des marques (croix, signes de ponctuation, etc. ) et des textes en caractères segmentés manuscrits ou typographiés.
Pour décrire un caractère, initialement fourni comme une matrice de pixels blancs ou noirs on calcule un ensemble de grandeurs caractéristiques ou mesures. Une mesure peut être la largeur, la hauteur, la surface d'un caractère ou le nombre d'intersections avec une droite de position donnée.... A partir du jeu de mesures sur un caractère, on calcule des grandeurs dérivées, appelées composantes principales. Ces composantes principales sont des combinaisons linéaires judicieusement choisies des mesures, de façon à les rendre les plus discriminantes possible, ce qui permet de ne conserver que les plus significatives. Ces composantes principales définissent le caractère sous une forme abstraite et par conséquent dépourvue de signification géométrique.
Cette technique, connue sous le nom d'analyse en composantes principales, permet de réduire la quantité d'informations utiles. Une classe fest définie comme l'ensemble des formes que peut prendre un caractère de l'alphabet considéré.
On peut utiliser les composantes principales d'un caractère non identifié pour calculer si ce caractère appartient à une classe déterminée. Il est possible de calculer le taux d'appartenance du caractère considéré à une classe déterminée. Le taux d'appartenance égal à 1 signifie que le caractère appartent à cette classe sans aucune restriction ; un
<Desc/Clms Page number 5>
taux zéro au contraire exclut toute appartenance. En pratique, tout caractère peut être relié à n'importe quelle classe par un taux intermédiaire compris entre 0 et 1, et d'autant plus élevé que l'appartenance est plus marquée. Lorsque cette méthode de reconnaissance est appliquée à un mot, on calcule le taux de vraisemblance du mot à partir des taux d'appartenance de chaque caractère dudit mot.
La méthode, objet de la présente invention, consiste à déterminer un ensemble de grandeurs mesurées caractéristiques des caractères de référence mis en mémoire, à extraire de ces grandeurs les composantes principales les plus significatives desdits caractères, à déterminer les valeurs numériques desdites composantes principales de chaque caractère à reconnaître, à traiter lesdites composantes principales de manière à calculer le taux d'appartenance de chaque caractère à chaque classe de référence, à combiner entre eux les taux d'appartenance de chaque caractère à reconnaître dans chaque classe de référence de façon à établir les taux de vraisemblance de tous les mots dudit lexique présentant le même nombre de caractères que le mot à reconnaître,
et à identifier ledit mot à reconnaître au mot dudit lexique présentant le taux de vraisemblance le plus élevé.
Plusieurs méthodes de calcul du taux d'appartenance d'un caractère à reconnaître sont applicables dans le cadre de l'invention. La méthode suivante fondée sur l'utilisation d'un réseau de neurones est plus particulièrement retenue en raison de la grande rapidité des calculs qu'elle requiert.
Pour tenir compte de la grande diversité dans le tracé manuel des caractères, il est indispensable de constituer d'un jeu de données de caractères à partir de plusieurs milliers de caractères d'apprentissage tracés à la main. Par exemple, pour établir ce jeu de données pour l'OCR de l'alphabet usuel, on introduit de l'ordre de 10.000 caractères manuscrits ce qui doit être réalisé par une centaine de personnes au minimum afin d'obtenir une large gamme d'écriture. De l'analyse de ces caractères, on extrait les mesures discriminantes dont on déduit les composantes principales qui sont utilisées pour ajuster par apprentissage les poids synaptiques d'un réseau de neurones.
Lorsqu'un caractère inconnu est introduit sous forme de ses composantes principales dans la
<Desc/Clms Page number 6>
EMI6.1
couche d'entrée du réseau neuronique préalablement ajusté par apprentissage, les contributions de chacune desdites composantes à la valeur numérique du taux d'appartenance à chaque classe de référence sont calculées par le réseau. Les 26 neurones de sortie fournissent respectivement les taux d'appartenance du caractère inconnu en relation avec chaque lettre de l'alphabet. Ces taux sont utilisés pour reconnaître le mot.
Suivant l'invention, le calcul du taux d'appartenance d'un caractère à reconnaître dans les différentes classes de référence s'effectue selon une méthode caractérisée par les opérations suivantes : * détermination des grandeurs mesurées caractéristiques du caractère ; transformation linéaire du vecteur groupant ces grandeurs pour ne retenir que les composantes principales dudit vecteur ; introduction de ces composantes principales dans la couche d'entrée d'un réseau de neurones dont les poids synaptiques ont été préalablement ajustés par apprentissage ; calcul par le réseau de neurones du taux d'appartenance dudit caractère à chaque classe de référence ; . mise à disposition des taux d'appartenance à chaque classe par les neurones de la couche de sortie à raison d'un neurone par classe c-à-d. par caractère de l'alphabet.
Suivant l'invention, les paramètres du réseau de neurones et notamment les poids synaptiques attribués aux connexions entre neurones sont ajustés expérimentalement par une méthode d'apprentissage caractérisée en ce que le jeu de données sur lequel s'appuie ladite méthode contient les composantes principales d'un grand nombre de caractères manuscrits par un groupe suffisant de personnes de manière à pouvoir couvrir une gamme étendue de modes d'écriture différents. In fine, les poids synaptiques sont mémorisés contrairement aux composantes principales.
Le jeu de données est avantageusement établi à partir du tracé d'au moins 400 à 500 fois le même caractère, par exemple par 100 personnes effectuant le même tracé à cinq reprises.
<Desc/Clms Page number 7>
Encore suivant l'invention, le mode de combinaison entre eux des taux d'appartenance calculés pour chaque caractère constitutif d'un mot est caractérisé en ce que l'on calcule le produit des taux d'appartenance dudit mot.
Toujours selon l'invention, à chaque champ réservé du document est attribuée un lexique correspondant à une catégorie de mots ; par exemple, la liste de tous les prénoms connus ; aux champs réservés aux codes postaux et aux localités correspondent pour la Belgique respectivement la liste de tous les nombres de 4 chiffres et le lexique des communes. La bonne concordance entre code postal et nom de localité peut être vérifiée par analyse contextuelle et relationnelle afin d'accroître encore la fiabilité de la reconnaissance.
Le dispositif requis pour mettre en oeuvre la méthode revendiquée est caractérisé par une chaîne d'éléments permettant de recevoir un empilement de documents à lire (feeder), un dispositif de lecture à résolution et vitesse de scrutation élevées (scanner), un ordinateur de type PC et un moniteur de contrôle.
Selon une variante de l'invention, il a été jugé particulièrement utile de rassembler dans un même boîtier les organes indispensables extraits desdits éléments afin de disposer d'un équipement spécifiquement adapté à l'application envisagée sous l'aspect du poids, de l'encombrement, du niveau de protection par rapport à l'environnement dans lequel il doit fonctionner.
Pour certaines applications, il est indispensable de disposer de plusieurs lecteurs de documents reliés à une unité commune de traitement. Par exemple, les réseaux bancaires doivent être équipés de plusieurs lecteurs dans la même agence. Les documents d'admission aux foires et expositions peuvent être présentés à plusieurs portes d'accès et être installés en nombre suffisant à chaque entrée.
Il est prévu de construire le dispositif selon une variante caractérisée en ce que plusieurs lecteurs sont répartis en des points distincts, éloignés du PC auquel ils envoient les informations lues et duquel ils reçoivent en retour un signal d'acceptation ou de refus du document ce qui permet de rectifier le champ illisible du document et, le cas échéant, de commander l'impression d'un badge, d'afficher un numéro d'accès ou toute autre information utile.
<Desc/Clms Page number 8>
Références [1] System and method for reading data from prescribed regions of a document of variable size
MONEYFAX/Khan
WO 95/34046 2 June 1995 [2] System and method for automatic page recognition and automatic zone detection during forms processing
REBUS TECHNOLOGY USA/Rangarajan
WO 96/3269 10Aprill996 [3] On line handwritten character recognition device
SEIKO EPSO/Tanaka Toshio
JP 6301819 941028 [4] Method and device for on line handwritten character recognition
MATSUSHITA Electric/Yamashita Kazuhiko
JP 7014007 950117 [5] Preprocessing method for on line handwritten character recognition
FUJITSU/Nakajima Kenji
JP 7014001 950117 [6] Character recognition
IBM/Kozo Kitamura
EP 0 546 860 A2 111292 [7] On line handwritten character recognition device MATSUSHITA Electric/Nakamura Norio
JP 7129721 950519 [8] On line handwritten character recognition
method
RICOH/Riyuu Gakukei
JP 8007043 960112