FR2682207A1 - Procede de reconnaissance automatique de caracteres alphanumeriques manuscrits dans une image et dispositif destine a sa mise en óoeuvre. - Google Patents

Procede de reconnaissance automatique de caracteres alphanumeriques manuscrits dans une image et dispositif destine a sa mise en óoeuvre. Download PDF

Info

Publication number
FR2682207A1
FR2682207A1 FR9112227A FR9112227A FR2682207A1 FR 2682207 A1 FR2682207 A1 FR 2682207A1 FR 9112227 A FR9112227 A FR 9112227A FR 9112227 A FR9112227 A FR 9112227A FR 2682207 A1 FR2682207 A1 FR 2682207A1
Authority
FR
France
Prior art keywords
image
character
neuron
neurons
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9112227A
Other languages
English (en)
Other versions
FR2682207B1 (fr
Inventor
Burel Gilles
Pottier Isabelle
Accarie Jean-Paul
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thomson CSF SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson CSF SA filed Critical Thomson CSF SA
Priority to FR9112227A priority Critical patent/FR2682207B1/fr
Publication of FR2682207A1 publication Critical patent/FR2682207A1/fr
Application granted granted Critical
Publication of FR2682207B1 publication Critical patent/FR2682207B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/192Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
    • G06V30/194References adjustable by an adaptive method, e.g. learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Character Discrimination (AREA)
  • Image Analysis (AREA)

Abstract

Le procédé consiste à extraire, d'une image d'un caractère manuscrit à reconnaître, des caractéristiques métriques, statistiques et morphologiques du caractère, à présenter les valeurs de ces caractéristiques aux entrées d'un réseau de neurones multicouches qui par application de coefficients de pondération ajustés pendant une phase d'apprentissage, donne une configuration de sortie à partir de laquelle est déterminée à quelle classe appartient le caractère considéré. Application notamment à la reconnaissance de codes postaux, au traitement de bons de commande, à la robotique pour trier des pièces marquées manuellement, au traitement de chèques bancaires.

Description

PRO CODE DE RECONNAISSANCE AUTOMATIQUE
DE CARACTERES ALPHANUMERIQUES
MANUSCRITS DANS UNE IMAGE
ET DISPOSITIF DESTINE A SA MISE EN OEUVRE.
L'invention se rapporte au domaine du traitement d'images, et plus particulièrement à un procédé de reconnaissance automatique de caractères alphanumériques manuscrits dans une image. Ce procédé peut être appliqué notamment à la reconnaissance de codes postaux, au traitement de bons de commande, à la robotique pour trier des pièces marquées manuellement, au traitement de chèques bancaires.
Les systèmes de reconnaissance de ltécriture manuscrite sont distingués selon que la reconnaissance est effectuée directement lors de l'écriture (en anglais la reconnaissance est dite "on-line") ou que la reconnaissance est effectuée de manière optique par reprise d'image (en anglais la reconnaissance est dite "off-line"). Dans le premier cas, les mouvements du crayon sont connus (l'écriture se fait par exemple sur une tablette graphique), alors que dans le second cas, on ne connaît que l'image du caractère ou du texte. Les taux de reconnaissance sont donc meilleurs pour les systèmes de reconnaissance "on-Line".
Les systèmes de reconnaissance sont également distingués selon que le scripteur est connu ou inconnu. Dans le premier cas, la personne qui écrit est connue ou appartient à un groupe connu, d'une dizaine de personnes par exemple. Le système de reconnaissance peut alors être adapté à ce groupe.
En ce qui concerne le procédé de reconnaissance, selon l'invention, la reconnaissance de caractères alphanumériques manuscrits considérée est effectuée en "off-line" et sans contrainte d'écriture.
Il existe des méthodes classiques qui consistent à calculer, sur le caractère à reconnaître, un petit nombre de caractéristiques discriminantes, puis à identifier le caractère en comparant ces caractéristiques avec des modèles, ou en appliquant à ces caractéristiques, des règles de décision. Ces méthodes ont l'inconvénient de nécessiter un effort important pour le choix des caractéristiques discriminantes, pour la constitution de modèles ou l'élaboration de règles de décision.
Il existe des méthodes neuronales qui consistent, pour la reconnaissance de chiffres manuscrits, à alimenter un réseau de neurones avec une image du chiffre à reconnaître, le chiffre étant binarisé, et l'image étant normalisée à une certaine taille. Le réseau de neurones fournit directement, en sortie, un code correspondant à la classe du chiffre considéré.
Ces méthodes présentent l'avantage de fonctionner par apprentissage ce qui facilite leur généralisation, la généralisation étant la capacité du réseau de neurones à bien reconnaître un caractère manuscrit dans une image n 'ayant pas participé à l'apprentissage, mais l'alimentation directe du réseau par l'image du caractère conduit à des réseaux complexes et de grande taille, ce qui nécessite un apprentissage très long et pose des problèmes pour une réalisation matérielle.
L'invention a pour objet un procédé de reconnaissance de caractères manuscrits qui présente, par rapport aux méthodes classiques, l'avantage d'éviter les difficiles tâches notamment de choix de paramètres, de constitution des modèles, d'élaboration des règles de décision, qui présente, par rapport aux approches neuronales connues1 l'avantage de rester raisonnable en terme de complexité, et qui permet d'obtenir une bonne généralisation.
Pour cela, le procédé selon l'invention utilise une approche intermédiaire entre les méthodes classiques qui travaillent sur un petit nombre de paramètres, et les méthodes neuronales connues dans lesquelles le réseau de neurones, dit aussi réseau connexionniste, est alimenté directement par une image du caractère à reconnaître. Le procédé consiste à utiliser un réseau de neurones multicouches qui est alimenté, non pas par une image du caractère, mais par le résultat de prétraitements réalisés sur cette image. Ces pré traitements consistent à extraire des caractéristiques métriques, statistiques et morphologiques, en grand nombre, sur l'image du caractère.
Afin d'obtenir une bonne généralisation, des contraintes sont imposées sur la structure du réseau : des connexions locales sont imposées entre certaines couches du réseau de neurones et des voisinages sont définis entre certains neurones du réseau. L'algorithme d'apprentissage utilisé est défini de façon à tenir compte de ces voisinages.
Selon l'invention, le procédé de reconnaissance automatique de caractères alphanumériques manuscrits dans une image est caractérisé en ce qu'il consiste
- dans une phase préalable, et pour un nombre fixé d'exemples d'images binarisées de caractères manuscrits, à extraire des caractéristiques métriques, statistiques et morphologiques du caractère de chaque image,
- dans une phase d'apprentissage, pour chaque exemple d'images, à présenter aux entrées d'un réseau de neurones multicouches, les caractéristiques du caractère extraites dans la phase préalable, pour ajuster par approches successives, des valeurs de coefficients de pondération du réseau de neurones jusqu'à ce que les valeurs de sorties du réseau de neurones soient représentatives de différentes classes de caractères possibles, ces classes correspondant respectivement aux différents chiffres de zéro jusqu a neuf et aux lettres alphabétiques considérées,
- enfin, dans une phase de classification, les caractéristiques métriques, statistiques et morphologiques d'un caractère manuscrit à reconnaître dans une image nouvelle sont extraites de cette image et présentées aux entrées du réseau de neurones, qui par application des coefficients de pondération fixés en fin de phase d'apprentissage, donne une configuration de sortie à partir de laquelle est déterminé à quelle classe, parmi les classes apprises, appartient le caractère considérée.
L'invention a également pour objet un dispositif de reconnaissance de caractères alphanumériques manuscrits destiné à la mise en oeuvre du procédé selon l'invention caractérisé en ce qu'il comporte un dispositif de prétraitement connecté à un réseau de neurones, le dispositif de prétraitement étant destiné à extraire des caractéristiques métriques, statistiques et morphologiques d'un caractère manuscrit à reconnaître dans une image, le réseau de neurones comportant cinq couches telles que la première couche est destinée à recevoir les valeurs des caractéristiques métriques, statistiques et morphologiques extraites de l'image du caractère par le dispositif de prétraitement et à transmettre sans traitement ces valeurs aux couches de neurones suivantes ; les deuxième et troisième couches sont destinées à traiter les caractéristiques métriques et comportent des connexions locales de façon à ce que chaque neurone soit affecté à une région particulière du ou des profils du caractère, la quatrième couche est reliée aux sorties de la troisième couche et reçoit les valeurs des caractéristiques statistiques et morphologiques ; la cinquième couche comporte un nombre de neurones égal au nombre de classes de caractères à reconnaitre, chacun de ces neurones étant destiné à recevoir les valeurs de sortie de tous les neurones de la couche précédente et à délivrer des valeurs de sortie correspondant à la classe du caractère considéré.
D'autres particularités et avantages de l'invention apparaîtront clairement dans la suite de la description suivante donnée à titre d'exemple non limitatif et faite en regard des figures annexées qui représentent:
- la figure 1 : un exemple de dispositif de mise en oeuvre de l'invention;
- les figures 2a, 2b, 2c : un exemple d'image d'un chiffre manuscrit sur laquelle sont respectivement définis les profils gauche > droit et orienté, du chiffre
- la figure 3 : un exemple de confusion entre le chiffre 9 et le chiffre 3;
- les figures 4a et 4b un exemple de courbes correspondant aux profils normalisés gauche et droit (4a) et au profil orienté (4b) du chiffre 3
- la figure 5 : six exemples de découpage d'une image en régions
- la figure 6 : deux exemples d'images de chiffre sur lesquelles sont indiquées les cavités et les trous
- la figure 7 : un exemple de deux fonctions de pondération Go et Gb des caractéristiques morphologiques
- la figure 8 : un exemple de modélisation d'un neurone
- la figure 9 : un exemple de structure d'un réseau de neurones multicouches, selon l'invention;
- la figure 10 : un organigramme de la phase d'apprentissage selon l'invention; - la figure 11 : un organigramme de la phase de classification selon l'invention.
L'exemple décrit ci-après est limité à la reconnaissance de chiffres manuscrits dans une image.
Cependant, la généralisation à d'autres caractères est possible comme il est expliqué plus loin.
Pour résoudre le problème de la reconnaissance d'un caractère alphanumérique et particulièrement pour reconnaitre un chiffre manuscrit dans une image, le procédé consiste à alimenter un réseau de neurones multicouches par des caractéristiques métriques, statistiques et morphologiques extraites sur le chiffre.
La figure 1 représente un exemple de dispositif de mise en oeuvre de l'invention.
Le dispositif comporte un dispositif de prétraitement 10 connecté à un réseau de neurones 11. Le dispositif de prétraitement est destiné à recevoir, en entrée, une image d'un chiffre manuscrit et à délivrer, en sortie, les différentes caractéristiques du chiffre. Ces caractéristiques sont transmises aux entrées du réseau de neurones qui délivre des valeurs de sortie qui devront correspondre, après une phase d'apprentissage, à la classe du chiffre.
Le réseau de neurones utilisé doit avoir un nombre de degrés de liberté suffisant pour pouvoir, en fixant ces différents degrés de liberté, obtenir en sortie du réseau de neurones le résultat attendu pour différentes classes de chiffres dites "apprises", ce réseau pouvant être ensuite utilisé pour des images nouvelles et pour déterminer à quelle classe appartiennent les chiffres manuscrits représentés sur ces images par analogie avec ces classes de chiffres.
Les figures 2a, 2b et 2c, représentent un exemple d'image d'un chiffre manuscrit sur laquelle sont respectivement définis les profils droit, gauche et orienté du chiffre.
Les caractéristiques métriques recherchées dans l'image d'un chiffre sont les profils du chiffre. Les profils gauche et droit peuvent être insuffisants pour discriminer les chiffres comme le montre la figure 3 qui représente un exemple de confusion entre le chiffre 9 et le chiffre 3 si l'on considère leurs profils gauche et droit. Afin de lever certaines ambiguïtés, le profil orienté à 45 degré est également pris en compte.
Pour obtenir un profil, l'image est d'abord seuillée de façon à obtenir une image binaire telle que tous les points de l'image appartenant au chiffre correspondent par exemple au chiffre 1 et tous les points n'appartenant pas au chiffre > appelés points du fond, correspondent au chiffre 0, puis le chiffre est encadré dans une fenêtre minimale, cette fenêtre correspondant au plus petit rectangle qui contient le chiffre.
Les courbes correspondant aux profils gauche et droit du chiffre sont ensuite obtenues en définissant un axe des abscisses qui correspond au bord vertical gauche, respectivement droit, de l'image, et en cherchant, à partir de cet axe, où se trouve le premier point du chiffre.
La courbe du profil orienté à 450 est obtenue en procédant de la même façon que pour le profil gauche en choisissant un axe des abscisses orienté à 450 par rapport au chiffre, comme représenté sur la figure 2c, ou en faisant, préalablement, subir au chiffre, une rotation de -45 degrés et en choisissant un axe des abscisses vertical.
Les courbes des profils sont ensuite normalisées comme représenté sur les figures 4a et 4b, de façon à ce que le maximum de la courbe soit égal à +1 et le minimum de la courbe soit égal à -1. Cette normalisation est effectuée pour obtenir une invariance des courbes par rapport aux dilatations du chiffre. Chaque profil est alors échantiUonné, le nombre d'échantillons étant choisi de façon à conserver la forme du chiffre. Par exemple, pour obtenir une bonne approximation des courbes de profil, le nombre d'échantillons pour les profils gauche et droit est choisi égal à 32, tandis que pour le profil orienté, le nombre d'échantillons peut être choisi plus faible, par exemple égal à 16, puisqu'il s'agit d'une information complémentaire. 80 valeurs correspondant aux profils du chiffre sont ainsi obtenues et vont être utilisées pour alimenter un réseau de neurones multicouches qui doit permettre la reconnaissance du chiffre.
Les caractéristiques statistiques recherchées dans l'image d'un chiffre sont des caractéristiques qui traduisent la répartition des points du chiffre entre différentes régions de l'image.
Pour cela le chiffre est encadré dans une fenêtre minimale. Cette fenêtre minimale est ensuite divisée en régions de six façons différentes ; la figure 5 représente six exemples de découpage, en régions, d'une image. Pour chaque découpage, la répartition des points du chiffre entre les régions constituant ce découpage est déterminée. Si n3 est le nombre de points du chiffre situés dans la région j et n le nombre total de points du chiffre dans la fenêtre minimale, la caractéristique statistique R. considérée pour cette région j est telle que R. = n./n.
J J
Dans les exemples de découpage de la figure 5, 4 découpages délimitent 3 régions et deux découpages délimitent 4 régions dans l'image ; 20 régions sont ainsi obtenues et les 20 caractéristiques statistiques correspondant à ces 20 régions vont être présentées sur 20 entrées du réseau de neurones multicouches pour contribuer, avec les caractéristiques métriques, à la reconnaissance du chiffre.
Enfin, des caractéristiques morphologiques du chiffre sont extraites sur l'image. Ces caractéristiques morphologiques sont les surfaces relatives de différentes zones délimitées par le chiffre sur l'image, ces zones étant appelées cavités, et trous.
Cinq types de cavités sont définies et appelées respectivement cavités Ouest, Est, Nord, Sud, Centrale. Les cavités et les trous sont appelés aussi des primitives morphologiques. Au total, il y a donc six primitives morphologiques possibles.
La figure 6 représente deux exemples d'images de chiffre sur lesquelles sont indiquées les cavités et les trous.
Un trou est une zone fermée délimitée par le chiffre.
Les trous sont rencontrés dans les chiffres 0, 6, 8, 9. Les trous peuvent être détectés à l'aide d'un algorithme de recherche des zones connexes. En effet, en recherchant par exemple les zones connexes relatives au fond de l'image, le chiffre étant placé dans une fenêtre avec laquelle il n'est pas en contact, une grande zone connexe en contact avec les bords de la fenêtre est obtenue ; cette zone connexe correspond au fond externe au chiffre. En outre, si le chiffre comporte un ou plusieurs trous, une ou plusieurs zones connexes non au contact avec les bords de la fenêtre sont obtenues ; ces zones correspondent aux trous. Les différentes cavités Ouest sont définies ci-après. Un point appartient à une cavité Ouest si les trois conditions suivantes sont remplies simultanément
- en se déplaçant, à partir de ce point, en ligne droite dans les directions Est, Sud, ou Nord, on rencontre le chiffre,
- en se déplaçant, à partir de ce point, en ligne droite dans la direction Ouest, on ne rencontre pas le chiffre >
- ce point n'appartient pas au chiffre
Une définition similaire est effectuée pour les cavités Nord, Sud et Est, en remplaçant, respectivement, le mot
Ouest par le mot Nord, Sud, ou Est, et en listant dans la première condition d'appartenance, les trois directions restantes.
En ce qui concerne les cavités Centrales, un point appartient à une cavité Centrale si les trois conditions suivantes sont remplies simultanément
- en se déplaçant, à partir de ce point, en ligne droite dans les directions Ouest, Est, Sud ou Nord, on rencontre le chiffre,
- ce point n'appartient pas au chiffre,
- ce point n'appartient pas à un trou.
Chacune des six primitives morphologiques peut être représentée, en entrée du réseau de neurones, par la surface relative de la primitive considérée par rapport à la surface totale de toutes les primitives. Afin de tenir compte de certains cas particuliers, par exemple le chiffre "i" que certaines personnes représentent par un trait vertical, les valeurs des surfaces relatives des primitives d'un chiffre sont maintenues égales à zéro si la surface totale de toutes les primitives est inférieure à la moitié de la surface du chiffre.
Cependant, une amélioration du taux de reconnaissance d'un chiffre dans une image est obtenue en représentant chaque primitive par deux valeurs au lieu d'une seule valeur. Ces deux valeurs sont choisies de façon à obtenir une information supplémentaire, à savoir, la disposition spatiale des primitives morphologiques. Pour cela, deux fonctions de pondération notées
Gh et G b sont utilisées pour pondérer la surface relative de chaque primitive. Gh et Gb sont déterminées de façon à privilégier les cavités qui sont situées dans la partie haute, respectivement dans la partie basse de l'image. La figure 7 représente un exemple de fonction Gh et de fonction Gb. A titre d'exemple, les cavités Ouest peuvent être alors représentées par les deux valeurs suivantes, notées COh et
COb, où ICO est l'indicatrice des cavités Ouest (ICO prend la valeur 1 si le point appartient à une cavité Ouest, ICO prend la valeur 0 sinon), et ICT est l'indicatrice de toutes les cavités ou trous.
Figure img00100001
<tb>
COh <SEP> '1ignes <SEP> {Ecolonnes <SEP> Aco(ligne, <SEP> co1onne)Gh(li9ne)}
<tb> <SEP> Elagnel <SEP> {E,cotonn <SEP> IcT(lignes <SEP> colonne)G(ligne)}
<tb> CO6 <SEP> lignes <SEP> fcoionnes <SEP> Ico(ligne, <SEP> colonne)Gs(ligne))
<tb> <SEP> Lignes <SEP> (colonnes <SEP> IcT(ligneX <SEP> colonne)Gb(ligne))
<tb>
De la même façon, deux valeurs peuvent être obtenues pour les trous et les cavités Est, Nord, Sud et Centrales en remplaçant l'indicatrice des cavités Ouest, par l'indicatrice respective, des trous ou des cavités Est, Nord, Sud ou
Centrale.
Douze valeurs correspondant aux caractéristiques morphologiques du chiffre sont ainsi obtenues et vont être présentées sur 12 entrées du réseau de neurones multicouches pour contribuer, avec les caractéristiques métriques et statistiques, à la reconnaissance du chiffre.
La figure 8 représente un exemple de modélisation d'un neurone. Un neurone J peut être modélisé à l'aide d'un sommateur pondéré, 30, associé à un dispositif de calcul d'une fonction non linéaire, 31. Les valeurs aux entrées I1, I2, Ii > "' In du sommateur pondéré, 30, sont multipliées par des coefficients de pondération respectivement
W13, W2j > ... > W1j > ..., Wn3 puis additionnées pour former une valeur intermédiaire a j appelée potentiel du neurone J à laquelle est appliqué un calcul de fonction correspondant, f (aj), qui fournit la valeur de la sortie 0j.
de ce neurone J. La fonction (a.) est aussi appelée fonction d'activation des neurones. Comme fonction d'activation, on choisit de préférence la fonction tangente hyperbolique, dont la valeur de saturation haute vaut +i, et la valeur de saturation basse vaut -1. Les coefficients de pondération sont les poids synaptiques Wu des connexions neuronales entre un neurone J et les entrées e..
La figure 9 représente un exemple de structure d'un réseau de neurones multicouches, selon l'invention.
Différentes structures de réseau de neurones peuvent être envisagées pour la reconnaissance de chiffres manuscrits, selon l'invention. Notamment le réseau de neurones comportant plusieurs couches dont une couche d'entrée, une couche de sortie et une ou plusieurs couches intermédiaires, peut avoir une structure entièrement connectée, c'est-à-dire telle que chaque neurone d'une couche reçoit en entrée toutes les valeurs de sortie des neurones de la couche précédente. Cependant, étant donné qu'il existe une relation de voisinage entre les points successifs appartenant à un profil donné, la structure du réseau de neurones a été choisie de façon à prendre en compte cette relation de voisinage. Ceci peut être obtenu en réalisant des connexions locales entre certains neurones destinés à traiter les caractéristiques métriques d'un chiffre manuscrit, comme indiqué sur la figure 9 pour les deuxième et troisième couches du réseau, de façon que chaque neurone soit responsable d'une région particulière du ou des profils.
Le réseau proposé sur la figure 9 comporte 5 couches.
Les couches i, 3 et 4 comportent des neurones seuils qui ne sont pas représentés sur la figure 9. Ces neurones ont une valeur de sortie toujours égale à +i, et leur rôle est d'ajouter un degré de liberté supplémentaire au réseau.
Le réseau de neurones comporte, sur sa première couche, un nombre de neurones d'entrée égal au nombre total de données disponibles, ces données étant les valeurs des différentes caractéristiques extraites d'une image d'un chiffre.
Il comporte donc 112 neurones d'entrée tel que 80 entrées sont respectivement destinées à recevoir les 32 valeurs correspondant au profil gauche, les 32 valeurs correspondant au profil droit et les 16 valeurs correspondant au profil orienté, 20 entrées sont destinées à recevoir les 20 valeurs obtenues pour les caractéristiques statistiques, 12 entrées sont destinées à recevoir les 12 valeurs obtenues pour les caractéristiques morphologiques. Les neurones de cette première couche n'effectuent aucun traitement, leur rôle étant simplement de transmettre, à l'une des couches de neurones suivantes, l'information à traiter.
La seconde couche du réseau de neurones contient 88 neurones organisés de la façon suivante
- 3 lignes de 6 neurones sont responsables du profil orienté. Chaque neurone reçoit 6 valeurs d'entrée correspondant à des points successifs du profil. Les entrées se décalent par pas de 2 lorsque l'on passe d'un neurone au neurone suivant dans une même ligne. Ainsi, le premier neurone de chaque ligne reçoit les valeurs des entrées i à 6, le second neurone reçoit les valeurs des entrées 3 à 8, et ainsi de suite jusqu'au sixième neurone de la ligne. Chaque neurone reçoit en outre une valeur d'entrée provenant du neurone seuil de la première couche. De cette façon, chaque neurone fait une analyse d'une partie de la courbe correspondant au profil orienté avec un décalage de deux points.
- 5 lignes de 14 neurones responsables des profils gauche et droit. Chaque neurone reçoit 12 valeurs d'entrée correspondant à 6 points successifs du profil gauche, et aux 6 points successifs correspondant aux mêmes abscisses sur le profil droit. Les entrées se décalent par pas de 2 lorsque l'on passe d'un neurone au neurone suivant dans une ligne. Chaque neurone reçoit de plus une valeur d'entrée provenant du neurone seuil de la première couche.
La troisième couche du réseau contient 44 neurones organisés de la façon suivante
- 3 lignes de 3 neurones sont responsables du profil orienté. Chaque neurone reçoit 2 valeurs d'entrées provenant des 2 neurones de la ligne qui lui correspond sur la couche précédente, comme indiqué sur la figure 9. On impose aux 2 poids synaptiques correspondant d'être identiques. Ceci force en quelque sorte ces neurones à réaliser un moyennage de leurs valeurs d'entrée. On impose ainsi une invariance par rapport à de légères déformations locales des profils.
- 5 lignes de 7 neurones sont responsables des profils gauche et droit. Chaque neurone reçoit 2 valeurs d'entrée qui proviennent des 2 neurones de la ligne qui lui correspond sur la couche précédente, comme indiqué sur ia figure 9. On impose aux 2 poids synaptiques correspondant d'être identiques.
La quatrième couche contient 15 neurones. Elle reçoit 76 valeurs d'entrée qui proviennent des 44 sorties des neurones de la couche 3, des 20 valeurs des caractéristiques statistiques, et des 12 valeurs des caractéristiques morphologiques. Chaque neurone reçoit de plus une valeur d'entrée provenant du neurone seuil. Les connexions sont totales.
La cinquième couche contient 10 neurones, correspondant aux 10 classes de chiffres possibles. Elle reçoit 15 valeurs d'entrée qui proviennent des 15 sorties des neurones de la couche 4 et une valeur d'entrée provenant du neurone seuil de la couche 4. Les connexions sont totales.
Le procédé de reconnaissance d'un chiffre manuscrit dans une image se déroule de la façon ci-après. Dans une étape préalable, une base de données d'images de chiffres manuscrits isolés, appelée fichier d'exemples, est constituée. Le problème de la séparation de plusieurs chiffres connectés n'est pas considéré ; cette séparation peut être réalisée par des méthodes connues qui ne font pas l'objet de l'invention. Seuls des chiffres préalablement isolés sont considérés.
Afin de disposer d'écritures diversifiées, il peut être demandé à différentes personnes de remplir chacune une page de chiffres.
Le fichier des exemples étant constitué, l'apprentissage peut commencer. Une image est extraite aléatoirement de ce fichier. Les caractéristiques métriques, statistiques et morphologiques sont alors extraites de l'image et leurs valeurs présentées aux entrées du réseau de neurones multicouches.
L'apprentissage est du type dit "supervisé", c'est-à-dire que pour des exemples d'une classe de chiffres donnée, l'opérateur apprend au réseau de neurones à reconnaître cette classe de chiffres en lui indiquant les valeurs que doivent avoir ses sorties pour cette classe de chiffres. La même classe de chiffres est présentée plusieurs fois au réseau de neurones jusqu'à ce que le réseau ne restitue plus aucune sortie fausse.
Pendant la phase d'apprentissage, le réseau de neurones ajuste les coefficients de pondération, dits aussi poids des connexions neuronales, à partir de valeurs de départ arbitraires, par approches successives, en utilisant tous les exemples d'une classe ou de plusieurs classes de chiffres, éventuellement plusieurs fois, et dans un ordre quelconque aléatoire. A l'issue de la phase d'apprentissage une classe de chiffres donnée correspond à l'obtention d'un coefficient de pondération aussi proche de 1 que possible sur la sortie du réseau caractéristique de cette classe, et aussi proche de -1 que possible sur les autres sorties, et ce pour chacune des classes de chiffres considérées.
La phase d'apprentissage est effectuée de la manière suivante décrite ci-après en référence à la figure 10.

Dans une première étape i les poids synaptiques W..
iJ des connexions neuronales entre un neurone J et les entrées e.
sont initialisés pour chacun des neurones. Les valeurs initiales des poids des connexions neuronales sont fixées aléatoirement selon une loi de probabilité uniforme dans un intervalle -D, tD.
Pour un neurone d'un niveau donné, la valeur de D est choisie égale à
Figure img00150001

où N est le nombre de neurones du niveau inférieur connectés à ce neurone. Une relation de voisinage est définie à l'intérieur de chaque ligne de neurones appartenant à la deuxième couche du réseau représenté sur la figure 9. Cette relation de voisinage est définie telle que un neurone a pour voisins les deux neurones les plus proches situés sur la même ligne, ou le neurone le plus proche pour les neurones situés aux extrémités de la ligne. L'apprentissage consiste alors en la modification des coefficients de pondération Wij, cette modification se déroulant de la façon suivante : à un rang d'itération t donné, dans une étape 2, un chiffre exemple est extrait du fichier des exemples et les valeurs des caractéristiques métriques, statistiques et morphologiques correspondant au chiffre exemple sont appliquées aux entrées du réseau de neurones. Les sorties correspondantes du réseau sont alors calculées, dans une étape 3. Cet exemple étant caractéristique d'une classe de chiffres donnée devra donner en fin d'apprentissage, en sortie du neurone associé à cette classe, un coefficient égal à +1 ou voisin de +1, les sorties des autres neurones du dernier niveau donnant des valeurs négatives aussi proches de -1 que possible. Une fonction d'erreur est calculée dans une étape 4 en comparant les valeurs de sortie O. du réseau aux valeurs de sortie S3 désirées.
L'erreur sur la sortie, notée E;, par rapport à paramètre # dit "vitesse d'apprentissage", de la manière suivante :
Figure img00160001

cependant une telle modification des coefficients de pondération ne tient pas compte de la relation de voisinage qui existe entre certains neurones situés sur la deuxième couche du réseau de neurones. Afin de tenir compte de cette relation de voisinage pour les neurones situés sur une même ligne de la couche 2, la variation des coefficients de pondération est effectuée conformément à Ia relation suivante
Figure img00160002

où V(j) représente le voisinage du neurone j, k est un neurone appartenant au voisinage V(j) du neurone j, et P(k,j) est un coefficient de pondération. i' (j, k, i) est un neurone qui appartient à la couche 1, qui est connecté au neurone k de la couche 2, et qui joue le même rôle par rapport à k que le neurone i par rapport à j. Puisque les entrées des neurones de la couche 2 se décalent par pas de 2 lorsque l'on passe d'un neurone au neurone suivant dans une même ligne, i' i'(j,k,i) est le neurone situé sur la même ligne que le neurone i décalé d'un pas de deux par rapport au neurone i. Par exemple, en se référant à la figure 9, si 5 est le premier neurone de la couche 2, k appartient au voisinage de j est donc le deuxième neurone de la couche 2. Si i est le premier neurone de la couche 1 alors i'(j,k,i) est le troisième neurone de la couche 1; de même, si i est le quatrième neurone de la couche i alors i' (3, k, i) est le sixième neurone de la couche 1. Une telle relation de voisinage n'est possible que si les neurones j et k ont le même nombre de connexions en entrée. La valeur du coefficient de pondération
P(k,j) peut être, par exemple, choisie égale à 1/2. Il est bien entendu possible de définir un voisinage plus étendu à l'intérieur d'une même ligne de la couche 2, en choisissant, par exemple, une pondération P(k,j) égale à une fonction gaussienne dépendant de la distance du neurone k par rapport au neurone j.
Enfin, si les neurones j et k sont voisins, les poids i,j et (j,k,i) ,k sont choisis égaux lors de l'initialisation des poids.
Cette modification des coefficients de pondération permet de faire varier les valeurs des poids W en fonction inverse du gradient d'erreur, tout en tenant compte des variations effectuées à l'itération précedente, c'est-à-dire en effectuant un filtrage passe-bas qui permet d'éviter des oscillations pour conserver la valeur moyenne de la variation du coefficient de pondération. Elle permet en outre de faire intervenir une relation de voisinage entre certains neurones qui analysent des parties voisines des courbes des profils du chiffre (ces neurones appartenant, dans l'exemple décrit ci-dessus, à la couche 2 du réseau de neurones) en contraignant leurs poids à avoir des valeurs voisines. Cette contrainte a un effet comparable à une réduction du nombre de paramètres libres dans le réseau et rend l'apprentissage plus difficile, mais la généralisation est meilleure ; cette généralisation étant définie comme la capacité du réseau à bien reconnaître un chiffre manuscrit appartenant à une image nouvelle n'ayant pas participé à l'apprentissage. Toutefois cette contrainte n'est pas une stricte contrainte d'égalité, car la différenciation des neurones à l'intérieur d'une ligne est possible, ce qui permet une adaptation du réseau plus grande.
Les coefficients de pondération étant modifiés, le rang de l'itération est incrémenté dans l'étape 6, un test est effectué, dans une étape 7, pour voir si tous les exemples ont été présentés au réseau de neurones, sinon un nouvel exemple de chiffre manuscrit est présenté aux entrées du réseau de neurones et la même opération est effectuée plusieurs fois à partir de tous les exemples disponibles ; puis lorsque tous les exemples ont été présentés au moins une fois, un test est effectué dans une étape 8, afin de voir si tous les exemples ont été correctement classifiés sinon, le rang de l'itération est remis à zéro et le processus est recommencé depuis le début- jusqu a ce que les sorties du réseau de neurones soient toujours dans l'état correspondant au type de classe utilisé, c'est-à-dire que pour tous les exemples, les sorties soient proches de -1 pour toutes celles qui ne correspondent pas à l'exemple et proche de +1 pour celle qui correspond à exemple, quel que soit exemple considéré.
Les paramètres d'apprentissage ) et de filtrage B sont choisis par l'opérateur, par exemple il pourra choisir 7 = 0,005 et ss= 0,985.
Lorsque la phase d'apprentissage est terminée, le réseau de neurones est capable de reconnaître à quelle classe appartient un chiffre d'une image non apprise, son état est sauvegardé dans une étape 9, c'est-à-dire que les coefficients de pondération sont gelés et sauvegardés et le réseau de neurones peut être utilisé à des fins de reconnaissance de chiffres manuscrits.
La figure li représente un organigramme de la phase de classification de chiffres manuscrits. En phase de classification, dans une étape 21 une image nouvelle n'appartenant pas au fichier des exemples ayant participé à l'apprentissage, est analysée. Dans une étape 22, les caractéristiques métriques, statistiques et morphologiques d'un chiffre manuscrit à reconnaître dans l'image nouvelle sont extraites du chiffre. Dans une étape 23, les valeurs de ces caractéristiques sont présentées aux entrées du réseau de neurones multicouches, qui par application des coefficients de pondération fixés en fin de phase d'apprentissage, donne une configuration de sortie.
Dans une étape 24, la classe attribuée au chiffre correspond alors à la classe associée au neurone de sortie ayant la plus forte valeur. Une mesure de confiance est attribuée à cette classification. Cette confiance est calculée de la manière suivante : si ji est le numéro de neurone dont la sortie a la valeur la plus forte, la confiance est mesurée par la valeur minimum de l'écart entre la valeur de la sortie la plus forte et la valeur de chacune des autres sorties
confiance = MIN (1/2 ( jl - Oj))
Le coefficient de confiance ayant été normalisé en divisant par 2, la confiance est une valeur comprise entre 0 et 1, la valeur i correspondant à la confiance maximale.
L'invention n'est pas limitée au procédé précisément décrit ci-dessus. En particulier, il est possible d'utiliser un réseau de neurones ayant une structure différente, par exemple, qui ne soit pas seuillé, et/ou dont le nombre de couches est différent. Il est également possible de ne pas utiliser de connexions locales, ni de contraintes sur les poids.
Le procédé décrit ci-dessus n'est pas limité à la reconnaissance de chiffres manuscrits dans une image ; il est également applicable à la reconnaissance d'autres caractères manuscrits, tels que des caractères alphabétiques, à condition de se limiter à des lettres différentiables par leurs profils, telles que les sept premières lettres majuscules de l'alphabet.
Par exemple, pour une application dans laquelle il faut reconnaître les sept lettres majuscules A, B, C, D, E, F, G et les 10 chiffres de O à 9, le procédé peut s'appliquer en considérant les mêmes caractéristiques que pour les chiffres et en rajoutant simplement sept neurones sur la couche de sortie du réseau, ces sept neurones étant respectivement dédiés à la reconnaissance des sept lettres majuscules A, B, C, D, E, F, G.

Claims (6)

REVENDICATIONS
1. Procédé de reconnaissance automatique de caractères alphanumériques manuscrits dans une image, caractérisé en ce qu'il consiste
- dans une phase préalable, et pour un nombre fixé d'exemples d'images binarisées de caractères manuscrits, à extraire des caractéristiques métriques, statistiques et morphologiques du caractère de chaque image,
- dans une phase d'apprentissage, pour chaque exemple d'images, à présenter aux entrées d'un réseau de neurones multicouches, les caractéristiques du caractère extraites dans la phase préalable, pour ajuster par approches successives, les valeurs des coefficients de pondération du réseau de neurones jusqu'à ce que les valeurs de sorties du réseau de neurones soient représentatives de différentes classes de caractères possibles, ces classes correspondant respectivement aux différents chiffres de zéro jusqu'à neuf et aux lettres alphabétiques considérées,
- enfin, dans une phase de classification, les caractéristiques métriques, statistiques et morphologiques d'un caractère manuscrit à reconnaître dans une image nouvelle sont extraites de cette image et présentées aux entrées du réseau de neurones, qui par application des coefficients de pondération fixés en fin de phase d'apprentissage, donne une configuration de sortie à partir de laquelle est déterminé à quelle classe, parmi les classes apprises, appartient le caractère considérée.
2. Procédé selon la revendication i, caractérisé en ce que les caractéristiques métriques du caractère sont des courbes correspondant à ses profils gauche, droit et orienté à 450 ; les caractéristiques statistiques du caractère sont des caractéristiques qui traduisent la répartition des points du caractère entre différentes régions correspondant à différents découpages de l'image ; les caractéristiques morphologiques du caractère sont les surfaces relatives de différentes zones délimitées par le caractère sur l'image.
3. Procédé selon la revendication 2, caractérisé en ce outil consiste à utiliser un réseau de neurones comportant cinq couches, à établir des connexions locales entre certaines couches du réseau, à définir une relation de voisinage entre certains neurones, à définir un algorithme d'apprentissage qui tient compte de cette relation de voisinage.
4. Procédé selon la revendication 3, caractérisé en ce que, pendant la phase d'apprentissage, pour un rang d'itération t donné correspondant à la présentation d'un exemple aux entrées du réseau de neurones, une fonction d'erreur E est calculée en comparant les valeurs de sortie du réseau de neurones obtenues pour cet exemple à des valeurs de sortie désirées ; et en ce que les valeurs des coefficients de pondération Wij sont modifiées en tenant compte des modifications de ces coefficients effectuées au rang d'itération précédent t-l, ces valeurs étant pondérées par un coefficient de filtrage ss en tenant compte de la dérivée de la fonction d'erreur pondérée par un paramètre 0 appelé "vitesse d'apprentissage", et en tenant compte /de la relation de voisinage existant entre certains neurones, la variation
ss Wij des coefficients de pondération étant effectuée conformément à la relation suivante
Figure img00210001
avec
Figure img00210002
où V(j) représente le voisinage du neurone j, k est un neurone appartenant au voisinage V(j) du neurone j, P(k,j) est un coefficient de pondération, i'(j,k,i) est le neurone qui joue le même râle par rapport à k que le neurone i par rapport à j.
5. Dispositif de reconnaissance de caractères alphanumérique s manuscrits dans une image destiné à la mise en oeuvre du procédé selon l'une des revendications 1 à 4, caractérisé en ce qu'il comporte un dispositif de prétraitement (10) connecté à un réseau de neurones (il), le dispositif de prétraitement (10) étant destiné à extraire des caractéristiques métriques, statistiques et morphologiques d'un caractère manuscrit à reconnaître dans une image, le réseau de neurones comportant cinq couches telles que la première couche est destinée à recevoir les valeurs des caractéristiques métriques, statistiques et morphologiques extraites de l'image du caractère par le dispositif de prétraitement et à transmettre sans traitement ces valeurs aux couches de neurones suivantes ; les deuxième et troisième couches sont destinées à traiter les caractéristiques métriques et comportent des connexions locales de façon à ce que chaque neurone soit affecté à une région particulière du ou des profils du caractère, la quatrième couche est reliée aux sorties de la troisième couche et reçoit les valeurs des caractéristiques statistiques et morphologiques ; la cinquième couche comporte un nombre de neurones égal au nombre de classes de caractères à reconnaitre, chacun de ces neurones étant destiné à recevoir les valeurs de sortie de tous les neurones de la couche précédente et à délivrer des valeurs de sortie correspondant à la classe du caractère considéré.
6. Dispositif de reconnaissance selon la revendication 5, caractérisé en ce que pour la reconnaissance des chiffres manuscrits de zéro à neuf, la cinquième couche du réseau de neurones comporte dix neurones, chacun de ces neurones étant dédié à la reconnaissance d'une classe de chiffre particulière
FR9112227A 1991-10-04 1991-10-04 Procede de reconnaissance automatique de caracteres alphanumeriques manuscrits dans une image et dispositif destine a sa mise en oeuvre Expired - Fee Related FR2682207B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9112227A FR2682207B1 (fr) 1991-10-04 1991-10-04 Procede de reconnaissance automatique de caracteres alphanumeriques manuscrits dans une image et dispositif destine a sa mise en oeuvre

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9112227A FR2682207B1 (fr) 1991-10-04 1991-10-04 Procede de reconnaissance automatique de caracteres alphanumeriques manuscrits dans une image et dispositif destine a sa mise en oeuvre

Publications (2)

Publication Number Publication Date
FR2682207A1 true FR2682207A1 (fr) 1993-04-09
FR2682207B1 FR2682207B1 (fr) 1998-07-31

Family

ID=9417592

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9112227A Expired - Fee Related FR2682207B1 (fr) 1991-10-04 1991-10-04 Procede de reconnaissance automatique de caracteres alphanumeriques manuscrits dans une image et dispositif destine a sa mise en oeuvre

Country Status (1)

Country Link
FR (1) FR2682207B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108780523A (zh) * 2016-03-18 2018-11-09 高通股份有限公司 使用本地设备提供的传感器数据和标签的基于云的处理

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109214386B (zh) * 2018-09-14 2020-11-24 京东数字科技控股有限公司 用于生成图像识别模型的方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS ( IJCNN ), 19 - 22 JUIN, 1989, WASHINGTON D.C., IEEE, NEW YORK, US pages 117 - 120; W.E. WEIDEMAN ET AL.: 'A COMPARISON OF A NEAREST NEIGHBOUR CLASSIFIER AND A NEURAL NETWORK FOR NUMERIC HANDPRINT CHARACTER RECOGNITION' *
INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS ( IJCNN ),17 - 21 JUIN 1990, SAN DIEGO, CA, US, IEEE, NEW YORK, US pages 225 - 232; A. KRZYZAK ET AL.: 'CLASSIFICATION OF LARGE SET OF HANDWRITTEN CHARACTERS USING MODIFIED BACKPROPAGATION MODEL' *
PATTERN RECOGNITION. vol. 24, no. 2, 1991, OXFORD, GB pages 105 - 119; I. GUYON ET AL.: 'DESIGN OF A NEURAL NETWORK CHARACTER RECOGNIZER FOR A TOUCH TERMINAL' *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108780523A (zh) * 2016-03-18 2018-11-09 高通股份有限公司 使用本地设备提供的传感器数据和标签的基于云的处理
CN108780523B (zh) * 2016-03-18 2022-05-03 高通股份有限公司 使用本地设备提供的传感器数据和标签的基于云的处理

Also Published As

Publication number Publication date
FR2682207B1 (fr) 1998-07-31

Similar Documents

Publication Publication Date Title
EP3640843B1 (fr) Procédé d&#39;extraction de caractéristiques d&#39;une empreinte digitale représentée par une image d&#39;entrée
EP0521548B1 (fr) Procédé et dispositif avec un réseau neuronal pour classer des données
EP2024900B1 (fr) Procede d&#39;identification d&#39;une personne et dispositif d&#39;acquisition
FR2825817A1 (fr) Procede de traitement d&#39;images pour l&#39;extraction automatique d&#39;elements semantiques
EP3633552B1 (fr) Procédés d&#39;apprentissage de paramètres d&#39;un réseau de neurones à convolution et de détection d&#39;éléments d&#39;intérêt visibles dans une image
EP3620970B1 (fr) Procédé d&#39;extraction de caractéristiques d&#39;une empreinte digitale représentée par une image d&#39;entrée
WO2008065113A1 (fr) Procede de designation d&#39;un objet dans une image
EP3712807B1 (fr) Procédé d&#39;identification de bagages
EP0960382B9 (fr) Procede pour reconnaitre dans un catalogue preetabli des etoiles detectees par un senseur stellaire
FR3088467A1 (fr) Procede de classification d&#39;une image d&#39;entree representative d&#39;un trait biometrique au moyen d&#39;un reseau de neurones a convolution
EP3953662A1 (fr) Procede de definition d&#39;un chemin
CA2457271C (fr) Procede pour la reconnaissance optique d&#39;envois postaux utilisant plusieurs images
EP3570213A1 (fr) Procédé de reconnaissance de caractères
EP3633544B1 (fr) Procede d&#39;association d&#39;elements d&#39;interet visibles dans une video
EP3608835B1 (fr) Procede de traitement d&#39;images d&#39;empreintes
FR2790571A1 (fr) Procede de reconnaissance de formes
EP3633545A1 (fr) Procedes d&#39;apprentissage de parametres d&#39;un reseau de neurones a convolution, de detection d&#39;elements d&#39;interet visibles dans une image et d&#39;association d&#39;elements d&#39;interet visibles dans une image
FR2682207A1 (fr) Procede de reconnaissance automatique de caracteres alphanumeriques manuscrits dans une image et dispositif destine a sa mise en óoeuvre.
EP1007961B1 (fr) Appareil de classification destine notamment a la reconnaissance d&#39;odeurs
EP3956809A1 (fr) Procédé de traitement d&#39;image d&#39;un document d&#39;identité
CA2709180C (fr) Procedes de mise a jour et d&#39;apprentissage d&#39;une carte auto-organisatrice
FR2704668A1 (fr) Appareil de poursuite de véhicules routiers à partir d&#39;une plate-forme aérienne.
Das et al. An adaptive foreground-background separation method for effective binarization of document images
EP3933626B1 (fr) Evaluation du biais d&#39;une fonction d&#39;identification biométrique
EP1390905B1 (fr) Procede de detection de zones de texte dans une image video

Legal Events

Date Code Title Description
TP Transmission of property
ST Notification of lapse

Effective date: 20070629