N° d'ordre 94 ISAL 0106                                                                                                    Année 1994

T H E S E

présentée devant

L'INSTITUT NATIONAL DES SCIENCES APPLIQUEES DE LYON

pour obtenir

LE GRADE DE DOCTEUR

SPECIALITE : INGENIERIE INFORMATIQUE

par

DARGENTON Patrice

Contribution à la Segmentation

et à la Reconnaissance de l'Ecriture Manuscrite

Soutenue le 14 décembre 1994 devant la Commission d'Examen

Jury        MM.   C. BELLISSANT     - Président

J.-P. CRETTEZ       - Rapporteur

H. EMPTOZ

Y. LECOURTIER   - Rapporteur

Y. ROBERT

Mme  N. VINCENT

TABLE DES MATIERES PRINCIPALES

REMERCIEMENTS :

INTRODUCTION

CHAPITRE I. METHODES ET OUTILS ACTUELS DE LA RECONNAISSANCE DES TEXTES MANUSCRITS

Introduction

1. Les primitives, outils de la reconnaissance

2. La méthode de reconnaissance

3. La stratégie de reconnaissance

Conclusion

CHAPITRE II. ETUDE DE LA SEGMENTATION

Introduction

1. Segmentation globale de l'image par application de transformées mathématiques

2. Segmentation par extraction de graphèmes

Conclusion

CHAPITRE III. RECONNAISSANCE PAR APPARIEMENT DE GRAPHES STRUCTURELS

Introduction

1. Construction d'un graphe structurel représentatif d'une forme

2. Appariement des graphes structurels des lettres manuscrites

3. Reconnaissance structurelle de lettres manuscrites

Conclusion

CHAPITRE IV. LES PERSPECTIVES POUR LA RECONNAISSANCE DES MOTS MANUSCRITS

1. Les perspectives à partir de la segmentation du mot en graphèmes

2. Les perspectives à partir du graphe structurel du mot non segmenté

3. Récapitulatif des méthodes et des perspectives pour la reconnaissance des mots manuscrits

Les perspectives pour la reconnaissance des mots manuscrits

1. Les perspectives à partir de la segmentation du mot en graphèmes

2. Les perspectives à partir du graphe structurel du mot non segmenté

4. Détermination de la stratégie de reconnaissance

Conclusion

CONCLUSION

REFERENCES BIBLIOGRAPHIQUES

TABLE DES MATIERES

TABLE DES MATIERES PRINCIPALES

TABLE DES MATIERES

REMERCIEMENTS :

INTRODUCTION

CHAPITRE I. METHODES ET OUTILS ACTUELS DE LA RECONNAISSANCE DES TEXTES MANUSCRITS

Introduction

1. Les primitives, outils de la reconnaissance

1.1. Les objectifs de l'extraction des primitives

1.2. La problématique de l'extraction de l'information

1.3. L'extraction des primitives

1.3.1. Les approches de l'extraction des primitives

1.3.2. Les catégories de primitives

1.3.3. Les étapes de l'extraction des primitives

1.4. Les techniques de changement de représentation

1.4.1. Extraction des composantes connexes

1.4.2. Représentation par le contour

1.4.3. Représentation par le squelette

2. La méthode de reconnaissance

2.1. Etude bibliographique sur la modélisation des mots manuscrits

2.1.1. Approximation du mot par des segments de droite

2.1.2. Modélisation à partir de l'axe du mot

2.1.3. Modélisation du mot à l'aide des graphèmes

2.2. Les catégories de méthodes

2.2.1. Paramétrage du mot

2.2.2. Modélisation de la forme du mot indépendamment des lettres

2.2.3. Modélisation de la forme du mot liée aux lettres

2.2.4. Modélisation de la forme des lettres dans le mot

2.2.5. Modélisation des lettres

2.2.6. Segmentation du mot en graphèmes

2.2.7. Schéma récapitulatif des méthodes de reconnaissance

3. La stratégie de reconnaissance

3.1. Les approches ascendante et descendante

3.2. Les recherches en largeur et en profondeur

3.3. La réduction du vocabulaire

3.4. La stratégie combinatoire

3.4.1. La méthode très combinatoire

3.4.2. La méthode combinatoire par paliers

3.5. La stratégie de confrontation

3.6. La stratégie de coopération

Conclusion

CHAPITRE II. ETUDE DE LA SEGMENTATION

Introduction

1. Segmentation globale de l'image par application de transformées mathématiques

1.1. La transformée de Hough (TH)

1.1.1. Le principe d'utilisation

1.1.1.1. Aspects théoriques de la TH

1.1.1.2. Localisation des segments de droite

1.1.1.3. Critères de sélection des droites

1.1.2. Application à l'analyse de l'écriture manuscrite

1.1.2.1. Détection de l'inclinaison

1.1.2.2. Détection de l'épaisseur moyenne du trait

1.1.3. Segmentation

1.1.3.1. Détection du corps des mots

1.1.3.2. Localisation des hampes et jambages

1.1.4 Bilan et discussion

1.2. La transformée de Fourier (TF)

1.2.1. Aspects théoriques de la TF

1.2.1.1. TF d'un signal réel

1.2.1.2. TF discrète (TFD) et TF rapide (TFR)

1.2.1.3. TF bidimensionnelle (TF2D)

1.2.1.4. Propriétés de la TF

1.2.2. Analyse spectrale de l'écriture

1.2.2.1. Propriétés spectrales de l'écriture - Spectroscopie optique et numérique

1.2.2.2. Analyse de la répartition fréquentielle

1.2.2.3. Analyse d'une raie caractéristique du spectre (détection des lignes d'écriture et de leur inclinaison)

1.2.2.4. Analyse de l'axe d'inertie du spectre

1.2.3. Segmentation harmonique des mots manuscrits

1.2.3.1. Segmentation harmonique 1D

1.2.3.2. Segmentation harmonique 2D

1.2.4. Reconnaissance harmonique

1.2.4.1. Reconnaissance des caractères

1.2.4.2. Reconnaissance harmonique des mots manuscrits

1.2.4.3. Conclusion sur la reconnaissance par la TF

1.3. Conclusion

2. Segmentation par extraction de graphèmes

2.1. Segmentation du mot

2.1.1. Détermination de la zone médiane du mot

2.1.1.1. Analyse de l'histogramme horizontal

2.1.1.2. Analyse des graphèmes

2.1.2. Segmentation du mot

2.1.2.1. Préclassification des graphèmes

2.1.2.2. Traitement des graphèmes

2.1.2.3. Exemples de segmentation de mots en graphèmes

2.2. Classification des graphèmes

2.2.1. Détection des boucles

2.2.1.1. Remplissage

2.2.1.2. Détermination de la classe des graphèmes

2.2.2. Constitution d'un alphabet de transcription de graphèmes en lettres

2.2.2.1. Table de coût

2.2.2.2. Combinaisons de deux ou trois graphèmes

2.2.2.3. Graphèmes multiples

2.2.2.4. Modulation des coûts en fonction des concavités

2.2.2.5. Constitution de l'alphabet

2.3. Reconnaissance des mots à l'aide d'un dictionnaire

2.3.1. Construction des séquences de graphèmes

2.3.2. Procédure élémentaire de recherche

2.3.3. Calcul d'une distance d'édition

2.3.4. Résultats

2.3.5. Classification des erreurs relevées

2.4. Bilan et discussion

Conclusion

CHAPITRE III. RECONNAISSANCE PAR APPARIEMENT DE GRAPHES STRUCTURELS

Introduction

1. Construction d'un graphe structurel représentatif d'une forme

1.1. Squelettisation de la forme

1.1.1. Calcul de la distance minimale de chaque pixel de la forme à son contour

1.1.2. Détermination du noyau de la forme

1.1.3. Amincissement du noyau en squelette

1.1.3.1. Suivi de contour

1.1.3.2. Amincissement du noyau à l'aide de masques

1.2. Construction du graphe structurel

1.2.1. Détection des arcs du squelette

1.2.2. Traitement des arcs

1.2.2.1. Détermination  du voisinage des arcs

1.2.2.2. Fragmentation des arcs

1.2.2.3. Ebarbulage des petits arcs

1.2.2.4. Fusion des fragments d' arcs

1.2.3. Construction du graphe d'attribut - Approximation polygonale des arcs

1.2.4. Modélisation informatique de la structure d'un graphe

1.3. Résultats

1.3.1. Comparaison entre le graphe structurel et la lettre originale

1.3.2. Alphabet en caractères majuscules bâton

1.3.3. Alphabet manuscrit en caractères minuscules

1.3.4. Essais sur des mots manuscrits

1.4. Discussion

2. Appariement des graphes structurels des lettres manuscrites

2.1. Appariement de deux graphes structurellement proches

2.1.1. Superposition des deux graphes

2.1.2. Appariement des noeuds de deux graphes

2.1.3. Appariement des arcs des deux graphes en fonction des noeuds correspondants

2.1.4. Défauts rencontrés

2.1.5. Conclusion

2.2. Appariement de deux graphes structurels quelconques

2.2.1. Recherche d'un isomorphisme optimal de graphe

2.2.1.1. Appariement de l'ensemble des noeuds et points de contrôle

2.2.1.2. Appariement de l'ensemble des segments

2.2.1.3. Appariement simultané des noeuds et des arcs

2.2.1.4. Propagation de contrainte par relaxation

2.2.1.5. Synthèse

2.2.2. Calcul de la distance d'édition entre les arcs

2.2.3. Procédure d'appariement des arcs

2.2.4. Recherche des similarités de sous-chaînes

2.3. Détermination de la distance entre les deux graphes

2.3.1. Distance entre les arcs appariés

2.3.2. Distance entre les noeuds appariés

2.3.3. Exemples de distances entre deux graphes

2.3.4. Exemples de similarités détectées

3. Reconnaissance structurelle de lettres manuscrites

3.1. Plausibilité de reconnaissance

3.2. Confrontation de plusieurs scores de reconnaissance

3.3. Exemple de reconnaissance

Conclusion

CHAPITRE IV. LES PERSPECTIVES POUR LA RECONNAISSANCE DES MOTS MANUSCRITS

1. Les perspectives à partir de la segmentation du mot en graphèmes

1.1. Reconnaissance des combinaisons de graphèmes

1.1.1. Reconnaissance des lettres dans le mot

1.1.2. Reconnaissance des lettres indépendamment du mot

1.1.3. Reconnaissance classique et reconnaissance ciblée sur les lettres discriminantes

1.2. Reconnaissance structurelle des graphèmes isolés

1.2.1. Reconnaissance des lettres dans le mot

1.2.2. Reconnaissance des lettres indépendamment du mot

1.2.3. Reconnaissance du mot modélisé par les graphèmes

2. Les perspectives à partir du graphe structurel du mot non segmenté

2.1. Reconnaissance des lettres dans le mot

2.2. Reconnaissance des lettres indépendamment du mot

2.3. Reconnaissance du mot indépendamment des lettres

3. Récapitulatif des méthodes et des perspectives pour la reconnaissance des mots manuscrits

Les perspectives pour la reconnaissance des mots manuscrits

1. Les perspectives à partir de la segmentation du mot en graphèmes

1.1. Reconnaissance des combinaisons de graphèmes

1.1.1. Reconnaissance des lettres dans le mot

1.1.2. Reconnaissance des lettres indépendamment du mot

1.1.3. Reconnaissance classique et reconnaissance ciblée sur les lettres discriminantes

1.2. Reconnaissance structurelle des graphèmes isolés

1.2.1. Reconnaissance des lettres dans le mot

1.2.2. Reconnaissance des lettres indépendamment du mot

1.2.3. Reconnaissance du mot modélisé par les graphèmes

2. Les perspectives à partir du graphe structurel du mot non segmenté

2.1. Reconnaissance des lettres dans le mot

2.2. Reconnaissance des lettres indépendamment du mot

2.3. Reconnaissance du mot indépendamment des lettres

4. Détermination de la stratégie de reconnaissance

4.1. Similitude des approches à différents niveaux

4.2. Analogie de stratégie dans des problèmes divers

4.3. Les hypothèses et la connaissance a priori

4.4. Les hypothèses de primitives et la quantité d'information

4.5. Minimisation de la prise de risque

4.6. La stratégie humaine de la reconnaissance de l'écriture

Conclusion

CONCLUSION

REFERENCES BIBLIOGRAPHIQUES

TABLE DES MATIERES

TABLE DES MATIERES PRINCIPALES

REMERCIEMENTS :

Je tiens à exprimer toute ma reconnaissance à :

Monsieur C. BELLISSANT, professeur à l'Université de Grenoble, qui me fait l'honneur de présider ce jury.

Monsieur H. EMPTOZ, professeur à l'INSA de Lyon, directeur du LISPI et de l'équipe Reconnaissance des Formes et Vision, pour m'avoir accueilli au sein de son équipe dynamique. C'est grâce à son soutien et ses encouragements que ce travail a vu le jour.

Madame N. VINCENT, maître de Conférences, agrégée à l'INSA de Lyon, pour avoir dirigé ce travail. Je tiens à la remercier pour l'aide précieuse qu'elle m'a apportée et pour le travail considérable qu'elle a consacré au suivi et à l'élaboration de la thèse.

Monsieur J.-P. CRETTEZ, de l'Ecole Nationale Supérieure Telecom Paris, pour avoir accepté d'être rapporteur de cette thèse, et pour les conseils qu'ils m'a donnés.

Monsieur Y. LECOURTIER, professeur à l'Université de Rouen, pour avoir accepté d'être rapporteur de cette thèse, et pour l'intérêt qu'il porte à mes travaux.

Monsieur Y. ROBERT, professeur à l'Ecole Normale Supérieure de Lyon, pour avoir accepté de faire partie de ce jury.

Je tiens également à remercier ici l'ensemble de l'équipe Reconnaissance des Formes et Vision du LISPI, parmi laquelle j'ai passé ces quatre années dans un cadre de travail agréable et très enrichissant. Cette ambiance conviviale et sympathique ainsi que les nombreux échanges d'idées ont été fructueux et ont contribué à cette synergie qui fait que l'équipe est plus que la somme individuelle de ses membres.

CONTRIBUTION À LA

SEGMENTATION ET À LA RECONNAISSANCE DE L'ECRITURE MANUSCRITE

Par

Patrice DARGENTON

INTRODUCTION

La reconnaissance de l'écriture manuscrite est le vieux rêve de tous ceux qui ont eu besoin d'entrer des données dans un ordinateur. Il remonte à plus d'une trentaine d'années. Aujourd'hui, il existe plusieurs domaines dans lesquels la reconnaissance de l'écriture manuscrite est attendue avec impatience, par exemple dans le tri automatique du courrier, le traitement automatique de dossiers administratifs, des formulaires d'enquêtes, ou encore l'enregistrement des chèques bancaires.

Ces applications montrent clairement les spécificités du domaine de la reconnaissance de l'écriture manuscrite par rapport à celui de la reconnaissance optique des caractères (OCR : Optical Character Recognition) qui concerne les caractères imprimés ou dactylographiés. Il est nécessaire de distinguer également la reconnaissance en ligne (on-line) de l'écriture manuscrite, qui relève plutôt de l'interfaçage entre l'homme et l'ordinateur (un stylo spécial est connecté à la machine et ne fonctionne que sur une tablette sensible), de la reconnaissance hors ligne (off-line). Seule la reconnaissance hors ligne sera considérée dans ce travail.

Quelques systèmes de reconnaissance de l'écriture manuscrite ont été réalisés et sont opérationnels à ce jour. Cependant, ils sont spécifiques à un domaine précis et sont encore limités. Par exemple, en ce qui concerne la poste, la reconnaissance de l'écriture manuscrite, contrairement à celle des caractères imprimés, se limite au code postal en chiffres ainsi qu'à la ville en caractères majuscules.

La reconnaissance universelle de l'écriture manuscrite par l'ordinateur est du domaine de la fiction pour quelques années encore. Tous les chercheurs sont confrontés à un problème difficile et incontournable, celui de la segmentation. La segmentation fait partie du processus de prétraitement et d'extraction de l'information, qui est un préalable à toute reconnaissance. Nous y avons consacré près de la moitié de notre travail.

Dans un premier chapitre, une analyse des méthodes et outils de la reconnaissance des textes manuscrits sera présentée. Ensuite, nos travaux de recherche, orientés en particulier sur l'utilisation des transformées, seront exposés dans le cadre d'une étude de la segmentation (chapitre II) suivant une approche globale.

Cette étude, si elle a ouvert de nouvelles voies de recherche, a cependant montré la nécessité de compléter les résultats obtenus par un approfondissement de la reconnaissance au niveau de la lettre. Nous proposerons donc dans le troisième chapitre une méthode de reconnaissance basée sur les graphes structurels.

Nous présenterons alors des perspectives que nous envisageons pour la reconnaissance des mots manuscrits (chapitre IV) avant notre conclusion.

CHAPITRE I

METHODES ET OUTILS ACTUELS DE LA RECONNAISSANCE DES TEXTES MANUSCRITS

CHAPITRE I. METHODES ET OUTILS ACTUELS DE LA RECONNAISSANCE DES TEXTES MANUSCRITS

Introduction

L'extraction de l'information est la première étape de la reconnaissance. Elle est réalisée à l'aide de l'extraction des primitives, qui sont des informations élémentaires. La primitive est l'outil de la reconnaissance.

Nous traiterons en premier lieu de l'extraction des primitives dans le cas général, c'est-à-dire quel qu'en soit le niveau (lettre, mot ou texte). Dans une seconde partie, nous nous concentrerons sur l'exploitation de ces primitives pour la reconnaissance des mots manuscrits. Nous présenterons une synthèse des méthodes de reconnaissance que nous avons élaborée à partir d'une étude bibliographique sur plusieurs systèmes de reconnaissance.

Dans la troisième partie, nous présenterons les différentes stratégies qui sont généralement mises en oeuvre pour exploiter les méthodes exposées précédemment.

1. Les primitives, outils de la reconnaissance

Il n'est pas dans nos intentions de reprendre une étude qui maintes fois a été faite mais seulement de rappeler certains outils, auxquels nous ferons souvent appel par la suite. Auparavant, nous préciserons les objectifs ainsi que la problématique de l'extraction de l'information.

1.1. Les objectifs de l'extraction des primitives

Au cours de l'extraction des primitives, plusieurs objectifs, qui précèdent la reconnaissance, peuvent être envisagés. Les principaux objectifs que nous définirons dans la perspective de la reconnaissance de l'écriture manuscrite sont : l'analyse, la segmentation, le paramétrage, la modélisation, le codage et la classification.

- L'Analyse, dont la définition littérale est "la décomposition d'un tout en ses parties", consiste généralement en l'extraction d'un ensemble d'attributs caractéristiques du texte. Concrètement, l'analyse d'un texte manuscrit consiste à recueillir des informations statistiques telles que la disposition des lignes d'écriture, leur orientation, leur régularité, l'espacement des mots et des lettres, la régularité et l'inclinaison des lettres, l'épaisseur du trait, ainsi que la ligature des lettres à l'intérieur des mots. L'objectif de l'analyse peut aboutir éventuellement à l'identification du scripteur, le signifiant [LORETTE 92], plutôt que directement à la reconnaissance du texte, le signifié.

- La Segmentation désigne la séparation de l'information en ses éléments constitutifs afin de les identifier isolément. La définition de la segmentation est donc assez proche du sens littéral du mot analyse. On parle de sur-segmentation lorsque l'élément constitutif est lui-même fragmenté, et de sous-segmentation lorsque plusieurs éléments constitutifs n'ont pas pu être isolés. Dans le cas de la reconnaissance des mots, les éléments constitutifs sont naturellement les lettres du mot. Il est nécessaire de distinguer la segmentation logique de la segmentation physique du document [LORETTE 92]. Les éléments logiques sont les éléments sémantiques composant le texte, c'est-à-dire les lettres ou les mots, ils ne correspondent pas toujours aux éléments physiques qui sont liés aux pixels de l'image. L'extraction des composantes connexes (cf. § 1.4.1.) est un exemple typique de segmentation physique.

- Le Paramétrage consiste à établir une liste d'attributs représentés par une variable binaire (attribut présent ou absent) ou multivaluée (proportionnelle à l'importance de l'attribut), qui ont été détectés et évalués dans l'image. A la différence de l'analyse, le paramétrage ne concerne qu'un mot ou qu'une lettre en vue de sa reconnaissance.

- La Modélisation est la construction d'une représentation approximative de la forme entière. A la différence du paramétrage, l'objectif est la réduction de l'information utile, au minimum nécessaire pour représenter complètement la forme, en particulier son aspect et sa structure. Si la modélisation est une description proche d'aspect de la forme originale, on parle alors d'une schématisation, avec une approximation plus ou moins importante. Sinon, il s'agit d'un codage de l'information. Dans ce cas, on ne se soucie pas de l'aspect de la modélisation, mais seulement de la pertinence de l'information qu'elle apporte à la reconnaissance. On remarque que, d'une façon générale, la schématisation par exemple d'un mot est une structure de données en deux dimensions (2D), tandis que le codage aboutit à une structure de données arborescentes (arbre de primitives 1D-2D), alors que le paramétrage se traduit par une liste ou bien un vecteur (1D).

- La classification peut être considérée comme une identification partielle de l'information. L'objectif de la classification est, lorsque l'on ne dispose pas de toute l'information nécessaire à l'identification complète de la forme (cas de la reconnaissance), de déterminer quand même une catégorie à laquelle elle appartient. Le principe est que moins d'information est nécessaire pour distinguer les caractères que pour les reconnaître.

Ces différents objectifs participent à la Segmentation, la Transformation (ou le Changement de Représentation) et la Réduction de l'information, qui sont les trois axes de la reconnaissance suivant lesquels nous présenterons au paragraphe 1.3.3. les différentes étapes de l'extraction de l'information.

1.2. La problématique de l'extraction de l'information

L'objectif de l'étape de l'extraction de l'information est la sélection de l'information pertinente qui se trouve noyée dans la masse de l'information brute acquise. La problématique de cette étape a pour origine le risque de perte d'information signifiante pour la reconnaissance. La minimisation de ce risque est conditionnée par deux dilemmes liés chacun à un paradoxe de causalité. Il s'agit du dilemme de la réduction et du dilemme de la segmentation.

Nous allons développer dans cette partie la nature de ces dilemmes en présentant les différentes origines de perte d'information lors du processus de la reconnaissance de l'écriture manuscrite.

La première étape du processus est l'acquisition de l'information. Il est évident que l'on ne peut pas extraire une information qui n'est pas présente dans le tracé. C'est pourquoi, avant de traiter de la perte d'information pendant la phase d'acquisition, nous considérerons la perte d'information pendant la phase de production de l'écriture.

- La perte d'information pendant la phase de production de l'écriture

Cette première origine de perte d'information, qui a lieu pendant l'écriture elle-même, est due au facteur humain. Cette question, qui s'écarte un peu de notre sujet, a cependant des conséquences déterminantes sur la reconnaissance.

Nous pensons que l'origine de la perte d'information est due à la projection dans un espace de dimension inférieure, du concept des mots lors de leur tracé linéaire dans le plan.

Le caractère subjectif de l'écriture tient au fait que le lecteur étant aussi le scripteur, il peut ne pas s’apercevoir que son écriture est illisible !

L’auteur a en outre la liberté de s’appliquer à ne bien tracer que les lettres permettant de distinguer les mots. Cette attitude a une conséquence importante sur la stratégie de lecture à adopter pour la reconnaissance. En effet, elle implique d’avoir la connaissance du vocabulaire parmi lequel l’auteur a estimé pouvoir distinguer les mots.

Cette perte d’information peut se manifester par une grande variation dans le tracé de l'écriture, par rapport au modèle scolaire ou à un tracé moyen, ou bien par une influence entre le tracé des lettres adjacentes dans le mot, qui augmentera ensuite la difficulté de les séparer.

La limite à considérer pour ce type de perte d'information est que si un humain ne peut pas lire un texte, un ordinateur ne le pourra probablement pas non plus. Cela fixe une borne inférieure à la qualité d'écriture admissible pour un système de reconnaissance.

- La perte d'information pendant la phase d'acquisition

L’objectif de cette étape est d’acquérir le maximum d'informations, afin d'obtenir des images numériques les plus précises. La perte d'information pendant l'acquisition est liée le plus souvent à la faiblesse des capteurs (scanner ou éventuellement caméra), ou aux conditions d'acquisition.

A ce niveau du processus, il reste à déterminer si l’information signifiante est accessible ou non parmi toute l’information acquise.

- La perte d'information pendant la phase de réduction

La phase de réduction consiste à extraire l’information signifiante qui est noyée dans le bruit.

Dans le cas de la classification, l’objectif est d’éliminer davantage de bruit que d’information afin de faciliter la discrimination.

Dans le cas de l'approximation, l'objectif est de modéliser en minimisant la perte d'information. Mais, plus précise est la modélisation, plus la procédure de reconnaissance est complexe et plus la représentation est sensible aux variations de tracé (fioritures non signifiantes pour la reconnaissance). Comment s'affranchir de cette forte variabilité du tracé grâce à l'approximation, sans perdre l'information signifiante nécessaire à la reconnaissance ?

Ce dilemme de la réduction repose sur le paradoxe que l'on ne peut savoir qu'une information est signifiante ou non tant que la forme n'est pas reconnue.

Il en résulte une certaine subjectivité de l'étape de réduction, ce qui implique un risque de perte d'information.

Nous verrons dans la première partie du chapitre II que le changement de représentation opéré grâce aux transformées mathématiques, en particulier celles de Fourier et Hough, peut apporter une aide précieuse dans ce cas.

Une autre perte d'information se produit également au cours de la phase de segmentation.

- La perte d'information pendant la phase de segmentation

A l'instar du dilemme de la réduction, le problème de la segmentation nous ramène une seconde fois au paradoxe de causalité.

Pour pouvoir segmenter le mot en lettres afin de les reconnaître isolément, il est nécessaire au préalable de les localiser, or comment localiser ces lettres sans les avoir reconnues auparavant?

C'est dans le chapitre II - Etude de la segmentation - que nous approfondirons cette question.

1.3. L'extraction des primitives

1.3.1. Les approches de l'extraction des primitives

En fonction de l'objectif fixé et de la méthode d'extraction choisie, l'approche de l'extraction des primitives peut être systématique ou heuristique.

- La modélisation et le codage conduisent à une approche systématique dans la mesure où l'objectif fixé est la détermination d'une représentation complète de la forme, même de façon approximative. Dans la modélisation, les primitives sont obtenues a posteriori, par le résultat de l'approximation, tandis que, en ce qui concerne le codage, les catégories de primitives sont définies a priori. Un test, qui est par exemple réalisé à l'aide d'une sonde, permet de valider la présence de chacune des primitives sur l'ensemble de la forme.

- Le paramétrage conduit plutôt à une approche heuristique. Dans ce cas, on ne cherche pas nécessairement une représentation complète mais seulement des indices significatifs. De même que dans le cas du codage, ces indices sont des primitives définies a priori.

Au-delà de cette classification un peu formelle, la différence entre les approches systématique et heuristique comme entre le caractère a priori ou a posteriori, s'avère plus nuancée dans la pratique.

1.3.2. Les catégories de primitives

Nous avons distingué quatre catégories principales de primitives : les primitives topologiques, statistiques, structurelles et globales.

Les primitives topologiques ou métriques

Le terme métrique désigne la mesure d'une distance. La topologie est "l'étude des propriétés de l'espace (et des ensembles) du seul point de vue qualitatif". Concrètement, la topologie consiste, à l'aide de sondes appliquées directement sur l'image "brute", à effectuer par exemple sur l'échantillon les mesures et les tests suivants :

- compter dans une forme le nombre de trous,

- évaluer les concavités,

- mesurer des pentes et autres paramètres de courbures et évaluer des orientations principales,

- mesurer la longueur et l'épaisseur des traits,

- détecter les croisements et les jonctions des traits,

- mesurer les surfaces, les périmètres,

- déterminer le rectangle délimitant l'échantillon, ou le polygone convexe,

- évaluer le rapport d'élongation (ou allongement) longueur/largeur, ...

- rendre compte de la disposition relative de ces primitives.

Les primitives structurelles

A la différence des primitives topologiques, les primitives structurelles sont généralement extraites non pas de l'image brute, mais à partir d'une représentation de la forme par le squelette (cf. § 1.4.3.) ou par le contour (cf. § 1.4.2.). Ainsi, on ne parle plus de trous, mais de boucles ou de cycles dans une représentation filiforme du caractère. Cependant, pour le reste, les primitives structurelles correspondent à peu près aux primitives topologiques, il s'agit principalement :

- des segments de droite,

- des arcs, boucles et concavités, des pentes,

- des angularités, points extremum et points terminaux, jonctions et croisements.

Les primitives statistiques

Elles véhiculent une information qui est distribuée sur toute l'image. L'histogramme, qui représente le nombre de pixels sur chaque ligne ou colonne de l'image, en est un exemple classique et simple à calculer. L'histogramme directionnel est plus long à calculer car il nécessite par exemple l'utilisation d'un algorithme de BRESENHAM [BRET 88] permettant de compter le nombre de pixels contenus sur une ligne de direction quelconque de l'image. L'histogramme des transitions, comme l'indique son nom, ne retient que le nombre des transitions 0-1 et 1-0.

Une application pratique des primitives statistiques de la sorte est réalisée grâce à l'intersection de la forme avec un réseau de droites pour la reconnaissance des chiffres manuscrits [AUTRET 91]. Dans ce cas, des histogrammes de transition sont construits seulement avec un échantillon de quelques droites au lieu de la totalité de celles-ci, ce qui permet une réduction a priori des données caractéristiques.

Pour s'affranchir du choix arbitraire de ces droites (espacement et orientation des droites du réseau) qui doit  nécessairement être fixe entre l'apprentissage et la reconnaissance, on peut faire intervenir les probabilités en calculant la fréquence des intersections de la forme avec une série de droites aléatoires [HEUTTE 93].

On utilise aussi une autre primitive statistique basée sur un moyennage des pixels situés à l'intérieur d'un masque rectangulaire. La construction d'une matrice de masque recouvrant la totalité de la forme permet une représentation statistique à partir d'un nombre très réduit de valeurs correspondant à chaque masque (cf. Annexe A).

Les primitives globales

Elles sont naturellement basées sur une transformation globale de l'image. La caractéristique d'une primitive globale est de dépendre de la totalité des pixels d'une image. Nous en étudierons deux, les transformées de Hough et de Fourier, dans le second chapitre.

1.3.3. Les étapes de l'extraction des primitives

Il peut y avoir plusieurs étapes intermédiaires pour parvenir à l'objectif fixé. La première étape importante de la reconnaissance est le changement de représentation de l'information. A partir de l'image numérique brute, qui est la représentation originelle, on relève quatre autres représentations possibles de l'information, ce sont :

1°) L'extraction des composantes connexes

2°) L'extraction du contour

3°) La détermination du squelette (au sens large du terme)

4°) Les transformations mathématiques qui opèrent globalement sur l'image (cf. Chapitre II).

Ces techniques de changement de représentation de l'information seront détaillées au paragraphe 1.4. C'est à partir d'une de ces représentations qu'est ensuite réalisée l'étape d'extraction des primitives proprement dite.

On le voit, le vocabulaire lié à l'extraction des primitives est riche et varié. Aussi, afin d'ordonner toutes les étapes suivant la progression normale du traitement de l'information et en les situant les unes par rapport aux autres, nous avons regroupé sur un schéma l'ensemble de ces opérations suivant deux axes indépendants qui représentent la segmentation et la réduction de l'information. La réduction vise à l'élimination de l'information redondante ou du bruit. Son axe va dans le sens de la reconnaissance (l'identification est la réduction ultime de l'information), ce qui n'est pas le cas de la segmentation.

Si la visualisation du schéma en trois dimensions avait été aisée, nous aurions ajouté un troisième axe, indépendant des deux autres, intitulé la transformation (ou le changement de représentation) de l'information. En effet, cet acte n'est pas une segmentation et ne conduit pas obligatoirement à une réduction de l'information. Pratiquement, nous avons projeté cet axe dans le plan (segmentation, réduction).

Les objectifs et les étapes de l'extraction des primitives

L'ensemble des échantillons d'écriture traités dans notre travail est constitué par des images numériques de type binaire. Or, dans le cas où les échantillons sont numérisés avec une caméra CCD ou un scanner multiniveau, les images obtenues sont de type niveaux de gris, ce qui nécessite souvent une étape préliminaire de binarisation et n'est pas sans poser le problème du choix du seuil lorsque le fond de l'image a un niveau uniforme. Certaines études [PETIER 91] montrent alors l'intérêt de pratiquer l'étape d'extraction des primitives directement sur l'image en niveaux de gris.

En revanche, lorsque le fond de l'image est uniforme, la binarisation n'entraîne pas une perte d'information significative, à condition que la résolution soit suffisante.

D'autre part, nous devons mentionner un problème entraînant une étape supplémentaire de segmentation, que nous n'avons pas fait figurer dans notre schéma, lorsqu'une information non signifiante pour la reconnaissance est superposée au texte à décrypter. Cette information peut être par exemple les barres obliques dans le cas des chèques ou encore un bruit quelconque. Le traitement consiste alors à extraire l'information utile du reste de l'image.

1.4. Les techniques de changement de représentation

1.4.1. Extraction des composantes connexes

L'extraction des composantes connexes, procédure également appelée capture des connexités ou étiquetage des pixels, est largement utilisée en Reconnaissance des Formes (RdF) pour segmenter les images binaires. La technique consiste à regrouper les pixels voisins dans un ensemble appelé composante connexe. Chaque ensemble est disjoint des autres et peut ensuite être aisément isolé. La 4-connexité est distinguée de la 8-connexité suivant que le critère de voisinage comprend les 4 ou les 8 voisins d'un pixel.

Il existe deux principaux algorithmes pour accomplir cette tâche :

- le premier est basé sur une procédure de suivi de contour [LEROUX 91] : en parcourant le contour d'un objet et en revenant au point de départ, une composante connexe est délimitée, à l'exclusion cependant des contours intérieurs correspondant aux éventuels trous (cf. § 1.4.2.).

- le second algorithme procède par une propagation d'un étiquetage des pixels lorsque l'on effectue un balayage des lignes et des colonnes de l'image.

Nous avons élaboré un algorithme de ce type fonctionnant en une seule passe, suivant le critère de 4-connexité (cette méthode sera exploitée dans le chapitre II § 2.).

La propagation de l'étiquette des pixels suivant les colonnes (verticalement) est prioritaire sur la propagation suivant les lignes (horizontalement). On procède de la manière suivante :

En parcourant une ligne horizontale de gauche à droite, on associe un numéro (une étiquette) à chaque pixel de telle sorte que tous les pixels voisins portent le même numéro (le numéro zéro est réservé pour un pixel "vide"). Lorsque sur cette ligne, le voisinage est interrompu, puis reprend plus loin, le numéro est incrémenté de 1. Les étiquettes sont représentées par les lettres A, B et C sur la figure 1a.

A

A

A

B

C

C

Figure 1a : Propagation de l'étiquetage des pixels de gauche à droite sur une ligne horizontale

Lorsqu'une nouvelle ligne est commencée, on propage naturellement l'étiquetage de haut en bas en recopiant le numéro du pixel qui se trouve au-dessus du premier pixel de la nouvelle ligne. S'il n'y a pas de pixel au-dessus, un nouveau numéro est utilisé (fig. 1b).

A

A

A

A

A

A

B

Figure 1b : Propagation de l'étiquetage des pixels de haut en bas sur une colonne verticale

Lorsqu'un conflit se présente entre la propagation horizontale et la propagation verticale des étiquettes, deux cas se présentent alors (fig. 1c) :

A

A

A

A

A

A

B

B

B

Figure 1c : Conflit entre la propagation horizontale et verticale

1er cas : si le numéro des pixels horizontaux correspond à une nouvelle étiquette, alors il est facile de résoudre le conflit en remplaçant la nouvelle étiquette de tous les pixels à gauche du point de conflit par le numéro prioritaire du pixel de la ligne précédente (fig. 1d). La nouvelle étiquette est alors annulée ;

A

A

A

A

A

A

A

A

A

A

A

A

Figure 1d : Résolution du conflit correspondant au 1er cas

2e cas : Si le numéro des pixels horizontaux a déjà été propagé à partir de la ligne précédente, il serait trop long de remplacer tous les pixels correspondants. Aussi, on note dans un tableau que les deux étiquettes en conflit désignent une unique composante connexe (fig. 1e).

A

A

A

A

A

B

A

B

B

B

A

A

A

Figure 1e : Résolution du conflit correspondant au 2e cas

Cet algorithme, dont nous allons analyser les particularités, présente plusieurs avantages par rapport aux autres algorithmes que nous avons pu étudier (les procédures sont rarement explicitées dans les articles publiés concernant les systèmes qui les utilisent).

Le premier est la simplicité de la procédure de propagation de l'étiquetage obtenue en sacrifiant l'optimisation en mémoire. En effet, il y a beaucoup plus de numéros distincts d'étiquettes que de véritables composantes connexes. Or il est nécessaire de réserver pour chaque pixel de l'image un emplacement mémoire (1 ou 2 octets) suffisant pour mémoriser le codage du plus grand numéro utilisé pour l'étiquette d'un pixel, ce qui limite l'utilisation de cet algorithme à des images de petite taille. Si la mémoire pose un problème, une solution consisterait à étiqueter les pixels de façon cyclique, en repartant au numéro 1 après le numéro 65535 (216-1). Mais cela supposerait que le graphisme du texte ne s'étale pas sur trop de lignes à la fois, au risque de ne plus pouvoir différencier ensuite les pixels non connexes portant le même numéro.

Le second avantage de cet algorithme est de fournir systématiquement les minimums du contour supérieur. A un minimum correspond un changement d'étiquette à l'intérieur d'une même composante connexe. C'est le cas de la figure 1e. Au sein d'une composante connexe, deux étiquettes distinguent des fragments, ce que nous avons exploité en appliquant l'algorithme à la segmentation des mots manuscrits. Sur les figures 2 et 3, nous pouvons voir le résultat de cet étiquetage des pixels sur les mots "trois" et "dix", lorsque plusieurs sens de balayage différents sont utilisés (1 : Haut-Bas / Gauche-Droite, 2 : BHGD, 3 : GDHB, 4 : DGHB).

Figure 2a

Figure 2b

Figure 2c

Figure 2d

Figure 3a

Figure 3b

Figure 3c

Figure 3d

Les paramètres que l'on peut calculer sur les composantes connexes sont principalement l'aire, la longueur du contour, la largeur mais également la délimitation du rectangle englobant la composante connexe. Ces calculs sont facilités par l'étiquetage des pixels.

Le plus souvent, l'extraction des composantes connexes est utilisée comme traitement préalable aux autres types de représentation des données, afin de procéder à une segmentation initiale de l'image et sans tenir compte de l'étiquetage. Ainsi l'étape suivante peut être :

- le retour à l'image brute (mais segmentée) sur laquelle on pourra alors extraire les primitives statistiques et employer les sondes topologiques pour compléter le paramétrage de la composante connexe ;

- la détermination du squelette [LEROUX 91ab], [POTIER 91] (cf. § 1.4.3.) ;

- l'extraction et l'analyse du contour pour la segmentation du mot en graphèmes, par exemple [MOREAU 91].

1.4.2. Représentation par le contour

L’exploitation du contour est fréquente, tant en reconnaissance de l'écriture qu'en RdF en général, étant donné la facilité de l'extraction.

Le contour est également utilisé comme étape préalable à un changement de représentation de l'information, en tant qu'empreinte des formes contenant une quantité réduite de données.

Extraction du contour

Dans les images à niveaux de gris, il est intéressant d'extraire le contour à l'aide d'un calcul de gradient. Ce contour est alors d'autant plus marqué que le niveau des pixels résultant du gradient est élevé. En revanche, dans les images binaires, il est plus avantageux d'utiliser un algorithme de suivi de contour car il fournit directement une liste ordonnée de points. Un exemple simple d'algorithme est détaillé dans le chapitre III. Nous ne nous étendrons pas sur ce sujet car le suivi du contour ne présente pas de difficultés en soi ; seule l'approximation de ce contour peut ensuite conduire à des résultats plus ou moins variables.

Nous préciserons maintenant quelles sont les différentes représentations possibles auxquelles on peut aboutir à partir du contour.

L'analyse du contour est souvent utilisée en reconnaissance des textes manuscrits pour la segmentation des mots en lettres. Elle sera détaillée dans le paragraphe 2.1.3.

La vectorisation

Le changement de représentation le plus simple est la vectorisation : il permet d'obtenir l'invariance par translation, c'est-à-dire, l'invariance à la position de la forme. Pour cela la quantité d'information contenue dans la liste des pixels du contour est avantageusement réduite à l'aide du code de FREEMAN en une liste de vecteurs unitaires. Le principe est de mémoriser seulement la position de chaque pixel par rapport au pixel précédent (4 ou 8 directions en fonction de la continuité du contour) au lieu des deux coordonnées de tous les pixels dans le plan.

La transformation globale du contour

A partir de cette liste de vecteurs, l'objectif de la transformation globale du contour est d'intégrer à la reconnaissance, des propriétés d'invariance à certaines déformations ou transformations que peut subir la forme, telles que :

- la rotation,

- le changement de taille ou d'échelle,

- le cisaillement, l'homothétie ou une autre transformation affine,

- une transformation non linéaire (torsion, distorsion, ...).

Lorsque l'on compare une forme test avec une forme apprise, il est nécessaire de tenir compte d'autres variables telles que, par exemple, le point de départ du contour dans la chaîne, ou la résolution du contour (nombre de vecteurs pour le décrire, quelle que soit sa taille).

Les principales transformations globales du contour sont les suivantes :

- descripteurs de Fourier

- calcul des moments

- transcodage du contour : par exemple, par rapport au centre de gravité de la forme, la mémorisation du plus grand rayon en fonction de chaque direction échantillonnée.

Ces transformations sont adaptées à des problèmes généraux de reconnaissance des formes, tels ceux rencontrés dans le domaine de l'analyse de scène en robotique, où les formes quelconques peuvent être vues dans toutes les directions, en perspective, avec des parties cachées et souvent du bruit, et aussi en trois dimensions. Dans le domaine de la reconnaissance de l'écriture, les caractères ne sont pas des formes quelconques, elles sont toujours vues à plat, et on ne cherche jamais à les reconnaître à l'envers, dans un miroir, déformées ou partiellement occultées. Il reste cependant des déformations simples qui sont effectivement rencontrées. Par exemple en OCR, le style italique est une déformation modélisable par un cisaillement, qui est d'ailleurs créé de la sorte dans les logiciels de traitement de texte à partir des modèles vectoriels des caractères droits. Pour l'écriture manuscrite, les déformations sont plus importantes que dans le simple style italique et plus variées.

Autres représentations obtenues à partir du contour

L'extraction du contour peut servir d'étape préliminaire aux deux autres changements de représentation que sont l'extraction des composantes connexes, comme nous l'avons vu au paragraphe 1.4.1, et la construction du squelette, comme nous le préciserons au paragraphe 1.4.3.

L'approximation du contour

L'objectif de l'approximation du contour est également la reconnaissance, mais la représentation est proche d'aspect de l'original. La reconnaissance est basée sur l'appariement (cf. Chapitre III § 3.4.). Un algorithme d'approximation polygonale est détaillé dans le chapitre III § 1.2.3.

Lorsque l'on apparie ainsi les formes par leur contour, il est intéressant de distinguer les contours intérieurs des contours extérieurs afin de conserver la cohérence de l'appariement.

Une autre approche, plutôt que d'utiliser la modélisation directe en 2D, consiste à procéder d'abord à un codage du contour, pour n'apparier que le code des contours, ce qui simplifie la procédure : on utilise pour cela une grammaire d'attribut, et la reconnaissance consiste à vérifier que le code de la forme appartient à la syntaxe autorisée de la grammaire [BELAID 92].

1.4.3. Représentation par le squelette

L'extraction du squelette désigne, au sens large du terme, un ensemble de techniques visant à représenter les formes à l'aide d'une structure fine continue qui passe à égale distance des contours. La squelettisation est une opération souvent utilisée en modélisation ou en représentation de l'écriture manuscrite, car l'écriture est assimilable à un long ruban replié sur lui-même et d'épaisseur constante. Le modèle à l'origine de la production de l'écriture est un modèle linéaire sans épaisseur, de sorte que la représentation par le squelette est naturelle et d'aspect proche de l'écriture. En ce sens, elle est proche de la représentation "en-ligne" ("on-line"), sauf en ce qui concerne l'ordre temporel du tracé ainsi que les "barbules" qui ne sont pas significatives du tracé.

Extraction du squelette

L'opération de squelettisation consiste donc, dans le cas particulier de l'écriture, à éliminer l'épaisseur du trait ou plutôt à l'amincir jusqu'à l'épaisseur minimale d'un pixel. Les multiples méthodes de squelettisation peuvent se grouper en trois catégories :

* L'amincissement

Les termes érosion ou éclaircissage ont un sens assez semblable à celui de amincissement employé en morphologie mathématique et qui est contenu dans le terme anglais "thinning". Cette technique consiste à appliquer un élément structurant d'une transformation de tout ou rien dans laquelle le pixel central noir est remplacé par un pixel blanc en fonction de la configuration des pixels voisins. Il existe trois stratégies sur la manière d'appliquer ce masque à l'ensemble des pixels de l'image. Dans la première, un balayage horizontal et vertical de toute l'image est effectué en plusieurs passes jusqu'à ce qu'il ne reste plus de pixels à éroder, ou encore en une seule passe avec une érosion directe des pixels à chaque translation du masque. La troisième stratégie consiste en un suivi de contour appliqué successivement d'une manière analogue à une érosion "naturelle".

A l'intérieur de chacune de ces stratégies, on rencontre de nombreuses variantes qui conduisent à des améliorations portant sur les imperfections classiques du squelette telles que les "barbules" ou le décalage entre le squelette et la forme. Les améliorations concernent également l'optimisation de la procédure, comme par exemple l'ébarbulage simultané à l'amincissement.

* Le "gradient"

Dans cette technique, qui s'adapte également aux images à niveaux de gris, on procède à un balayage de l'image avec un masque comme pour l'amincissement, mais la configuration des pixels n'est plus prise en compte. En effet, seuls les niveaux minimum et maximum des pixels à l'intérieur du masque sont considérés. Trois étapes sont nécessaires pour aboutir au squelette.

Elles sont détaillées au chapitre III § 1.1. Ce sont :

1) le calcul de la distance minimale de chaque pixel de la forme au contour

2) la détermination du noyau de la forme

3) l'amincissement du noyau en squelette.

Dans la méthode que nous allons proposer, le noyau a une épaisseur de un ou deux pixels suivant que l'épaisseur du trait comporte un nombre de pixels pair ou impair. Le squelette possède toujours une épaisseur de un pixel grâce à la troisième étape, mais a le défaut de ne pas respecter les connexités. On montrera comment ce défaut peut être supprimé en définissant un voisinage en chaque point.

A la différence des autres techniques, la transformation aboutissant au noyau est parfaitement réversible. Il n'y a pas de perte d'information. En ce sens, la squelettisation obtenue par cet algorithme est plus proche de la définition de l'opération de morphologie mathématique d'extraction du squelette. Pourtant, cette technique est peu utilisée, sans doute en raison de la discontinuité du squelette. L’étude de d’Acierno [d'ACIERNO 91] est le seul exemple de système comportant une étape de squelettisation qui utilise cette technique.

* Le suivi de trait

Cette technique consiste à trouver un chemin à l'intérieur et au milieu du trait et qui parcourt l'ensemble du tracé [PAQUET 90, 91b] [PETTIER 91]. La réunion des chemins forme un graphe qui s'apparente au squelette. L'avantage de cette technique est qu’elle indiquela présence des liaisons entre tous les points du graphe, elle ne nécessite donc pas le traitement de chaînage des pixels isolés (cf. § suivant) qui incombe aux autres techniques.

Il existe encore d'autres techniques visant à extraire un squelette ou pseudo-squelette telle que celle basée par exemple sur la mise en correspondance des deux versants du contour.

On peut relever quelques critères permettant de récapituler les différences caractérisant chacune des différentes techniques :

- présence et importance des barbules,

- épaisseur de 1 ou de 2 pixels,

- continuité du squelette, prise en compte du critère de 4 ou 8-connexité,

- facilité du chaînage des pixels du squelette,

- centrage du squelette au milieu de la forme.

On consultera une synthèse [HU 91] de ces techniques, comportant notamment les liens entre les squelettes et les diagrammes de Voronoï, ainsi que des études de comparaisons méthodiques et automatiques entre les différents squelettes qui pourront compléter notre brève présentation.

Traitement du squelette

La squelettisation est une opération qui nécessite un traitement de l'information avant la reconnaissance. En effet, le squelette est une structure de données brutes que l'on ne peut pas exploiter directement. Elle nécessite une certaine interprétation dont l'objectif est de normaliser l'ensemble des données en un tout cohérent, ceci indépendamment de l'étape de reconnaissance. Afin de préciser la nature des divers traitements qu'elle comporte, nous nous référons à l'exemple typique de ce qui est appliqué pour la squelettisation "gradient" (cf. chapitre III § 1.1.)

La 1ère étape est le Chaînage des pixels (détection des arcs du squelette) qui est basé sur la détection des pixels voisins du squelette (qui est discontinu) ;

La 2ème étape est la Détermination du voisinage des arcs;

La 3ème étape est la Fragmentation (ou la segmentation) des arcs aux points de jonction ou croisements ;

La 4ème étape est l'Ebarbulage des petits arcs ;

La 5ème étape est la Fusion des fragments d'arc ;

La 6ème étape est une Approximation polygonale des arcs ;

La 7ème et dernière étape est la correction des arcs et la Construction du graphe.

Ces étapes peuvent se regrouper en trois opérations principales :

- Réduction : l'extraction du squelette ;

- Changement de représentation : 1, 2 et 3 ;

- Interprétation : 4, 5, 6 et 7.

La brève présentation des techniques de changement de représentation étant achevée, nous allons maintenant étudier dans une deuxième section comment exploiter les primitives extraites pour la reconnaissance des mots manuscrits.

2. La méthode de reconnaissance

Le point critique de la reconnaissance de l'écriture manuscrite est la modélisation du mot à l'aide des primitives que nous avons extraites (cf. § 1.). En effet, du fait de la difficulté que pose la segmentation en lettres dans l'écriture manuscrite (cf. chapitre II - étude de la segmentation), le mot devient l'entité sémantique minimale. Nous allons donc étudier comment exploiter ces primitives extraites en précisant le but intermédiaire qui est visé, et quelle influence le type de primitive a sur la modélisation des mots, en particulier sur le niveau de description du mot qui est atteint.

Il est utile de souligner que les conditions exactes de l'application considérée (en particulier l'étendue du vocabulaire) ont une influence sur l'objectif de la reconnaissance et donc sur l'extraction des primitives. Suivant ces conditions, on optera plutôt pour une modélisation, une classification ou une segmentation des mots. Ainsi suivant chaque objectif, une méthode de reconnaissance sera plus appropriée (cf. § 2.2.).

2.1. Etude bibliographique sur la modélisation des mots manuscrits

L'objectif visé dans ce paragraphe est la modélisation, c'est-à-dire la représentation approximative mais complète du mot par un ensemble de primitives.

L'étude bibliographique que nous avons menée dans le cadre de la reconnaissance omniscripteur hors-ligne des mots manuscrits, a conduit à la classification suivante qui regroupe les principales approches rencontrées pour la modélisation des mots manuscrits.

2.1.1. Approximation du mot par des segments de droite

- Segments de droite [LECOLINET 93a] et [LERY 89] ;

- Approximation polygonale du squelette [LEROUX 91ab] ;

- Modélisation des hampes et jambages ainsi que des concavités par des segments horizontaux et verticaux [LECOLINET 91] ;

- Détection des lettres clefs du mot [CHERIET 93] (principalement les hampes et jambages).

2.1.2. Modélisation à partir de l'axe du mot

- Intersection avec l'axe rectiligne du mot [PAQUET 91b] et [OLIVIER 93] ;

- Axe curviligne du mot [SIMON 89] et [DELEDICQ 93] ;

2.1.3. Modélisation du mot à l'aide des graphèmes

Les graphèmes sont des éléments qui conduisent, par leur combinaison, à des hypothèses de lettres. Ils sont déterminés en fonction des primitives suivantes :

- Arcs, boucles, points de rebroussement [AOKI 86] ;

- Boucles, concavités, classification avec les zones des hampes et jambages [BOZINOVIC 84], étude des composantes connexes [MOREAU 91] et [LEROUX 91ab].

Les études dans le domaine de la segmentation du mot en graphèmes sont principalement basées sur l'analyse du contour (cf. § 1.4.2.). Les critères de segmentation que nous avons répertoriés sont liés à la détection des minimums du contour supérieur du mot [BOZINOVIC 84] [MAIER 86] [LEROUX 91]. Les hypothèses de base sont les suivantes :

- les caractères composant le mot ne sont reliés que par un seul trait ;

- la segmentation peut être effectuée par une coupure verticale située au minimum local du trait de connexion.

La détection de ce minimum local est obtenue par le calcul de la dérivée du contour, c'est-à-dire, dans l'espace discrétisé, de la différence des ordonnées de deux points d'abscisses consécutives. Puis le minimum est validé en fonction des critères d'unicité du trait de connexion et de son épaisseur, afin de ne pas couper un caractère comportant un minimum local à l'intérieur de son tracé. Lorsque le critère d'unicité du trait ne peut être vérifié à l'aplomb d'un minimum local, une coupure oblique (angle soit fixé soit variable) peut améliorer la méthode [DARGENTON 90].

Afin de renforcer les hypothèses de base, plusieurs autres critères ont été proposés dans différentes études incluant la segmentation des mots manuscrits :

- la proximité entre deux coupures

Deux coupures successives ne peuvent survenir à une distance inférieure à la largeur minimum d'une lettre.

- la zone centrale du mot

La zone centrale du mot, qui doit être détectée au préalable (cf. Chapitre 2 § 2.1.1.), est la zone où se situent la plupart des ligatures entre les lettres.

- le sens de parcours du contour

Le sens positif ou négatif par rapport au sens trigonométrique est pris en compte pour générer des hypothèses de segmentation [BADIE 82] [HOLT 92].

- le profil supérieur et les concavités latérales

Le profil supérieur est obtenu par le maximum du contour à chaque abscisse. Le profil supérieur est une fonction de l'abscisse tandis que le contour est multiforme, d'où la simplification de la détection des minimums.

Les concavités latérales sont des zones dans lesquelles la segmentation est improbable. Elles sont donc utilisées pour délimiter les zones de segmentation potentielle, ou points d'ancrage, à partir du profil supérieur [LECOLINET 90].

- les crêtes du profil supérieur

Deux crêtes du profil supérieur détectées de part et d'autre du point d'ancrage renforcent l'hypothèse de segmentation.

- la confrontation des hypothèses du contour supérieur et du contour inférieur

Les minimums du contour supérieur sont mis en relation avec les maximums du contour inférieur [MOREAU 91] [HOLT 92] (cf. Détection des extremums basée sur l'étiquetage). Dans le cas d'un trait de liaison simple entre deux lettres, ce critère est équivalent à celui utilisant les crêtes du profil supérieur.

Les critères de segmentation à partir du contour que nous avons présentés sont valables pour la grande majorité des traits de liaison entre les lettres des mots. Cependant, de même que la segmentation basée sur l'étiquetage des connexités (cf. § 1.4.1.), la segmentation basée sur l'analyse du contour, qui est plus classique, conduit inévitablement à la sur-segmentation des lettres présentant un minimum local, tel qu'une liaison intra-lettre dans le cas 'u' ou 'v', par exemple, ou bien à la suite d'une boucle ouverte, ce qui est fréquemment le cas des lettres 'a' ou 'o'. Elle conduit également à la sous-segmentation, en cas d'absence de minimum local entre deux lettres, ce qui peut survenir pour les lettres collées, ou bien lorsque la liaison inter-lettres correspond à un maximum du contour inférieur.

On notera cependant que la segmentation basée sur l'étiquetage, qui est plus systématique, conduit à des coupures à chaque minimum local du contour supérieur, quelle que soit sa position verticale. La sur-segmentation qui en résulte nécessite donc une étape renforcée de recomposition en lettres, comme nous le verrons dans le chapitre II § 2.1.2.

2.2. Les catégories de méthodes

L'objectif de la reconnaissance est de retrouver l'information manquante, qu'elle soit non présente, perdue ou non directement accessible, à partir des informations que l'on a extraites, en s'aidant éventuellement du contexte environnant (principalement des contextes lexical et syntaxique).

Nous allons présenter six catégories de méthodes que nous avons répertoriées, à partir de l'étude de plusieurs systèmes de reconnaissance. Il s'agit des méthodes de :

1. Paramétrage du mot

2. Modélisation de la forme du mot indépendamment des lettres

3. Modélisation de la forme du mot liée aux lettres

4. Modélisation de la forme des lettres dans le mot

5. Modélisation des lettres

6. Segmentation du mot en graphèmes

Auparavant, il est nécessaire de préciser la terminologie que nous avons souvent utilisée dans cette analyse autour du mot "Matching". Nous avons utilisé ce terme pour désigner d'une façon générique la mise en correspondance, l'appariement ou la distance d'édition :

- La mise en correspondance traduit l'action du matching, sans préciser la méthode de comparaison, la nature de la distance ou du coût utilisé. Par exemple, un mot (ou une lettre) "match" avec un (ou une) autre s'ils se correspondent plus ou moins.

- L'appariement est le terme choisi pour la mise en paire de deux graphes structurels, il est proche de la mise en correspondance, mais précise la méthode de comparaison. L'appariement des graphes structurels utilise une distance d'édition sur chacun des couples d'arcs des deux graphes (cf. Chapitre III).

- La distance d'édition est un algorithme classique de mise en correspondance de deux chaînes linéaires, chaque élément de la chaîne peut représenter un symbole, un caractère, un segment...

Le terme de matching implique une comparaison systématique, c'est une méthode descendante comme nous le préciserons plus loin (cf. § 3.1.).

2.2.1. Paramétrage du mot

Le paramétrage du mot a pour but la sélection d'un nombre restreint de mots parmi un grand lexique. La méthode de reconnaissance est basée sur une description approximative du mot entier. Elle est peu sensible et donc très tolérante aux fluctuations du tracé. Cette méthode n'est que la première étape de la reconnaissance et doit donc être utilisée conjointement avec d'autres méthodes de reconnaissance plus fines.

L'approche peut être ascendante ou descendante suivant la procédure utilisée :

- Une classification des mots constitue une approche purement ascendante. Nous appellerons cette première méthode M1. La classification peut par exemple être basée sur l'utilisation d'une table de correspondance pré-calculée telle qu'une table de longueur moyenne des mots, ou bien elle peut être programmée de façon arborescente suivant une liste d'attributs. Toutefois, cette dernière méthode est envisageable seulement au niveau de la reconnaissance de lettres. Une classification par un réseau neuromimétique constituerait un autre exemple de reconnaissance purement ascendante.

M1 : Classification du mot

- En revanche, le calcul d'une distance, effectué entre tous les mots paramétrés d'un dictionnaire de caractéristiques de mots, conduit à une approche purement descendante. La reconnaissance grâce aux coefficients de Fourier que nous présenterons dans le chapitre II (cf. § 1.2.4.2.) est un exemple typique d'approche descendante de la reconnaissance de mots entiers paramétrés. Cette dernière méthode s'apparente à celle basée sur la modélisation de la forme du mot (cf. § 2.2.2.), à la différence que le codage doit être interprété pour obtenir la représentation visuelle des mots.

2.2.2. Modélisation de la forme du mot indépendamment des lettres

Les méthodes basées sur la modélisation de la forme des mots suivent deux tendances principales concernant le niveau de description utilisé :

- Une description approximative conduit à des méthodes similaires à M1 de réduction du lexique, c'est-à-dire de génération d'hypothèses de mots proches. C'est le cas de [CHERIET 93] qui décrit une méthode de reconnaissance globale basée sur les lettres clefs du mot. Dans ce type de méthode, on exploite des indices visuels globaux sur le mot, le plus souvent tels que les hampes et jambages [LEROUX 91ab] mais aussi les contours haut et bas [PARISSE 92]. Cependant, ce dernier cas sort du domaine de la reconnaissance omniscripteur car la réduction du lexique de 50 000 à 200 mots est basée sur un apprentissage monoscripteur.

- Une description plus précise conduit à des méthodes de matching global du mot indépendamment des lettres (M2), telles que la méthode de [MOREAU 91] basée sur les hampes et jambages, celle de [LECOLINET 93b] ainsi que de l'appariement de graphe structurel de mot (cf. Perspectives Chapitre 4 § 2.3.) dans lequel la description est plus précise. Elles permettent la reconnaissance fine du mot dans le cas d'un petit lexique ou bien dans le cas d'un grand lexique ayant préalablement été réduit. Dans les deux cas, la reconnaissance est tributaire de la liste des mots. Un mot n'y figurant pas ne pourra naturellement pas être reconnu (cas d'un mot nouveau ou non sélectionné dans le grand lexique). Les méthodes de type M2 sont les méthodes de recherche descendante en largeur du mot :

M2 : Matching global du mot  indépendamment des lettres :

La méthode M2 est à la fois sensible et tolérante aux variations du tracé et son caractère global assure sa robustesse, ce qui en fait une méthode adaptée à l'écriture de moyenne ou faible qualité. C'est la nature fortement combinatoire de la procédure de matching qui limite ce genre d'approche à un petit lexique.

Le point critique de la méthode est l'utilisation d'un dictionnaire de formes de mots, dans la mesure où plus la description est précise, plus l'apprentissage est délicat. En effet, la précision limitant la représentativité des mots, il y a un compromis entre la généricité (unicité de la forme apprise) et l'adéquation (apprentissage des formes variantes ou spécialisées).

2.2.3. Modélisation de la forme du mot liée aux lettres

Nous avons regroupé dans cette catégorie (M3) les méthodes basées sur les primitives obtenues par l'intersection du mot avec un axe rectiligne [PAQUET 91b] [OLIVIER 93] [TACONET 92], ainsi que la méthode utilisant l'axe curviligne du mot [SIMON 89, 92] [DELEDICQ 93]. De manière analogue à M2, ces méthodes utilisent un dictionnaire de formes de mots, et héritent donc des caractéristiques principales de M2, c'est-à-dire une reconnaissance robuste mais tributaire du mot, avec le problème de l'apprentissage.

La forme des mots est cette fois davantage liée aux lettres, cependant le codage des lettres n'est pas dissociable du mot. La représentation de deux lettres identiques sur des mots distincts est indépendante.

Les mots du dictionnaire sont représentés par une chaîne de description liée à l'axe du mot, par exemple les formes régulières et singulières liées à l'axe curviligne. Un calcul de distance d'édition est effectué entre cette chaîne et la chaîne des primitives qui ont été segmentées sur le mot, en utilisant éventuellement des règles de réécriture.

Contrairement à M2 qui ne possède pas l'objectif intermédiaire de reconnaissance des lettres, cette méthode aboutit à des hypothèses de lettres générées seulement pendant le matching avec le mot (méthode de recomposition en lettres). On dit alors qu'il y a segmentation implicite du mot en lettres (implicite car dépendante et guidée par le mot), cependant il y a segmentation explicite du mot en primitives de niveau inférieur à la lettre (par exemple des points d'ancrage explicites indépendants du mot).

M3 : Matching sur le mot lié aux lettres

2.2.4. Modélisation de la forme des lettres dans le mot

Le critère principal de cette méthode (M4) est l'utilisation d'un lexique dans lequel chaque mot est représenté par des lettres ASCII, comme dans un dictionnaire ordinaire, au lieu d'une base de formes de mots (par convention dans la suite, ASCII désigne les caractères par opposition à leur forme). Chaque lettre possède un codage [LECOLINET 93a] [DELEDICQ 93] ou une modélisation individuel et indépendant des mots. Le principe de la reconnaissance repose sur le calcul d'une distance d'édition entre la description symbolique de la lettre (S.F.D. : Symbolic Features Descriptor [LECOLINET 93a]) et les primitives (V.I. : Visual Indexes) extraites sur chaque lettre du mot à reconnaître.

Cette méthode est également une méthode de segmentation implicite du mot en lettres (les hypothèses de lettres dépendent du mot). La modélisation individuelle de chaque lettre pose le problème de la modélisation des liaisons entre les lettres du mot ainsi que de l'influence du tracé de chaque lettre, ce qui complique l'apprentissage (apprentissage au niveau lettre, apprentissage des n-grammes).

Cette méthode nécessite une optimisation (compression du dictionnaire en un réseau de pétri [VASQUEZ 90]) pour ne pas avoir à reconnaître plusieurs fois les mêmes lettres. Il est en effet superflu de recommencer le matching d'une lettre commune et à la même position dans plusieurs mots distincts, avec les mêmes primitives.

M4 est potentiellement plus adapté à un grand dictionnaire que M3 du fait du codage individuel des lettres.

M4 : Matching des lettres dans le mot ASCII

2.2.5. Modélisation des lettres

Les méthodes de reconnaissance de lettres basées sur la modélisation des lettres (M5) utilisent un matching avec des primitives de bas niveau, de manière analogue aux méthodes de type M4. Par exemple, une distance d'édition est calculée entre les segments de la lettre modélisée dans la base de données et ceux extraits dans l'image de la lettre.

M5 : Matching de la lettre avec les primitives de bas niveau :

La modélisation que nous proposerons dans le chapitre III est une structure d'arcs composés de segments de droites, et organisée en un graphe de liaison pour chaque lettre (M5.2 : Appariement des graphes structurels des lettres).

Le but de la modélisation des lettres est d'exploiter le maximum d'information lorsque les lettres sont bien écrites, en particulier pour reconnaître précisément les lettres discriminantes dans les mots. L'utilisation du matching de lettres s'inscrit dans deux stratégies opposées :

- La première est la reconnaissance des lettres dépendantes du mot, ce qui rejoint la méthode M4 ;

- La seconde est la génération d'hypothèses de lettres indépendantes du mot (cf. § 3. et Chapitre 4).

2.2.6. Segmentation du mot en graphèmes

Nous avons regroupé dans cette catégorie (M6) les méthodes de segmentation explicite du mot (segmentation indépendante d'une hypothèse a priori sur le mot) par des coupures verticales seulement. Les différentes techniques de segmentation en graphèmes que nous avons rencontrées sont basées sur l'analyse du contour (cf. § 2.1.3.).

Les techniques classiques de segmentation du mot [MOREAU 91] [HOLT 92] conduisent naturellement au paramétrage des graphèmes en vue de leur classification (M7 : Classification des graphèmes), qui est une approche ascendante de la reconnaissance. Par exemple, dans le système de Moreau, le paramétrage aboutit à un vecteur de 138 caractéristiques par graphème.

La reconnaissance est ensuite effectuée grâce à un matching de la séquence des graphèmes avec chaque mot d'un dictionnaire, les mots étant codés en graphèmes. Suivant cette approche, il n'y a donc pas d'hypothèses de lettres générées, car les graphèmes assument le rôle des lettres dans le dictionnaire.

L'originalité de l'approche du système que nous proposerons (cf. Chapitre II § 2.) tient à l'utilisation d'un dictionnaire ordinaire de mots codés en lettres. La reconnaissance est alors basée sur un matching des séquences de combinaison de graphèmes avec les lettres de chaque mot (M8). Pour réaliser la correspondance des graphèmes avec les lettres, nous avons utilisé une table de substitution qui prévoit l'ensemble des combinaisons de graphèmes valides avec un coût de substitution en lettres pour chacune.

M8 : Matching des séquences de graphèmes avec les lettres dans le mot

Lorsque le niveau de segmentation conduit à des primitives de plus bas niveau, la segmentation n'est plus seulement verticale, mais également horizontale. L'approximation polygonale du squelette du mot, qui est réalisée dans le système de [LEROUX 91ab], est un exemple de segmentation à un plus bas niveau. Dans cette approche, la détection et la classification des graphèmes nécessitent un matching au niveau de la lettre, ce qui en fait une approche hybride avec M5 (Méthode de matching de la lettre avec les primitives de bas niveau).

Le système de [DELEDICQ 93], qui est basé sur plusieurs niveaux de description coexistants, utilise également un matching de lettres pour aboutir aux graphèmes.

La tendance opposée consistant à la représentation du mot par des graphèmes approximatifs a également été étudiée [LECOLINET 91]. Elle conduit à une approche intermédiaire avec la méthode M4, sauf que dans ce cas, on se limite à la pré-reconnaissance des graphèmes, c'est-à-dire à la génération d'hypothèses de présence seulement des lettres dépendantes des mots du dictionnaire.

Lorsque l'on considère la segmentation du mot à différents niveaux, il en ressort une confusion entre les approches, et il devient délicat de discerner exactement le type de méthode employée. Aussi nous estimons que la segmentation exclusivement accomplie par une coupure verticale du tracé du mot est un critère satisfaisant pour déterminer l'ensemble des méthodes purement basées sur la segmentation explicite du mot en graphèmes.

2.2.7. Schéma récapitulatif des méthodes de reconnaissance

Nous avons récapitulé dans le schéma suivant les catégories de méthodes de reconnaissance que nous avons étudiées. Celles-ci sont organisées en fonction de la proximité de leur principe de matching.

La méthode M9 figurant sur ce schéma est une méthode de reconnaissance ascendante du mot à partir de ses lettres plus ou moins reconnues. Elle sera détaillée dans le chapitre 4.

3. La stratégie de reconnaissance

Après avoir présenté les catégories de méthodes d'exploitation de l'information, nous allons maintenant proposer une analyse des stratégies utilisées pour exploiter ces méthodes dans un système de reconnaissance. Nous avons choisi de présenter les stratégies dans une partie séparée des méthodes car une même stratégie peut exploiter plusieurs méthodes complémentaires ou bien une seule méthode avec une variante ou une tendance vers une autre méthode. Dans un système de reconnaissance, la conséquence est l'existence d'une "procédure spéciale" remettant plus ou moins en cause la stratégie initiale, un flou entoure alors les conditions réelles de fonctionnement de cette procédure.

Les deux objectifs principaux de la stratégie que nous avons retenus sont naturellement la diminution du risque d'erreur d'une façon générale, et l'optimisation, en particulier la réduction du temps de reconnaissance. Les moyens mis en oeuvre pour cela sont essentiellement la réduction du domaine de recherche, l'exploitation et la confrontation des informations complémentaires et également le choix de la méthode appropriée en fonction du contexte.

3.1. Les approches ascendante et descendante

Chaque système comporte une étape initiale minimale d'extraction de l'information. Il s'agit de l'étape d'extraction des primitives (cf. § 1), qui est une phase ascendante de la reconnaissance, la phase descendante étant la procédure de vérification de la concordance de chaque mot avec ces primitives extraites. En considérant que toute extraction de primitives est une forme de segmentation explicite (comme les méthodes de segmentation explicite du mot en lettres), on réduit l'ensemble des systèmes de reconnaissance à une structure comprenant une phase ascendante ainsi qu'une phase descendante. L'approche stratégique résulte alors d'un compromis sur l'importance de chacune de ces deux phases.

Cette approche stratégique dépend essentiellement du niveau de segmentation (segmentation en graphèmes ou segmentation en primitives de bas niveau) ainsi que du niveau de description qui est visé à partir de ces primitives.

Le choix de ces deux niveaux détermine largement la méthode de "matching" (mise en correspondance) qui sera utilisée, et partant, la stratégie permettant d'exploiter cette méthode. En effet, le choix de ces primitives oriente la recherche plutôt en largeur ou plutôt en profondeur.

3.2. Les recherches en largeur et en profondeur

La méthode de reconnaissance analytique basée sur la segmentation en graphèmes comporte une première phase ascendante de classification des graphèmes, puis une phase descendante de vérification de la concordance des graphèmes avec les lettres de chaque mot. Ainsi, le niveau de segmentation fixe la limite supérieure de la phase ascendante, cette limite étant élevée dans ce cas. En effet, pendant la phase descendante de matching avec le mot, seules des primitives de haut niveau (niveau logique) sont utilisées, de sorte que cette approche correspond à une recherche plutôt en profondeur.

- M6 : Segmentation du mot en graphèmes

- M7 : Classification des graphèmes

- M8 : Matching des séquences de graphèmes avec les lettres dans le mot

A l'inverse, une limite supérieure peu élevée du niveau de segmentation conduit à l'utilisation de primitives de bas niveau (P.B.N.). Ce niveau peu élevé de la phase ascendante caractérise une recherche plutôt en largeur. A partir de ces primitives de bas niveau, le niveau de description visé (modélisation au niveau du mot, ou au niveau de la lettre) détermine alors l'importance de l'aspect combinatoire.

- La modélisation au niveau du mot entier conduit à une méthode descendante très combinatoire, et nécessite un dictionnaire de formes de mots :

M2 : Matching global sur le mot, indé-pendamment des lettres

- La modélisation au niveau de la lettre dans le mot conduit à une méthode descendante combinatoire par palier. Elle comporte deux phases descendantes imbriquées, la recherche s'étend donc un peu en profondeur.

M4 : Matching des lettres dans le mot appartenant à un dictionnaire ASCII. L'utilisation d'un dictionnaire de codage de lettres à partir des primitives de bas niveau est le critère déterminant qui distingue cette méthode de la précédente.

3.3. La réduction du vocabulaire

La plupart des stratégies de reconnaissance sont basées sur une recherche en largeur sur un petit lexique de mots (par exemple, le vocabulaire des chèques). Lorsque les spécifications du système de reconnaissance concernent un grand lexique de mots (dictionnaire spécialisé ou général), une étape de sélection d'une liste réduite de mots candidats à la reconnaissance est effectuée au préalable. Cette réduction du vocabulaire se fait principalement par une méthode de reconnaissance globale (M2) utilisant un jeu de primitives de faible niveau de description, c'est-à-dire aboutissant à une description approximative mais très souple du mot. Par exemple, [CHERIET 93] utilise les lettres clefs du mot et [LECOLINET 93a] analyse la forme globale du mot en respectant des contraintes syntaxiques et sémantiques.

Le seul système rencontré dont la reconnaissance est basée directement sur un grand vocabulaire est celui de [DELEDICQ 93]. Il utilise plusieurs niveaux de description en vue de réaliser un apprentissage analytique. La technique choisie, qui semble être la seule envisageable dans le cas d'un grand vocabulaire, est basée sur un dictionnaire de codage des lettres de l'alphabet et un dictionnaire de mots ASCII. L'utilisation de plusieurs niveaux de description conduit nécessairement à plusieurs méthodes de reconnaissance distinctes (segmentation en graphèmes : M6, axe curviligne du mot : M3, dictionnaire de codage des lettres : M5, segmentation en lettres dépendantes du mot ASCII : M4). Ces méthodes et la stratégie n'ont pas encore été fixées et seul l'apprentissage analytique est traité dans l'article.

En fonction du lexique, la réduction du vocabulaire peut aboutir à la reconnaissance lorsqu'un seul mot satisfait aux contraintes syntaxiques et sémantiques parmi l'ensemble des mots sélectionnés. Cependant, dans le cas général, on dispose d'une liste réduite de mots candidats à la reconnaissance à l'issue de cette première étape, une recherche en largeur est alors envisageable suivant des stratégies diverses.

3.4. La stratégie combinatoire

La stratégie combinatoire est une approche typiquement descendante, c'est-à-dire que la segmentation en lettres est guidée par chacun des mots du vocabulaire réduit, donc implicite. L'extraction de primitives de bas niveau (niveau inférieur à celui de la lettre), est la seule étape ascendante de cette stratégie.

Ensuite, nous distinguons les méthodes très combinatoires et combinatoires par paliers suivant le lien entre le codage des lettres et celui du mot.

3.4.1. La méthode très combinatoire

La méthode de reconnaissance basée sur la modélisation de la forme du mot liée aux lettres (M3) constitue une méthode très combinatoire. En effet, l'absence de codage des lettres indépendamment du mot implique un matching global du mot.

Nous citons par exemple les méthodes basées sur l'axe rectiligne du mot [PAQUET 91b] [OLIVIER 93] ainsi que celles basées sur l'axe curviligne [DELEDICQ 93] [SIMON 89, 92].

On remarque la tendance vers la méthode combinatoire par paliers du système de Paquet, qui comporte une recherche de pseudo-lettres dans la phase de substitution, afin de diminuer la complexité du matching du mot.

3.4.2. La méthode combinatoire par paliers

La méthode combinatoire par paliers correspond à la méthode de reconnaissance basée sur la modélisation de la forme des lettres dans le mot (M4). Chaque matching des lettres avec les primitives de bas niveau contribue à limiter la combinatoire sur l'ensemble du mot à des paliers correspondant à la largeur moyenne des lettres.

Le système de [LECOLINET 93a] est un exemple de système mettant en oeuvre la stratégie de la méthode M4. L'intérêt de cette méthode est son ouverture vers des astuces stratégiques permettant d'optimiser le temps de reconnaissance. Ainsi dans ce système, les lettres des mots du dictionnaire sont ordonnées par signification ou visibilité décroissante, ce qui offre une reconnaissance plus efficace et intelligente.

Cependant, la tendance vers une stratégie itérative est adoptée par le système lorsque la description symbolique d'une lettre ne correspond pas avec les indices visuels (cf. 2.2.4.). Une procédure appelée "démon", sans doute car elle va à l'encontre de la stratégie initiale, est chargée de vérifier la présence d'une information qui n'avait pas été observée ou retenue au départ.

L'aspect itératif de cette variante dans la stratégie est dû au fait que l'étape d'extraction de l'information peut être réitérée tant que le mot n'est pas reconnu, avec une recherche différente ou plus poussée. L'intérêt est de commencer par extraire l'information minimale nécessaire à la reconnaissance dans la plupart des cas afin d'éviter des recherches inutiles. La stratégie itérative peut ainsi améliorer l'efficacité de la reconnaissance.

3.5. La stratégie de confrontation

Suivant cette stratégie, les résultats de deux méthodes indépendantes sont confrontés pour fournir la décision finale de la reconnaissance. Le système de [MOREAU 91] est un exemple de mise en oeuvre de cette stratégie, en basant les deux méthodes sur les mêmes primitives, toujours sur le vocabulaire réduit des chèques.

La première est une méthode de reconnaissance analytique basée sur la segmentation explicite du mot en graphèmes (M6, cf. § 2.2.6.).

La seconde est une méthode de reconnaissance globale du mot basée sur les hampes et jambages mais indépendamment des lettres (un dictionnaire de mots codés en graphèmes est probablement utilisé) (cf. § 2.2.2.).

L'indépendance des deux méthodes contribue à la complémentarité des résultats et conforte leur fiabilité. Cette synergie de reconnaissance sera exploitée au niveau de la reconnaissance des lettres dans le chapitre III : grâce à l'utilisation de plusieurs coûts indépendants concourant à la désignation des lettres de l'alphabet, nous montrerons comment réduire sensiblement le nombre d'erreurs de reconnaissance, même si un des coûts est statistiquement plus fiable que les autres. L'intérêt de la stratégie de confrontation réside dans l'adaptation automatique de l'importance de chaque contribution au coût global en fonction des résultats obtenus (cf. Chapitre III § 3.4.).

3.6. La stratégie de coopération

Le système de [LEROUX 91] est un exemple mettant en oeuvre une stratégie de coopération, c'est-à-dire opportuniste, car le choix de la méthode est contrôlé par la qualité de l'écriture grâce à l'utilisation d'un "blackboard". C'est un système expert dans lequel plusieurs modules, organisés dans un "tableau noir", participent à la décision.

Lorsqu’une écriture de bonne qualité a été détectée, le système décide d'entreprendre une reconnaissance analytique basée sur des primitives de bas niveau obtenue par l'approximation polygonale du squelette. Puis, une détection et une classification des graphèmes est effectuée à partir de ces primitives.

Sinon, lorsque la qualité détectée est faible, le système opte pour une reconnaissance globale du mot (M2) avec un codage des mots du dictionnaire par les hampes et jambages.

Ce système, qui fonctionne avec le vocabulaire réduit des chèques, est le seul exemple rencontré réalisant un matching des lettres indépendamment du mot (M5) dans la procédure de reconnaissance analytique, et le seul exemple de stratégie de coopération opportuniste guidée par une structure de contrôle.

Gr. : Graphèmes

P.B.N. : Primitives de Bas Niveau

Prim. Glob. : Primitives Globales

Conclusion

Lors de l'extraction des primitives, l'objectif est de sélectionner l'information pertinente qui se trouvait noyée dans la masse de l'information brute acquise. Il s'agit d'éliminer plus de bruit que d'information signifiante afin d'augmenter la discrimination. Autrement dit, la question qui se pose est comment réduire sans être réducteur ?

Le dilemme qui se présente est alors le suivant : une trop grande approximation entraîne une perte d'information. En effet, certaines lettres étant plus informantes que d'autres, il est nécessaire de conserver une description précise du mot. Or, la complexité du système de reconnaissance augmente avec le niveau descriptif des primitives.

Pour résoudre ce problème de complexité, la segmentation du mot en lettres semble la seule issue qui nous permette d'utiliser des primitives évoluées. Il est inutile de rappeler la difficulté de segmenter les mots du fait de l'interdépendance du tracé des lettres.

D'une façon plus générale, le résultat de chaque extraction de primitives peut être considéré comme une forme particulière de segmentation ou de réduction de l'information. La segmentation implique toujours le risque de fragmentation d'une unité d'information, qu'il s'agisse de la segmentation du mot en lettres ou bien de l'extraction de primitives sur la lettre. D'autre part, la réduction occasionnée par l'approximation constitue une sélection souvent arbitraire de l'information. Dans ces deux cas, il y a donc inévitablement un risque de perte d'information. Notre objectif dans le prochain chapitre va consister à réduire ce risque dans une étude approfondie de la segmentation.

CHAPITRE II

ETUDE DE LA SEGMENTATION

CHAPITRE II. ETUDE DE LA SEGMENTATION

Introduction

Après avoir établi un bilan des principaux outils et des méthodes dont nous disposions pour la reconnaissance des textes manuscrits, il nous faut en venir à l'obstacle auquel se sont affrontés tous les chercheurs : la segmentation. Segmentation des lignes en mots, segmentation des mots en lettres, la segmentation, cette opération si facilement réalisée par le lecteur qu'elle en est devenue inconsciente, il nous a semblé nécessaire de l'aborder sous un angle différent, celui du mot, des groupes de lettres ou des fragments de lettres plutôt que celui des caractères, avec une autre stratégie faisant appel à l'aide des mathématiques, notamment aux transformées.

Lors de l'étude de la modélisation des mots manuscrits, il est apparu que le résultat de l'extraction de chaque primitive pouvait être considéré comme une forme particulière de segmentation ou de réduction de l'information. Dans ces deux cas, il y a un risque de perte d'information.

L'idée qui est à l'origine de la première partie de ce chapitre, est que ce risque de perte d'information peut être minimisé en remplaçant l'approche locale de la segmentation et de la réduction par une approche globale, ceci grâce à l'utilisation de transformées mathématiques. En effet, les transformations globales comme la transformation de Fourier constituent un changement de représentation réversible (les transformations étudiées sont orthogonales) donc sans perte d'information. Ce changement a pour but la concentration d'une information qui est noyée dans le bruit ou parmi d'autres données redondantes ou non significatives.

L'objectif est de construire, à partir de la segmentation globale et de la réduction globale appliquées à une image transformée, des primitives qui dépendent encore de la totalité des pixels de l'image (primitives globales), afin d'extraire des informations réparties (non localisées) auxquelles l'oeil humain pourrait avoir naturellement accès. Quelle est la nature de ces informations ? Elle dépend de la transformation mathématique que l'on utilise. Nous nous sommes principalement intéressé aux transformées de Hough et de Fourier, car nous avons axé notre recherche sur l'analyse et la segmentation de l'écriture plutôt que sur la reconnaissance ou la classification, objectifs pour lesquels d'autres transformées sont plus appropriées.

Les études s'appliquant à l'extraction de primitives globales de l'écriture manuscrite sont bien moins nombreuses que les études, devenues classiques, relatives aux primitives locales, c'est pourquoi, aujourd'hui où des moyens de calcul importants nous ouvrent de nouvelles perspectives avons-nous voulu, pour répondre à la question sur la nature des informations globales, procèder à une recherche méthodique, théorique puis expérimentale, recherche que nous ferons suivre de quelques applications.

Dans la deuxième partie de ce chapitre, nous mènerons une étude complémentaire de la segmentation - la segmentation par l'extraction de graphèmes - qui constitue une approche plus classique mais aussi qui conduit à des résultats plus pratiques. Nous montrerons que la segmentation en graphèmes nécessite la connaissance de plusieurs informations sur l'écriture, informations qui peuvent être obtenues à partir de l'approche globale de la segmentation étudiée dans la première partie.

1. Segmentation globale de l'image par application de transformées mathématiques

Notre étude portera principalement sur l'apport des transformées de Hough et de Fourier.

1.1. La transformée de Hough (TH)

1.1.1. Le principe d'utilisation

1.1.1.1. Aspects théoriques de la TH

La TH fut à l'origine conçue comme un moyen de détection des lignes droites [HOUGH 62]. Habituellement, on regroupe sous le terme générique TH, des transformations qui permettent de détecter et de localiser dans les images, des courbes paramétriques appartenant à une même famille. Limitons-nous à une famille de droites.

Toute droite (D) du plan (fig. 1) peut être caractérisée par une représentation polaire, de paramètres r et q, de la manière suivante :

un point M(x,y) appartient à D(r, q) si ses coordonnées vérifient la relation [BESANÇON 88] :

x cos( q) + y sin(q) = r    (1)

Figure 1

L'intérêt de cette modélisation est de permettre une représentation des droites horizontales et verticales (fig. 2).

Figure 2

Deux types de transformations sont distingués suivant le principe de calcul :

- la transformation "Many to One", ou communément "m à 1", fait correspondre à une droite passant par n points un et un seul point dans l'espace de Hough (fig. 3) ;

Figure 3

- la transformation "One to Many", ou "1 à m", associe à chaque point de l'image la totalité des droites passant par ce point. Dans l'espace transformé, on obtient alors une sinusoïde (fig. 4).

Figure 4

La TH de 1 à m est la plus couramment employée car son coût de calcul est moins important que celui de la TH de m à 1. Ainsi, seule la TH de 1 à m sera considérée par la suite.

On montre que pour les droites D(r,q) la définition de l'angle q entre 0 et avec r prenant des valeurs positives ou négatives est équivalente, tant en coût de calcul qu'en taille mémoire, à une définition de l'angle q entre 0 et 2 avec r ne prenant que des valeurs positives [TIMOUNI 85]. Des deux options, c'est la première qui est choisie afin de faciliter le choix des directions. L'origine du plan de l'image initiale est donc placée au centre de l'image et le secteur angulaire maximal est .

Le traitement des images par ordinateur suppose évidemment que les plans soient discrétisés, aussi bien le plan de l'image que le plan transformé. Tout point M de l'image est caractérisé par ses coordonnées x et y qui sont entières. Les points de l'espace transformé auront pour coordonnées (r,q,n(r,q)), n(r,q) désignant le nombre de points de l'image initiale appartenant à la droite d'équation

x cosq + y sinq = r

La taille de l'accumulateur que nous avons choisi est de 16 directions pour les angles et d'une amplitude des rayons égale à la diagonale de l'image, ceci quel que soit le domaine de variation des directions des droites considérées.

L'algorithme peut être formulé ainsi [MAITRE 85] :

Pour tout point M(x,y) de l'image, incrémenter tout élément de l'accumulateur d'indice (r,q) tel que le point M appartienne à la droite D(r,q).

Sur les quatre boucles imbriquées que comporte cet algorithme (x et y puis r et q), une économie de calcul substantielle est obtenue en déterminant la valeur de r en fonction de q, x et y, plutôt que de tester systématiquement si chaque couple (r,q) vérifie la relation (1).

On peut noter que, comme pour toute courbe représentée dans un espace discret, il est alors nécessaire de rendre connexe le tracé entre chaque point (q, r(q,x,y)) et (q+1, r(q+1,x,y)) de l'accumulateur.

1.1.1.2. Localisation des segments de droite

Le principe de la détection des droites à l'aide de la TH est le suivant :

Deux points M1 et M2 de l'image définissent nécessairement une droite D représentée dans l'accumulateur, car la définition de r et q couvre tout le plan. Pour la détecter, il suffit de retrouver le couple (r,q) pour lequel l'accumulateur vaut deux (fig. 5). Cependant, pour localiser le segment [M1, M2], et d'une façon générale, les deux points extrêmes M1 et M2 sur une droite D détectée passant par n points de l'image, les coordonnées extrêmes (x,y) des points du segment doivent être mémorisées et actualisées au fur et à mesure du calcul de la TH. On utilise pour cela quatre tableaux minx, maxx, miny et maxy indicés par les coordonnées (r,q) :

Si x<minx[r,q] alors minx[r,q]=x et miny[r,q]=y ;

Si x>maxx[r,q] alors maxx[r,q]=x et maxy[r,q]=y ;

Si x=minx[r,q]=maxx[r,q] alors

miny[r,q]=min(miny[r,q],y) et maxx[r,q]=max(maxx[r,q],x).

Figure 5

L'algorithme opérationnel s'écrit alors :

Pour tout point M(x,y) de la forme :

pour q = qmin jusqu'à qmax :

r = x cos(q) + y sin(q) ;

si r >= rmin et r < rmax alors :

Pour tout ri compris entre r et la valeur précédente

de r obtenue pour l'angle q-1 :

incrémenter(acc[ri,q]) et

si le point M(x,y) définit un point extrême du

segment de la droite D(ri,q), alors mémoriser

ses coordonnées.

1.1.1.3. Critères de sélection des droites

La TH ainsi définie permet de détecter les droites ayant au moins un point commun avec l'image. Ces droites sont évidemment en trop grand nombre pour permettre de résoudre un quelconque problème. Aussi allons-nous définir différents critères de sélection de certaines de ces droites.

La valeur de l'accumulateur indique, pour chaque droite D(r,q), le nombre de pixels appartenant, au sens discret, à cette droite. Cette valeur constitue donc un premier critère de sélection des droites. Dans le domaine de l'analyse d'image, ce critère est habituellement utilisé pour la détection de droites grâce à la TH dans des images bruitées.

L'orientation des droites est un second critère de sélection directement utilisable. En effet, à l'issue du calcul de la TH, les droites sont triées par leurs orientations q dans l'accumulateur. En revanche, le tri par le rayon r (distance de la droite au centre de l'image - ou moment de la droite - cf. fig. 1) n'a pas d'intérêt particulier dans le cas des images de mots.

Le troisième critère que nous utiliserons est le type d'intersection du segment avec l'image du mot. Ce critère n'est accessible que par l'examen, pixel par pixel, de chaque segment. Trois types de segments de droite sont ainsi distingués sur les figures 6abc :

1°) type I : Les segments comportant de nombreuses interruptions (fig. 6a) ;

2°) type II : Les segments sans interruption (fig. 6b) ;

3°) type III : Le reste est constitué par des segments reliant deux points quelconques de l'image. Ces derniers segments sont caractérisés par une valeur faible de l'accumulateur (de 2 jusqu'à deux fois l'épaisseur moyenne du trait de l'écriture). Ils ne présentent que peu d'intérêt, sauf par le fait que leur ensemble délimite approximativement l'enveloppe convexe du mot (fig. 6c).

Figure 6a                                                                    Figure 6b

Figure 6c

Ces critères seront utilisés afin de sélectionner des droites particulières sur des échantillons. L'analyse de ces droites permettra d'évaluer certains paramètres caractéristiques de l'écriture, tels que l'inclinaison et l'épaisseur moyenne du trait et aussi de détecter et de localiser les hampes et les jambages.

1.1.2. Application à l'analyse de l'écriture manuscrite

1.1.2.1. Détection de l'inclinaison

Deux sortes d'inclinaisons sont distinguées dans les images de mots. La première est l'inclinaison globale du mot par rapport au cadre de l'image, que l'on représente par l'axe moyen du mot. La seconde est l'inclinaison des lettres par rapport à cet axe. Ces deux sortes d'inclinaisons seront examinées successivement.

En limitant l'orientation possible de l'axe des mots à ±45°, nous avons d'abord détecté le segment continu le plus long (segment de type II) compris dans le secteur [45°, 135°] de l'image ; ce segment S_0 est représentatif de l'inclinaison des lettres du mot ; il correspond à une hampe ou à un jambage, ou bien à un tronçon voisin de la verticale dans une lettre médiane (lettre sans hampe ni jambage). Pour le mot "word" de taille 128x48 pixels (fig. 7), nous avons ainsi obtenu un angle de 49° avec un segment de 46 pixels, et 79° sur 26 pixels pour le mot "rotation" de taille 94x46 pixels (fig. 8) ; soit q_0 la mesure de cet angle.

Dans un second temps, sans recalculer la TH, on examine à nouveau les segments de droite compris entre -45° et +45° détectés dans l'accumulateur.

A chaque segment S, on affecte une mesure qui tient compte de trois grandeurs :

- la longueur,

- le nombre d'intersections avec les tronçons verticaux des lettres de l'image,

- l'angle formé par S_0 et le segment S.

On cherche simultanément à maximiser la longueur du segment et le nombre d'intersections, en privilégiant la direction perpendiculaire à q_0.

Enfin, pour les segments ayant une mesure supérieure aux trois quarts du maximum, la moyenne des directions nous donne l'inclinaison moyenne de l'axe du mot.

On obtient ainsi une direction presque horizontale pour le mot "word" et  un angle de 12° pour le mot "rotation".

Figure 7

Figure 8

L'inclinaison des lettres, obtenue pour le mot "word", présente un biais visible sur le tracé de la lettre 'd' (fig.7). En effet, la direction du segment est de 49° tandis que la lettre 'd' est inclinée à 57°. Cependant, ce biais n'est pas plus important que l'irrégularité de l'inclinaison des segments composant les lettres "wor".

Les trois autres mesures sont satisfaisantes. L'axe du mot "word" obtenu par le calcul présente un angle de 2° au lieu de 0°. Pour le mot "rotation", l'inclinaison des lettres, obtenue par le calcul, est 79°, ce qui correspond au 78° mesuré ; l'angle de son axe calculé est 12°, ce qui est exact.

On peut maintenant effectuer une rotation de l'image de manière à faciliter tout autre traitement dans le but de la reconnaissance.

La mesure de l'inclinaison peut être étendue à la détection de l'orientation, non plus des mots, mais d'une série de lignes de texte. Pour cela, à l'aide de la TH, on détecte les droites d'inclinaison comprise entre ±30° sur des images (fig. 9a et 9b) représentant des échantillons de faibles résolutions (taille=100x100 pixels)

Les droites les plus fréquentes sont obtenues pour q=0° (fig. 9a) et pour q=4° et 8° (fig. 9b)

Figure 9a

Figure 9b

Deux critères ont été utilisés pour la sélection de chaque droite : le nombre élevé de pixels supportés par la droite (valeur de l'accumulateur) ainsi que le nombre peu élevé de pixels du fond (pixels blancs) [DARGENTON 90]. On remarque sur les figures 9a et 9b, que ces deux critères n'évitent pas totalement la présence de segments obliques reliant plusieurs lignes de texte différentes. Cependant, ceux-ci sont moins nombreux que les autres segments.

Une dilatation horizontale aurait pour effet de relier les mots d'une même ligne (méthode RSLA) [LIKFORMAN 93] ; le critère plus fiable des segments sans interruptions pourrait alors être utilisé.

1.1.2.2. Détection de l'épaisseur moyenne du trait

L'épaisseur moyenne du trait est un paramètre important car il permet d'obtenir une valeur de référence pour détecter un trait significatif. On peut dire que toute méthode, pour être fiable, doit reposer sur une détection automatique de ce paramètre, ou alors la reconnaissance est liée à l'instrument d'écriture utilisé [QUEGUINER 90].

L'épaisseur moyenne du trait est obtenue par l'examen des droites déjà détectées au paragraphe précédent (§ II.1.1.2.1.). Chaque intersection des segments de droite de tout type, I II ou III, avec le mot, définit des petits segments sans interruptions. L'histogramme des longueurs de ces segments montre l'existence d'un mode (cf. fig. 10), c'est-à-dire de la longueur des traits la plus fréquente, qui correspond à l'épaisseur moyenne du trait.

Cette mesure effectuée sur le mot "word" nous donne une épaisseur de 7 pixels (fig. 10), et une épaisseur de 3 pixels pour le mot "rotation".

Figure 10

Quand les mots sont écrits horizontalement, les résultats sont identiques à ceux obtenus en construisant l'histogramme des longueurs des segments, lorsque l'on effectue cette fois un simple balayage des lignes et des colonnes, sans utiliser la TH.

1.1.3. Segmentation

1.1.3.1. Détection du corps des mots

Dans cette étape, l'axe des mots ayant été ramené à l'horizontale, la première idée est de remplacer l'histogramme classique par celui du nombre des droites détectées parmi 16 directions comprises entre 45° et 135°, qui coupent chaque ligne horizontale. Cette disposition a pour effet de renforcer la partie de l'histogramme qui correspond aux lettres médianes. On sélectionne pour cela les segments ne comportant aucune interruption et de longueur supérieure à l'épaisseur du trait. Celle-ci a été estimée dans le paragraphe précédent.

La figure 11 permet de comparer les deux histogrammes et de voir que grâce à cette amélioration, les méthodes classiques basées sur l'histogramme ont maintenant davantage de chance de s'appliquer avec succès.

Figure 11a : Histogramme

des intersections de droites

Figure 11b :

Histogramme classique

Néanmoins, nous proposons aussi une autre méthode basée sur le principe de la Gestalt-théorie [GUBERMAN 91].

On note Ds l'ensemble des droites, détectées entre -10° et +10°, ayant au moins s points communs avec l'image du mot ; on considère alors le graphe qui associe à chaque valeur de s les lignes minimum et maximum atteintes par Ds. Le graphe indique aussi pour chaque ligne de l'image, jusqu'à quel seuil on peut trouver une droite horizontale dans la transformée.

On peut observer sur ce graphe (figure 12a) de brusques ruptures de pente correspondant à la zone des lettres médianes dans laquelle les droites horizontales présentent un maximum de points.

On construit alors une fonction qui, à chaque ligne, associe une valeur qui tient compte

- de la pente du graphe précédent,

- de la valeur du seuil maximum possible,

- du nombre d'alternances fond-forme.

Ce graphe, après lissage (figure 12b), présente un ou plusieurs pics. Un pic indique la zone médiane d'un mot sans hampe ni jambage, alors que deux pics indiquent les bords inférieur et supérieur de la zone médiane d'un mot avec hampe ou jambage.

Figure 12a

Figure 12b

1.1.3.2. Localisation des hampes et jambages

En poursuivant la démarche vers la segmentation des mots en lettres, nous nous sommes également intéressé à la localisation horizontale des hampes et jambages dans le mot.

Sur chaque colonne de l'image, on recherche l'existence de segments d'orientation comprise entre 45° et 135° et de longueur supérieure à la zone médiane du mot que nous avons déjà évaluée précédemment. Il suffit de classer ces segments en fonction de la position de leur extrémité par rapport à cette zone pour obtenir une mesure discrète de probabilité de présence d'une hampe ou jambage sur toute la longueur du mot. On code chacun des segments de la zone des hampes par 1, de la zone des jambages par 2, de la zone des hampes et jambages par 3 (pour la lettre 'f'), et par 0 tout autre segment. Par exemple, cela donne pour le mot trente le codage suivant :

01110000000011100

Cette mesure floue a l'avantage d'être plus souple pour la classification des lettres, qu'une méthode n'effectuant qu'une simple décision binaire sur chaque lettre qu'elle a pu discerner.

1.1.4 Bilan et discussion

La TH met en évidence les alignements des points les plus nombreux en fonction de chaque direction échantillonnée. Cette transformée est donc particulièrement indiquée pour détecter des orientations privilégiées de l'écriture. Celles-ci sont alors représentées par des segments que l'on peut localiser sur l'image. Cependant, le travail effectué dans ce sens montre que la sélection des segments obtenus nécessite une confrontation avec l'image, la seule sélection sur la fréquence et l'orientation étant insuffisante.

La TH a ainsi permis d'évaluer une éventuelle inclinaison des lettres ou une rotation du mot, même si le critère employé ne correspond pas toujours exactement à l'inclinaison que l'on cherche à mesurer (cas de l'inclinaison des lettres du mot "word" au paragraphe 1.1.2.1.).

La TH permet la construction d'histogrammes élaborés à partir de primitives globales de l'image : ceux-ci remplacent avantageusement les histogrammes classiques qui ne sont que de simples projections de lignes indépendantes les unes des autres. En outre, la TH permet une caractérisation globale du mot qui peut être discriminante dans le cas par exemple d'un faible vocabulaire (voir la localisation des hampes et jambages dans le paragraphe 1.1.3.2.)

La TH est encore relativement peu utilisée dans le domaine de la reconnaissance de mots manuscrits. On peut citer toutefois [OLIVIER 93] pour la détermination de l'axe médian des mots par la TH ainsi que [LECOLINET 93a] dont l'application est intéressante : elle consiste à schématiser complètement le tracé des lettres d'un mot à l'aide de segments de droites détectés par la TH.

Notre seconde étude concernera la transformée de Fourier.

1.2. La transformée de Fourier (TF)

La transformée de Fourier est fréquemment utilisée en traitement d'image lorsque l'on désire effectuer un filtrage un peu délicat qui ne pourrait être réalisé dans le domaine spatial à l'aide d'une simple convolution par un masque.

Le filtrage du spectre Fourier fait apparaître des informations

qui n'étaient pas visibles auparavant

Nous allons étudier, sans nous préoccuper outre mesure du temps nécessaire à l'exécution des opérations, son application à l'écriture manuscrite, essentiellement dans le but d'en extraire les éléments contribuant à réaliser la segmentation des mots en lettres.

L'intérêt de la TF est de mettre en évidence les phénomènes réguliers qui se répètent périodiquement dans une image. Chaque région définie du spectre de Fourier correspond à une période précise et contient une information concentrant une contribution de chaque point de l'image. Cette faculté sera appliquée à l'analyse et à la segmentation harmonique de l'écriture manuscrite. Nous rapporterons également une étude sur la reconnaissance harmonique des lettres et des mots entiers, qui est liée à notre recherche.

1.2.1. Aspects théoriques de la TF

1.2.1.1. TF d'un signal réel

Considérons un signal monodimensionnel de type temporel. La TF de ce signal est définie de la façon suivante :

Les signaux traités dans cette étude sont codés sur leurs parties réelles seulement, leurs parties imaginaires étant fixées à zéro.

Le module , appelé spectre d'amplitude, est une fonction paire. Le spectre de phase VX(f) = arg(X(f)), qui est une fonction impaire, sensible aux translations, ne sera pas pris en considération et nous nous limiterons donc à l'étude de |X(f)| pour les seules fréquences positives.

Dans la pratique, on ne peut observer le signal pendant un temps infini ; or, la limitation de la durée d'observation du signal (appelée fenêtre temporelle) entraîne la convolution de la TF du signal par le spectre fréquentiel de la fenêtre [MIQUEL 85], ce qui trouble l'observation (figure 1).

Figure 1

Examinons maintenant dans quelles conditions la discrétisation occulte ce défaut.

1.2.1.2. TF discrète (TFD) et TF rapide (TFR)

Soit Te la cadence à laquelle on prélève N échantillons pendant la durée T d'un signal x ; en introduisant les simplifications de notation suivantes :

x(k) = x(kTe/T) ;

X(n) = X(n/T*fe) ;

WN = exp(2ip/N)  avec N pair

la Transformation de Fourier Discrète (TFD) est définie [NEIRYNCK 84] par :

et la transformation inverse par :

où x est le vecteur du signal discret monodimensionnel et X sa TFD.

Lorsque N est une puissance de 2, le calcul de la TFD peut être accéléré par la mise en facteur de termes, ce qui réduit le nombre de multiplications : cette procédure optimisée est appelée la Transformée de Fourier Rapide (TFR).

Ce calcul implique un échantillonnage du spectre, correspondant à celui du signal, de sorte que ce spectre sera observé seulement en certains points discrets : c'est l'effet de "barrière" [MIQUEL 85]. Si le nombre de périodes du signal étudié est entier, l'échantillonnage du spectre occultera exactement les valeurs parasites du spectre de la fenêtre comme le montre la figure 2.

La figure 3 [MIQUEL 85] illustre tous les problèmes d'échantillonnage ainsi que les phénomènes de périodicité qui en résultent. Le quatrième schéma montre comment un décalage des valeurs de la TF permet de replacer les fréquences symétriquement par rapport à 0, dans la réponse périodique, les fréquences négatives sont placées alors avant les fréquences positives. Par exemple, lorsque N=8, le recentrage des fréquences permet de visualiser le spectre de la façon suivante :

Fréquences obtenues :                                     Fréquences visualisées :

0   1   2   3   4   5   6   7            4   5   6   7   0   1   2   3

|   f   2f  3f  4f  5f  6f  7f           -4f -3f -2f -f   |   f   2f  3f

-> continu    fe/2                                        -> continu

Figure 2

Figure 3

fe est la largeur de bande du spectre et f est la fréquence d'échantillonnage du spectre

N=8     Te=T/8     fe=1/Te=8f

La fonction résultat est paire donc la TF est symétrique par rapport au continu (f=0), sauf en ce qui concerne la fréquence la plus élevée (-4f), du fait de la taille du spectre (N est une puissance de 2, N-1 est donc impair) :

la Transformée de Fourier Rapide d'une sinusoïde d'amplitude maximale 1 étudiée sur l'intervalle [0,2], définie à partir de x(t)=sin(t) et pour une valeur de N égale à 8 est représentée par 2 pics d'amplitude ½ aux fréquences f=1 et f=-1 ; x(k)=sin(2k/8) est de période 8 et la transformée est entièrement définie par les valeurs prises entre 0 et 7.

Sur le même intervalle, une sinusoïde de pulsation 2, de période , x(t) = sin(2t) ou x(k)=sin(k/2) a une TFR représentée par 2 pics d'amplitude ½ aux fréquences f=2 et f=-2.

x(t)=sin(3t), considérée comme x(k)=sin(6k/8), de pulsation 3, a une TFR représentée par 2 pics d'amplitude ½ aux fréquences f=3 et f=-3.

Tandis que la sinusoïde x(t)=sin(4t) considérée comme x(k)=sin(k) a une TFR représentée par un seul pic d'amplitude 1 à la fréquence f=4 (on peut remarquer que les valeurs en -4 et +4 sont réunies).

1.2.1.3. TF bidimensionnelle (TF2D)

Une image peut être interprétée comme un signal bidimensionnel, une application g, de deux variables réelles. La Transformée de Fourier bidimensionnelle continue de l'image g est définie de la façon suivante, en remplaçant la dimension t du temps par les deux dimensions x et y du plan :

où fx et fy sont les fréquences spatiales associées respectivement aux deux dimensions spatiales x et y.

Au niveau du calcul pratique, nous avons utilisé l'algorithme classique de [COOLEY 85] qui interprète la TF2D discrète comme la composée de deux transformées monodimensionnelles (TF1D = TFR). Le calcul des transformées des signaux constitués par chaque ligne de l'image permet de constituer un résultat intermédiaire, dont la transformée de chaque colonne donne le moyen d'obtenir le résultat de la TF2D.

Pour un signal x

X = TF2D(x) =

où x et X sont respectivement les matrices originale et transformée de l'image.

Par la suite, le terme TF désignera la TF2D discrète d'une image numérique g. Il est à remarquer que g(x,y) est un entier indiquant le niveau de gris du pixel représenté à la colonne x et à la ligne y de l'image. Néanmoins, des contraintes d'optimisation liées au calcul de la TF nous ont amené à coder ce nombre sur quatre octets (nombre à virgule flottante plutôt que nombre entier). Cette grandeur étant aussi utilisée pendant et après le calcul pour mémoriser le spectre.

Afin de visualiser la TF avec les fréquences recentrées de telle sorte que la composante continue se situe au centre du spectre, on multiplie chaque terme de l'image g(x,y) par -1(x+y), plutôt que d'effectuer une permutation des fréquences négatives sur les lignes et les colonnes.

1.2.1.4. Propriétés de la TF

La TF est une transformation linéaire orthogonale qui conserve l'énergie et l'entropie. Toute l'information de l'image est contenue dans sa transformée, c'est une transformation réversible.

A tout produit dans le domaine spatial correspond un produit de convolution dans le domaine fréquentiel, et réciproquement.

Le spectre d'amplitude est invariant par translation (celle-ci ne modifie que le spectre de phase). En dehors de la zone des hautes fréquences du spectre, la TF est relativement insensible au bruit car chaque point de l'image transformée contient une contribution de chaque point de l'image originale.

En revanche, la Transformée de Fourier est sensible à une rotation : la TF d'une onde plane sinusoïdale de période T et de direction normale parallèle à l'axe des x est représentée par deux pics alignés suivant la même direction fx, aux fréquences f=1/T et f=-1/T (figure 4a) ; la rotation d'un angle q de la normale au plan d'onde s'accompagne d'une rotation de même angle du spectre (fig. 4b).

Figure 4a

Figure 4b

On peut consulter [NEIRYNCK 84] pour retrouver l'ensemble des propriétés de la TF1D d'un signal temporel continu, avec les démonstrations correspondantes.

La définition et les propriétés de la TF étant précisées, étudions maintenant le spectre de Fourier de différents échantillons d'écriture afin de comprendre le changement de représentation de l'information qui est réalisé.

1.2.2. Analyse spectrale de l'écriture

1.2.2.1. Propriétés spectrales de l'écriture - Spectroscopie optique et numérique

La spectroscopie optique consiste à analyser les figures lumineuses obtenues au moyen de la diffraction optique ou d'un réseau de fibres optiques. Ces figures de diffraction sont équivalentes aux spectres 2D continus de Fourier [KABRISKY 70].

La spectroscopie optique est utilisée dans le domaine de l'expertise en écriture [GRUHIER 76] afin "d'extraire, de façon scientifique et objective, le caractère impondérable et original qui se retrouve dans toutes les productions écrites d'un même individu". Les applications paléographiques ou judiciaires consistent en l'authentification de l'auteur au moyen du calcul de corrélation entre plusieurs manuscrits. Le succès de cette méthode est dû à la propriété remarquable du spectre de Fourier : "quels que soient le nombre et la position des lettres dans une page, on obtiendra toujours une figure lumineuse dont la partie centrale (les basses fréquences) représente les graisses, l'allure générale des lettres, tandis que les hautes fréquences de la périphérie correspondent aux détails fins, contours, discontinuités, fioritures".

La corrélation permet de comparer une lettre moyenne type et la lettre correspondante figurant plusieurs fois dans un texte, elle présente un pic d'une intensité lumineuse proportionnelle à leur ressemblance. Si on dispose d'une classe de lettres moyennes pour chaque style et époque, on peut alors dater un texte. De la même façon, l'évolution de l'écriture chez un même scripteur au cours des ans peut être mesurée.

Au-delà de la mesure de corrélation, la spectroscopie optique permet d'évaluer un certain nombre de paramètres de l'écriture [CHARRAULT 77] tels que :

- l'espacement entre les lignes manuscrites et leur direction,

- l'inclinaison moyenne des lettres,

- le coefficient de régularité de l'écriture,

- la longueur moyenne des mots,

- la cohérence du graphisme, qui permettrait de déterminer un éventuel changement de scripteur sur l'échantillon observé (la cohérence est d'autant plus élevée que la dispersion des pics fréquentiels autour d'une direction donnée est faible).

L'utilisation du spectre de Fourier est également suggérée [ELLIMAN 90] dans le domaine de la segmentation de documents, afin de distinguer les textes dactylographiés, les textes imprimés, les diagrammes, les photographies ainsi que les photographies tramées.

L'idée que nous avons exploitée est que si la TF permettait en quelque sorte de caractériser un style d'écriture par extraction d'informations précises ou d'effectuer une segmentation globale d'un document par analyse de texture, elle est susceptible aussi d’apporter des solutions dans le cadre de la segmentation d'un mot en lettres. En effet, de manière très sommaire, les mots peuvent être considérés comme des successions de traits de directions globalement parallèles et reliés par des traits de direction perpendiculaire. Par un effet d'accumulation, ces traits doivent apporter des contributions importantes en certains points de l'image transformée.

Nous allons maintenant présenter la méthodologie employée dans le cadre de l'analyse spectrale d'échantillons d'écriture sur des images numériques.

Les images numérisées au scanner sont de type binaire. On peut cependant obtenir un codage sur plusieurs niveaux en effectuant un moyennage afin de réduire la taille des images. Par exemple, une taille de 64x32 pixels sur 5 niveaux (0, 1, 2, 3 et 4) est obtenue à partir d'une image binaire de taille originale 128x64 pixels grâce à un moyennage suivant x et y.

L'opération de filtrage comporte alors trois étapes :

- le calcul de la TF de l'image originale ;

- le filtrage du spectre par sélection de fréquences ;

- le calcul de la TF inverse pour obtenir l'image filtrée.

Procédons à l'analyse méthodique des fréquences du spectre afin d'identifier le rôle de chacune, de manière à corroborer ce qui est obtenu en spectroscopie optique.

1.2.2.2. Analyse de la répartition fréquentielle

La figure 5a montre le mot "word" sur lequel quatre filtrages différents ont été étudiés. Le mot est représenté en perspective sur la figure 5b. La surface représentée est celle d'équation z = g(x,y). L'image transformée est exposée sur la figure 5c.

Différents filtres ont été choisis sur les figures 6, 7, 8 et 9. Le filtre est donné dans le plan de Fourier sur les figures 6c, 7c, 8c et 9c.

Sur les figures 6a, 7a, 8a et 9a apparaissent les images résultant de la binarisation des quatre images filtrées représentées respectivement sur les figures 6b, 7b, 8b et 9b.

Figure 5a

Figure 5b                Figure 5c

Figure 6a

Figure 6b                Figure 6c

Figure 7a

Figure 7b                Figure 7c

Figure 8a

Figure 8b                Figure 8c

Figure 9a

Figure 9b                Figure 9c

Colonne a : Image binarisée vue à plat

Colonne b : Image vue en perspective

Colonne c : Spectre de Fourier

Figure 5 : mot "word" original en 128x32 pixels ;  figure 6 : filtrage passe-bas 6-2 <=>

fx=-6, ... ,+6 et fy=-2, ... , +2 ; figure 7 : filtrage passe-bas 12-4 ;  figure 8 : filtrage

passe-bas 24-8 ;  figure 9 : filtrage passe-haut 32-12 ;

Ces figures illustrent la répartition fréquentielle de l'image du mot en quatre zones :

- les très basses fréquences (fig. 6c) donnent la forme globale du mot, c'est-à-dire son enveloppe (fig. 6a) ;

- en conservant jusqu'aux basses fréquences (fig. 7c), on obtient une indication sur l'épaisseur du trait (fig. 7a) ;

- en conservant jusqu'aux moyennes fréquences (fig. 8c), on obtient essentiellement l'information typographique concernant la structure et l'enchaînement des lettres (fig. 8a) ;

- les hautes fréquences (fig. 9c) sont impliquées dans toutes les variations brusques de 0 à 1, ou de 1 à 0, correspondant au contour des lettres (fig. 9a).

L'exploitation de la TF implique le choix d'un filtre adapté spécifiquement à l'information que l'on veut extraire de l'image ; ensuite, un second choix concerne le seuil de binarisation de l'image filtrée : il détermine la distinction entre l'objet et le fond et exerce une incidence très importante sur les résultats.

Le choix des quatre zones du domaine fréquentiel (très basses - basses - moyennes - hautes fréquences) présente un caractère arbitraire. Cela est dû, comme nous allons le montrer grâce à l'analyse des résultats, au fait que les limites entre ces quatre zones ne sont pas définies avec précision, car elles dépendent des images étudiées.

1.2.2.3. Analyse d'une raie caractéristique du spectre (détection des lignes d'écriture et de leur inclinaison)

L'échantillon analysé, un texte composé de plusieurs lignes d'écriture régulièrement espacées, est discrétisé avec une faible résolution. L'image (fig. 10a à gauche), de taille 64x64 pixels sur 5 niveaux, a été obtenue par le moyennage d'une image binaire originale de 256x256 pixels.

La transformée de Fourier fait apparaître deux pics d'amplitude importante, qui sont symétriques par rapport au continu situé au centre du spectre. Ces deux pics constituent la raie spectrale caractéristique de la direction moyenne des lignes d'écriture. En effet, en isolant ces deux pics par le filtrage de tous les autres pics d'amplitude inférieure, on obtient un spectre simplifié (fig. 10b) dont l'image par la TF inverse est constituée d'une onde sinusoïdale que nous avons pu superposer, sur la figure 10c, aux lignes d'écriture.

La fréquence spatiale de la raie caractéristique se situe en un point M (fx=2, fy=12). Cette raie définit, avec l'origine, une direction qui forme un angle de 9 degrés avec la verticale (arctan(12/2) = 80.5°, 90°-80.5° = 9.5°), ce qui correspond effectivement à la direction moyenne de l'écriture, suivant une période horizontale de 64 / 2 = 32 pixels (fx=2) et une période verticale de 64 / 12 = 5,33, soit 5 à 6 pixels (fy=12).

Figure 10a

Figure 10b

Figure 10c

Lorsque la régularité des lignes d'écriture diminue, la notion de direction moyenne perd alors de son sens, et par conséquent, la raie caractéristique s'étale en se dispersant dans le spectre. Une étude des images obtenues par partition de l'image initiale permet de définir des fenêtres sur lesquelles une direction privilégiée apparaît nettement.

La TF permet donc de mettre en évidence la régularité des lignes d'écriture en précisant, lorsqu'elle est effective, leur direction et leur périodicité moyenne.

1.2.2.4. Analyse de l'axe d'inertie du spectre

Les figures 11 et 12 montrent la TF de deux échantillons d'alphabets. Le premier est en italique, tandis que le second ne contient que des segments verticaux et horizontaux. La propriété du spectre de Fourier que nous voulons illustrer par cet exemple est la mise en évidence de l'inclinaison moyenne de l'écriture. Par la suite, nous exploiterons cette propriété sur des mots cursifs.

Dans le premier alphabet, l'inclinaison globale des lettres par rapport à la verticale se traduit par la répartition des pics fréquentiels le long d'un axe présentant la même inclinaison, mais par rapport à l'horizontale (cf. § II.1.2.1.4.).

Cette inclinaison peut être mesurée sur le spectre par le calcul statistique de l'axe d'inertie des pics fréquentiels. Après l'élimination de l'image transformée des pics de trop faible amplitude, on recherche, par un critère des moindres carrés, la droite qui minimise la dispersion perpendiculaire à l'axe d'inertie.

Sur la figure 11, l'axe d'inertie spectral détecté est incliné de 25 degrés par rapport à l'horizontale, ce qui correspond effectivement à l'inclinaison moyenne des lettres par rapport à la verticale.

Figure 11

Sur la figure suivante (fig. 12), l'axe d'inertie du spectre est horizontal car les lettres sont verticales. On observe certains alignements de pics le long de la direction verticale, ce qui correspond à la succession des traits horizontaux composant les lettres de cet alphabet.

Figure 12

Poursuivons maintenant notre étude, cette fois sur des mots quelconques.

En analysant la TF d'images de mots, on cherche de la même façon à mesurer l'inclinaison des lettres par rapport à la verticale : l'axe d'inertie spectrale du mot "word" (fig. 13) fait avec l'horizontale un angle de 25°, ce qui correspond à une moyenne d'inclinaison des lettres entre 20° (lettre 'r') et 33° (lettre 'd'). Pour le mot "rotation" (fig. 14), l'axe d'inertie mesuré fait un angle de 6° par rapport à l'horizontale : il correspond au tracé régulier des lettres, compte tenu de l'inclinaison globale de l'axe du mot par rapport à l'horizontale. Cette inclinaison peut également être mesurée. Elle est représentée par l'axe secondaire d'inertie du spectre. Pour le mot "word", il y a effectivement une disposition de pics importants suivant l'axe vertical des fréquences (fig. 13b) ; en revanche, l'axe d'orientation du mot "rotation" par rapport à l'horizontale ne peut être mesuré avec précision. Les pics impliqués sont trop rapprochés du centre du spectre pour définir une direction moyenne précise du nuage dans l'espace discrétisé.

Cette étude nous donne donc un moyen de calculer des paramètres liés à l'écriture, au niveau d'un mot ou d'une ligne.

De plus, grâce à cette analyse du spectre de Fourier, nous sommes maintenant en mesure de choisir les critères fréquentiels afin de procéder à la segmentation harmonique des mots manuscrits.

Figure 13a

Figure 13b

Figure 14a

Figure 14b

1.2.3. Segmentation harmonique des mots manuscrits

Le filtrage présenté sur la figure 10 constituait un exemple de segmentation harmonique des lignes manuscrites. Notre objectif est maintenant d'analyser la segmentation harmonique des mots manuscrits, et l'intérêt qu'elle peut présenter pour l'extraction de primitives globales dans l'étape du prétraitement de l'écriture. Dans le souci de procéder méthodiquement, nous étudierons des filtrages d'une complexité progressive en commençant par la segmentation harmonique 1D (monodimensionnelle).

1.2.3.1. Segmentation harmonique 1D

1.2.3.1.1. Segmentation verticale (suivant fy) du spectre

Dans le plan des fréquences nous considérons une seule droite, celle d'équation fx=0. En se limitant à cette droite on effectue un filtrage passe-bas, suivant l'axe des fréquences (on ne retient que les deux premières fréquences). La TF inverse génère une surface cylindrique dont les sections sont des courbes planes sinusoïdales. La normale au plan d'onde est parallèle à Oy. La ligne de crête de cette surface englobe la zone médiane du mot, tandis que les lignes de vallée passent par les zones des hampes et jambages. Le seuillage, à la moitié de l'amplitude maximum de cette fonction, coïncide avec la zone des lettres médianes des mots "word" et "eight" sur les figures 15a et 15b.

Figure 15a

Figure 15b

1.2.3.1.2. Segmentation horizontale (suivant fx) du spectre

La segmentation horizontale part du même principe que la segmentation verticale, mais la normale au plan d'onde obtenu en traitant les fréquences horizontales du spectre (fy=0) est parallèle à Ox.

Suivant les fréquences sélectionnées dans le spectre, la fonction sinus se superpose aux lettres 'u' et 'n' successivement (basse fréquence fig. 16), ou bien elle se superpose aux quatre segments verticaux composant les lettres 'u' et 'n' (fréquence deux fois plus élevée fig. 17).

Figure 16

Figure 17

Ainsi, notre attention est concentrée sur les fréquences du spectre comprises entre la plus basse fréquence qui nous intéresse dans le mot, c'est-à-dire celle dont la période correspond à la lettre la plus large de l'alphabet - soit le "m"-, et la fréquence la plus élevée, c'est-à-dire celle dont la période correspond à la lettre la plus étroite de l'alphabet - soit le "i".

En conservant simultanément l'ensemble de ces fréquences de l'axe horizontal du spectre, on crée un filtre passe-bande dont la TF inverse est logiquement constituée d'une somme de sinusoïdes d'amplitudes variables suivant le mot analysé. On constate alors que les sommets de cette fonction coïncident avec les lettres du mot "mille" (fig. 18), tandis que les vallées correspondent aux jonctions entre ces lettres.

Figure 18

On remarque que le choix d'un seuil de binarisation unique de la fonction sur toute la longueur du mot ne permet pas d'isoler toutes les lettres du mot "mille". Pour cela, un seuil variable serait nécessaire pour distinguer la lettre 'e' du 'l', mais un seuil trop élevé entraînerait la fragmentation de la lettre 'm'.

Les oscillations de la fonction résultant du filtrage évoquent un certain phénomène de résonance qui coïncide avec les lettres, en établissant une hiérarchie des points de segmentation prioritaires : la segmentation entre le 'i' et le 'l' semble la plus évidente. Elle coïncide avec le milieu du mot et l'amplitude de la fonction en ce point est aussi profonde qu'au début et à la fin du mot, tandis que les autres points de segmentation sont moins marqués, par exemple entre le 'm' et le 'i'.

Les filtres 1D ne sont cependant pas adaptés à tous les cas, en particulier au cas des lettres inclinées, car ils ne permettent qu'une segmentation des lettres à l'aide de droites. Nous allons donc étudier le cas de la segmentation harmonique 2D.

1.2.3.2. Segmentation harmonique 2D

En conservant deux lignes de fréquences de part et d'autre de l'axe horizontal du spectre, on réalise une combinaison du filtre horizontal et du filtre vertical (cf. § 1.2.3.1.). Le filtrage passe-bande ainsi déterminé (les très basses fréquences ne sont pas utilisées car elles correspondent à l'enveloppe du mot, cf. § 1.2.2.2.), fait apparaître des vallées qui semblent contourner chaque lettre du mot grâce à un effet de lissage. La détection d'une vallée est obtenue (en gris fig. 19e) si on a un minimum à l'intérieur d'un masque 3x3 dans l'une des quatre directions privilégiées de l'espace discrétisé ; en outre, un minimum local correspondra à un minimum dans les quatre directions (points noirs aux croisements des vallées fig. 19e).

Figure 19a                                                      Figure 19b

Figure 19c                                                      Figure 19d

Figure 19e

On constate que ce critère de segmentation n'est pas valable pour les lettres 'u' et 'q' du mot "quarante" qui sont traversées chacune par une vallée. En ce qui concerne la lettre 'u', cela est normal si l'on souhaite également obtenir la segmentation par exemple d'une lettre 'i' avec ce même critère.

Pour déterminer si la segmentation des mots en lettres peut être réalisée à l'aide d'un filtre prédéfini, il est nécessaire d'en connaître les caractéristiques précises. Pour cela, on a segmenté manuellement les lettres d'un mot en supprimant les pixels reliant les lettres (cf. fig. 20c) ; puis, utilisant la linéarité de la transformée de Fourier, on a calculé la TF de la différence entre le mot et ce même mot segmenté (cf. fig. 20). Le spectre obtenu (fig. 20e), dont l'amplitude maximum est très faible (50 fois plus faible que celle du spectre du mot), montre que les fréquences impliquées dans la segmentation ne sont pas localisées dans un point précis du spectre, mais diffuses dans l'ensemble du spectre. Il en résulte que le simple filtrage rectangulaire du type passe-bas que nous avons expérimenté n'est pas suffisant pour assurer la segmentation des mots en lettres.

Figure 20a                                                      Figure 20b

Figure 20c

Figure 20d                                                      Figure 20e

En revanche, si l'on considère maintenant un niveau de segmentation plus fin que la lettre, un résultat intéressant est obtenu à l'aide d'un filtre en croix (fig. 21d). Il est défini par l'ensemble des fréquences (fx, fy) telles que fx est quelconque et fy Î [-1, 1] ou fy est quelconque et fx Î [-1, 1].

En faisant varier le seuil de binarisation de l'image filtrée, le mot "trois" (fig. 21e) est progressivement divisé en petits segments horizontaux et verticaux qui sont des approximations linéaires des lettres plus ou moins rondes à l'origine. Les lettres 'i' et 't' étant rectilignes, elles restent bien formées lorsque le seuil est élevé.

Figure 21a                                                      Figure 21b

Figure 21c                                                      Figure 21d

Figure 21e

Si la plage de fréquences retenue est plus grande par exemple en utilisant un filtre PB 32/8 (c'est-à-dire un filtre Passe-Bas tel que fx Î [-32, 32] et fy Î [-8, 8]), on obtient une représentation du mot par des segments obliques (fig. 22b). La figure 22a, qui représente une variation du seuil de binarisation autour de la valeur zéro, montre un plissement harmonique qui reproduit l'aspect du contour, tandis que la figure 22b montre l'effet de la variation du seuil autour d'une valeur plus élevée.

Figure 22a

Figure 22b

Pour récapituler, on constate que la segmentation harmonique des mots est assez sensible à la plage de fréquences du filtre :

- un filtre ajusté vers les trop basses fréquences entraîne une sous-segmentation du mot, tandis que

- un filtre ajusté vers les trop hautes fréquences entraîne une sur-segmentation.

Avant de formuler notre avis sur la segmentation harmonique, nous allons étudier la reconnaissance des lettres et des mots par la TF, car les résultats caractéristiques obtenus y sont liés.

1.2.4. Reconnaissance harmonique

1.2.4.1. Reconnaissance des caractères

Le principe de la reconnaissance par la TF est simple. Il s'agit de comparer le spectre d'une lettre à reconnaître avec l'ensemble des spectres des lettres apprises constituant la base de référence. La lettre dont la distance spectrale est la plus faible est reconnue et la méthode permet en outre d'établir la liste des lettres les plus proches en cas d'ambiguïté.

Une des premières études sur cette technique de base [KABRISKY 70], montre qu'une reconstruction reconnaissable de la plupart des caractères peut être obtenue en retenant seulement la portion des basses fréquences du spectre avant d'inverser la transformation. Donc, l'essentiel de l'information utile à la reconnaissance est véhiculé par les basses fréquences. On peut se rendre compte de ce fait par l'allure de l'image de la lettre 'H' résultant de quatre filtres passe-bas différents sur les figures 23cdef (c : filtre PB 2/2, d : PB 3/3, e : PB 4/4, f : PB 8/8).

a                                                                     b

c                                                                     d

e                                                                     f

Figure 23

Le spectre du 'H' (fig. 23b) est très différent de celui du 'o' (fig. 24b). En revanche les spectres des lettres 'o', 'a' et 'e' sont proches d'aspect. La barre verticale du 'a' a toutefois une incidence sur l'axe horizontal de son spectre, tandis que la barre horizontale du 'e' a une incidence sur l'axe vertical de son spectre.

a                                                         b

c                                                         d

e                                                         f

Figure 24

La transformée de Walsh-Hadamard peut être rapprochée de la transformée de Fourier en ce sens qu'elle est une transformée orthogonale relativement à une autre base de fonctions. Elle a plusieurs fois été étudiée dans le cadre de la reconnaissance des formes [CRETTEZ 78]. Le travail le plus approfondi, la thèse de Mure-Ravaud remonte à 1976 [MURE-RAVAUD 76] ; il a été complété par un article de 1978 [MURE-RAVAUD 78].

Dans la transformée de Walsh-Hadamard le système de fonctions orthogonales n'est plus sinus et cosinus ; il est remplacé par un autre système de fonctions ; la matrice associée à la transformation est une matrice carrée d'ordre N (N=2n) contenant des éléments prenant des valeurs +1 ou -1. La transformation ne fait intervenir que des nombres réels. Elle est linéaire et orthogonale et conserve l'entropie et l'énergie. Il existe, comme pour la transformée de Fourier, un algorithme rapide, simple à réaliser.

Mure-Ravaud applique la transformée de Walsh-Hadamard à la reconnaissance des chiffres manuscrits et les résultats qu'elle obtient peuvent être transposés dans cette partie de notre étude. Ces résultats montrent que la transformée agit comme un processeur sélecteur de caractéristiques sur les caractères. En effet, le changement de représentation entraîne une concentration de l'information utile à la reconnaissance dans une région réduite de l'image transformée. La conséquence est la diminution de la corrélation des données représentant le caractère, et donc l'amélioration de la discrimination entre les classes pour un nombre donné de composantes.

Cependant, dans l'étude de Mure-Ravaud, les chiffres testés ne sont décrits que par des matrices 8x8 et 16x16. Une comparaison de la distance directe entre les pixels et de la distance entre les coefficients de la transformée fait apparaître que l'intérêt du changement de représentation ne semble être qu'un palliatif à la translation des caractères dans leur matrice ! D'autre part, la réduction effective du nombre de caractéristiques est exploitée seulement dans un but de rapidité car elle diminue le taux de reconnaissance qui est de 96% en 8x8 et de 98% en 16x16.

Une étude sérieuse sur la reconnaissance des mots entiers par la TF [O'HAIR 91], qui rend compte d'un travail de plus de vingt années de recherche, apporte certaines informations importantes sur l'utilisation de la TF en reconnaissance de texte.

O'Hair rappelle que, dès 1968, on conclut que 100% des lettres majuscules manuscrites étaient reconnaissables grâce aux basses fréquences de l'espace de Fourier, sous réserve seulement que les lettres soient isolées et lisibles pour un humain.

A l'origine de cette étude, les auteurs estimaient que le problème de la segmentation pouvait se résoudre en filtrant la TF du mot à l'aide de la partie des basses fréquences de la TF des lettres de l'alphabet. L'idée a été abandonnée, faute d'obtenir la précision exacte souhaitée sur les résultats. On a préféré s'attacher à la reconnaissance du mot entier, en appliquant cette méthode jugée plus proche du comportement humain de la lecture (excepté avec des mots non familiers). Dans le paragraphe suivant nous résumons les principaux résultats de cette étude [O'HAIR 91] qui mettent en relief l'intérêt de la TF pour la reconnaissance.

1.2.4.2. Reconnaissance harmonique des mots manuscrits

Chaque coefficient de la TF est considéré comme un composant d'un vecteur représentant le mot relativement à une base orthogonale. Chaque mot est un point de l'espace de dimension N qui est le nombre de coefficients utilisés.

Par exemple, les 5x5 premières fréquences donnent avec la composante continue 121 coefficients (N=11x11) ; les 4x2 (horiz. x vert.) premières fréquences donnent 45 coefficients (N=5x9).

La reconnaissance consiste à localiser le plus proche voisin du point dans l'espace à l'aide d'une distance. Deux distances ont été étudiées. La distance de Manhattan est parfois meilleure que la distance euclidienne.

Le premier travail a consisté à réduire le nombre de fontes typiques (25) afin d'obtenir une base minimale de reconnaissance en groupant par style les fontes proches. La division des styles de fonte est basée sur la différence entre les lettres 'a' et 'g'. Le nombre optimum de groupes est obtenu en calculant le taux de reconnaissance d'un corpus de 1000 mots pour chaque division de la base de fontes.

- Pour l'ensemble des 25 fontes, il y a 25000 distances à calculer (1000x25) et le taux de reconnaissance obtenu est de 80,6%.

- Pour 1 groupe (1 seule fonte qui est la moyenne des 25 fontes), il y a 1000 distances à calculer, et le taux de reconnaissance obtenu est de 86,8% ;

L'optimum est de 6 groupes de fontes avec un taux de reconnaissance de 98,2%. Ce résultat montre qu'il est important de bien choisir la base des fontes moyennes, c'est-à-dire avec un fort degré d'orthogonalité.

Les résultats significatifs de cette étude sont les suivants :

- Pour obtenir plus de 95% de reconnaissance correcte, on utilise n'importe quelle combinaison des cinq plus basses fréquences suivant l'axe horizontal et l'axe vertical, soit 36 coefficients [012345]x[012345] ; en doublant le nombre de coefficients de 55 à 121 on passe de 99,5% à 99,6% de reconnaissance, soit 20% d'erreurs en moins, ce qui est une amélioration relativement faible pour le calcul supplémentaire qu'elle représente. Cela confirme donc l'importance des basses fréquences.

- Les hautes fréquences caractérisent surtout le style de fonte.

- Les harmoniques horizontales sont plus importantes que les verticales : une reconnaissance de type 4x2 avec 45 coefficients produit 40% d'erreurs en moins que de type 3x3 avec 49 coefficients.

- L'importance de chaque coefficient est basée sur l'importance de sa variance et non sur l'importance de son énergie (amplitude du pic fréquentiel). Ainsi, dans les basses fréquences du spectre, les coefficients de basse et haute énergie ont la même importance.

- L'étude de la variation de l'espacement des lettres dans le mot montre qu'il n'influe pas sur la reconnaissance.

- Le taux de reconnaissance ne diminue que relativement peu lorsque le nombre de mots augmente (avec 4x2 coefficients) : avec 1000 mots il est de 99,4% ; avec 2000 il passe à 99,1% ; avec 5000 il n'est plus que de 98,6%.

Chaque point de l'espace de Fourier, qui représente un mot, est le centre de gravité d'un nuage d'une variance n-dimensionnelle autour de ce centre de gravité. Un degré de confiance, utilisé pour le rejet d'erreurs, est attribué au mot en fonction de cette variance pour chaque "matching". Un mot qui n'appartient pas au vocabulaire est associé au point le plus proche, mais avec une distance correspondante élevée. Dans ce cas, le mot peut être retraité d'une autre façon. D'autre part la direction et la distance à l'ancien centre de gravité, pour le cas de l'apprentissage d'un nouveau style de fonte, sont les mêmes pour tous les mots écrits suivant ce nouveau style de fonte.

En conclusion, l'algorithme est capable de reconnaître un large vocabulaire de mots (le vocabulaire le plus large testé est constitué des 5000 mots anglais les plus communs) sans avoir à segmenter les caractères individuels et en utilisant une distance ordinaire.

Les très larges variations de formes rencontrées dans une librairie de fontes typiques peuvent être gérées en construisant des groupes avec les caractéristiques moyennes de chaque fonte.

L'apprentissage automatique assure une bonne autonomie de l'algorithme.

La méthode est invariante en taille et substantiellement insensible au bruit. Elle convient à des fontes de style imprimé ou cursif.

L'espace de reconnaissance est énorme comparé au volume de groupes d'images de mots. Le vocabulaire usuel pourrait actuellement supporter tous les mots possibles de n'importe quel langage.

1.2.4.3. Conclusion sur la reconnaissance par la TF

La caractéristique la plus remarquable de la reconnaissance à l'aide de la TF, qu'il s'agisse des mots ou des lettres, est la simplicité de son principe. En effet, celui-ci est basé sur un calcul classique d'une distance entre les coefficients de l'espace de Fourier. Le nombre des coefficients utilisés détermine la précision que l'on souhaite ; en effet, la qualité de souplesse en reconnaissance est obtenue avec les coefficients de basse fréquence qui sont peu sensibles aux détails (lesquels sont liés aux hautes fréquences). En contrepartie la méthode convient mal à la discrimination de ces détails ; on note par exemple la difficulté à départager des mots proches entre eux. Les tests effectués donnent des résultats remarquables pour les mots imprimés, y compris ceux écrits avec une police cursive, lesquels correspondent à la qualité optimale des mots manuscrits.

On en conclut que l'utilisation de la TF pour la reconnaissance de l'écriture manuscrite de qualité quelconque ne peut être exploitée que dans le but de générer des hypothèses de mots proches, assurant ainsi le filtrage d'un grand vocabulaire, en n'utilisant pour cela qu’une faible précision de reconnaissance. Cependant, plus l'écriture sera régulière, meilleur sera le classement du mot correct dans la liste sélectionnée, ce qui constitue un avantage certain, car une écriture appliquée et régulière facilite la reconnaissance humaine de l'écriture.

1.3. Conclusion

Dans cette première partie, nous avons défini les bases de notre recherche concernant l'extraction de primitives globales. Nous avons développé des techniques nouvelles d'examen des droites détectées à l'aide de la TH, pour analyser et segmenter l'écriture manuscrite. Une méthode originale de segmentation globale par la TF a également été conçue.

Nous allons maintenant préciser plusieurs points remarquables mis en évidence dans notre étude.

Nous avons cherché à extraire des primitives globales sur l'écriture manuscrite en détectant des informations dans un espace transformé alors qu'elles n'auraient pu être perçues dans l'image directe, comme semble être capable de le faire tout lecteur humain. En effet, l'accumulation d'indices sur toute l'image permet de concentrer l'information pour la mettre en évidence. Nous avons tenté de mettre à profit cette propriété, qui est habituellement utilisée en Reconnaissance des Formes dans des images bruitées (cf. Sinus 2D § 1.2.), pour faire ressortir des informations globales sur un texte manuscrit.

Un des aspects de la reconnaissance de l'écriture, mis en évidence, est la perception fréquentielle. Il en est de même dans le domaine temporel où la perception d'une mélodie musicale consiste non pas à interpréter la forme d'onde du signal sonore, mais effectivement les rapports de fréquences entre les notes successives (ces rapports sont toujours définis avec exactitude et jamais quelconques). Dans le domaine spatial, cet aspect a été illustré par l'étude de la répartition des lignes ainsi que par l'inclinaison des lettres dans un texte : l'évaluation de la périodicité et l'étude de la distribution de ces deux paramètres ne peuvent être réalisées de façon pratique que par une étude globale du spectre. Elle fournit une mesure de régularité de l'écriture (la dispersion des pics trahit l'irrégularité), laquelle est exploitée naturellement par tout lecteur au premier coup d'oeil. Une mauvaise qualité de l'écriture entraîne une attitude plus attentive et plus prudente du lecteur. Or, les paramètres conditionnant le fonctionnement des systèmes de reconnaissance (les divers seuils et marges relatifs à l'écriture) sont la plupart du temps supposés connus à l'avance et fixes, comme nous le verrons dans la deuxième partie de ce chapitre.

Un autre aspect de la reconnaissance est la perception dans le plan polaire. Des alignements de pixels ont été mis en évidence par une accumulation d'indices sur toute l'image. Ces alignements ont été exploités pour le paramétrage des traits, des lettres, du corps des mots ainsi que des lignes de texte.

En ce qui concerne la segmentation des mots en lettres, l'extraction de primitives globales n'a pas permis d'obtenir des résultats satisfaisants. En particulier, nous n'avons pas pu obtenir une segmentation correcte évitant la sur-segmentation ou la sous-segmentation des mots. Ce constat nous amène à étudier la segmentation du mot manuscrit en graphèmes. Dans cette seconde partie, nous aborderons la segmentation grâce à une méthode de recomposition des lettres qui respecte la contrainte de cohérence globale des hypothèses de segmentation relativement aux mots d'un lexique. Nous montrerons alors que la segmentation en graphèmes nécessite la connaissance de plusieurs informations sur l'écriture qui ont été obtenues dans cette première partie, c'est-à-dire :

- la localisation des lignes de texte (TH & TF) ;

- l'inclinaison du mot (TH) ;

- la localisation des hampes et jambages dans le mot (TH & TF) ;

- l'inclinaison des lettres dans le mot (TF) ;

- l'épaisseur du trait de l'écriture (TH).

2. Segmentation par extraction de graphèmes

Le problème de la fragmentation de l'information n'a pu être évité avec la segmentation globale (cf. § 1.). Dans cette seconde partie, nous allons tenter de le résoudre en utilisant le principe de la génération et de la vérification des hypothèses de segmentation grâce à l'extraction des graphèmes. Cette opération ne comporte pas d'étape d'approximation, elle n'entraîne donc pas une réduction de l'information.

Nous avons développé une méthode originale de segmentation basée sur l'extraction des composantes connexes (cf. Chapitre I § 1.3.1.). Nous avons également conçu une méthode de reconnaissance qui n'utilise pas un dictionnaire de forme de mots codés en graphèmes. Au lieu de cela, nous utiliserons un lexique ordinaire de mots en toutes lettres ainsi qu'une table de substitutions des combinaisons de graphèmes en lettres.

Notre démarche dans cette seconde partie consiste à étudier le principe de la recombinaison et l'intérêt qu'elle présente pour dépasser l'obstacle de la segmentation. Ainsi, une base de mots réduite sera suffisante pour mettre bien en évidence les caractéristiques de l'approche ascendante au niveau des graphèmes.

2.1. Segmentation du mot

2.1.1. Détermination de la zone médiane du mot

Dans les méthodes comportant une segmentation explicite du mot en lettres (méthodes de reconnaissance analytique), la première étape est généralement la détermination de la zone médiane du mot, c'est-à-dire, par convention dans la suite du texte, la zone qui permet de distinguer les lettres à hampes ou à jambages, de celles qui en sont dépourvues. La méthode la plus simple utilisée est basée sur l'analyse de l'histogramme horizontal de l'image.

2.1.1.1. Analyse de l'histogramme horizontal

L'histogramme permet de mettre aisément en évidence la zone médiane du mot car la contribution des minuscules sans hampe ni jambage y est déterminante. C'est une fonction h :

h :        [1, n]    ® N+

i           ® h(i)

où l'indice i représente l'indice des lignes et n le nombre de lignes de l'image.

On recherche dans un premier temps une ligne de l'image appartenant à la zone médiane, quelle que soit la combinaison des lettres constituant le mot. Pour cela, on suppose que la hauteur attendue de la zone médiane soit comprise aux alentours d'une valeur hM fixée à l'avance, car il n'est pas envisagé ici de reconnaître des mots de taille quelconque. On calcule, pour hM/4 < i <= n - hM/4, la somme S(i) suivante :

On opère ainsi un important lissage. L'indice i correspondant à la ligne où la somme S(i) est maximum, est noté M : dans la plupart des cas, cette ligne d'indice i se trouve à l'intérieur de la zone médiane du mot, même si elle est parfois plus près d'un bord de la zone que de l'autre.

Dans un deuxième temps, on recherche dans la partie supérieure à la ligne d'indice M ainsi que dans la partie inférieure, les indices des minimums de l'histogramme respectivement mh et mb. Dans le cas idéal, ces deux minimums délimitent la zone médiane. Mais, en pratique, l'histogramme est souvent étalé et dessine une lente décroissance autour de la zone médiane. On recherche donc plutôt les maximums de la dérivée de la fonction h afin d'obtenir l'indice pour lequel la variation est la plus importante. La dérivée étant très sensible aux petites fluctuations, on procède auparavant à un lissage simple de l'histogramme, c'est-à-dire ne faisant intervenir que trois lignes consécutives, ce qui définit une fonction hl.

La ligne de séparation entre les hampes et la zone médiane est obtenue au maximum de la dérivée de la fonction hl compris entre mh et M, tandis que la ligne de séparation entre la zone médiane et les jambages est obtenue au maximum de la valeur absolue de la dérivée de hl compris entre M et mb.

La figure 1 illustre la détection de ces paramètres sur le mot "trois".

Figure 1

Lorsque la zone médiane du mot est obtenue, les lettres à hampe ou à jambage sont distinguées des lettres médianes quand elles dépassent les limites de la zone médiane d'une grandeur supérieure à une marge fixée.

Le bon fonctionnement de cette procédure est naturellement tributaire de la direction de l'axe du mot : lorsque celle-ci est oblique, la zone principale de l'histogramme horizontal s'étale, la zone médiane devient ainsi plus difficile à localiser. Et même lorsque la zone médiane est assez bien localisée, les hampes et jambages ne peuvent être détectés que si leur taille est suffisante, c'est-à-dire s'ils présentent un dépassement supérieur à la somme du produit de la longueur du mot par le sinus de l'angle entre l'horizontale et l'axe du mot, et de la marge fixe. En même temps, les lettres sans hampe ni jambage au début et à la fin du mot risquent de dépasser la zone médiane (cf. figure 2).

Figure 2

Lorsque l'axe du mot est très oblique, deux solutions sont envisageables. La première, et la plus simple, consiste à effectuer une rotation inverse de celle détectée (cf. § 1.). La seconde est également intéressante mais plus laborieuse à mettre en oeuvre. Elle consiste à appliquer l'ensemble de la procédure de détection en tenant compte de l'inclinaison mesurée, ce qui suppose, entre autres, le calcul d'histogrammes directionnels.

Les essais effectués dans ce sens montrent que la reconnaissance des mots bien horizontaux présente suffisamment de difficultés pour considérer le redressement des mots obliques comme un problème supplémentaire à part entière.

Cette procédure de détection de la zone médiane du mot donne des résultats satisfaisants (cf. § 2.3. Reconnaissance des mots) lorsque la hauteur moyenne des lettres minuscules est connue a priori ; or il est courant de rencontrer des variations de ce paramètre du simple au double sur les échantillons d'un même scripteur, ce qui provoque inévitablement le problème de la sur-détection des hampes et jambages sur des mots n'en comportant pas, ou sinon de la sous-détection des hampes et jambages lorsque la hauteur supposée de la zone médiane est surévaluée. Il est donc nécessaire d'évaluer cette hauteur pour chaque mot, sans pour autant exclure une exploitation des diverses invariances globales sur le tracé des mots dans un texte en suivant l'évolution continue des paramètres. D'autre part, la marge de distinction des hampes et des jambages est également un paramètre qui doit être connu a priori : plus l'écriture est régulière et les hampes et jambages courts, plus la marge doit être faible, et plus l'écriture est irrégulière et les hampes et jambages longs, plus la marge doit être importante. Afin que cette procédure soit indépendante de la taille des lettres, nous allons extraire les informations dont nous avons besoin à partir de l'analyse des graphèmes. En effet, la segmentation du mot en graphèmes ne nécessite pas forcément la détermination de la zone médiane (cf. Chapitre I § 1.4.1.).

2.1.1.2. Analyse des graphèmes

Dans cette étape on cherche à estimer, à partir de l'analyse de connexité, la hauteur moyenne des lettres médianes ainsi que celle des hampes et des jambages. La segmentation des mots en graphèmes, bien que réalisée en partie, sera affinée par la connaissance de la position de la zone médiane du mot (cf. § 2.1.2.2 Traitement des graphèmes).

La détection des connexités permet de filtrer les connexités isolées qui modifient l'histogramme horizontal, telles que les points, les accents ainsi que les divers bruits de l'image.

On procède alors à l'estimation de la largeur moyenne de chaque graphème. Celle-ci fournit une longueur de référence relativement invariante que l'on utilise pour déterminer la hauteur minimale de la zone médiane du mot.

L'histogramme des hauteurs des graphèmes, après un important lissage, présente un maximum local représentant la hauteur de la zone médiane du mot, c'est-à-dire la hauteur la plus fréquente. Ce maximum est clairement distinct du second maximum représentant les hampes et jambages réunis, réunis car seule la hauteur relative des graphèmes est prise en compte (cf. figure 3b).

Le minimum de l'histogramme lissé se trouvant entre les deux maximums correspond au juste milieu pour distinguer les hampes et les jambages des lettres médianes, aussi l'utilise-t-on pour fixer la marge employée au paragraphe précédent.

Si le mot ne comporte ni hampes ni jambages, l'histogramme lissé ne présente qu'un seul maximum, la marge est ainsi définie en fonction de la position du maximum de l'histogramme par rapport à la hauteur maximum des graphèmes de l'image. S'il y a égalité, la marge est alors une fraction de la hauteur des graphèmes (cf. fig. 4ab).

Enfin, l'estimation de l'épaisseur moyenne du trait, qui est un paramètre invariant de l'écriture, est obtenue par le calcul de l'histogramme des longueurs des segments de droites horizontaux et verticaux mesurés sur toute l'image (cf. fig. 3c, 4c, 5c). Ce paramètre sert dans l'étape de traitement des graphèmes (cf. § 2.1.2.2) comme longueur de référence pour ajuster la valeur des différents seuils.

Des essais ont été entrepris pour détecter les deux lignes délimitant la zone médiane du mot à l'aide de la répartition des graphèmes, afin d'en déduire l'orientation de l'axe du mot qui est alors celle de leur bissectrice.

Cette méthode est similaire à celle employée par [BERCU 93] pour l'écriture on-line. Elle est basée sur l'estimation linéaire (au sens des moindres carrés) des points milieux des bords supérieurs et inférieurs de chaque graphème médian (cf. figure 3a, 4a, 5a). Elle s'est avérée insuffisamment stable pour détecter l'orientation des mots pris isolément. Nous estimons que l'orientation globale des lignes doit d'abord être détectée. On peut ensuite rechercher les faibles variations de l'orientation des mots autour de la direction des lignes.

La détermination de la hauteur de la zone médiane du mot à l'aide de l'analyse de connexité des graphèmes n'est que peu affectée par l'orientation du mot et par l'inclinaison des lettres. De plus, la méthode est insensible à l'irrégularité de la disposition des lettres par rapport à l'axe du mot, ainsi qu'à la présence de nombreuses hampes dans le mot (cf. fig. 5abc) ce qui n'est pas le cas de l'analyse de l'histogramme horizontal. En revanche, cette dernière reste nécessaire pour déterminer d'une façon robuste la zone médiane du mot, une fois que la hauteur moyenne des lettres médianes ainsi qu'une marge bien adaptée sont connues.

2.1.2. Segmentation du mot

Grâce à la connaissance de la zone médiane du mot, chaque graphème est identifié à une classe générique parmi cinq. Un traitement est ensuite appliqué sur ces graphèmes de façon à reformer certaines lettres sursegmentées lors de la capture de connexités (cf. Chapitre 1. § 1.4.1.).

2.1.2.1. Préclassification des graphèmes

Les cinq classes génériques sont notées 'H', 'J', 'f', 'M', et '?' respectivement Hampes, Jambages, hampes et jambages, graphèmes Médians et graphèmes ambigus.

Une hampe est détectée si l'ordonnée supérieure du graphème est située dans la zone supérieure à la zone médiane du mot à une distance supérieure à la marge (Position absolue).

Un jambage est détecté si l'ordonnée inférieure du graphème est située dans la zone inférieure à la zone médiane du mot à une distance supérieure à la marge (Position absolue).

Le graphème est classé Médian si sa hauteur est inférieure à celle de la zone médiane du mot (hauteur relative), à condition toutefois que le graphème ne dépasse pas les zones définies par les marges (Position absolue).

Sinon, si le graphème ne vérifie aucune de ces conditions, il est classé ambigu.

Enfin, si le graphème est classé 'M' ou bien '?' et est de largeur et de surface faibles, il est reclassé en 'i', ce qui est un affinement de la classe médiane. On remarque que la classe médiane tolère une irrégularité de l'écriture, car seule la hauteur relative des graphèmes est prise en compte entre les deux marges.

2.1.2.2. Traitement des graphèmes

Dans cette étape sont reformées les lettres, telles que 't' et 's', comportant dans leur contour supérieur un minimum local qui ne correspond manifestement pas à une liaison naturelle entre deux lettres. Il ne s'agit donc pas ici de reformer les lettres 'u' ou 'y'.

En fonction de plusieurs critères présentés ci-dessous, les fragments, qui sont de petits graphèmes, sont ressoudés aux graphèmes auxquels ils se rattachent le plus probablement. Chaque pixel constituant le graphème est initialement étiqueté par un code (cf. Chapitre 1 : § 1.4.1 Extraction des composantes connexes). La soudure consiste à remplacer le code de connexité du fragment par le code du graphème auquel il doit être soudé.

Les critères utilisés, qui dépendent à la fois du fragment et du graphème receveur, sont :

- la classe générique du graphème,

- la largeur du fragment,

- le milieu horizontal du graphème,

- la distance horizontale entre le milieu du fragment et le graphème,

- le dépassement du bord droit du fragment relatif au bord droit du graphème,

- l'aire du fragment,

- la position de l'ordonnée minimale du fragment relatif à la zone médiane du mot,

- le nombre de pixels mitoyens consécutifs entre le fragment et le graphème,

- le nombre de jonctions distinctes entre le fragment et le graphème,

- le côté de la jonction (fragment à droite ou à gauche du graphème),

- la solidarité du fragment (connexe ou isolé du graphème dans le cas du point, de l'accent, de la barre de 't' ou du bruit),

- le recouvrement horizontal du fragment relatif au graphème (inclusion, disjonction ou chevauchement).

Les traitements sont effectués dans l'ordre suivant :

- soudure des barres des lettres 't',

- soudure des fragments inscrits dans le rectangle englobant d'un graphème,

- soudure des fragments mitoyens sur une grande portion verticale ou bien connectés en plusieurs endroits à un graphème,

- soudure ou élimination des fragments de faible surface,

- soudure des graphèmes se recouvrant horizontalement.

2.1.2.3. Exemples de segmentation de mots en graphèmes

Les exemples suivants, sur les figures 6abcde comprenant également la détection des boucles et des concavités (cf. § 2.2.), illustrent le résultat de la segmentation de quelques mots en graphèmes.

Figure 6a                                                        Figure 6b

Figure 6c

Figure 6d

Figure 6e

Les principales opérations effectuées au cours de l'étape du traitement des graphèmes y sont récapitulées :

- soudure des barres de 't' : mot 'treize' fig. 6e ;

- soudure des fragments inscrits : lettre 'x' de 'dix' fig. 6a ;

- soudure des fragments mitoyens : lettres 'x' de 'dix' fig. 6a et de 'deux' fig. 6c ainsi que les deux lettres 'e' de 'treize' fig. 6e ;

- soudure des fragments connectés en plusieurs endroits : lettre 'a' de 'quatre' fig. 6d ; lettre 'd' de 'deux' fig. 6c ;

- soudure des fragments de faibles surfaces : lettre 'x' de 'dix' fig. 6a ; lettre 'e' de 'quatre' fig. 6d.

Pour les mots "dix" et "trois", les résultats sont à comparer avec ceux obtenus dans la première partie du chapitre I (§ 1.4.1. Extraction des composantes connexes).

Les résultats observés sur une centaine d'échantillons ont permis de relever un certain nombre d'erreurs fréquentes telles que la sursegmentation systématique des lettres 'a' et 'o' lorsque la boucle n'est pas fermée, ainsi que l'apparition fréquente d'une queue en fin de mot lorsque le tracé de la dernière lettre a tendance à se relever.

Le problème de la sous-segmentation est également apparu lorsque deux lettres ne présentaient pas de minimum local permettant de les séparer, par exemple les lettres 'oi' du mot 'trois' de la figure 6b ; cependant la détection des boucles (cf. § 2.2.1.) a permis de résoudre une partie de ces problèmes, on en voit le résultat sur la figure.

D'autres cas similaires de sous-segmentation ont été observés notamment sur les lettres 'fr' et 'tr'.

D'autre part, un certain nombre de lettres sont normalement sursegmentées. Leur recombinaison est systématiquement envisagée pour reformer les lettres potentielles d'un mot du lexique (cf. § 2.3.). Ce sont les cas des lettres 'd' du mot 'dix' fig. 6a, 'u' de 'deux' fig. 6c et 'quatre' fig. 6d ainsi que de la lettre 'q' de 'quatre' fig. 6d.

Les lettres collées telles que 'll' ou 'tt' ont été traitées de la même façon par une coupure verticale effectuée à partir du minimum local du contour supérieur ; seule une segmentation avec la connaissance a priori de la lettre pourrait permettre une meilleure séparation, mais dans ce cas cela ne serait que dans un but de vérification.

On remarque que même un faible minimum local sur le contour supérieur de la lettre génère une segmentation (lettre 'r' de 'quatre' fig. 6d). Cette sensibilité indique que les échantillons numérisés doivent être de bonne qualité ; en particulier, l'image doit contenir si possible des lettres incluses dans une seule composante connexe. Les taches, trous et divers bruits d'échantillonnage peuvent donc perturber la segmentation. D'autre part, si la résolution augmente, le nombre de minimums locaux indésirables augmente, à moins de procéder à un lissage du contour.

Nous montrerons dans la partie 2.2.2. (constitution de l'alphabet) quels types d'erreurs de segmentation peuvent facilement être corrigés, en fonction de la combinaison des graphèmes détectés, mais auparavant, nous allons affiner la description des classes génériques de graphèmes en les précisant à l'aide de la détection des boucles.

2.2. Classification des graphèmes

2.2.1. Détection des boucles

Lorsque les boucles sont présentes dans les lettres du mot, leur détection améliore la reconnaissance du mot ; si elles sont absentes, par exemple dans le cas des hampes sans boucles, ou non perceptibles (cas fréquent des lettres 'e'), les lettres restent ambiguës mais cela ne pénalise pas la reconnaissance.

La détection des boucles consiste ainsi à affiner la description des classes génériques en classes plus précises afin de profiter d'une caractéristique facilement détectée. Elle est simplement réalisée grâce à une procédure de remplissage du fond à partir du cadre extérieur du mot, de sorte que toute surface qui n'a pu être remplie est une boucle.

2.2.1.1. Remplissage

Le cadre extérieur englobant le mot est entièrement rempli à l'aide de l'algorithme de propagation de pixels indiqué plus bas :

On dispose d'une pile dans laquelle on peut mémoriser les coordonnées d'un nombre suffisant de pixels. Un premier pixel vide (de valeur nulle) est choisi, par exemple au coin en haut à gauche, pour initialiser le remplissage : il est placé en première position dans la pile.

Pour chaque pixel vide empilé :

on lui attribue une valeur non nulle (remplissage)

et chaque pixel à proximité, au sens de la 4-connexité, est empilé

seulement s'il est vide et compris dans les limites du cadre

Afin de réduire la taille nécessaire de la pile, on utilise une pile circulaire de sorte que l'emplacement mémoire des premiers pixels sera utilisé de nouveau pour empiler d'autres pixels. La procédure s'arrête lorsque l'indice courant devient égal à l'indice du dernier pixel empilé. Mais si c'est l'indice du dernier pixel empilé qui rattrape en premier lieu l'indice courant, cela signifie que la pile est saturée et qu'une taille plus grande doit être prévue au départ.

Les surfaces de l'image non remplies à l'issue de la procédure sont des boucles ou, plus rarement, des espaces fermés par deux lettres segmentées au niveau d'un minimum local du contour supérieur (par exemple, dans le cas des lettres 'fr' ou 'tr' ).

Seules les boucles de surface suffisante sont retenues.

2.2.1.2. Détermination de la classe des graphèmes

En fonction de la présence d'une boucle dans la zone des hampes, dans celle des jambages ou bien encore de la présence d'une ou plusieurs boucles dans la zone médiane du mot, on affine la classe générique parmi l'ensemble 'HJMfi' en une classe plus précise parmi l'ensemble 'bklogjq' (la classe 'f' est indifférente à la détection des boucles). Le tableau suivant récapitule l'ensemble des tests effectués :

Boucle

supérieure

Boucle(s)

médiane(s)

Boucle

inférieure

Classe

générique

Classe

précise

Lettres

finales

X

X

-

H,t

b

b k d

-

X

-

H,t

k

k d b t

X

-

-

H,t

l

l b h k t f

-

X

-

M, i, ?

o

o a e s x v

-

X

X

J

g

g z y

-

-

X

J

j

j z y g

-

X

-

J

q

q g p y z

Lorsque deux lettres ne présentent pas de minimum local dans le contour supérieur permettant de les séparer, la présence d'une boucle peut alors justifier la correction de la sous-segmentation. En effet, la plupart des lettres bouclées sont entièrement délimitées horizontalement par la largeur de la boucle. Un test à droite et à gauche de la boucle permet de vérifier si la même étiquette des pixels du graphème (cf. Chapitre I § 1.4.1.) est utilisée pour deux lettres. Dans ce cas, un nouveau graphème est créé grâce à une coupure effectuée à partir de la verticale passant au bord de la boucle. Ce cas est illustré dans le cas des lettres 'oi' du mot 'trois' de la figure 6b.

Lorsque la segmentation n'est pas facile à opérer entre deux lettres sous-segmentées dans un même graphème, il est alors plus simple de créer une classe nouvelle représentant les deux lettres à la fois. Par exemple la détection de deux boucles (ou plus) dans la zone des hampes ainsi que d'une boucle dans la zone médiane du mot (espace fermé entre les deux lettres) indique la présence du couple des lettres 'll' qu'il est parfois impossible de segmenter alors que le couple est facilement reconnaissable.

De même, on observe les cas de lettres, telles que 'fr', qui comportent une boucle supérieure et au moins une boucle dans la zone médiane.

Nous avons répertorié d'autres cas plus difficiles à détecter tels que les lettres 'oi', le 'i' étant collé au 'o', ou bien les lettres 'tr'.

Toutefois, on peut s'interroger sur l'intérêt de créer de nouvelles classes spécifiques dans chacun de ces cas. En effet, contrairement à la démarche suivie jusqu'à présent, qui est d'exploiter des caractéristiques faciles à extraire et donc fiables, l'utilisation de ces nouvelles classes ne sera qu'exceptionnelle. D'autre part, la correction des erreurs de classification implique une souplesse que doit assurer la forte redondance des classes.

Nous allons maintenant aborder la constitution d'un alphabet de transcription et étudier, par l'intégration de la détection des concavités, la manière d'augmenter la finesse de la reconnaissance sans diminuer son efficacité.

2.2.2. Constitution d'un alphabet de transcription de graphèmes en lettres

2.2.2.1. Table de coût

A l'issue de l'étape de détection des boucles, le mot est codé par une séquence linéaire de graphèmes déterminés parmi une quinzaine de classes, avec deux niveaux de précision : un premier ensemble de classes génériques "HJfM?" est basé sur la présence des hampes et jambages, et un ensemble de classes plus caractéristiques "tkblqgjoi" est basé principalement sur la présence et la position des boucles dans le graphème.

Ces classes présentent une forte redondance car les lettres finales peuvent être obtenues de plusieurs façons différentes : par exemple, la lettre 'b' figure dans cinq de ces classes, deux génériques ('H' et '?') et trois classes précises ('k', 'b' et 'l'). Cette redondance rend compte à la fois de la diversité avec laquelle on peut tracer naturellement la lettre 'b', mais aussi des différences d'extraction des primitives sur le graphème (petite boucle, petite hampe). Cependant, la probabilité de reconnaissance de la lettre peut être différente pour chaque classe de graphèmes.

Nous avons gradué cette probabilité d'une façon empirique, en attribuant un coût de transcription (traduction de la classe du graphème en lettre finale) parmi les valeurs suivantes, de zéro à cinq :

0 : Normal                   1 : Eventuel                  2 : Possible

3 : Peu fréquent            4 : Rare                       5 : Exceptionnel

Ces valeurs de 0 à 5 pourraient être modifiées après une phase d'apprentissage.

La classe 'q' désigne les lettres avec jambage ayant une boucle dans la zone médiane, mais sans boucle dans le jambage.

q ® qgpyz ; 1133 <=> q         ® q  coût 0

® g  coût 1

® p  coût 1

® y  coût 3

® z  coût 3

La présence de la lettre 'y' dans cette classe (alors qu'elle devrait normalement être segmentée en deux graphèmes) tient compte de la possibilité que le tronçon gauche soit ressoudé au graphème lorsqu'il est de surface faible.

La classe  générique 'J' désigne les jambages en général, sans aucune boucle détectée. Suivant la plupart des scripteurs, il est improbable que la lettre 'q' soit classée 'J', aussi son coût de transcription est-il fixé à trois.

De cette façon, les "probabilités" dépendent des caractéristiques absentes ou non détectées et sont graduées par rapport aux autres lettres de la même classe : la probabilité que le graphème de classe 'q' soit une lettre 'z' est inférieure à la probabilité que ce soit une lettre 'q' ou 'g'.

Les probabilités sont aussi cohérentes pour l'ensemble des classes de graphèmes : la probabilité qu'un graphème classé 'J' soit une lettre 'g' est faible, car la lettre 'g' doit être obtenue plutôt par la classe des graphèmes 'g' ou 'q'.

Par extension, la classe '?' des graphèmes ambigus désigne les graphèmes dont aucune caractéristique n'a pu être relevée (graphèmes sans hampe ou jambage net, ni boucle), ce qui est en fait une caractéristique importante, si on tient compte du nombre total de classes. La probabilité pour qu'un graphème '?' soit une lettre 'g' est donc encore plus faible que celle de 'J'.

2.2.2.2. Combinaisons de deux ou trois graphèmes

Afin de reformer les lettres systématiquement segmentées telles que 'u' et 'v', l'alphabet de transcription contient plusieurs combinaisons de deux graphèmes et une seule combinaison de trois graphèmes pour former les lettres 'm' et 'w'.

On observe alors une multiplication du nombre de combinaisons, que l'on va réduire en déclarant des équivalences : pour les combinaisons de deux graphèmes, le graphème '?' est équivalent à 'M' ou 'i', 'l' est équivalent à 'H', 'p' et 'j' à 'J', et pour les combinaisons de trois graphèmes, 'M' et '?' sont équivalents à 'i'.

De cette façon, on a 'oH' qui est traduit en la lettre 'd', mais 'ol' est équivalent à 'oH' et sera également traduit en 'd'.

Cependant, en dépit d'une équivalence, le coût de traduction peut être affiné si la combinaison est explicitement écrite dans l'alphabet. Par exemple, 'HM' est traduit en 'hkb', 'Ho' est traduit en 'kb' et 'lo' est également traduit en 'kb' mais avec un coût différent.

Seules les combinaisons figurant dans l'alphabet (explicitement ou par équivalence) seront formées. Le tableau suivant récapitule l'ensemble des classes de graphèmes utilisés ainsi que les dérivations entre elles :

Classes Génériques

T

B

C

Combinaisons de

2 graphèmes

Combinaisons de

3 graphèmes

Lettres finales

H

htlfkdb

HM

hkb

Ho

kb

t

t

k

kdbt

b

bkd

d

d

l

l=H

lbhktf

lo

kb

J

jpyzgqx

JM

p

p

p=J

p

q

qgpyz

g

qzy

j

j=J

jzyg

f

f

M

M=i

crinszeaoxmuvw

MH

d

MJ

ygqz

MM

nuvrxmw

o

oaesxv

oH

d

oJ

gqz

oi

xaoe

oM

x

i

icersz

ii

nuvrx

ij

y

iii

mw

?

?=M, i

?=i

abcdefghijklmnopqrstuvwxyz

E

E

E : Equivalences pour les combinaisons de graphèmes

T : Classes déterminées dans la phase de Traitement des graphèmes

B : Classes déterminées dans la phase de détection des Boucles

C : Classes déterminées en fonction du Côté gauche ou droit des hampes ou jambages

2.2.2.3. Graphèmes multiples

L'alphabet de transcription ne peut contribuer qu'à corriger les erreurs de sursegmentation mais pas les erreurs de sous-segmentation. Nous avons pensé utiliser des transcriptions du type 'L' en 'll', 'L' étant la classe des graphèmes avec une hampe possédant deux boucles (ou plus) ainsi qu'une boucle dans la zone médiane du mot (cf. § 2.2.1.2.). Mais étant donné le faible nombre de cas traités, 'T' en 'tr', 'F' en 'fr' ou 'O' en 'oi', nous avons programmé directement ces transcriptions, sans la possibilité d'être indépendant du logiciel, comme l'est le fichier alphabet qui peut facilement être modifié.

2.2.2.4. Modulation des coûts en fonction des concavités

Le nombre de classes augmente rapidement avec le nombre de caractéristiques lorsque les graphèmes sont combinés par deux ou trois. Plutôt que d'affiner encore l'alphabet en créant de nouvelles classes, nous allons seulement effectuer une modulation des coûts de transcription, en lettres, des graphèmes déjà créés.

Deux types de concavités pertinentes pour la reconnaissance des lettres ont été retenus : la concavité représentée par la lettre 'n' et celle représentée par la lettre 'c'.

2.2.2.4.1. Détection des concavités

Ces deux concavités sont recherchées seulement à l'intérieur de la zone médiane du mot. De la même façon que pour la détection des boucles, un algorithme de remplissage est utilisé, car une concavité peut être considérée comme une cavité pouvant contenir un "liquide".

La détection de la concavité de type 'n' (figure 7) nécessite au préalable la détermination de la limite horizontale inférieure de la zone de remplissage (limite inférieure sur la figure 7). On recherche ensuite à l'intérieur de celle-ci un pixel vide pour initialiser le remplissage. Lorsqu'il est achevé dans les limites du graphème, si la surface remplie ne rejoint pas le bord du graphème, alors une concavité est détectée, sinon, cela trahirait la présence d'une brèche ou d'un trou dans la zone étudiée du graphème.

Figure 7

Si la surface remplie est supérieure au quart de la surface du graphème, et est supérieure à la surface minimale, alors la concavité est validée.

On procède de la même façon pour la concavité 'c'.

2.2.2.4.2. Modulation des coûts

En fonction de la détection des concavités 'n' et 'c', le coût de transcription de la classe des graphèmes est évalué pour chaque lettre dans chacune de ces quatre combinaisons '--', '-n', 'c-' et 'cn' : par exemple, le graphème de classe 'j' peut être traduit en chacune des lettres 'jzyg'.

j=001 001 ;

j  : jzyg ;

-- 0205 ;

-n 0002 ;

c- 5225 ;

cn 5025 ;

Par exemple, si la seule concavité 'n' a été détectée, alors le graphème 'j' peut être traduit en la lettre 'g' avec un coût de 2.

La présence de la lettre 'g' provient de la possibilité de non détection de la boucle dans la zone médiane, soit parce qu'elle est non fermée (une concavité 'n' est probablement détectée dans ce cas) soit parce qu'elle est trop petite.

La présence d'une concavité de type 'c' dans la lettre 'j' a été considérée comme exceptionnelle.

Pour la combinaison de deux ou trois graphèmes, les concavités sont simplement additionnées (OU logique) pour éviter une trop grande augmentation du nombre des cas. Par exemple la combinaison 'ii' est traduite en 'n' avec un coût nul, si au moins une concavité 'n' a été détectée sur n'importe lequel des deux graphèmes 'i'.

La figure 6 (cf. § 2.1.2.3.) illustre le résultat de la détection des concavités sur chacun des graphèmes qui ont été déterminés sur les mots.

2.2.2.5. Constitution de l'alphabet

L'alphabet est présenté ci-dessous (figure 8) avec les images des lettres interprétant (parfois avec difficulté) l'ensemble des cas de figure prévus. Au début de chaque graphème sont indiqués trois champs représentant le codage 'HMJ' respectivement Hampes, Médianes et Jambages (cf. § 2.2.1.2.), et trois autres champs représentant les boucles détectées dans les zones 'HMJ' dans le même ordre (cf. § 2.1.2.1). L'étoile désigne qu'un champ donné peut prendre n'importe quelle valeur, et la lettre 'n' indique une ou plusieurs boucles (contrairement à une seulement).

Exemple :

Boucles

HMJ   HMJ

j=001   001 ;

La classe 'j' désigne les lettres avec jambage comportant une boucle, mais n'en comportant pas dans la zone médiane.

Boucles

HMJ   HMJ

g=001   0n1 ;

La classe 'g' désigne les lettres avec jambage comportant une boucle, avec également au moins une boucle dans la zone médiane.

Les classes 'd' et 'p', qui sont dérivées à partir des classes 'kb' et 'Jjgq' respectivement, sont déterminées par la position à droite de la hampe ('d') ou la position à gauche du jambage ('p'). Ces deux classes n'ont pas été utilisées par la suite en raison du manque de fiabilité du test permettant de les obtenir.

i=0*0 000 ;

i  : icersz ;

-- 010035 ;

-n 010035 ;

c- 000035 ;

cn 000035 ;

o=0*0 0n0 ;

o  : oaesxv ;

-- 000113 ;

-n 000003 ;

c- 310003 ;

cn 310003 ;

k=100 0n0 ;

k  : kdbt ;

-- 2103 ;

-n 0123 ;

c- 2105 ;

cn 0125 ;

b=100 1n0 ;

b  : bkd ;

-- 022 ;

-n 002 ;

c- 022 ;

cn 002 ;

l=100 100 ;

l  : lbhktf ;

-- 002231 ;

-n 000032 ;

c- 002230 ;

cn 000032 ;

q=001 0n0 ;

q  : qgpyz ;

-- 00132 ;

-n 00132 ;

c- 55532 ;

cn 55532 ;

g=001 0n1 ;

g  : gzy ;

-- 023 ;

-n 023 ;

c- 523 ;

cn 523 ;

j=001 001 ;

j  : jzyg ;

-- 0205 ;

-n 0002 ;

c- 5225 ;

cn 5025 ;

H=100 000 ;

H  : htlfkdb ;

-- 3000431 ;

-n 0024032 ;

c- 3004231 ;

cn 0025032 ;

M=010 000 ;

M  : crinszeaoxmuvw

-- 31121313344555

-n 30100313344555

c- 01121003344555

cn 01113313344555

J=001 000 ;

J  : jpyzgqx ;

-- 0502555 ;

-n 0110225 ;

c- 5542554 ;

cn 5350553 ;

oi : xaoe ;

-- 1222 ;

-n 1222 ;

c- 0221 ;

cn 0221 ;

oM : x ;

-- 4 ;

-n 3 ;

c- 2 ;

cn 1 ;

HM : hkb

-- 220

-n 010

c- 120

cn 100

Ho : kb ;

-- 30 ;

-n 03 ;

c- 13 ;

cn 04 ;

lo : kb ;

-- 30 ;

-n 02 ;

c- 11 ;

cn 03 ;

MH : d ;

-- 1 ;

-n 1 ;

c- 0 ;

cn 0 ;

oH : d ;

-- 0 ;

-n 0 ;

c- 1 ;

cn 1 ;

ij : y ;

-- 0 ;

-n 0 ;

c- 1 ;

cn 1 ;

p=001 0n0

p  : p ;

-- 0 ;

-n 0 ;

c- 3 ;

cn 3 ;

Jambe à gauche

d=100 *n0

d  : d ;

-- 0 ;

-n 0 ;

c- 0 ;

cn 0 ;

Hampe à droite

t=100 000

t  : t ;

-- 0 ;

-n 0 ;

c- 0 ;

cn 0 ;

f=101 ***

f  : f ;

-- 0 ;

-n 0 ;

c- 0 ;

cn 0 ;

MJ : ygqz ;

-- 0555 ;

-n 0222 ;

c- 0335 ;

cn 0112 ;

oJ : gqz ;

-- 002 ;

-n 002 ;

c- 555 ;

cn 555 ;

JM : p ;

-- 4 ;

-n 0 ;

c- 5 ;

cn 0 ;

MM : nuvrxmw ;

-- 1100100 ;

-n 0010100 ;

c- 1100011 ;

cn 1100011 ;

ii : nuvrx ;

-- 11001 ;

-n 00101 ;

c- 11000 ;

cn 11000 ;

iii: mw ;

-- 30 ;

-n 00 ;

c- 32 ;

cn 32 ;

Figure 8

2.3. Reconnaissance des mots à l'aide d'un dictionnaire

La reconnaissance des mots à l'aide d'un dictionnaire consiste à établir la liste, classée par ordre de coûts croissants, de tous les mots compatibles avec la séquence des graphèmes reconnus. L'objectif est d'obtenir le mot correct en première position dans cette liste avec évidemment un coût inférieur aux coûts associés aux autres mots potentiels du dictionnaire.

2.3.1. Construction des séquences de graphèmes

En premier lieu, toutes les séquences de graphèmes sont construites avec des combinaisons autorisées par l'alphabet, afin de former l'ensemble des segmentations potentielles du mot. Ainsi, avec le mot 'treize', représenté par les graphèmes 'H?Mijo' (cf. fig. 9), neuf séquences sont formées. Chacune est comparée avec les mots du dictionnaire, mais dans ce cas une seule correspond à la segmentation correcte du mot 'treize' : 'H ? M i j o'. Toutefois, la combinaison 'H ? Mi j o' correspond également à un mot valide du dictionnaire : 'douze'.

H ? M i j o

H ? M ij  o

H ? MM  j o

H MM  i j o

H MM  ij  o

H iii   j o

HM  M i j o

HM  M ij  o

HM  MM  j o

Figure 9 : liste des séquences de graphèmes

On note que la combinaison 'Mi' est équivalente à 'MM' pour former la lettre 'u' de 'douze'. De même, la combinaison 'H?' est équivalente à 'HM' pour former les lettres 'h', 'k' ou bien 'b'.

Toutes les combinaisons de deux ou trois graphèmes ne sont pas envisagées, car les combinaisons telles que 'jo', 'HMM' ou bien 'ijo' ne figurent pas dans l'alphabet (cf. § 2.2.2.).

2.3.2. Procédure élémentaire de recherche

La procédure de recherche des mots du dictionnaire, compatibles avec une des séquences de graphèmes s'écrit :

Pour chaque mot du dictionnaire :

tant que la lettre n°l de ce mot est présente dans la liste de traduction de la combinaison de graphèmes n°l correspondante (combinaison de 1 à 3 graphèmes)

alors on passe à la lettre l+1 ;

sinon on passe à la séquence suivante correspondant à une autre segmentation possible du mot ;

si toutes les lettres de ce mot sont compatibles avec une des séquences, alors le coût global du mot est calculé en effectuant la somme des coûts de traduction en lettres de chaque combinaison de graphèmes de cette séquence ;

sinon, le mot est rejeté ;

puis, les coûts de chaque mot sont classés dans l'ordre croissant, quelle que soit la séquence ayant permis d'obtenir le mot (s’il y a plusieurs séquences compatibles pour le même mot, seule celle de moindre coût est conservée).

L'exemple de la reconnaissance du mot 'treize' avec les graphèmes 'H?Mijo' montre en détail le fonctionnement de cette procédure :

Les lettres compatibles sont en majuscules tandis que les lettres incompatibles sont en minuscules (la recherche s'arrête à la première lettre incompatible de chaque séquence) :

zero : z ; z ; z ; z

deux : De ; De ; d ; d

cinq : c ; c ; c ; c

sept : s ; s ; s ; s

huit : HUi ; Hu ; HUi ; HUi

neuf : n ; n ; n ; n

onze : o ; o ; o ; o

cent : c ; c ; c ; c

trois : TROi ; TRo ; TRo ; t

douze : DOUz ; DOUZE : 3 0 1 0 0 : 4 ; Do ; d

seize : s ; s ; s ; s

vingt : v ; v ; v ; v

cents : c ; c ; c ; c

mi11e : m ; m ; m ; m

franc : FRAn ; FRa ; FRa ; f

quatre : q

treize : TREIZE : 0 0 1 0 0 0 : 1

quinze : q

trente : TREn

francs : FRAn

En tout, 2 mots seulement sur 34 sont compatibles avec les graphèmes reconnus : le mot douze avec un coût global de 4, et le mot treize avec un coût de 1 :

H ? M i j o

t r e i z e

0+0+1+0+0+0 = 1

d o  u  z e

3+0+ 1+ 0+0 = 4

La traduction du graphème 'H' en 'd' est affectée d'un coût de 3 qui correspond à l'improbabilité de ne pas détecter de boucle dans la lettre 'd'.

Si une seule lettre d'un mot du dictionnaire est incompatible avec une combinaison de graphèmes correspondant à sa position dans le mot (car la lettre ne figure pas dans la liste de traduction), il y a rejet de ce mot. Ce manque de souplesse, que nous évaluerons quantitativement dans un test (cf. § 3.4.), montre la limite de la procédure élémentaire de recherche : la redondance de l'alphabet, bien qu'importante, est insuffisante pour permettre la reconnaissance des mots mal segmentés, et particulièrement celle des mots sous-segmentés. En effet, il est nécessaire de calculer une distance d'édition complète de chaque mot du dictionnaire avec l'ensemble des combinaisons de graphèmes de chaque séquence.

2.3.3. Calcul d'une distance d'édition

Une distance d'édition classique est utilisée entre deux chaînes de caractères [LECOLINET 90], la première chaîne est la séquence des combinaisons de graphèmes, et la seconde est une chaîne de lettres formant un mot du dictionnaire.

Pour ce calcul, un coût d'insertion est défini pour chaque lettre :

abcdefghijklmnopqrstuvwxyz

coût insertion = "35350555055530355035333355"

auquel est ajouté un coût d'insertion fixe égal à 5 ;

un coût de destruction de graphème ou combinaison de graphèmes est ensuite défini :

cd = "I ? i o k b l q g j p d t f H M J oi oM HM Ho lo MH oH ij MJ oJ JM MM ii HH iii"

cd = "5 5 0 3 5 5 5 5 5 5 5 5 5 5 5 3 5 5  5  9  9  9  9  9  9  9  9  9  9  9  9  9  "

auquel est ajouté un coût de destruction fixe égal à 5 ;

et enfin, un coût de substitution de graphème(s) en lettre : lorsque la substitution est prévue explicitement dans la liste de traduction de l'alphabet, le coût correspondant est utilisé comme pour la procédure de recherche élémentaire, sinon, un coût de substitution fixe (égal à 8), qui est supérieur à tous les autres coûts de substitution (de 0 à 5), est appliqué.

Cette procédure est réitérée pour chaque mot et pour chaque séquence de graphèmes. Toutefois, les séquences comportant plus de deux lettres par rapport au mot ne sont pas examinées (le nombre de lettres n'est jamais supérieur au nombre de graphèmes, les seuls cas de sous-segmentation envisagés ont été traités au paragraphe 2.2.2.3.). Seule la séquence de moindre coût est retenue.

Enfin, les mots sont classés par ordre de coût croissant.

On remarque que cette méthode consistant à construire l'ensemble des séquences possibles de graphèmes pourrait être remplacée par la programmation d'une procédure de substitution par concaténations multiples de deux ou trois graphèmes (cf. chapitre 3 : reconnaissance structurelle, § 2.2.2.) qui n'utiliserait qu'une seule séquence.

Cet algorithme est beaucoup plus long que la procédure élémentaire, car toutes les correspondances entre les deux chaînes sont systématiquement envisagées. Cependant, il est parallélisable, car chaque mot peut être testé indépendamment des autres.

Exemple de reconnaissance du mot "treize" avec la séquence de graphèmes

"H ? M i j o" :

t

r

e

i

z

e

Code des opérations

0

10

15

20

25

35

40

0333333

H

10

\0

5

10

15

25

30

2133333

?

20

10

\0

5

10

15

20

2111113

M

28

18

8

\1

6

13

16

2221111

i

33

23

13

6

\1

11

13

2222111

j

43

33

23

16

11

\1

6

2222213

o

51

41

31

23

19

9

\1

2221221

Le coût d'appariement est égal à 1. Il est égal au coût obtenu précédemment (cf. § 2.3.2.) puisque le chemin de coût minimal dans le tableau ne passe que par des substitutions (code 1), sans aucune insertion de lettre (code 2) ni destruction de graphème (code 3).

2.3.4. Résultats

Le test que nous avons réalisé est basé sur la reconnaissance d'une trentaine de mots du vocabulaire lié à la rédaction des chèques. Ces mots ont été écrits par trois scripteurs différents (figures 10a, 10b et 10c), sans d'autres contraintes que celle consistant pour les scripteurs à avoir connaissance du test au préalable : la reconnaissance d'échantillons recueillis sur des chèques réels est toujours plus délicate et comporte en outre une étape d'extraction du texte parmi le graphisme éventuel.

Figure 10a : Scripteur 1

Figure 10b : Scripteur 2

Figure 10c : Scripteur 3

Deux tableaux de résultats sont présentés ci-dessous : dans le premier est rapporté le bilan de la reconnaissance avec la procédure élémentaire de recherche (simple "matching" cf. § 2.3.2.) et dans le second sont présentés les résultats de reconnaissance par l'algorithme basé sur la distance d'édition.

Simple Matching

Scripteur 1

Scripteur 2

Scripteur 3

Total Scripteurs

Erreur :

2/27

7%

1/28

4%

0/29

0%

3/84

3%

Non Reconnu :

9/27

33%

6/28

21%

16/29

55%

31/84

37%

Réussite :

13/27

48%

19/28

68%

9/29

31%

41/84

49%

Coût de 1 à 4

13/13

100%

13/19

68%

4/9

44%

30/41

73%

Coût de 5 à 9

0/13

0%

6/19

32%

5/9

56%

11/41

27%

Coût sup. à 10

0/13

0%

0/19

0%

0/9

0%

0/41

0%

Ambiguïté :

3/27

11%

2/28

7%

4/29

14%

9/84

11%

2 mots :

2/3

66%

1/2

50%

4/4

100%

7/9

78%

3 mots :

1/3

33%

1/2

50%

0/4

0%

2/9

22%

Plus :

0/3

0%

0/2

0%

0/4

0%

0/9

0%

TOP 1 :

3/3

100%

2/2

100%

3/4

75%

8/9

89%

c2-c110

0/3

0%

0/2

0%

0/3

0%

0/8

0%

9c2-c15

1/3

33%

1/2

50%

1/3

33%

3/8

37%

4c2-c11

2/3

66%

1/2

50%

2/3

66%

5/8

63%

TOP 2 :

0/3

0%

0/2

0%

1/4

25%

1/9

11%

TOP 3 :

0/3

0%

0/2

0%

0/4

0%

0/9

0%

Autre :

0/3

0%

0/2

0%

0/4

0%

0/9

0%

Réussite + Top 1

16/27

59%

21/28

75%

12/29

41%

49/84

58%

Réussite + Top 1-2

16/27

59%

21/28

75%

13/29

45%

50/84

59%

Réussite + Top 1-3

16/27

59%

21/28

75%

13/29

45%

50/84

59%

Distance d'édition

Scripteur 1

Scripteur 2

Scripteur 3

Total Scripteurs

TOP 1 :

22/27

81%

24/28

85%

18/29

62%

64/84

76%

c2-c110

5/22

23%

5/24

21%

3/18

17%

13/64

20%

9c2-c15

9/22

41%

8/24

33%

5/18

28%

22/64

34%

4c2-c11

8/22

36%

11/24

46%

10/18

55%

29/64

45%

TOP 2 :

2/27

7%

2/28

7%

4/29

14%

8/84

9%

TOP 3 :

2/27

7%

2/28

7%

2/29

7%

6/84

7%

Autre :

1/27

3%

0/28

0%

5/29

17%

6/84

7%

TOP 1-2 :

24/27

88%

26/28

93%

22/29

76%

72/84

86%

TOP 1-3 :

26//27

96%

28/28

100%

24/29

83%

78/84

93%

Les résultats concernant la reconnaissance par simple "matching" sont détaillés de la façon suivante :

- Erreur : le ou les mots trouvés sont incorrects (mauvaise réponse) ;

- Non Reconnu : aucun mot n'a été trouvé ; les graphèmes ne correspondent avec aucun mot du dictionnaire ;

- Ambiguïté : plusieurs mots ont été trouvés, dont le mot correct qui figure en première position (Top 1) avec un coût très inférieur, inférieur ou proche du coût du second mot trouvé (les mots sont classés dans l'ordre des coûts croissants) ; si le mot correct ne figure pas en première position, il peut figurer en deuxième (Top 2), troisième (Top3) ou bien dans une autre position dans la liste des mots trouvés.

- Réussite : Seul le mot correct a été trouvé ;

- Le cumul Réussite avec Top1 contient la somme des pourcentages des cas de réussite et des cas ambigus figurant en première position ;

- Le cumul Réussite avec Top1-2 contient la somme des pourcentages des cas de réussite et des cas ambigus figurant en première ou deuxième position ;

- Le cumul Réussite avec Top1-3 contient la somme des pourcentages des cas de réussite et des cas ambigus figurant parmi les trois premières positions.

Pour les résultats issus de la distance d'édition,

la ligne Top1 indique le pourcentage de cas où le mot correct figure en première position ;

la ligne Top1-2 indique le pourcentage de cas où le mot correct figure en première ou deuxième position ;

la ligne Top1-3 indique le pourcentage de cas où le mot correct figure parmi les trois premières positions.

On retient un pourcentage de reconnaissance (réussite) de 50% avec le simple "matching" pour l'ensemble des trois scripteurs, avec une variation entre 31% et 68% suivant les scripteurs. En cumulant avec les cas de reconnaissance ambigus (réussite + Top1-3) le résultat s'élève un peu en dessous de 60% avec une variation comprise entre 45% et 75%.

Ces résultats sont trop faibles pour être exploitables. Aussi, le calcul de la distance d'édition apporte un avantage significatif puisque 75% de reconnaissance est obtenu avec le mot correct figurant en première position (Top1). Parmi ces 75%, plus de la moitié des mots ont été facilement distingués des autres mots de la liste puisque la différence de coût c2-c1 est supérieure à 5 (20% + 34% = 54% de mots en Top1 avec c2-c1>=5).

En considérant les trois premiers mots obtenus, on obtient un pourcentage de reconnaissance de 93% (Top1-3) avec une variation comprise entre 83% et 100% suivant le scripteur.

Si le mot correct est en position supérieure à trois dans la liste, avec un coût élevé et lentement croissant pour les premiers mots reconnus, il est facile de décider un rejet signifiant l'échec de la reconnaissance dans ce cas, ce qui permettrait de se tourner vers un autre algorithme de reconnaissance. Ainsi, parmi les 84 mots étudiés, 3 sur les 6 qui ne figurent pas dans le Top1-3 sont facilement détectables et rejetés.

Ci-dessous est présentée une partie du fichier des résultats de reconnaissance pour le scripteur n°1 seulement, avec le simple matching, puis avec la distance d'édition (les cinq premiers mots seulement ont été présentés).

un

Graphèmes                       :   iiiM

Concavités                      :   cnnn

Nombre de mots trouvés          :   3 sur 34

Nombre de combinaisons valides  :   3 sur 7

Nombre effectif de lettres min. :   2 max. :4

1 -  1 - ii  MM  - un

2 -  4 - i i MM  - six

3 -  8 - i i i M - zero

deux

Graphèmes                       :   ko?iiM

Concavités                      :   nxx--x

Nombre de mots trouvés          :   2 sur 34

Nombre de combinaisons valides  :   2 sur 11

Nombre effectif de lettres min. :   4 max. :5

1 -  2 - k o MM  MM  - deux

2 - 11 - k o MM  i M - douze

trois

Graphèmes                       :   HMoio

Concavités                      :   cnx-x

Nombre de mots trouvés          :   1 sur 34

Nombre de combinaisons valides  :   1 sur 4

Nombre effectif de lettres min. :   5 max. :5

1 -  3 - H M o i o - trois

quatre

Graphèmes                       :   iJiMotiio

Concavités                      :   cxnnxn-cx

Nombre de mots trouvés          :   1 sur 34

Nombre de combinaisons valides  :   1 sur 10

Nombre effectif de lettres min. :   6 max. :6

1 -  2 - MJ  MM  o t ii  o - quatre

cinq

Graphèmes                       :   iiiiiJ

Concavités                      :   cnnncc

Nombre de mots trouvés          :   1 sur 34

Nombre de combinaisons valides  :   1 sur 20

Nombre effectif de lettres min. :   4 max. :4

1 -  3 - i i ii  MJ  - cinq

un

Graphèmes                       :   iiiM

Concavités                      :   cnnn

Nombre de mots trouvés          :  12 sur 34

Nombre de combinaisons valides  :   4 sur 7

Nombre effectif de lettres min. :   2 max. :4

1 -  0 - ii  MM  - un

2 -  2 - i i MM  - six

3 -  5 - i i i M - zero

4 -  5 - i i MM  - dix

5 -  8 - i iii   - et

deux

Graphèmes                       :   ko?iiM

Concavités                      :   nxx--x

Nombre de mots trouvés          :  21 sur 34

Nombre de combinaisons valides  :   7 sur 11

Nombre effectif de lettres min. :   2 max. :6

1 -  1 - k o MM  MM  - deux

2 - 10 - k oM  i MM  - dix

3 - 10 - k o MM  i M - douze

4 - 12 - k o ? iii   - zero

5 - 12 - k o ? iii   - sept

trois

Graphèmes                       :   HMoio

Concavités                      :   cnx-x

Nombre de mots trouvés          :  19 sur 34

Nombre de combinaisons valides  :   4 sur 4

Nombre effectif de lettres min. :   2 max. :5

1 -  3 - H M o i o - trois

2 -  7 - HM  o i o - zero

3 - 10 - H M oi  o - deux

4 - 10 - H M oi  o - dix

5 - 12 - HM  oi  o - six

quatre

Graphèmes                       :   iJiMotiio

Concavités                      :   cxnnxn-cx

Nombre de mots trouvés          :  30 sur 34

Nombre de combinaisons valides  :   7 sur 10

Nombre effectif de lettres min. :   4 max. :9

1 -  1 - MJ  MM  o t ii  o - quatre

2 - 18 - MJ  MM  o t i i o - francs

3 - 19 - MJ  MM  o t i i o - treize

4 - 19 - MJ  MM  o t i i o - trente

5 - 20 - MJ  i M o t i i o - centime

cinq

Graphèmes                       :   iiiiiJ

Concavités                      :   cnnncc

Nombre de mots trouvés          :  24 sur 34

Nombre de combinaisons valides  :  10 sur 20

Nombre effectif de lettres min. :   2 max. :6

1 -  3 - i i ii  MJ  - cinq

2 -  8 - i i ii  MJ  - cent

3 -  9 - ii  i ii  J - deux

4 -  9 - ii  i ii  J - neuf

5 - 10 - i i ii  MJ  - zero

2.3.5. Classification des erreurs relevées

Erreurs

Fatales (1)

Fatales (2)

cas

%

cas

%

cas

%

Prétraitement

5/62

8%

5/5

100%

2/5

40%

Accent ou point N.E.

3/62

5%

3/3

100%

1/3

33%

Graphème éliminé

2/62

3%

2/2

100%

1/2

50%

Segmentation incorrecte du mot

34/62

55%

30/34

88%

15/34

44%

Zone médiane incorrecte

2/62

3%

2/2

100%

2/2

100%

Min. Local dans la lettre

14/62

23%

12/14

86%

5/14

36%

Abs. de M.L. entre 2 l.

3/62

5%

2/3

66%

2/3

66%

Boucle non fermée

9/62

15%

9/9

100%

5/9

56%

queue en fin de mot

6/62

10%

5/6

83%

1/6

17%

Traitement incorrect des graphèmes

7/62

11%

7/7

100%

5/7

71%

Classification incorrecte des graphèmes

16/62

26%

15

100%

5/15

33%

Dépassement Initial

8/62

13%

8/8

100%

4/8

50%

H

7/62

11%

7/7

100%

3/7

43%

J

0/62

0%

0

-

0

-

H&J

1/62

2%

1/1

100%

1/1

100%

Dépassement minuscule

8/62

13%

8/8

100%

3/8

37%

H

4/62

6%

4/4

100%

2/4

50%

J

4/62

6%

4/4

100%

1/4

25%

H&J

0/62

0%

0

-

0

-

Total des Erreurs

62/62

100%

57/62

92%

29/62

47%

Fatales (1) : Erreurs fatales pour le matching simple (mot non trouvé dans la liste)

Fatales (2) : Erreurs fatales pour la distance d'édition

(mot en position supérieure à 1 : Top >1)

N.E. : Non Eliminé

Abs. de M.L. entre 2 l. : Absence de Minimum Local entre deux lettres

Traitement des graphèmes :

Sous- et Sur-Recomposition des graphèmes en lettres,

Sous- et Sur-Segmentation des graphèmes

Ce tableau récapitule les diverses erreurs relevées dans le test (cf. §. 2.3.4.). Nous les avons classées dans quatre catégories principales :

1 : Erreur de prétraitement

Il s'agit d'une opération de filtrage d'une composante connexe qui a échoué, telle que l'élimination d'un point sur un 'i', d'un accent ou bien d'un bruit. Cette composante connexe est alors prise pour un graphème surnuméraire. A l'inverse, un graphème représentant une lettre de petite taille peut être éliminé.

2 : Segmentation incorrecte du mot

- Zone médiane incorrecte : cette erreur est toujours fatale puisque la reconnaissance est principalement basée sur la détection des hampes et jambages (cf. § 2.1.1.) ;

- Minimum local dans la lettre entraînant une sursegmentation de la lettre, ne sont comprises ni la segmentation normale des lettres telles que 'u', ni les boucles non fermées ;

- Absence de minimum local entre deux lettres entraînant la sous-segmentation de deux lettres représentées alors par un seul graphème (non compris les sous-segmentations répertoriées cf. § 2.1.2.3. et § 2.2.1.2.) ;

- Boucle non fermée : cette lettre est alors sursegmentée en deux graphèmes. Cette erreur est fatale pour le simple matching car il n'y a pas de règle d'association de graphèmes dans l'alphabet pour reformer des lettres avec une boucle telles que 'a' ou 'o' ;

- Queue en fin de mot : elle entraîne un graphème surnuméraire qui ne peut pas être éliminé par le simple matching.

3 : Traitement incorrect des graphèmes

- Dans la phase de traitement des graphèmes (cf. § 2.1.2.2.), il s'agit de la sous-recomposition d'un graphème ('t' ou 's' par exemple), ou bien de la sur-recomposition de deux graphèmes en un seul (deux graphèmes soudés par erreur).

- Dans la phase de détection des boucles (cf. § 2.2.1.), il s'agit de la sous-segmentation d'un couple de lettres sans minimum local mais ayant une boucle dans la zone médiane (par exemple 'oi', 'tr' ou bien 'fr' qui auraient dû alors être segmentées) ou bien de sursegmentation d'une lettre ayant une boucle (par exemple 's' ou 'o' sursegmentée).

4 : Classification incorrecte des graphèmes

Il s'agit d'une erreur de classification d'un graphème dont la taille ou la position ne correspond pas à la zone correcte des hampes, des lettres médianes, ou des jambages (cf. § 2.1.1.).

On distingue particulièrement le dépassement fréquent de la première lettre du mot,  la lettre initiale médiane, dans la zone des hampes, bien qu'aucune lettre n'ait été tracée en majuscule dans nos échantillons. Cette erreur survient dans 7 cas sur 62, ce qui représente 11% des erreurs.

Le total des erreurs est le cumul de ces quatre catégories d'erreurs.

2.4. Bilan et discussion

Le bilan des erreurs relevées dans le test montre que la seule souplesse du matching simple est la recombinaison des lettres normalement sursegmentées (telles que 'u') à condition que la règle de combinaison figure dans l'alphabet (cf. § 2.2.2.5.). Ces cas ne sont donc pas considérés comme des erreurs, et les véritables erreurs relevées sont fatales 9 fois sur 10 (57/62 = 92%). Ce résultat montre que l'alphabet de traduction de graphèmes ne permet que des substitutions normales de graphèmes en lettres, mais ne peut en aucun cas rattraper les configurations imprévisibles que l'on rencontre inévitablement sur des cas réels d'écriture. Pour cela, l'utilisation de la distance d'édition semble incontournable, même si cette méthode est beaucoup plus coûteuse en nombre d'opérations machine. En effet, cette méthode est bien adaptée pour pallier les erreurs de sursegmentation (queue en fin de mot, lettre sursegmentée), ainsi que les erreurs de classification des graphèmes dont les 2/3 ont été récupérées (100% - 33% = 67%).

Par contre, les erreurs dues aux boucles non fermées ne sont récupérées que moins d'une fois sur deux (56% sont fatales). Cependant, le terme 'fatale' est employé pour indiquer que le mot correct ne figure pas en première position ; en fait, plus de 90% des mots corrects figurent dans les trois premières positions, ce qui montre que certaines de ces erreurs pourraient être récupérées grâce à une aide contextuelle de type syntaxique ou sinon, grâce à une reconnaissance approfondie.

Conclusion

Dans la problématique de l'extraction de l'information au chapitre 1, nous avons mis en évidence le risque de perte d'information par l'approximation et la fragmentation, seul le contexte local des pixels étant considéré. Grâce à la reconnaissance basée sur la segmentation du mot en graphèmes, qui ne comporte pas de phase d'approximation, nous avons résolu le problème de la fragmentation par la recombinaison, en respectant la cohérence globale des hypothèses de segmentation relativement aux mots d'un lexique. Cette méthode nécessite la connaissance d'informations réparties qui ont été extraites à l'aide des transformées de Hough et Fourier.

L'originalité de notre approche basée sur les graphèmes, par rapport aux méthodes classiques, réside d'une part, dans la méthode de segmentation utilisant l'extraction des composantes connexes, et d'autre part, dans la classification ascendante des graphèmes permettant de retrouver les lettres dans les mots.

Les résultats de reconnaissance (75% Top1 et 90% Top1-3) ont été obtenus sur une base réduite de mots. Cependant, cette base s'est avérée suffisante pour montrer clairement que l'ambiguïté qui résulte de la reconnaissance par les graphèmes trahit le manque d'informations réellement exploitées au niveau de la lettre.

Or, l'alphabet de transcription des graphèmes en lettres que nous avons utilisé se situe à un niveau de description qui est limité par la combinatoire ainsi que par le problème de l'apprentissage. En effet, cette approche nécessite de prévoir exhaustivement l'ensemble des combinaisons de graphèmes !

Le problème qui se pose maintenant est de déterminer comment exploiter davantage d'informations au niveau de la lettre. La reconnaissance par la segmentation du mot en graphèmes, dont le domaine d'application peut se récapituler à la génération d'hypothèses de mots, apporte un élément de réponse à cette question, que nous développerons dans la partie perspectives pour la reconnaissance des mots manuscrits (cf. Chapitre IV).

Nous dirons seulement que l'analyse des ambiguïtés entre les mots candidats (Top1-3) permet de déterminer les lettres qui sont discriminantes donc plus informantes. Puisque l'on connaît précisément les combinaisons de graphèmes correspondant à ces lettres, on a la possibilité intéressante de cibler une reconnaissance plus fine sur ces seules lettres.

CHAPITRE III

RECONNAISSANCE PAR APPARIEMENT DE GRAPHES STRUCTURELS

CHAPITRE III. RECONNAISSANCE PAR APPARIEMENT DE GRAPHES STRUCTURELS

Introduction

Dans le domaine de la reconnaissance omniscripteur des mots manuscrits cursifs (hors ligne), on distingue deux principales approches (cf. Chapitre I § 2. et 3.):

La première approche concerne les méthodes qui consistent, à partir d'une hypothèse sur le mot obtenue par une reconnaissance globale ou contextuelle, à vérifier la segmentation et la reconnaissance des lettres (méthodes descendantes) ;

La seconde approche concerne les méthodes analytiques qui se basent sur des hypothèses de lettres pour aboutir à la reconnaissance du mot (méthodes ascendantes).

La principale critique que l'on peut formuler à l'égard de la première approche est que la génération d'hypothèses sur le mot n'exploite pas suffisamment la notion de lettre (l'extraction de primitives est globale dans le mot), c'est une attitude opposée à celle que l'on peut adopter dans le cas des documents imprimés où la seule reconnaissance des lettres suffit pour aboutir à la reconnaissance complète du mot.

Quant à la deuxième approche, elle conduit souvent à une indécision car, pour s'affranchir des fortes variations propres aux lettres manuscrites, naturellement ambiguës, on doit utiliser une description trop approximative des lettres.

Partant de ce constat, nous allons nous efforçer de réduire le plus possible l'incertitude au niveau de la lettre, grâce à une reconnaissance de type structurel. L'idée qui motive notre choix est que reconnaître plusieurs lettres discriminantes dans le mot d'une façon certaine, ou même seulement obtenir des hypothèses probables de lettres, est intéressant dans un contexte lexical ou semi-lexical (n-gram).

Nous présentons cette approche en trois parties. Dans la première partie, nous proposons une méthode robuste de construction d'un graphe structurel représentatif d'une forme ; le problème de l'appariement des graphes structurels sera traité dans la seconde partie. La troisième partie sera consacrée à la procédure de reconnaissance, qui est basée sur le résultat de l'appariement.

1. Construction d'un graphe structurel représentatif d'une forme

Au départ nous disposons d'une image du caractère, c'est-à-dire dans notre cas, d'une matrice binaire brute obtenue simplement à partir d'un module de segmentation. Cette image est donc un élément de l'espace [0,1]lxc dans lequel l et c sont supérieurs aux nombres de lignes et de colonnes de toute matrice admissible. Une matrice à l0 lignes et c0 colonnes s'injecte naturellement dans cet espace.

Notre objectif est de réduire l'information contenue dans l'image, au minimum nécessaire pour décrire précisément la forme manuscrite. Ce changement de représentation de l'information vise en même temps à réduire les déformations du tracé qui sont liées à l'humeur et au style du scripteur. Ces déformations sont non signifiantes pour la reconnaissance.

Dans le choix des graphes structurels associés aux formes G = (X, U), deux catégories de graphes ont été utilisées :

- les graphes dont les noeuds correspondent à des formes élémentaires précises comme segments et arcs de courbe et dont les arcs explicitent les liens entre les primitives [TOVAR 93] [WONG 87] ;

- les graphes dont les arcs correspondent à un unique lien, dont la nature n'est pas précisée, entre des points particuliers du caractère [TOHME 79] [d'ACIERNO 91].

Cette seconde approche va souvent avec une squelettisation de la forme et l'étude des points extrémaux et des points de branchement du squelette. Le graphe obtenu reflète alors la structure topologique pure de la forme, mais ne permet pas de reconstruire la forme elle-même.

C'est par exemple le cas dans la thèse de S. Tohme [TOHME 79]. Un tel graphe cependant ne permet pas une reconnaissance de tous les caractères car de nombreuses lettres peuvent admettre le même graphe. Ainsi, suivant que l'on considère les propriétés métriques ou seulement topologiques de R2, le V et le U auront ou non le même graphe associé.

Or nous préférons rassembler dans le graphe construit deux sortes de renseignements, les renseignements topologiques et les valeurs liées au dessin de la lettre dans l'espace affine où elle est représentée.

Nous recherchons, dans cette étape de construction, à éliminer l'information redondante ou celle que nous estimons inutile, contenue dans l'image.

Un caractère est une forme, une surface se détachant sur un fond blanc. Il peut être décrit soit par suivi de contour, soit par examen des surfaces noires. L'adulte qui décrit un o à un enfant lui fait remarquer seulement la forme d'un rond - un cercle au sens mathématique -, sans épaisseur, et non une couronne, comme si l'épaisseur du trait n'avait qu'une valeur esthétique.

Ainsi le caractère peut sembler une représentation d'un graphe qui aurait été déformé et habillé par la personnalité du scripteur. Il convient en même temps de minimiser toute perte d'information qui serait utile à l'identification. Nous recourons à la construction d'un graphe structurel.

Un graphe structurel se doit d'être invariant, l'invariance étant en effet une des principales caractéristiques des méthodes structurelles. Néanmoins ce sont des différences de longueur qui permettent de distinguer certaines lettres (par exemple un K majuscule d'un k minuscule). Les seules propriétés topologiques ne permettraient pas de le faire. Mais nous nous trouvons dans un espace affine euclidien.

Nous nous sommes efforcé de trouver un compromis entre les caractéristiques de chacun des deux points de vue. C'est-à-dire entre une méthode purement structurelle et une méthode descriptive.

La construction du graphe structurel comporte trois étapes :

1ère étape : Squelettisation de la forme ;

2ème étape : Détection des arcs ;

3ème étape : Construction du graphe.

1.1. Squelettisation de la forme

Nous avons choisi d'extraire le squelette à partir des centres des boules de rayon maximal entièrement contenues dans la forme.

R2 est muni d'une norme permettant de calculer la distance entre deux points x et y de R2 d(x,y). Si on note B(x,r) la boule fermée de centre x et de rayon r, on peut définir la distance entre un point x de R2 et une partie compacte A de R2

En tout point x d'un compact A on peut définir rA(x), le rayon de la plus grande boule (au sens de l'inclusion) de centre x contenue dans A

On obtient un recouvrement R de A :

De ce recouvrement R on extrait un sous-recouvrement R' en ne conservant que les boules maximales

Le noyau de A (A étant un compact de R2), est l'ensemble N des centres des boules de R'.

N et F n'ont pas nécessairement le même nombre de composantes connexes, mais la donnée des points de N ainsi que la distance au bord pour chacun d'eux permet de reconstruire intégralement la forme.

D'autre part la discrétisation de l'espace ne nous permet pas d'obtenir un ensemble d'épaisseur 1. Des traitements seront donc nécessaires pour assurer la conservation du nombre de composantes connexes d'une part, et pour obtenir un trait d'épaisseur 1.

Trois procédures seront appliquées successivement :

1) le calcul de la distance minimale de chaque pixel de la forme à son contour

2) la détermination du noyau de la forme

3) l'amincissement du noyau en squelette.

1.1.1. Calcul de la distance minimale de chaque pixel de la forme à son contour

La distance minimale est évidemment estimée parmi un nombre fini de directions. Le logiciel fait appel à plusieurs procédures.

Les deux premières procédures (Passes 1 et 2) sont de simples calculs de minimum et de maximum que l'on propage dans un tableau bidimensionnel (appelé img dans l'algorithme ci-dessous), indicé par les variables x et y. Le tableau représente l'image du caractère numérisé dans la mémoire de l'ordinateur. Bien que l'image du caractère soit binaire, on utilise un octet pour coder chaque pixel afin d'y placer le résultat des calculs du minimum et du maximum des distances au bord dans différentes directions ; un octet permet donc d'accumuler les valeurs sur une image d'une taille de 255 pixels au maximum. La notion de propagation caractérise la simplicité du traitement brut effectué en quatre passes successives qui sont présentées ci-dessous. Les passes 3 et 4 nécessitent l'utilisation d'une mémoire image résultat distincte (en fait il suffit d'utiliser seulement une ligne tampon distincte), ce qui n'est pas le cas dans les passes 1 et 2.

1ère Passe de l'algorithme :

Pour y Î [ymin+1, ymax]         (de Haut en Bas)

Pour x Î [xmin+1, xmax]         (de Gauche à Droite)

si img[y][x]>0 alors

img[y][x]=min(img[y][x-1]+1, img[y-1][x]+1)

2ème Passe de l'algorithme :

Pour y Î [ymax-1, ymin]         (de Bas en Haut)

Pour x Î [xmax-1, xmin]         (de Droite à Gauche)

si img[y][x]>0 alors

img[y][x]=min(img[y][x], img[y][x+1]+1,

img[y+1][x]+1)

3ème Passe de l'algorithme :

Pour y Î [ymin+1, ymax]         (de Haut en Bas)

Pour x Î [xmin+1, xmax]         (de Gauche à Droite)

si img[y][x]<max(img[y][x-1],img[y-1][x]) alors

img2[y][x]=0

sinon img2[y][x]=img[y][x]

4ème Passe de l'algorithme :

Pour y Î [ymax-1, ymin]         (de Bas en Haut)

Pour x Î [xmax-1, xmin]         (de Droite à Gauche)

si img2[y][x]<max(img2[y][x+1],img2[y+1][x]) alors

img[y][x]=0

sinon img[y][x]=img2[y][x]

1.1.2. Détermination du noyau de la forme

En plus de l'extraction du noyau (Passes 3 et 4), cette technique permet de reconstruire intégralement la forme grâce à la distance minimale entre chaque pixel du noyau de la forme et son contour (Passes 1 et 2).

L'épaisseur du trait de la forme peut être paire ou impaire : si elle est exclusivement impaire, le noyau a une épaisseur de un pixel, il est alors confondu avec le squelette, sinon, le noyau a une épaisseur de deux pixels au plus. Dans ce cas, la troisième procédure doit être appliquée.

La troisième procédure de la squelettisation consiste à parcourir le noyau, par suivi de son contour, afin de l'amincir en squelette par l'application de masques d'érosion classiques [LEROUX 90].

1.1.3. Amincissement du noyau en squelette

1.1.3.1. Suivi de contour

C'est une étape nécessaire, car en parcourant le contour du noyau on élimine des points tout en conservant une épaisseur 1.

Pour suivre le contour, nous avons utilisé la méthode du "Robot qui avance dans un labyrinthe en conservant toujours un mur à sa droite" : il ne voit qu'une partie très réduite de son environnement, pourtant il peut découvrir systématiquement la totalité de son parcours accessible.

Pour réaliser cela, il est seulement nécessaire de connaître la configuration de 2 pixels notés pix1 et pix2, voisins de la position courante d'un pixel-curseur appartenant au contour.

Pour amorcer l'algorithme, il faut rechercher un premier pixel de la forme en dessous d'un pixel du fond, et qui n'appartienne pas à un contour déjà examiné : ensuite, on progresse en fonction des combinaisons des 2 pixels ; quatre cas sont à examiner (figure 1) :

Figure 1 : Suivi de contour

1er cas : pix1 et pix2 vides simultanément : (A1)

- on arrive donc à un bord (B1), on tourne dans le sens + pour arriver dans la nouvelle position : (C1) ;

2ème cas : pix1 vide et pix2 plein : (A2)

- on marque le pixel courant comme appartenant au contour (B2) ;

- on avance d'une position dans le sens de la flèche ;

- puis on tourne dans le sens rétrograde pour arriver dans la position (C2) ;

3ème cas : pix1 plein et pix2 vide : (A3)

- on marque le pixel courant comme appartenant au contour (B3) ;

- on avance d'une position dans le sens de la flèche (C3) ;

4ème cas : pix1 et pix2 pleins simultanément : (A4)

- on marque le pixel courant comme appartenant au contour (B4) ;

- on avance d'une position dans le sens de la flèche ;

- puis on tourne dans le sens rétrograde pour arriver dans la position (C4).

Au fur et à mesure que le contour est parcouru, on stocke la valeur 2 dans les pixels "contour" pour indiquer qu'ils ont été examinés, les autres restent notés 1 ou 0.

1.1.3.2. Amincissement du noyau à l'aide de masques

En chaque point de l'image, on applique les masques 3x3 de la figure 2. Les  masques permettent l'évaluation de la position stratégique du pixel central (qui est donc non vide) en fonction de son proche environnement (8 voisins) ; les positions sont classées de 6 à 1 par niveau stratégique décroissant. Seuls les niveaux de 2 à 5 sont érodés. Les résultats sont stockés dans un tableau distinct.

Si on rencontre l'une des configurations de la figure 2 (et dans ce cas on supprime le pixel central dans le tableau résultat) on passe au pixel suivant. Sinon, les masques sont ensuite tournés de 90° à trois reprises et à la 4ème fois, on effectue une symétrie verticale (en miroir) du masque puis on tourne à nouveau de 90° trois fois.

Les masques sont adaptés à un suivi de contour mais pas à un balayage de l'image, car les configurations de degré 5 entraîneraient des érosions doubles, ce qui briserait la continuité du squelette.

Traitements effectués en fonction des configurations rencontrées :

1 : Pixel isolé : conservé

2 : Pixel proéminent le long d'un bord : éliminé

3 : Pixel en coin : éliminé si d° >= 3

4 : Pixel de liaison à angle droit : éliminé si d° >= 4

5 : Pixel d'un trait d'épaisseur >= 2 : éliminé si d° = 5

6 : Pixel du squelette (épaisseur 1) : conservé

Figure 2 : Erosion par suivi de contour

L'exemple de la lettre 'k' présenté sur la figure 3 illustre l'application des trois procédures sur le caractère.

Les pixels en forme de croix représentent la forme originale, les pixels en niveau de gris montrent le noyau, avec un niveau correspondant à une distance du noyau de la forme à son contour ; et parmi ceux-ci, les pixels évidés sont ceux qui ont été supprimés au cours de l'amincissement. Le squelette, que l'on note S, est alors constitué des pixels du noyau non supprimés.

Figure 3

L'amincissement constitue indiscutablement une perte d'information et cette transformation n'est plus réversible, toutefois, l'effet est peu signifiant, il sera exposé après la construction finale du graphe.

1.2. Construction du graphe structurel

1.2.1. Détection des arcs du squelette

En balayant toute l'image, on cherche, en suivant un ordre fixé à l'avance (figure 4), à relier les points seulement à leur premier plus proche voisin, la limite du voisinage étant définie par la distance minimale de chaque pixel de la forme à son contour (cf. § 1.1.1.). Les points du squelette sont ordonnés ainsi :

...

21

13

9

14

22

15

5

1

6

17

...

10

2

X

3

11

...

16

7

4

8

18

23

19

12

20

24

...

Figure 4

En utilisant la 8-connexité dans Z2, on définit un arc comme une suite ordonnée de points voisins du squelette. Lorsque le dernier point d'un arc en cours de détection ne possède aucun voisin, alors la longueur de l'arc est déterminée et on mémorise, en plus de cet attribut longueur, dans la liste linéaire de tous les points déjà examinés, l'indice du début et de la fin de cet arc. En outre, on utilise un tableau-image 2D qui permet de retrouver à quel arc appartient chaque pixel de l'image.

Lorsque tous les points ont été examinés, on dispose d'un ensemble d'arcs qui constitue une partition du squelette, et sur lequel plusieurs opérations vont être effectuées.

1.2.2. Traitement des arcs

1.2.2.1. Détermination  du voisinage des arcs

Le traitement des arcs nous a mis en possession des listes de points connexes, au sens de la 8-connexité dans Z2. La définition que nous acceptons pour que deux arcs soient voisins est la suivante.

Considérons plus précisément une liste L / L=(x1, x2, ... , xn). Pour chaque point x, on a étudié et mémorisé lors de la construction du squelette, sa distance au bord rF(x). Le trait du scripteur correspondant à la liste est figuré par

Une suite L' est dite voisine de L dans F si

ML' / MT(L)

M est un point de contact entre L et L'.

1.2.2.2. Fragmentation des arcs

Excepté les barbules, tous les arcs vont maintenant être fragmentés, aux points non extrémité qui sont des points de contact avec un autre arc.

Si une liste L1 est voisine d'une liste L2, on peut trouver un point de L1, M1 et un point de L2, M2 à distance minimum l'un de l'autre. Ce sont les points de contact.

Si M1 n'est pas un point extrémum de L1, il sera supprimé de manière à créer à partir de L1 deux sous-listes vérifiant :

Cette étape comprend également la fragmentation des arcs contenant une boucle, pour lesquels on isole la partie cyclique du reste de l'arc.

1.2.2.3. Ebarbulage des petits arcs

Maintenant, on est en mesure de distinguer pour chaque liste, donc pour chaque arc, les voisins du début de ceux de la fin, ce que l'on ne pouvait faire avant car les points de contact pouvaient se situer à l'intérieur d'un arc.

L'ébarbulage consiste à éliminer les petits arcs qui ont une extrémité isolée (sans voisin).

1.2.2.4. Fusion des fragments d' arcs

Cette étape consiste à fusionner deux arcs exclusivement voisins à une extrémité, afin d'obtenir le minimum d'arcs pour représenter la totalité de la forme.

Une fusion va d'abord être effectuée dans le cas d'une liste de faible longueur qui n'a pu être ébarbulée car trop intérieure au trait. Cette liste va être éliminée au profit de tous ses voisins.

Soient L une telle liste et M un point au milieu de cette liste et L1, L2, ... Lk les listes voisines de L.

{L, L1, ... Lk} va être remplacé par l'ensemble des k listes .

Li admet Mi comme point extrémal voisin de L

où li est une liste qui admet Mi et M comme points extrémaux, et qui suit un chemin de longueur minimum entre les deux points M et Mi.

Ensuite les points extrémaux M de toutes les listes seront traités en fonction du nombre de composantes connexes dans B(M, rF(M)), c'est-à-dire en fonction du nombre de traits arrivant en ce point dans l'image. Les points où il n'y a qu'une composante connexe sont les points extrémaux, les points où il y en a plus de deux sont des points de branchement. La fusion s'effectue dans le cas de deux traits, donc entre deux listes L1 et L2 telles que L1 soit voisine de L2. Soient M1 et M2 les points de contact qui sont respectivement des points extrémaux de L1 et L2. Alors les deux listes L1 et L2 sont remplacées par une unique liste L'.

L' = L1 l L2

où l est une liste admettant M1 et M2 comme points extrémaux et suivant un chemin de longueur minimum entre les deux points.

Nous avons ainsi défini un graphe structurel dans lequel les noeuds sont soit des points de branchement, soit des points extrémaux du squelette. On peut remarquer que le graphe ne comporte pas de noeuds de degré 2. Les arcs du graphe correspondent à l'existence d'un lien entre les points images du noeud dans le squelette modifié par fragmentation, ébarbulage et fusion.

Soit G = (X, U)

Nous avons défini des attributs sur les éléments de X aussi bien que sur ceux de U ; nous avons donc 2 fonctions d'interprétation.

LX :    X    N2

x     coordonnées du point correspondant au noeud dans le squelette

LU :    U    N  x  L

u     (longueur de l'arc, liste des points correspondant à l'arc dans le squelette)

Ces attributs comportant des coordonnées utilisent déjà la structure affine du plan d'étude.

1.2.3. Construction du graphe d'attribut - Approximation polygonale des arcs

Afin d'éliminer l'information redondante contenue dans la liste des points parcourant le squelette, on procède à une approximation polygonale des arcs préalablement lissés.

L'arc est alors modélisé par la suite des segments de droite obtenus. On appelle points de contrôle les extrémités de ces segments. Sur la figure 6.5, une croix est marquée aux points de contrôle correspondant à la jonction de deux segments. Ces éléments sont de nouveaux attributs pour les arcs qui remplacent la liste précédente.

L'algorithme d'approximation polygonale consiste à appliquer récursivement la procédure suivante :

Dans un premier temps, on construit le vecteur directeur (a, b) défini par le segment reliant le début et la fin de l'arc ; sa norme est la racine carrée de (a2+b2) ;

Ensuite, on calcule la valeur minimum et maximum de la distance algébrique de chaque point de l'arc à ce segment suivant la perpendiculaire, soit :

d = (a.(y[i]-y[0]) - b.(x[i]-x[0]))/norme

pour i parcourant tous les points de l'arc.

Enfin, on compare les valeurs d_min et d_max au seuil d'approximation polygonale pour décider la poursuite ou l'arrêt de la procédure (figure 5) :

Si d_max >= seuil et d_min > -seuil

on coupe l'arc en 2 fragments à l'indice correspondant à d_max ;

Si d_min <= -seuil et d_max < seuil

on coupe l'arc en 2 fragments à l'indice correspondant à d_min ;

Si d_max >= seuil et d_min <= -seuil

on coupe l'arc en 3 fragments aux indices correspondant à d_max et d_min ;

Sinon, la procédure est arrêtée lorsque l'arc est assez proche du segment

Figure 5

La procédure est appelée récursivement pour chaque fragment d'arc généré.

On peut alors envisager d'associer à la forme un nouveau graphe   G' = (Y, V)   où Y est la réunion de X et de l'ensemble des points de contrôle et où V, l'ensemble des arcs, a la même définition par rapport à Y que U par rapport à X. Ici les arcs modélisent des segments.

G est un sous-graphe de G'. G sera choisi à la base de notre étude ultérieure car il reflète mieux la structure. Par contre, les éléments de G' permettent de faire des comparaisons plus fines.

1.2.4. Modélisation informatique de la structure d'un graphe

On enregistre chaque noeud avec le nombre d'arcs qui y sont connectés et pour chaque arc on enregistre les points de contrôle, ainsi que diverses autres informations utiles comme les angles formés par deux segments consécutifs, les longueurs, la distance des noeuds au bord de la forme, la position de chaque noeud par rapport à un point fixé dont nous discuterons le choix dans le paragraphe suivant.

Enfin, pour compléter le codage, nous y ajoutons le contour polygonisé de la forme car cette information nous paraît complémentaire de sa structure (le contour sera utilisé par la suite, cf. § 3.).

La structure du graphe, exprimée en langage C, ne présente pas de difficulté de compréhension : la nature des données présente un faible niveau d'abstraction, de sorte que l'ensemble des opérations qui vont être opérées sur les graphes dans la deuxième partie est facile à suivre.

#define MAX_NOEUDS  20

#define MAX_ARCS   100

#define MAX_CTRS    10

/* MAX_CTRS : Nombre Maximum de Contours */

#define MAX_AN      10

/* MAX_AN : Nombre Maximum d'Arcs connectés à un Noeud */

#define MAX_PCA     20

/* MAX_PCA : Nombre Maximum de Points de Contrôle d'un Arc */

#define MAX_PCC     40

/* MAX_PCC : Nombre Maximum de Points de Contrôle d'un Contour */

typedef struct

{

int taille, x, y, n_jcts, num_arc[MAX_AN],

sens_arc[MAX_AN], angle_arc[MAX_AN] ;

} type_noeud ;

/* n_jcts : nombre de jonctions = arcs connectés à un noeud */

typedef struct

{

int longueur, sdt, npc, x[MAX_PCA], y[MAX_PCA],

angle[MAX_PCA], taille[MAX_PCA] ;

} type_arc ;

/* sdt : somme des delta-teta = courbure d'un arc */

/* npc : nombre de points de contrôle d'un arc */

typedef struct

{ int n_pts, perimetre, x[MAX_PCC], y[MAX_PCC] ; } type_contour ;

struct

{

int nlig, ncol ;

/* nombre de lignes et de colonnes */

int n_noeuds ;

type_noeud tab_noeuds[MAX_NOEUDS] ;

int n_arcs ;

type_arc tab_arcs[MAX_ARCS] ;

int n_ctrs ;

type_contour tab_ctrs[MAX_CTRS] ;

} forme[2] ;

1.3. Résultats

Les figures suivantes, de 6.1 à 6.6, récapitulent l'ensemble des étapes de la construction du graphe structurel. La figure 6.5 (approximation polygonale des arcs) montre simultanément les arcs, les arcs lissés et leur approximation par des segments de droite. La figure 6.6 montre la structure finale qui est enregistrée. Le lissage des arcs a un aspect proche des arcs originaux mais le lissage des contours n'a pas permis d'améliorer sensiblement l'aspect final du caractère.

Figure 6.1 Squelettisation de la forme

Figure 6.2 Détection des arcs du squelette

Figure 6.3 Fragmentation des arcs

Figure 6.4 Ebarbulage et Fusion des arcs

Fig. 6.5 Approximation polygonale des arcs

Figure 6.6 Structure Finale Conservée

1.3.1. Comparaison entre le graphe structurel et la lettre originale

Les figures 7a et 7b illustrent la sensibilité de la structure en ce qui concerne les petits arcs. A quelques pixels près, on peut obtenir une structure différente.

Le choix du seuil d'ébarbulage résulte d'un compromis entre les barbules qu'il faut éliminer et les petits arcs qu'il faut conserver. En plus du critère de la longueur, on peut distinguer la barbule lorsque l'arc touche le contour de la forme, et le petit arc s'il reste situé au milieu du tracé de l'écriture.

Dans les deux lettres 'K' de la figure 7a, on est en présence de petits arcs situés au milieu du tracé et qui ne touchent donc pas le contour. Le petit arc du second 'K' est tout de même éliminé car, étant trop petit, il n'apporterait pas une information assez significative sur le graphe.

Figure 7a

Figure 7b

Pour la lettre 'N', le petit arc touche le bord mais possède une longueur suffisante pour être conservé ; tandis que pour la lettre 'V', la barbule résulte seulement de la difficulté du squelette à modéliser les angles aigus ; elle ne constitue pas une information présente sur le caractère considéré, elle est donc éliminée.

1.3.2. Alphabet en caractères majuscules bâton

Intermédiaires entre l'imprimé et le manuscrit, les caractères bâton se prêtent bien à la modélisation structurelle, comme le montre la figure 8.

Figure 8

Les graphes sont fidèles et représentatifs des caractères originaux. On remarque la position du noeud central de la lettre 'R' qui est due à l'effet de la squelettisation. La forme des graphes est donnée par la présence des points de contrôle. Les graphes gagneraient en simplicité si le nombre de points de contrôle était moins élevé, c'est-à-dire si la précision de l'approximation polygonale était moins grande, cela notamment pour les caractères 'v' et '8'. Néanmoins ils permettent de conserver la forme générale du caractère.

L'utilisation du même alphabet en lettres manuscrites, après une numérisation en 200 points par pouce (sur la figure 9, page suivante) présente quelques défauts.

Figure 9

En dehors des bruits de numérisation ou de tracé (caractères '2', '5', 'M', et '1'), on remarque une modification de la structure du graphe de la lettre 'A' du mot 'PATRICE'. Elle est due à une faible épaisseur du trait original au niveau de la connexion ainsi qu'à l'amincissement du noyau en squelette au même point. La coïncidence de ces deux faits a entraîné la perte du voisinage des arcs. Le graphe n'a pas relié deux traits qui étaient disjoints.

D'autre part, certaines barbules générées par les angles aigus, notamment pour les chiffres '8', n'ont pu être éliminées. Le traitement des caractères 'R', qui sont représentés avec un ou deux noeuds centraux, montre que la modélisation respecte précisément le tracé original.

1.3.3. Alphabet manuscrit en caractères minuscules

Mis à part la représentation des angles aigus ('i', 'j', 'p' 'r', 'v' et 'w'), le graphe structurel offre une schématisation satisfaisante des lettres minuscules (figure 10). Cependant, la modélisation est plus stable sur des caractères minuscules sans déliés (figure 11), car l'information originale est plus réduite.

Figure 10

Figure 11

Afin de s'affranchir du problème de la segmentation des mots en lettres et pour se concentrer seulement sur la modélisation structurelle des lettres, nous avons testé la méthode sur les lettres isolées d'un texte manuscrit (cf. figure 12). Le fait d'ignorer la mise en page des lettres par rapport au mot entraîne une certaine difficulté de lecture, ce qui illustre l'importance de cette information. Cette carence met en valeur la contribution précise que l'information structurelle peut apporter à la reconnaissance, à l'exclusion de l'information spatiale. Celle-ci pourra facilement être complétée par la suite.

Nous pouvons remarquer que le second 't' de 'hésitent' ne contient pas la barre horizontale qui permet de le distinguer de la lettre 'l', alors que la petitesse de cette barre sur le caractère original passe inaperçue et ne gêne en rien la lecture du texte. Cela indique que le lecteur semble sélectionner seulement les informations pertinentes à lire dans le texte et ne fait que peu de cas de l'ambiguïté d'une lettre lorsque le mot lui-même n'est pas ambigu dans la phrase.

D'autre part, la barre de la lettre 'f' du mot 'fin' manque également. Ces exemples montrent qu'une amélioration de la distinction entre les barbules et les petits arcs importants pour l'identification du caractère est souhaitable. Une modification des paramètres peut être envisagée après une première étape de reconnaissance (figure 12 ci-après).

Figure 12

L'exemple de la figure 13 montre la représentation structurelle d'un texte d'un second scripteur de même style d'écriture. L'absence de distinction entre les graphes des lettres 'a' et 'o' du mot 'laboratoire' met en évidence la nécessité de détecter l'ambiguïté entre les deux caractères au niveau de la reconnaissance (cf. § 3.) afin que celle-ci puisse être levée grâce à une vérification dans un dictionnaire.

Figure 13

1.3.4. Essais sur des mots manuscrits

Les figures 14 et 15 représentent les graphes structurels des mots non segmentés 'dix' et 'quinze'. On remarque que la longueur des arcs et des contours étant plus importante pour les mots que pour les lettres, l'approximation polygonale est plus grossière. Pour le mot 'dix', le squelette ne peut pas représenter convenablement le point du 'i', alors que le contour est plus approprié. Il y a donc une complémentarité dans la modélisation.

Figure 14

Les liaisons entre les lettres du mot ne peuvent pas être distinguées des arcs formant ces lettres. On remarque que le graphe du mot est formé par une succession linéaire de sous-graphes 2D correspondant aux lettres. Cependant, le graphe du mot 'quinze' (fig. 15) montre que cette information est diffusée de telle sorte qu'il est difficile d'identifier certainement le sous-graphe correspondant à chaque lettre. En revanche, si on parvient à identifier la première lettre 'q' ainsi que les deux dernières lettres 'ze', le mot 'quinze' pourra être retrouvé parmi la liste des mots appris, même en utilisant un dictionnaire général de la langue française (cf. Chapitre 4).

Figure 15

1.4. Discussion

Dans une approche utilisant une grammaire de graphes [WONG 87], le graphe traduit des relations de proximité ("à côté", "au-dessus"...) entre les segments de l'image. D'une façon générale, les noeuds marquent une primitive structurelle et les arcs expriment les relations entre ces noeuds. Dans notre cas, la signification du graphe est une expression directe de la connectivité d'un ensemble de points remarquables de l'image.

Les exemples de graphes que nous avons présentés montrent que la modélisation est fidèle pour une gamme de caractères manuscrits allant des caractères bâton majuscules aux lettres minuscules. Nous avons obtenu une bonne réduction de l'information redondante avec une faible perte d'information utile à la reconnaissance.

Un compromis a été trouvé entre la précision (fidélité) et l'approximation (souplesse) de la représentation structurelle des caractères. Toutefois, des défauts ont été observés sur les graphes, dont certains sont dus à l'effet réducteur de la squelettisation. Celle-ci ne peut pas différencier deux traits côte à côte, donc d'une épaisseur totale double, d'un trait de simple épaisseur, autrement que par la connaissance de la distance du squelette au contour. Il résulte de cela qu'il y a une complémentarité à exploiter avec d'autres types de modélisation du caractère, notamment le contour. Cette remarque se confirme par l'examen de la liste des graphes des lettres manuscrites présentée sans leur mise en page normale (cf. figures 12 et 13 dans le paragraphe 1.3.3.).

On peut formuler une critique concernant les graphes : on observe un fractionnement de l'information par exemple sur le caractère 'X' ; la représentation structurelle contiendra quatre segments de droite alors que le tracé consiste en seulement deux segments. De même, pour le caractère 'AE', au lieu d'un cercle et d'un segment, le graphe est composé de trois segments et des deux arcs dont on ignore qu'ils forment un cercle.

Nous allons maintenant exposer dans la seconde partie, le processus de l'appariement structurel, dont l'objectif est d'exploiter les ressemblances entre les graphes, même en cas de divergence de structure, afin de mettre en évidence les ambiguïtés des lettres, notamment des minuscules.

2. Appariement des graphes structurels des lettres manuscrites

L'exploitation du graphe structurel obtenu commence par la recherche d'un isomorphisme optimal entre deux graphes, celui de la lettre à reconnaître et celui d'une des lettres de l'alphabet de référence, afin d'établir des points de comparaison. Ce problème est proche de celui rencontré en stéréovision [BACKER 87] dans lequel il s'agit de trouver la meilleure mise en correspondance entre les graphes des deux images de la vue stéréoscopique. Néanmoins, les graphes à comparer sont souvent très différents.

On ne peut formuler le problème de la recherche de l'isomorphisme optimal de graphe comme une recherche dans un arbre [YOU 84], car cette procédure n'est pas utilisable dans le cas où le nombre de noeuds des deux graphes à apparier est différent (sauf si l'on considère les graphes comme des sous-graphes de graphes dont les noeuds et les arcs ont des étiquettes vides, ce qui pose alors des problèmes de complexité). En effet, dans notre cas, la recherche d'un isomorphisme implique des fusions de noeuds et d'arcs, ainsi que des fragmentations, éliminations et concaténations d'arcs du graphe comme l'attestent les exemples de couples suivants qu'il s'agit d'apparier :

(a)

(b)

(c)

(d)

(e)

(f)

Figure 1 : (a) élimination ; (b) rétraction ; (c) fusion - concaténation

(d) fragmentation ; (e) fragmentation ; (f) élimination - concaténation

Nous allons commencer par l'étude du cas simple où les deux graphes sont structurellement proches afin d'exposer la problématique de l'appariement dans un ordre de complexité croissante.

2.1. Appariement de deux graphes structurellement proches

2.1.1. Superposition des deux graphes

En premier lieu, il faut définir un point de référence par rapport auquel seront effectuées des comparaisons. Pour comparer des noeuds de deux graphes distincts, on calculera une distance relativement à ce point de référence.

Soit G = (X, U) un graphe de forme. Si x est un élément de X, LX(x) représente le couple de coordonnées du point M correspondant à x dans la forme. L'isobarycentre des Mi associés à tous les éléments de X est la définition la plus simple pour obtenir un centre de gravité (cdg) de la forme (on assimilera, dans la suite, la forme à son graphe, c'est-à-dire qu'on ne distinguera pas entre x et M).

Le degré d'un noeud est le nombre d'arcs qui y sont connectés. Il est noté d(x).

On remarque que les noeuds comportant une jonction de plusieurs arcs, c'est-à-dire de degré supérieur ou égal à trois, sont plus signifiants que les noeuds extrémaux, de degré 1, dans la mesure où ils sont généralement plus stables face aux aléas du tracé. Mais de tels noeuds ne sont pas toujours présents. Ils sont absents dans les lettres de structures assez élémentaires comme "CGS5...".

On peut alors définir un cdg comme étant le barycentre des noeuds pondérés par leurs degrés. Cependant, comme toutes les caractéristiques des arcs connectés à chaque noeud ne sont pas prises en compte (longueur, courbure, ...), cela peut entraîner un décalage important pour deux formes lorsque leurs cdg seront superposés (figures 2 et 3). Cette définition est donc insuffisante.

Figures 2 et 3

La méthode que nous avons retenue est plus proche de la lettre. Nous considérons la représentation G' = (Y, V) et nous nous intéressons aux arcs de ce graphe. Les arcs de ce graphe sont interprétés comme des segments. Le cdg est le barycentre de tous les milieux des segments pondérés par leur longueur. L'expérience a montré que ce cdg est, dans le cas général, plus stable pour des graphes où la structure change moins que la forme. On observe néanmoins un petit décalage de superposition que l'on aurait pu éviter en utilisant le barycentre des noeuds de degré supérieur ou égal à trois, mais on perdrait en stabilité dans le cas où les graphes présenteraient des structures identiques mais dont les formes varieraient.

2.1.2. Appariement des noeuds de deux graphes

Soient G1 = (X1, U1) et G2 = (X2, U2) deux graphes des formes F1 et F2 que nous voulons comparer. On dispose également de . Les formes F1 et F2 sont inscrites dans des rectangles dont les diagonales sont de longueurs respectives l1 et l2.

La première voie explorée a été l'appariement des noeuds des deux graphes, chaque noeud est traité d'une façon indépendante, par opposition à une exploration classique d'un arbre dans lequel on recherche une correspondance univoque entre les noeuds des deux graphes.

On commence par définir une distance "spatiale" entre les noeuds des deux graphes. Par translation les centres de gravité des deux graphes sont désormais supposés à l'origine du repère. On normalise la distance euclidienne entre les points associés aux noeuds à l'aide de la longueur des diagonales des rectangles englobant chaque lettre. Cette valeur est ensuite modifiée en faisant intervenir la différence entre les degrés de chaque noeud.

Si x1 et x2 sont deux noeuds respectivement de G1 et G2, dont les coordonnées de  sont notées    , la distance spatiale est :

Enfin, pour chaque noeud de la première forme, le noeud à distance minimale qui lui correspond dans la seconde forme est mémorisé. On définit ainsi un appariement de noeuds qui n'est pas nécessairement une injection.

On remarque, dans l'exemple de la figure 4a, que cette distance élémentaire suffit à déterminer l'ensemble des couples de noeuds des deux lettres 'k' formant l'appariement correct des deux graphes. En effet, après l'appariement des noeuds, il ne reste aucune ambiguïté en ce qui concerne l'appariement des arcs. Cet appariement des noeuds de G ne permet pas de discriminer un S d'un 5, même bien faits.

Figure 4a

Rappelons que l'on ne se préoccupe pas dans l'immédiat de décider si les deux graphes sont censés représenter la même lettre ; on veut seulement mettre en évidence la ressemblance entre les configurations des noeuds. Dans notre deuxième exemple, (les lettres 'H' de la figure 4b), dans la seconde lettre 'H', le degré des noeuds centraux est de quatre, tandis qu'il est de trois pour le premier 'H'. Cependant, au regard du reste des deux graphes, ils se correspondent sans ambiguïté. Les deux noeuds latéraux des pattes du deuxième 'H' n'ont pour correspondant que les deux noeuds centraux du premier 'H', à défaut de meilleur correspondant. Ils vont donc être fusionnés avec ceux-ci entraînant l'élimination de l'arc par rétraction.

Figure 4b

Nous n'avons pas défini l'élimination pure et simple d'un noeud lors du passage d'une forme à l'autre. Seul un arc peut être éliminé, soit par fusion des deux noeuds formant ses extrémités (rétraction de l'arc), soit par élimination directe, mais ce cas est peu fréquent (voir le caractère '$' paragraphe 2.1.3).

Notre troisième exemple (lettres 'KK' de la figure 4c) illustre un autre cas de fusion de noeuds. La distance de chacun des deux noeuds centraux du premier 'K' à tous les autres noeuds du second 'K' est la plus petite pour son noeud central. Sur le troisième dessin de cet exemple, nous avons montré la transformation continue des deux formes en traçant les arcs reliant les noeuds lorsque ceux-ci sont progressivement interchangés avec leur correspondant dans l'autre graphe. La fusion de ces noeuds met en évidence l'identité du reste de la structure.

Figure 4c

Une fois que tous les noeuds sont appariés, dans ces trois exemples, l'appariement des graphes est terminé car il n'y a plus d'ambiguïté au sujet des arcs restants, l'appariement des noeuds détermine complètement celui des arcs.

On ne rencontre pas encore d'ambiguïté pour l'appariement des arcs de l'exemple '22' de la figure 4d, mais la présence d'un cycle implique la recherche du sens de parcours de la liste ordonnée de points formant ce cycle, afin d'éviter de les apparier dans le sens inverse.

Figure 4d

L'exemple '33' de la figure 4e contient un cycle n'ayant pas de correspondant dans l'autre graphe. Pour surmonter cette difficulté, on procède à la fragmentation du cycle en deux arcs en créant un nouveau noeud au point le plus éloigné d'un noeud du cycle de degré supérieur à trois. Ce noeud peut alors être apparié de la même façon que tous les autres, et la fusion des deux fragments d'arcs est nécessaire pour respecter la transformation continue d'une forme à l'autre.

Figure 4e

Toutefois, le caractère palliatif de cette opération nous conduira à remettre sérieusement en question cette méthode dans la suite de notre étude (cf. § 2.2. Appariement de deux graphes quelconques).

Il nous reste maintenant à traiter l'appariement des arcs afin de déterminer la mise en correspondance des arcs ambigus qui restent.

2.1.3. Appariement des arcs des deux graphes en fonction des noeuds correspondants

L'exemple 'aa' de la figure 5a (page suivante) illustre un cas d'ambiguïté d'appariement des arcs, lorsque l'appariement des noeuds est déterminé. On suit alors, pour les arcs, une procédure analogue à celle des noeuds, en dehors du fait que le choix des arcs ne se fait pas sur toute la forme mais est tributaire des couples de noeuds appariés.

Figure 5a

Pour chaque arc de la première forme, on recherche dans l'autre forme les correspondants des noeuds-extrémités.

Puis, on recherche tous les arcs de l'autre forme reliant ces correspondants.

Ensuite, pour chacun de ces arcs, on calcule un coût d'appariement qui tienne compte d'une part, de la somme des coûts d'appariement des points de contrôle de chaque arc relatifs au centre de gravité de leur arc, et d'autre part, de la distance entre les centres de gravité des arcs par rapport aux centres de gravité correspondants des deux formes.

Si u1 et u2 sont deux arcs de G1 et G2, on note  leurs points de contrôle. La distance sera à la fois locale aux arcs, c'est-à-dire se référant au milieu de l'arc, et globale, c'est-à-dire se référant au cdg des formes.

On note donc gi le milieu de ui

et permettent de choisir parmi deux points de contrôle possibles dans l'appariement.

Enfin, on mémorise le couple d'arcs de moindre coût. Si l'arc n'a aucun correspondant dans l'autre forme, ou bien si son coût d'élimination est inférieur au moindre coût, alors il est éliminé.

Dans le cas de l'écriture manuscrite, il peut arriver que les tracés des lettres 'a' et 'ce' se confondent, et, bien que leurs structures diffèrent, figure 5b, la transformation continue d'une forme à l'autre suivant le résultat de l'appariement met en évidence cette proximité (le 'e' de 'ce' contient un cycle non apparié qui sera fragmenté en deux).

Figure 5b

Lorsque l'on doit par exemple reconnaître la lettre 'X' parmi les vingt six lettres de l'alphabet, on est amené à apparier ce 'X' avec le 'Y' de référence. Ce cas met en évidence une certaine subjectivité en ce qui concerne la branche du 'X' qui n'a pas de correspondant certain dans le 'Y'. On a le choix entre éliminer l'arc en fusionnant le noeud d'extrémité du 'X' avec le noeud central du 'Y' (élimination par rétraction de l'arc), ou bien fusionner les deux arcs du bas avec celui du 'Y'. L'option qui est choisie par le programme dépend du coût d'appariement des noeuds (dans cette étape, il ne peut pas dépendre du coût d'appariement des arcs, car il est tributaire des noeuds). D'autre part, le réglage du coût d'appariement des noeuds, en particulier le réglage de la pondération du degré de chaque noeud par rapport au coût calculé suivant la distance au cdg, est tout à fait empirique. Ce réglage a été effectué à partir de l'esthétisme de la transformation (l'idéal serait de le déterminer par un apprentissage). Il est par ailleurs probable que les réglages dépendent fortement de la nature des objets à reconnaître. Nous estimons que la perception de ce genre d'ambiguïté fait partie du processus de la lecture.

Le second type d'élimination d'arc est peu fréquent. On peut le rencontrer par exemple dans le cas '$', figure 5c, où un arc est éliminé sans modification de la position des noeuds mais seulement de leur degré (degré 4 et degré 3).

Figure 5c

2.1.4. Défauts rencontrés

Même si le processus d'appariement a supporté une certaine variation de structure, principalement les fusions de noeuds, il souffre d'une grave limitation : les informations de nature inférieure à l'arc ne sont pas prises en compte dans l'étape principale qui détermine l'appariement des deux graphes, de sorte que lorsque la structure diffère (voir les graphes des caractères '6', 'N' et 'A' dans lesquels des arcs du 6 et du A ne peuvent s'apparier et où des noeuds du N n'ont pas de correspondant dans l'autre forme), cette lacune conduit inévitablement à un échec. Pourtant, ces exemples sont proches d'aspect et renferment des similarités incontestables.

On serait tenté de prévoir l'ensemble des graphes potentiels (variantes de lettres), pour un caractère donné, dans un dictionnaire de lettres. Si cela semble judicieux pour le '6' étant donné que les deux exemples de '6' sont fondamentalement distincts sur le plan structurel, ce n'est pas raisonnable pour le 'N' et le 'A' dans lequel la divergence de structure est seulement due à un faible bruit ('A') ou à une légère transformation ('N'). On perdrait alors l'intérêt de la reconnaissance de la structure qui ne serait alors plus qu'une procédure vérifiant l'identité des graphes avec une décision binaire (OUI / NON).

2.1.5. Conclusion

Nous allons tenter dans la suite de dépasser ces limitations de l'appariement afin de pouvoir détecter des parties similaires dans des graphes quelconques.

2.2. Appariement de deux graphes structurels quelconques

2.2.1. Recherche d'un isomorphisme optimal de graphe

2.2.1.1. Appariement de l'ensemble des noeuds et points de contrôle

Dans cette étape, afin de nous affranchir des limitations mises en évidence au paragraphe précédent, nous considérons les points de contrôle des arcs comme des noeuds de degré 2. Ainsi, c'est le graphe G'=(Y, V) que nous utiliserons. Les arcs représentent alors des segments de droites. Puisqu'il n'y a plus au maximum qu'un arc reliant deux noeuds, l'appariement des noeuds détermine complètement l'appariement des deux graphes.

En exploitant à nouveau la distance entre les noeuds définie au paragraphe 2.1.2., avec en outre la possibilité de la pondérer par la différence de degré des noeuds, on obtient un appariement qui permet un passage continu d'une forme à l'autre, pour les graphes que l'on ne pouvait pas traiter auparavant (figure 6).

Figure 6a

Figure 6b

Figure 6c

Figure 6d

Cependant, on observe un grave problème d'incohérence dès que les deux graphes ne se superposent pas exactement. La figure 7 montre dans les deux graphes des lettres 'f' que deux noeuds proches par la structure peuvent se trouver non voisins dans l'espace. Cela conduit à un résultat tout à fait arbitraire car alors la structure des caractères est pratiquement ignorée. On doit donc chercher à améliorer la cohérence de l'appariement par rapport à la structure des graphes, tout en exploitant la richesse des nouvelles possibilités de cette approche.

Figure 7

2.2.1.2. Appariement de l'ensemble des segments

L'appariement de l'ensemble des segments de droite entre les deux graphes constitue également une approche intéressante dans la mesure où la cohérence au niveau local est ainsi améliorée. En effet, l'élément le plus petit que l'on puisse apparier représente cette fois-ci deux noeuds plus une liaison entre ces noeuds.

Pour ne pas perdre un avantage par rapport à la méthode précédente, il faut conserver la comparaison des degrés des noeuds délimitant chacun des deux segments en tant que contribution au coût d'appariement de ces segments.

Pour cela, on propose de définir une distance entre les segments de chacun des deux graphes en tenant compte de la différence de longueur, de la différence d'orientation, puis de la distance entre les noeuds respectifs relativement au cdg, et enfin, la différence entre les degrés des noeuds.

Bien que cela constitue une amélioration, ce n'est pas encore suffisant pour assurer dans tous les cas la cohérence de l'appariement de graphes quelconques, car l'appariement des noeuds doit se faire simultanément avec celui des segments de droite.

2.2.1.3. Appariement simultané des noeuds et des arcs

A chaque étape, on améliore la prise en compte de l'environnement local des objets élémentaires que l'on se propose d'apparier. On a montré, dans le paragraphe précédent, l'information supplémentaire qu'apportait l'appariement d'un segment par rapport au cas où on se limite au seul appariement des noeuds ; dans ce sens, on peut donc chercher à faire correspondre les noeuds de chaque graphe en tenant compte des ressemblances entre les arcs connectés à ce noeud. Il suffit de déterminer quelle est la combinaison de correspondance des arcs connectés sur les deux graphes qui offre le coût moindre (figure 8a).

Cependant, lorsqu'il s'agit d'implémenter les opérations spécifiées au départ (cf. figure 1), telle que la fusion de noeuds, l'ensemble des combinaisons à prévoir complique sérieusement la tâche (figure 8).

CAN : Coût d'Appariement des Noeuds

CAA : Coût d'Appariement des Arcs

CEA : Coùt d'Elimination d'un Arc

CAN(Na,Nb) =

min( CAA(a1,b1), CAA(a1,b2), CAA(a1,b3), CEA(a1)) +

min( CAA(a2,b1), CAA(a2,b2), CAA(a2,b3), CEA(a2)) +

min( CAA(a3,b1), CAA(a3,b2), CAA(a3,b3), CEA(a3)) +

min( CAA(a4,b1), CAA(a4,b2), CAA(a4,b3), CEA(a4)) +

Distance(Na, Nb) ;

Opération à prévoir :

Figure 8

2.2.1.4. Propagation de contrainte par relaxation

Dans le souci d'éviter la programmation d'une procédure assez complexe, on s'est d'abord demandé s'il n'y avait pas un moyen de résoudre radicalement le problème à l'aide d'un algorithme de relaxation. L'idée consiste à propager itérativement la contrainte de cohérence locale de proche en proche sur les noeuds afin de produire une cohérence globale de l'appariement.

D'une façon concrète, on cherche à faire évoluer à chaque itération la position des noeuds et des points de contrôle des deux formes vers une position correspondant à un graphe intermédiaire virtuel, à l'aide d'une simple loi de transition d'état définie de la façon suivante :

- Deux noeuds sont d'autant plus proches l'un de l'autre que les arcs qui y aboutissent le sont également ;

- Deux noeuds proches s'attirent et deux noeuds éloignés se repoussent.

D'autre part, les liaisons entre les noeuds sont susceptibles d'évoluer. A l'initialisation, elles sont présentes ou absentes entre tous les noeuds du graphe, mais ensuite, elles s'affaiblissent jusqu'à disparaître ou bien se forment entre deux noeuds non reliés initialement, selon l'affinité des configurations des noeuds environnants.

Le critère d'évolution du système consiste à minimiser la somme des distances entre les noeuds des deux formes tout en uniformisant leurs liaisons. La résolution de ce système évoque le problème du voyageur de commerce, dans lequel les villes représentent les noeuds, et les arcs les trajets à accomplir, à la différence que dans notre cas, au lieu d'optimiser un trajet sur l'ensemble des villes à parcourir, on chercherait plutôt à harmoniser et à optimiser les trajets de deux voyageurs de commerce de manière à ce qu'ils puissent utiliser la même voiture.

Nous ne sommes pas parvenu à formuler la loi de transition en tenant compte simultanément de l'évolution des noeuds et de leurs liaisons. Nous avons seulement programmé une loi d'attraction gravitationnelle entre les noeuds du graphe qui permet d'aboutir à une forme stable ; mais puisque les liaisons ne sont pas prises en compte, cela n'apporte pas une meilleure solution que celle déjà obtenue auparavant. De plus, et sans parler du problème théorique de convergence du processus, on remarque que dans notre système la forme intermédiaire qui est obtenue (figure 9) n'est pas exactement au "milieu" des deux graphes car les noeuds éloignés s'attirent également, ce qui entraînera inévitablement un biais dans le coût d'appariement.

Figure 9

2.2.1.5. Synthèse

En formulant le problème de la recherche de l'isomorphisme optimal de graphes comme une recherche exhaustive dans un arbre [YOU 84], la consistance globale de l'appariement est assurée car le critère minimisé porte sur la somme totale des appariements pour toutes les combinaisons possibles.

Cependant, il n'est pas envisageable de procéder aussi de manière combinatoire pour rechercher l'ensemble des fusions de noeuds et d'arcs ou l'ensemble des éliminations ou des fragmentations d'arcs, opérations sans lesquelles on ne peut comparer que des graphes de structures identiques (cf. § 2.1.4.).

Or, on a constaté qu'il était facile de mettre en évidence des similarités de graphes lorsque les structures sont différentes, en appariant l'ensemble des segments de droite composant l'image (cf. § 2.2.1.2.). Le problème est que sur l'ensemble des nombreuses possibilités d'appariement, seules quelques unes sont pertinentes. Par ailleurs, il est sans intérêt de chercher à apparier les segments, éléments de Y dans G', de deux arcs de G indépendamment les uns des autres lorsque ces arcs sont semblables, car la méthode de l'appariement des arcs exposée au paragraphe 2.1.3. est alors plus avantageuse. Cette dernière méthode est plus simple, plus cohérente et fonctionne de façon robuste pour les graphes de structures proches, tout en autorisant implicitement la fusion des noeuds ou des arcs.

Il résulte de ces constats que l'appariement doit être accompli par une recherche à deux niveaux distincts : une première recherche de correspondance évidente sur les chaînes entières de segments, dans G, puis une seconde recherche de similarité de sous-chaînes de segments, que nous allons exposer dans le paragraphe suivant.

La première assure la robustesse de l'appariement pour des structures proches, tandis que la seconde permet de poursuivre en profondeur la recherche, seulement si nécessaire. Cela évite l'explosion combinatoire due au grand nombre de segments de droite qui composent l'image.

2.2.2. Calcul de la distance d'édition entre les arcs

Nous allons définir dans cette étape une distance d'édition entre tous les couples d'arcs possibles des deux formes, sans tenir compte des noeuds extrémités. Pour le calcul de cette distance, nous utilisons une méthode classique [YOU 84] [MICLET 84] [KOHONEN 85] [WAGNER 74] [ABE 82] de mise en correspondance de caractères d'une chaîne linéaire en respectant l'ordre séquentiel. Dans notre cas, les caractères de la chaîne représentent les segments de droite de V qui forment les arcs de U.

Cette méthode suppose définis un coût de substitution de caractères, un coût d'insertion et un coût de destruction pour les caractères dans la chaîne.

Le coût de substitution que nous avons défini dépend d'une part, de la différence d'orientation des segments de droite - différence comprenant la direction et le sens des segments et calculée à l'aide d'un simple produit scalaire - et d'autre part, de la valeur absolue de la différence de leurs longueurs.

Coût d'Orientation :

(v1 et v2 vecteurs unitaires des droites supports de y1 et y2 respectivement)

Coût de différence de Longueur :

où l désigne la longueur du segment.

Le coût global de substitution de deux segments est une combinaison linéaire de CL et CO comprenant une saturation afin de pénaliser les trop grandes différences de longueur quelle que soit l'orientation ou bien les trop grandes différences d'orientation quelle que soit la longueur.

Le coût de destruction d'un segment prend en compte seulement sa longueur. On aurait pu le faire dépendre aussi des orientations des arcs incidents. Le coût d'insertion est égal au coût de destruction.

Pour que cette technique puisse mettre en évidence des similarités entre les chaînes proches d'aspect, mais dont les nombres de segments diffèrent, nous y avons ajouté une procédure de concaténation de segments adjacents en calculant un coût correspondant (figure 10).

Figure 10

Ce coût est simplement la distance d du segment résultant, au point de connexion des deux petits segments à partir desquels il a été formé. Ce coût est nul si la distance d est nulle, mais ce cas ne peut pas être rencontré si l'approximation polygonale des arcs a été accomplie avec succès lors de la construction du graphe structurel [DARGENTON 93].

Le nombre maximum de concaténations successives a été fixé à deux (MAX_CONCAT), donc trois segments au plus peuvent être remplacés par un seul.

Pour 2 arcs chaine[0] et chaine[1], de longueurs respectives long_i et long_j et dont les éléments sont notés chaine[0][i] et chaine[1][j], l'algorithme d'édition de chaînes avec concaténations multiples est récapitulé ci-dessous :

/* Initialisation */

d[0][0]=0 ;

for( i=1 ; i<=long_i ; i++ )

d[i][0]=d[i-1][0] + cout_des_arc(chaine[0][i-1]) ;

for( j=1 ; j<=long_j ; j++ )

d[0][j]=d[0][j-1] + cout_des_arc(chaine[1][j-1]) ;

/* Calcul de la distance d'édition */

for( i=1 ; i<=long_i ; i++ )

for( j=1 ; j<=long_j ; j++ )

{

d1=d[i-1][j-1] + cout_sub_arc(chaine[0][i-1],chaine[1][j-1]) ;

d2=d[i-1][j]   + cout_des_arc(chaine[0][i-1]) ;

d3=d[i][j-1]   + cout_des_arc(chaine[1][j-1]) ;

for( k=0 ; k<MAX_CONCAT ; k++ )

if (i-2-k>=0)

di[k]=d[i-2-k][j-1] + cout_concat[0][i-1][k] +

cout_sub_arc(liste_concat[0][i-1][k],chaine[1][j-1]) ;

for( k=0 ; k<MAX_CONCAT ; k++ )

if (j-2-k>=0)

dj[k]=d[i-1][j-2-k] + cout_concat[1][j-1][k] +

cout_sub_arc(chaine[0][i-1],liste_concat[1][j-1][k]) ;

for( k=0 ; k<MAX_CONCAT ; k++ )

d[i][j]=min(d1,d2,d3,di[k],dj[k]) ;

}

Liste_concat[f][i][k] pointe sur l'indice du segment concaténé i, construit à partir du segment i jusqu'au segment i+k+1, dans la liste de tous les segments concaténés de cette chaîne de la forme f ;

Coût_concat[f][i][k] est le coût de concaténation correspondant.

Lors de la mise au point de cet algorithme, on a tenté d'inclure le coût de translation de chaque extrémité de segment, dans le calcul du coût de substitution ainsi que dans le calcul du coût de destruction. L'expérience a montré que ce coût de translation devant être combiné avec le coût de longueur et d'orientation, les similarités entre les segments étaient alors occultées par ce coût. En affaiblissant la contribution de ce coût par rapport aux deux autres (CL et CO), le problème inverse se manifestait par la détection de ressemblances entre des chaînes opposées dans les deux formes par rapport au cdg, de sorte que la perception des lettres manuscrites en était altérée.

La décision a donc été prise de prendre en compte le coût de translation seulement après le calcul de la distance totale d'édition des deux chaînes, en cumulant la somme des coûts de translation de chaque segment, pondérés par la longueur du segment.

En résumé, pour chaque couple de chaînes, on retient deux coûts distincts qui sont le coût final d'appariement des chaînes (ca) issu du calcul de la distance d'édition, ainsi que le coût final de translation des chaînes (ct). Ces deux coûts seront combinés par la suite en utilisant une pondération et une saturation, de la même manière que dans le calcul du coût final de substitution de segments.

2.2.3. Procédure d'appariement des arcs

Pour accomplir cette étape, on utilise le résultat du calcul de la distance d'édition entre les arcs, dans un sens puis dans l'autre, en ne conservant que le coût le plus faible. Le coût minimum d'appariement de chaque arc des deux formes vers tous les arcs de l'autre forme est mémorisé dans un tableau, avec le sens d'appariement correspondant.

La procédure finale d'appariement des arcs s'effectue en deux étapes. Au cours de la première étape est validé l'appariement de tous les couples de chaînes dont l'une est à la distance minimum de l'autre et réciproquement. Dans la seconde étape, on est donc obligé d'apparier les arcs restants, ceux dont seulement une des deux distances est minimum.

Pour cela, les coûts sont classés dans l'ordre croissant (les coûts des deux formes sont en concurrence) et les couples sont alors validés suivant ce classement afin de commettre le moins possible d'erreurs.

Exceptionnellement, cette procédure est mise en défaut lorsque deux arcs sont réciproquement à la distance minimale l'un de l'autre, mais que l'appariement n'est pas optimal sur l'ensemble du graphe. Cependant, ce problème est résolu en étudiant l'ensemble des permutations de couples d'arcs avec deux autres arcs non appariés qui offrent un coût inférieur à l'appariement réciproque minimal.

Quoiqu'il en soit, ce cas est marginal et la solution adoptée ne modifie pas sensiblement les résultats satisfaisants obtenus.

2.2.4. Recherche des similarités de sous-chaînes

Cette étape constitue la partie sensible de l'ensemble de la méthode d'appariement des graphes structurels. Elle consiste à isoler une partie d'une chaîne, c'est-à-dire une sous-chaîne, qui soit fortement similaire à une (sous-) chaîne appariée au cours de l'étape précédente, alors que le reste des deux chaînes est dissemblable. La recherche des similarités ne s'effectue donc qu'entre des couples de chaînes déjà appariées et non sur l'ensemble de leurs combinaisons. La restriction de cette recherche en profondeur, dans un nombre minimum de cas, offre un compromis intéressant entre l'efficacité et la robustesse de la méthode.

Le succès de l'appariement des graphes dépend beaucoup de la pertinence de la coupure envisagée. C'est pourquoi, on va chercher à maximiser le critère suivant pour chacune des deux chaînes :

"Isoler le maximum de segments consécutifs de faible coût d'appariement dans la première partie de la chaîne, l'autre partie contenant le maximum de segments consécutifs de coût fort."

Pour cela on définit une fonction sur les segments formant les arcs, et l'on cherche à la maximiser. Un arc est formé de N segments et la fonction segment indique le numéro du segment dans l'arc.

Le coût d'appariement, détaillé pour chaque segment, est issu du calcul de la distance d'édition des deux chaînes ; le critère est obtenu à partir des deux indices C1 et C2 suivants :

On note           C1[0] = C1[N] = 0

C2[0] = C2[N] = 0

et                     Ci[s] 0  pour tout i = 1 à 2 et s = 1 à N

Avec :

ca[i] = coût d'appariement des segments[i] correspondant à l'opération numéro i (substitution ou destruction) de la distance d'édition

l[i] = longueur moyenne de ces deux segments (substitution) ou bien d'un seul (destruction).

La fonction calculée est valeur absolue de C1 - C2.

La valeur finale calculée est le maximum de la valeur absolue de (C1[s] - C2[s]) pour s variant entre le premier et le dernier segment N. Soit c_max l'indice du segment s pour lequel l'expression est maximum, on retient aussi C1 final = C1[c_max] et C2 final = C2[c_max].

L'indice du segment s qui rend maximum C1 définit la partie de l'arc qui est similaire dans les deux chaînes. Pour que la coupure soit validée, la longueur de la partie "commune" doit être supérieure à un seuil minimum. Cette partie doit être la plus longue possible par rapport à la chaîne entière.

L'indice du segment s qui rend maximum C2 définit la partie qui est la plus dissemblable entre les deux chaînes et la longueur de la sous-chaîne ainsi construite doit être inférieure à un seuil maximum pour que la coupure soit validée.

Le respect de ces deux conditions assure la pertinence de la coupure qui est alors provisoirement acceptée. Dans le cas contraire, la coupure est ignorée et on passe à la recherche de similarité entre deux autres chaînes appariées.

La possibilité d'une coupure logique de la chaîne en trois parties au lieu de deux a été envisagée en premier lieu, mais cette voie a été abandonnée du fait de la difficulté de l'ajustement du critère de coupure. D'ailleurs, la préférence donnée à une coupure en deux fragments a été justifiée par la suite, grâce à l'application récursive de la procédure en vérifiant que chaque coupure pertinente en deux parties fait baisser le coût d'appariement. Ainsi, la chaîne peut être fragmentée en trois parties, ceci en deux étapes successives.

La suite de la procédure consiste à examiner l'influence de la coupure sur l'appariement des graphes. Pour cela, on recherche, à partir de la distance d'édition, la position de la coupure sur chacune des chaînes originales, et on crée deux nouvelles chaînes, sur les deux formes si nécessaire, tandis que les chaînes originales sont mises en attente.

La procédure d'appariement de chaînes décrite dans le paragraphe 3 est alors appliquée sur ces nouvelles chaînes de la même façon.

La décision finale de coupure est prise en faisant le bilan du coût global d'appariement avant et après la coupure. Si le coût a diminué, la coupure est pertinente et est donc validée. On procède alors à la mise à jour des appariements et les chaînes originales sont abandonnées. Sinon, si le coût a augmenté, la coupure est rejetée et les nouvelles chaînes sont abandonnées.

Dans chacun des graphes des caractères '6', 'A' et 'N' de la figure 2, une diminution du coût d'appariement a été obtenue grâce à une coupure appropriée.

2.3. Détermination de la distance entre les deux graphes

2.3.1. Distance entre les arcs appariés

Au cours des étapes précédentes, on a fait correspondre chaque arc avec un et un seul arc de l'autre forme. Si le nombre d'arcs finalement obtenus, après l'isolation des parties similaires, est différent dans les deux formes, il reste alors des arcs non appariés. Chacun de ces arcs doit être éliminé, à moins que sa fusion avec un arc déjà apparié n'offre un coût moindre que son élimination. A l'issue de cette procédure, l'appariement de tous les arcs est complètement déterminé, et on peut alors définir le coût final d'appariement, que l'on considérera comme une distance entre les arcs. C'est la moyenne des coûts d'appariement des arcs, pondérés par la longueur des arcs.

Le coût d'élimination d'un arc étant proportionnel à sa longueur, celle-ci intervient donc de façon quadratique pour les arcs éliminés.

Cette distance, qui fait intervenir les arcs plutôt que les noeuds est bien significative dans de nombreux cas, mais parfois, la distance définie à partir des noeuds est plus discriminante.

2.3.2. Distance entre les noeuds appariés

Afin d'utiliser des points de référence comparables dans les deux formes, y compris dans le cas de fusion de noeuds, on procède d'abord à la construction des noeuds finals. Ceux-ci sont obtenus par l'examen des arcs appariés réciproquement. Si plusieurs arcs possèdent un noeud commun dans une forme, mais que leurs correspondants n'en ont pas dans l'autre forme, les correspondants sont alors regroupés pour former un seul noeud final prenant la position de leur barycentre.

Les graphes possèdent alors le même nombre de noeuds finals et la distance peut donc être calculée simplement par une mesure de leur déplacement tenant compte des arcs incidents. Le cdg des arcs fournit un point de repère pour les noeuds. Celui-ci a l'avantage d'être plus souple que le cdg global de la forme initiale.

Dans certains cas le coût d'appariement de tous les noeuds ne suffit pas à rendre compte de la divergence des graphes. On fait alors intervenir, en plus, la variation des proportions entre les arcs connectés au noeud dans les deux formes.

La distance finale concernant les noeuds est la somme des coûts de chaque noeud pondérés par l'importance hiérarchique du noeud dans le graphe. Celle-ci est définie par la proportion de la longueur des arcs connectés à un noeud par rapport à l'ensemble des arcs appariés, non compris les arcs éliminés. En effet, ces derniers ne sont pas comparables, par définition, leur contribution à la distance finale serait empirique. On considère le déplacement du noeud à l'extrémité de l'arc éliminé lors de la rétraction de l'arc. Ce coût est additionné avec un coefficient de pondération au coût global d'appariement des noeuds. Un bon réglage est obtenu lorsque le coût d'appariement de deux graphes représentant la même lettre est faible tandis que le coût est fort pour deux lettres différentes.

2.3.3. Exemples de distances entre deux graphes

Les deux coûts que nous avons définis précédemment présentent une certaine complémentarité en fonction de la nature des graphes à apparier.

Le coût des chaînes est plus significatif pour les lettres de faible niveau structurel telles que "GNSZ25", tandis que le coût des noeuds est plus approprié pour distinguer les structures des lettres "KXH" sur la figure 11.

Figure 11

Les deux lignes de coûts suivantes montrent le résultat de l'appariement du graphe de la lettre manuscrite 'K' réalisé avec l'ensemble des lettres de l'alphabet (les trois autres graphes représentés sur la figure 11 sont les trois premiers caractères obtenus dans le classement des coûts) :

Coût relatif aux noeuds :

CN = K¦ 9.6  X¦12.0  H¦17.1  F¦32.7  Y¦36.2  A¦48.4  R¦49.1  E¦50.5  T¦55.4...

Coût relatif aux arcs :

CA = K¦16.0  X¦19.7  H¦21.4  E¦30.1  F¦33.7  Y¦38.7  A¦45.5  T¦70.6  B¦100...

2.3.4. Exemples de similarités détectées

Les trois exemples suivants illustrent des cas typiques de variations observées sur l'écriture manuscrite. Dans l'immédiat, on ne se préoccupe pas de décider si les graphes de chaque couple sont censés représenter la même lettre ; on veut seulement mettre en évidence, grâce à l'appariement de leurs graphes, qu'ils sont proches d'aspect et contiennent des similarités incontestables.

Figure 12a

Figure 12b

Figure 12c

Nous avons montré la transformation continue des deux formes en traçant les arcs reliant les noeuds lorsque ceux-ci sont progressivement interchangés avec leurs correspondants dans l'autre graphe. La fusion de la forme à reconnaître avec la forme apprise modélise en quelque sorte la fonction d'interprétation qui nous semble essentielle au processus de la lecture.

Dans la figure 12a, la présence d'une boucle supérieure commune aux deux graphes a été mise en évidence. Les coûts obtenus sont CN=22,4 et CA=20,3.

La figure 12b illustre le cas de la fusion d'arcs qui se retrouvent dans les hampes dont le tracé est doublé. Les coûts obtenus sont CN=33,0 et CA=20,6.

La figure 12c montre le cas du chiffre '4' qui est remarquable par le fait que la structure des deux caractères présentés est bien distincte alors que leur aspect global est identique, comme l'indique le coût CA=6,1. La fusion des noeuds des deux branches supérieures a cependant permis un coût faible aussi pour les noeuds, soit CN=4,9.

L'objectif de l'appariement, dans ces trois exemples est d'obtenir une distance entre le graphe du caractère modifié et son caractère modèle qui soit inférieure à celles obtenues avec tous les autres modèles.

3. Reconnaissance structurelle de lettres manuscrites

Nous avons montré comment l'appariement permet de déterminer la meilleure "ressemblance" ou correspondance entre deux formes. La reconnaissance, quant à elle, consiste à sélectionner ensuite le (ou les) meilleur(s) appariement(s) réalisé(s) parmi un alphabet de référence.

En premier lieu, nous présenterons la plausibilité de reconnaissance que nous avons définie et son intérêt, en particulier pour déterminer un rejet ; ensuite, nous montrerons comment nous avons confronté plusieurs scores indépendants participant à la reconnaissance. Enfin, nous présenterons un exemple de reconnaissance avec un jeu de caractères appropriés pour illustrer simplement notre méthode structurelle.

3.1. Plausibilité de reconnaissance

La plausibilité de reconnaissance que nous avons définie constitue une estimation de la probabilité de reconnaître un caractère. Elle tient compte non seulement du meilleur score d'appariement, c'est-à-dire le coût le plus faible, mais également de l'écart relatif entre les premiers scores.

Si un écart important distingue nettement le premier, ou le groupe des deux ou trois premiers caractères, du reste de l'alphabet dans le classement, alors on considère que la plausibilité de reconnaissance est élevée.

En revanche, si aucun caractère ne se dégage du lot par un score plus élevé, on considère que la plausibilité est faible.

En normalisant la plausibilité entre 0 et 100, cela permet de définir simplement un rejet de reconnaissance lorsque la plausibilité obtenue est inférieure à un seuil minimal.

Les résultats du calcul de la plausibilité seront illustrés dans l'exemple que nous présenterons au paragraphe 3.3.

3.2. Confrontation de plusieurs scores de reconnaissance

En considérant les contours extérieur et intérieur de chacun des caractères, qui ont été stockés avec le graphe structurel, comme des arcs ordinaires (ce sont précisément des cycles), nous pouvons utiliser exactement le même algorithme d'appariement présenté dans ce chapitre. Nous obtenons ainsi une contribution supplémentaire à la reconnaissance grâce à l'appariement des contours des caractères. Nous appellerons ce troisième coût CC (coût pour le contour).

Pour réaliser pratiquement une synthèse des coûts CN, CA et CC qui conserve la contribution du score de chaque caractère pour chacun de ces trois coûts, nous avons utilisé la plausibilité en guise de poids commun à l'ensemble des caractères pour un coût donné. Ce poids résume en quelque sorte la contribution d'un coût donné au coût final CF. Ce dernier est donc simplement défini pour chaque caractère comme la somme des trois scores pondérés par les trois poids correspondants.

Nous allons maintenant présenter un exemple de reconnaissance dans lequel le détail des contributions et des résultats est visible.

3.3. Exemple de reconnaissance

La méthode a été testée sur un ensemble de caractères bâton (cf. § 1.3.2. Construction des graphes structurels pour l'alphabet en caractères bâton majuscules), ceux utilisés par l'INSA pour la saisie automatique des dossiers d'inscription des étudiants candidats à l'entrée à l'école d'ingénieurs [VINCENT 93]. Pour répondre à une nécessité de rigueur en reconnaissance de caractères manuscrits omniscripteurs, une forte contrainte sur l'écriture a été imposée aux étudiants. Les chiffres '1', '6' et '9' ont été dupliqués du fait du non respect de l'alphabet original par les scripteurs. Deux signes de ponctuation '-' et '/' ont été prévus. La taille des caractères après saisie est d'environ 50 pixels de haut et de large.

Les résultats de la reconnaissance, effectuée sur une dizaine de dossiers de candidature, sont les suivants :

Sur les 466 caractères lus, 461 ont été reconnus, soit un taux de reconnaissance de 98,9% ce qui est comparable avec les 98% pour le système actuel (dont la moitié des erreurs sont dues aux candidats qui ne respectent pas les contraintes de l'alphabet).

Les principales erreurs de reconnaissance rencontrées montrent l'existence d'ambiguïtés sur l'alphabet utilisé, notamment entre les caractères 'A', 'P' et '9' ainsi qu'entre 'N' et 'H'.

L'auto-reconnaissance des lettres de l'alphabet permet d'évaluer l'ensemble des ambiguïtés afin de prévenir les risques d'erreur de reconnaissance, et si nécessaire d'améliorer l'alphabet. En outre, ce test de calibrage a permis de définir la référence de plausibilité grâce à la moyenne des poids (pour le coût final seulement), qui se situe aux alentours de 50 (cf. fichier de plausibilité plus loin).

Exemple de lignes de coûts :

Le nombre maximum de caractères sélectionnés a été fixé arbitrairement à 3. Il peut être ajusté en fonction de l'application.

Un rejet est indiqué par la présence de '?' en premier lieu, même si les trois premiers caractères sont quand même présentés.

1:CN, 2:CA, 3:CC, 4:CF

[P] représente la Plausibilité de chaque coût

1 [P11.9]  PÞ 0.7  O_ 9.2  2_12.3  8_16.4  A_17.6  F_18.5  R_19.6  >P

2 [P14.8]  PÞ 3.9  A_14.6  F_17.2  R_26.4  6_27.5  R_29.2  9_31.0  >P

3 [P18.4]  PÞ 5.0  A_18.2  R_26.8  6_28.0  O_32.3  R_34.0  9_37.9  >P

4 [P19.4]  PÞ 3.5  A_16.9  R_24.8  O_29.2  R_33.5  6_38.0  9_44.2  >P

[1:26.3] [2:32.9] [3:40.8]   (Contribution de chaque coût en %)

1 [P 8.9]  9Þ 7.1  0_13.7  R_17.8  H_18.6  T_21.5  A_22.6  P_22.8  >9

2 [P 6.7]  AÞ28.3  QÞ29.3  9_36.5  P_38.6  R_41.1  4_42.5  B_43.2  >?AQ

3 [P12.3]  AÞ12.7  P_20.1  9_28.7  R_31.8  R_33.5  6_44.3  O_47.0  >A

4 [P11.3]  AÞ19.6  9Þ23.7  PÞ25.4  R_29.6  R_45.4  H_46.7  B_57.0  >A9P

[1:31.8] [2:23.9] [3:44.2]

1 [P12.6]  TÞ 2.9  Y_14.7  +_15.7  6_17.1  O_19.3  S_20.3  1_23.4  >T

2 [P31.9]  TÞ 4.2  +_34.3  I_38.1  Y_40.0  4_45.5  1_47.5  I_56.9  >T

3 [P44.3]  TÞ10.7  Y_57.2  X_60.3  4_63.4  A_ --   B_ --   C_ --   >T

4 [P41.5]  TÞ 7.2  Y_45.0  4_53.2  X_57.7  +_64.5  I_69.8  1_70.3  >T

[1:14.1] [2:35.9] [3:49.9]

1 [P 7.8]  RÞ 7.6  RÞ10.1  XÞ12.4  A_15.6  1_20.2  B_28.2  9_34.9  >RRX

2 [P15.5]  RÞ 9.4  AÞ20.4  RÞ24.4  P_25.4  6_51.0  K_58.2  O_58.4  >RAR

3 [P22.8]  RÞ11.0  RÞ12.0  P_33.5  A_36.9  6_43.3  O_60.3  K_80.4  >RR

4 [P17.4]  RÞ 9.9  RÞ15.8  A_27.7  P_31.1  6_50.5  O_59.7  K_66.9  >RR

[1:16.9] [2:33.5] [3:49.5]

1 [P13.7]  IÞ 5.4  D_18.1  K_19.2  0_22.2  F_22.3  E_27.2  1_28.8  >I

2 [P28.9]  IÞ 4.8  T_30.9  1_33.9  +_40.8  F_42.5  E_51.2  4_52.3  >I

3 [P46.4]  IÞ 3.6  C_32.1  T_61.4  D_61.6  Z_64.8  1_73.2  S_79.3  >I

4 [P46.2]  IÞ 4.3  T_48.0  1_53.6  D_55.9  F_60.4  C_64.4  X_65.1  >I

[1:15.4] [2:32.5] [3:52.1]

1 [P21.7]  CÞ 3.2  G_21.3  F_26.9  L_28.7  6_33.2  E_36.7  Q_38.3  >C

2 [P21.7]  CÞ 3.2  G_21.3  F_26.9  L_28.7  6_33.2  E_36.7  Q_38.3  >C

3 [P31.1]  CÞ 9.4  F_33.1  L_38.5  G_59.7  6_62.9  I_69.8  K_71.0  >C

4 [P25.8]  CÞ 5.8  F_29.5  L_32.8  G_37.3  6_45.6  E_63.1  Q_64.0  >C

[1:29.2] [2:29.2] [3:41.7]

1 [P11.3]  EÞ 3.0  Z_10.5  5_16.0  U_17.5  Q_19.0  6_20.2  T_24.7  >E

2 [P17.8]  EÞ 4.9  6_14.2  2_27.2  B_29.5  6_34.5  F_34.5  P_38.8  >E

3 [P58.1]  EÞ 8.7  2_69.2  K_73.2  G_74.8  I_76.3  5_80.2  6_84.8  >E

4 [P50.0]  EÞ 7.2  2_55.2  K_63.5  5_64.5  6_70.4  C_71.9  6_72.2  >E

[1:12.9] [2:20.4] [3:66.6]

Exemple du fichier de plausibilités :

Les plausibilités sont recadrées entre 0 et 9 grâce à la moyenne des poids justes sur l'alphabet (qui vaut 50).

D9

A4

R7

G7

E9

N9

T9

O4

N5

/9

P4

A2 92 P2

T8

R4 R3

I9

C5

E9

C6

H7

A4 P4 94

T9

I8

L9

L9

O5

N6

/8

T9

H7

O4

U7

E8

T9

79

96

28

08

08

P4

A4

R3 R3

T9

H6

E9

N5

A4

Y5

46

95

98

57

19

89

94

97

M9

09

89

09

15

68

89

F6

X9

X7

47

39

27

Les rejets ont été logiquement ajustés en fonction de la moyenne des poids faux observés initialement pour chaque coût : Rejet_Noeud = 5 ; Rejet_Arc = 8 ; Rejet_Contour = 8 ; Rejet_Final = 10.

Pour la lettre 'P' de "PATRICE", la meilleure discrimination a été obtenue pour le coût CC. C'est donc CC qui a la contribution la plus importante au coût final (40.8% contre 26.3% pour CN et 32.9% pour CA). CN a le poids le plus faible (26.3%) bien que CN('P') soit le coût le plus faible des trois (0.7 < 3.9 et 5.0). La plausibilité finale de 'P', recadrée par rapport à l'alphabet est égale à Partie entière (10 * 19.4 / 50) = 4

Pour la lettre 'A' de "PATRICE", le coût CA est de 28.3, ce qui est assez élevé. La lettre suivante 'Q' arrive juste après avec 29.3. Cette faible discrimination et ce faible score de CA entraîne une faible plausibilité (6.7), qui est inférieure à la plausibilité minimale (Rejet_Arc = 8). Le vote de CA est donc "?AQ". Le vote de CN est faux ('9') mais puisque sa contribution n'est que de 31.8% dans le coût final et que le vote de CC est juste (contribution 44.2%), le vote final est juste quoiqu'indécis "A9P".

Exemple du fichier de résultats :

CLAUDE/ALAIN46RUEALBERTEINSTEIN12345678M220370FXGCULSEBBAN/CORINNE428892FLE

CLAUDE/ALAIN46RUEALBERTEINSTEIN12345678M220370FXGCULSEBBAN/CORINNE?28892FLE

9 9  +    9                                      9H   R H  H

P P       P                                      R

SCHIDIDIER783381274696MHENRY/EMMANUEL6969350LAMULATIEREM150451FAU/FABIENNEB

SCHIDIDIER783381274696MHENRYIEMMANUEL6969350LAMULATIEREM150451FAU/F?BIENNEB

9              /                9                     A

P                     9

R

P138113VEUREY-VOROISE768690OOF21O265FX+XEMPTOZ/HUBERTINSABAT40369621VILLEUR

P138113VEUREY-VOROI?E76869?OOF21O265FX+XEMPTOZ/HUBERTINSABPT40369621VILLEUR

4   R  S     A4        6                    P A

9 O

BANNE72438O96M23059OFX1AKKOUCHE/IMENLISPIBAT50269621VILLEURBANNE72438349XO6

?ANNE72438O96M23059OFX1AKKOUCHE/IMENLI5PIBAT50269621VILLEURBANNE72438349XO6

BP                     9                                    P

R                     P                                    9

O964XX132VINCENT/NICOLEINSABATIMENT4O369621VILLEURBANNE7F12039OX123DARGENTO

O964XX132VINCENT/NICOLEINSABATIMENT4O369621VILLEURBANNE7F12039OX123DARGENTO

9        Q

N/PATRICECHATILLON/THOUET79200PARTHENAY49951899M080168FXX432BRESSTEPHANE696

N/PATRICECHATILLON/THOUET79200PARTHENAY49951899M080168FXX432BRESSTEPHANE696

9 R     P                    R                                    P

P       9                                                         9

21VILLEURBANNEMP

21VILLEURBANNEMP

9P

69

Bilan des résultats :

Coût N°1: CN

Top1:448/466: 96.1%

Top2:450/466: 96.6%

Top3:451/466: 96.8%

Coût N°3: CC

Top1:450/466: 96.6%

Top2:455/466: 97.6%

Top3:456/466: 97.9%

Coût N°2: CA

Top1:453/466: 97.2%

Top2:455/466: 97.6%

Top3:457/466: 98.1%

Coût N°4: CF

Top1:461/466: 98.9%

Top2:463/466: 99.4%

Top3:463/466: 99.4%

Détail des résultats :

Coût N°1  J:451  F: 15

MoyPoidJuste: 19.0  MoyPoidFaux :  8.4

Coût N°2  J:457  F:  9

MoyPoidJuste: 24.1  MoyPoidFaux : 10.7

Coût N°3  J:456  F: 10

MoyPoidJuste: 39.0  MoyPoidFaux : 10.8

Coût N°4  J:463  F:  3

MoyPoidJuste: 37.4  MoyPoidFaux : 13.1

Coût N°1:       Rejet: 10/466:  2.1%

Reco. brute      Top1:448/466: 96.1%  (Rejet ignoré)

Erreurs          Top1: 16/466:  3.4%  (Fautes Non Rejetées)

Justes Rejetées  Top1:  8/466:  1.7%  (Fausses Erreurs)

Fautes Rejetées  Top1:  2/466:  0.4%  (Vraies Erreurs)

Efficacite Rejet Top1:  2/ 10: 20.0%  (Rejet Vraies Erreurs / Rejet)

Reco. nette      Top1:440/466: 94.4%  (Justes - Rej.J.(=FE) : rec car N.Rej.)

Efficacite Reco  Top1:440/456: 96.5%  (Reco nette / nbr car non rejetés)

Reco. brute      Top2:450/466: 96.6%  (Rejet ignoré)

Erreurs          Top2: 14/466:  3.0%  (Fautes Non Rejetées)

Justes Rejetées  Top2:  8/466:  1.7%  (Fausses Erreurs)

Fautes Rejetées  Top2:  2/466:  0.4%  (Vraies Erreurs)

Efficacite Rejet Top2:  2/ 10: 20.0%  (Rejet Vraies Erreurs / Rejet)

Reco. nette      Top2:442/466: 94.8%  (Justes - Rej.J.(=FE) : rec car N.Rej.)

Efficacite Reco  Top2:442/456: 96.9%  (Reco nette / nbr car non rejetés)

Reco. brute      Top3:451/466: 96.8%  (Rejet ignoré)

Erreurs          Top3: 13/466:  2.8%  (Fautes Non Rejetées)

Justes Rejetées  Top3:  8/466:  1.7%  (Fausses Erreurs)

Fautes Rejetées  Top3:  2/466:  0.4%  (Vraies Erreurs)

Efficacite Rejet Top3:  2/ 10: 20.0%  (Rejet Vraies Erreurs / Rejet)

Reco. nette      Top3:443/466: 95.1%  (Justes - Rej.J.(=FE) : rec car N.Rej.)

Efficacite Reco  Top3:443/456: 97.1%  (Reco nette / nbr car non rejetés)

Coût N°2:       Rejet: 10/466:  2.1%

Reco. brute      Top1:453/466: 97.2%  (Rejet ignoré)

Erreurs          Top1:  8/466:  1.7%  (Fautes Non Rejetées)

Justes Rejetées  Top1:  5/466:  1.1%  (Fausses Erreurs)

Fautes Rejetées  Top1:  5/466:  1.1%  (Vraies Erreurs)

Efficacite Rejet Top1:  5/ 10: 50.0%  (Rejet Vraies Erreurs / Rejet)

Reco. nette      Top1:448/466: 96.1%  (Justes - Rej.J.(=FE) : rec car N.Rej.)

Efficacite Reco  Top1:448/456: 98.2%  (Reco nette / nbr car non rejetés)

Reco. brute      Top2:455/466: 97.6%  (Rejet ignoré)

Erreurs          Top2:  7/466:  1.5%  (Fautes Non Rejetées)

Justes Rejetées  Top2:  6/466:  1.3%  (Fausses Erreurs)

Fautes Rejetées  Top2:  4/466:  0.9%  (Vraies Erreurs)

Efficacite Rejet Top2:  4/ 10: 40.0%  (Rejet Vraies Erreurs / Rejet)

Reco. nette      Top2:449/466: 96.4%  (Justes - Rej.J.(=FE) : rec car N.Rej.)

Efficacite Reco  Top2:449/456: 98.5%  (Reco nette / nbr car non rejetés)

Reco. brute      Top3:457/466: 98.1%  (Rejet ignoré)

Erreurs          Top3:  6/466:  1.3%  (Fautes Non Rejetées)

Justes Rejetées  Top3:  7/466:  1.5%  (Fausses Erreurs)

Fautes Rejetées  Top3:  3/466:  0.6%  (Vraies Erreurs)

Efficacite Rejet Top3:  3/ 10: 30.0%  (Rejet Vraies Erreurs / Rejet)

Reco. nette      Top3:450/466: 96.6%  (Justes - Rej.J.(=FE) : rec car N.Rej.)

Efficacite Reco  Top3:450/456: 98.7%  (Reco nette / nbr car non rejetés)

Coût N°3:       Rejet:  8/466:  1.7%

Reco. brute      Top1:450/466: 96.6%  (Rejet ignoré)

Erreurs          Top1: 11/466:  2.4%  (Fautes Non Rejetées)

Justes Rejetées  Top1:  3/466:  0.6%  (Fausses Erreurs)

Fautes Rejetées  Top1:  5/466:  1.1%  (Vraies Erreurs)

Efficacite Rejet Top1:  5/  8: 62.5%  (Rejet Vraies Erreurs / Rejet)

Reco. nette      Top1:447/466: 95.9%  (Justes - Rej.J.(=FE) : rec car N.Rej.)

Efficacite Reco  Top1:447/458: 97.6%  (Reco nette / nbr car non rejetés)

Reco. brute      Top2:455/466: 97.6%  (Rejet ignoré)

Erreurs          Top2:  6/466:  1.3%  (Fautes Non Rejetées)

Justes Rejetées  Top2:  3/466:  0.6%  (Fausses Erreurs)

Fautes Rejetées  Top2:  5/466:  1.1%  (Vraies Erreurs)

Efficacite Rejet Top2:  5/  8: 62.5%  (Rejet Vraies Erreurs / Rejet)

Reco. nette      Top2:452/466: 97.0%  (Justes - Rej.J.(=FE) : rec car N.Rej.)

Efficacite Reco  Top2:452/458: 98.7%  (Reco nette / nbr car non rejetés)

Reco. brute      Top3:456/466: 97.9%  (Rejet ignoré)

Erreurs          Top3:  5/466:  1.1%  (Fautes Non Rejetées)

Justes Rejetées  Top3:  3/466:  0.6%  (Fausses Erreurs)

Fautes Rejetées  Top3:  5/466:  1.1%  (Vraies Erreurs)

Efficacite Rejet Top3:  5/  8: 62.5%  (Rejet Vraies Erreurs / Rejet)

Reco. nette      Top3:453/466: 97.2%  (Justes - Rej.J.(=FE) : rec car N.Rej.)

Efficacite Reco  Top3:453/458: 98.9%  (Reco nette / nbr car non rejetés)

Coût N°4:       Rejet:  5/466:  1.1%

Reco. brute      Top1:461/466: 98.9%  (Rejet ignoré)

Erreurs          Top1:  3/466:  0.6%  (Fautes Non Rejetées)

Justes Rejetées  Top1:  3/466:  0.6%  (Fausses Erreurs)

Fautes Rejetées  Top1:  2/466:  0.4%  (Vraies Erreurs)

Efficacite Rejet Top1:  2/  5: 40.0%  (Rejet Vraies Erreurs / Rejet)

Reco. nette      Top1:458/466: 98.3%  (Justes - Rej.J.(=FE) : rec car N.Rej.)

Efficacite Reco  Top1:458/461: 99.3%  (Reco nette / nbr car non rejetés)

Reco. brute      Top2:463/466: 99.4%  (Rejet ignoré)

Erreurs          Top2:  1/466:  0.2%  (Fautes Non Rejetées)

Justes Rejetées  Top2:  3/466:  0.6%  (Fausses Erreurs)

Fautes Rejetées  Top2:  2/466:  0.4%  (Vraies Erreurs)

Efficacite Rejet Top2:  2/  5: 40.0%  (Rejet Vraies Erreurs / Rejet)

Reco. nette      Top2:460/466: 98.7%  (Justes - Rej.J.(=FE) : rec car N.Rej.)

Efficacite Reco  Top2:460/461: 99.8%  (Reco nette / nbr car non rejetés)

Reco. brute      Top3:463/466: 99.4%  (Rejet ignoré)

Erreurs          Top3:  1/466:  0.2%  (Fautes Non Rejetées)

Justes Rejetées  Top3:  3/466:  0.6%  (Fausses Erreurs)

Fautes Rejetées  Top3:  2/466:  0.4%  (Vraies Erreurs)

Efficacite Rejet Top3:  2/  5: 40.0%  (Rejet Vraies Erreurs / Rejet)

Reco. nette      Top3:460/466: 98.7%  (Justes - Rej.J.(=FE) : rec car N.Rej.)

Efficacite Reco  Top3:460/461: 99.8%  (Reco nette / nbr car non rejetés)

On note que l'efficacité du rejet est maximum pour le coût CC : 5 erreurs figurent parmi les 8 caractères rejetés en tout. Les 3 caractères justes qui ont été rejetés avaient cependant une faible plausibilité.

Ce qui est remarquable, c'est que les résultats obtenus avec l'appariement du graphe et l'appariement du contour sont comparables. Cependant, si le nombre des erreurs est à peu près équivalent (CA = 13 et CC = 16), celles-ci ne correspondent pas aux mêmes caractères. Le cumul des trois coûts permet ainsi de corriger les erreurs liées à une faible plausibilité, ce qui explique que le coût final ne comporte que 5 erreurs. Nous avons ainsi exploité la complémentarité de ces coûts.

En ce qui concerne le temps de reconnaissance, nous signalons qu'il n'est pas significatif étant donné que l'optimisation en vitesse de l'algorithme d'appariement n'a pas été faite. En effet, de multiples opérations redondantes pourraient être évitées (peut-être au détriment de l'espace mémoire), et la totalité du code doit être reconsidérée du point de vue du temps d'exécution. Cela étant précisé, il faut en moyenne pour chaque caractère un peu moins d'une seconde pour construire le graphe, 2 à 3 secondes pour apparier le graphe et quelque 15 secondes pour apparier le contour. Ces temps sont estimés sur un PC 486/33 MHz.

La base de caractères étant trop petite pour estimer avec plus de précision le taux de reconnaissance, il serait souhaitable que l'INSA nous donne accès au nombre très important de dossiers de candidature afin d'approfondir les tests (30 000 dossiers par an depuis 4 ans). Cependant ces dossiers comportent un caractère confidentiel (adresse et N° de téléphone).

Nous ne disposons d'aucun test en reconnaissance sur les caractères minuscules, étant donné le travail considérable qui est nécessaire pour obtenir un résultat sérieux. Seule la construction du graphe structurel a été testée dans ce cas (cf. § 1.3.3.).

Conclusion

Malgré la complexité du problème, nous avons montré que l'appariement de deux graphes structurels quelconques constitue une approche intéressante dans la reconnaissance des caractères manuscrits. Elle permet l'exploitation de toute l'information contenue dans la modélisation, qui est fidèle aux caractères. Le principe de la reconnaissance permet d'une part, une séparation entre les données et leur traitement, et d'autre part, il est adapté à la confrontation de plusieurs scores de reconnaissance indépendants.

Les résultats obtenus sur un ensemble réduit de lettres (caractères bâton majuscules) offrent des perspectives intéressantes en ce qui concerne la reconnaissance des mots manuscrits. La méthode structurelle que nous avons présentée est une approche originale de recherche en largeur sur la lettre, qui est guidée par une hypothèse de lettre a priori. La mise en évidence des ambiguïtés naturelles des lettres manuscrites sous forme d'un classement de proximité associé à une plausibilité constitue une reconnaissance floue qui prend tout son intérêt dans un contexte lexical.

Nous envisageons deux techniques pour entreprendre la reconnaissance structurelle des mots manuscrits, que nous développerons dans le dernier chapitre :

- la première, en construisant le graphe sur toutes les lettres (ou entités proches telles que n-gramme ou tronçon de lettre) que l'on pourra extraire sur le mot ;

- la seconde, en recherchant dans le graphe complet du mot non segmenté des isomorphismes optimaux de sous-graphes de lettres apprises.

Notre objectif est de retenir un alphabet de référence contenant un nombre minimum nécessaire de lettres de référence (en y incluant quelques variantes) pour une application particulière. Nos essais ne nous permettent pas de déterminer comment peut évoluer la discrimination entre les lettres de référence lorsque leur nombre augmente. La reconnaissance est possible tant que la variance interclasses est supérieure à la variance intraclasse (lettre + variantes). Nous estimons que l'approche est validée dans la mesure où la distance entre les graphes rend compte de la différence entre les lettres.

CHAPITRE IV

LES PERSPECTIVES POUR LA RECONNAISSANCE DES  MOTS MANUSCRITS

CHAPITRE IV. LES PERSPECTIVES POUR LA RECONNAISSANCE DES MOTS MANUSCRITS

Dans ce chapitre, l'objectif est de chercher à exploiter les solutions qui ont été trouvées pour les différents problèmes rencontrés. Dans ce but, nous allons dégager de nouvelles perspectives pour la reconnaissance des mots manuscrits, complétant celles que nous envisagions initialement dans les chapitres II et III, soit en étudiant systématiquement les approches compatibles, soit en exploitant l'intérêt particulier de chaque stratégie.

Les trois principales difficultés de la reconnaissance de l'écriture manuscrite qui ont déjà été soulignées sont la modélisation de l'écriture omniscripteur, la recherche de la meilleure stratégie (notamment en ce qui concerne l'efficacité et la fiabilité), et enfin la capacité potentielle d'extension à un vocabulaire plus grand.

Nous avons montré que le graphe structurel étudié au chapitre III constituait une bonne approximation et une modélisation précise des formes étudiées. Sans toutefois résoudre la difficulté du choix des lettres de référence garantissant la représentativité de l'alphabet, nous allons proposer plusieurs systèmes susceptibles d'exploiter la richesse de la modélisation par graphe structurel.

Nous envisageons deux stratégies pour la reconnaissance des mots manuscrits.

- La première est une approche descendante à partir du mot. Elle est bien adaptée à un petit vocabulaire ou à une liste déjà réduite de mots. Il s'agit d'une approche similaire aux méthodes de type M4 ou M3, c'est-à-dire basée sur la reconnaissance des lettres dépendant du mot, ou bien similaire aux méthodes de type M2, c'est-à-dire la reconnaissance du mot indépendamment des lettres.

- La seconde approche est basée sur une méthode de reconnaissance ascendante du mot à partir de ses lettres plus ou moins reconnues. Le principe de cette méthode, que nous appellerons M9, évoque les méthodes utilisées en OCR pour retrouver un mot lorsqu'une lettre n'a pas été reconnue, ou bien pour assurer la simple correction orthographique. En ce qui concerne l'écriture manuscrite, nous envisageons d'étendre ce principe à une séquence de lettres plus ou moins probables. L'objectif est la génération d'hypothèses de mots correspondant au meilleur cumul des probabilités sur ces lettres.

Pour réaliser cette opération, on pense naturellement à un réseau neuromimétique, qui est typiquement approprié pour exploiter des données floues, multiples et incomplètes. Le réseau constitue en quelque sorte une fonction de transfert qui est  une approche purement ascendante, alors que l'utilisation d'un matching est une approche plutôt descendante.

Cette méthode M9 s'appuie sur les méthodes de reconnaissance des lettres indépendamment du mot (méthodes de type M5).

Deux voies sont envisagées pour chacune de ces deux approches. La première est basée sur l'utilisation des graphèmes (M6) et la seconde exploite le graphe structurel du mot dans son intégralité.

1. Les perspectives à partir de la segmentation du mot en graphèmes

Nous envisageons dans cette section, la reconnaissance structurelle des graphèmes dans le but d'une part, d'augmenter la quantité d'information exploitée, et d'autre part, pour remplacer par des scores d'appariement la détermination délicate des coûts de substitution des graphèmes en lettres. La classification des graphèmes peut alors être abandonnée au profit d'une reconnaissance plus fine. Il reste encore le problème de l'exploitation des graphèmes reconnus ; son traitement varie en fonction de l'approche.

Les exemples des systèmes de [MOREAU 91] et de [DELEDICQ 93] prouvent que la segmentation des mots en graphèmes est une voie encore ouverte en dépit des difficultés qu'elle comporte. La principale difficulté est liée à la sensibilité aux variations de la segmentation (cf. Chapitre II § 2.1.). La méthode aboutit parfois à une sous-segmentation, lorsque plusieurs lettres restent collées en l'absence de minimum local du contour. La sous-segmentation pose alors un problème d'apprentissage car les cas dépendent des scripteurs, mais ces cas restent cependant peu nombreux.

Inversement, la sur-segmentation des mots est inévitable, si l'on cherche à réduire la sous-segmentation ! Dans ce cas, deux techniques de recombinaison sont envisageables :

- La première est un prolongement de celle que nous avons déjà présentée au chapitre II § 2., elle est basée sur les séquences de combinaison de graphèmes. C'est une méthode de recombinaison ascendante car indépendante des lettres et des mots ;

- La seconde est une recombinaison descendante car dépendante des lettres et/ou du mot. L'idée est de prendre en charge les combinaisons de graphèmes seulement pendant le calcul de la distance d'édition avec chaque mot. La reconnaissance structurelle n'est donc effectuée que sur les graphèmes isolés, ou bien directement à partir du mot.

1.1. Reconnaissance des combinaisons de graphèmes

Dans un premier temps, on considère l'exploitation de la reconnaissance structurelle sur les combinaisons de graphèmes, telle que nous l'avons conçue au chapitre II § 2.

Les hypothèses de segmentation du mot sont organisées à l'avance en séquences de combinaisons de un à trois graphèmes, et pour chaque combinaison, on construit le graphe structurel. La reconnaissance des combinaisons de graphèmes se fait par la méthode d'appariement M5 (cf. Chapitre III). A ce niveau, comme nous l'avons déjà indiqué, trois possibilités sont envisageables :

- La reconnaissance des lettres dans le mot ;

- La reconnaissance systématique des lettres de l'alphabet indépendamment du mot ;

- La reconnaissance classique puis la reconnaissance structurelle ciblée sur les lettres discriminantes.

1.1.1. Reconnaissance des lettres dans le mot

Cette stratégie s'apparente à la méthode M4, les primitives étant de bas niveau (arcs du graphe structurel), sa complexité est cependant plus grande.

P.B.N. : Primitives de Bas Niveau = arcs du graphe structurel (un arc est ici une séquence de segments de droite)

M4.2 est une variante de M4 (Matching des lettres dans le mot ASCII), en tenant compte des hypothèses exclusives de lettres dues aux graphèmes.

Dans la méthode M4, la segmentation du mot en lettres est implicite, car dépendante du mot a priori ; elle est différente pour chaque mot. On en conclut que la segmentation du mot en graphèmes doit être redondante avec le principe de la méthode M4. Le problème est de déterminer comment contrôler implicitement la segmentation en lettres avec ces primitives. La segmentation du mot en combinaison de graphèmes semble bien plus appropriée pour la génération d'hypothèses de lettres indépendamment du mot.

1.1.2. Reconnaissance des lettres indépendamment du mot

La génération d'hypothèses de lettres indépendantes des mots est obtenue par un appariement systématique de toutes les lettres de l'alphabet, pour chaque position des lettres dans le mot. Ensuite, une méthode M9 exploite les probabilités de chaque lettre pour générer la liste des mots ayant le meilleur cumul.

P.B.N. : Arcs du graphe structurel

M5.3 : Appariement des graphes structurels des combinaisons de 1 à 3 graphèmes

M9 : Reconnaissance ascendante du mot à partir des lettres probables

Pour éclaircir le principe de cette méthode, considérons la reconnaissance du mot "sept" ci-dessous :

La segmentation du mot a abouti à cinq graphèmes et, par leurs combinaisons, quatre lettres potentielles supplémentaires ont été proposées (cf. Chapitre II § 2.). Le graphe de liaison de ces hypothèses, dont on voit que certaines sont exclusives, est le suivant :

La reconnaissance structurelle des combinaisons de graphèmes peut aboutir au graphe suivant, avec, pour chaque lettre potentielle, un score variable compris entre 0 et 9 :

j9

s7

I6

e9

l8

l7

p3

s5

o4

n3

a3

t9

q8

p9

H7

x6

d3

La méthode M9 doit reconnaître le mot sept comme étant le meilleur cumul des probabilités parmi un grand vocabulaire (avec un petit lexique, une méthode combinatoire descendante du mot sera naturellement plus efficace). La difficulté est de tenir compte de l'exclusivité de certaines hypothèses, telles que 'q' et 'p' par exemple.

Pour s'affranchir de cette difficulté, lorsque la méthode classique aboutit à des ambiguïtés entre les mots, on peut restreindre la reconnaissance structurelle en la ciblant sur les seules lettres discriminantes. Ainsi, cette recherche en largeur qui est assez lourde n'est effectuée que lorsque cela est nécessaire, seulement sur les lettres utiles.

1.1.3. Reconnaissance classique et reconnaissance ciblée sur les lettres discriminantes

La reconnaissance classique aboutit naturellement à une liste de mots ambigus (cf. Chapitre II § 2.). Par dichotomie, il est possible de déterminer l'ordre des lettres apportant le plus d'information pour départager ces mots. La reconnaissance structurelle permet alors une reconnaissance fine ciblée sur ces lettres discriminantes. L'intérêt de l'approche est que l'on connaît précisément les combinaisons de graphèmes correspondant à chaque lettre, et que chaque combinaison a été sélectionnée parmi toutes les autres lors de la reconnaissance classique.

M7 : Classification des graphèmes

M5.2 : Appariement des graphes structurels des lettres

Les combinaisons de graphèmes permettent la reconnaissance directe des lettres. Une alternative intéressante consiste, au lieu de prévoir à l'avance l'ensemble des combinaisons possibles, à utiliser une distance d'édition gérant la concaténation des graphèmes isolés (cf. amélioration apportée à la distance d'édition classique chapitre III § 2.2.2.). Ainsi, chaque combinaison est générée seulement au moment de la comparaison avec une lettre.

1.2. Reconnaissance structurelle des graphèmes isolés

Dans cette section, nous considérons la construction du graphe structurel des graphèmes isolés. La reconnaissance par appariement de ces graphes avec ceux d'un jeu réduit de graphèmes élémentaires permettra d'obtenir, indépendamment des lettres et des mots (M5.3), une série de graphèmes probables.

Cette base de codage floue constitue une information bien plus riche pour la reconnaissance des lettres ou des mots que des simples graphèmes. De plus, son utilisation évite la manipulation de primitives de bas niveau pendant un matching de plus haut niveau logique, ce qui offre une meilleure structuration du processus de reconnaissance. Le point délicat de cette stratégie réside dans la conception d'un matching entre ces graphèmes et les lettres ou les mots. Trois solutions sont envisageables pour cette étape supplémentaire.

- Reconnaissance des lettres dans le mot

- Reconnaissance des lettres indépendamment du mot

- Reconnaissance des mots modélisés par les graphèmes

1.2.1. Reconnaissance des lettres dans le mot

La reconnaissance des lettres dans le mot (stratégie M4) est dans ce cas basée sur les graphèmes reconnus (M5.4 : Matching supplémentaire indépendant), et non plus directement sur les graphes structurels des combinaisons de graphèmes. Une concaténation et substitution (par matching) des graphèmes en lettres est effectuée pendant le calcul de la distance d'édition avec chaque mot, en se basant sur les lettres, de manière analogue à la stratégie M4.

Le matching M5.4 constitue une reconnaissance ascendante en largeur des graphèmes, tandis que M4.3 correspond à une reconnaissance descendante en largeur à partir du mot. Du fait de l'utilisation de ces deux matchings successifs, la recherche s'étend en profondeur.

M5.4 : Appariement des graphes structurels des graphèmes isolés

M4.3 : Matching des lettres dans le mot ASCII basé sur les graphèmes isolés

Graphème 1 : Graphème isolé

Gr. 2 : Ensemble des graphèmes de l'alphabet intermédiaire

Gr. 3 : Ensemble des graphèmes de meilleur score

La difficulté de la méthode M4.3 réside dans l'exploitation des probabilités associées à la reconnaissance des graphèmes pour la reconnaissance fine des lettres. Cette reconnaissance implique une représentation des lettres à partir des graphèmes et sous-entend un matching (principe de reconnaissance descendant), ce qui n'est pas compatible avec l'utilisation d'une table de substitution des combinaisons des graphèmes en lettres (principe de classification ascendante). En effet, une table de substitution impliquerait de ne conserver comme reconnu que le graphème de score le plus élevé pour chaque position dans le mot.

Cependant, il semble plus judicieux d'exploiter la richesse d'information, apportée par ces probabilités sur les graphèmes, pour la génération d'hypothèses de lettres indépendamment des mots.

1.2.2. Reconnaissance des lettres indépendamment du mot

Cette stratégie est également basée sur les graphèmes reconnus grâce à la méthode M5.4. La reconnaissance des lettres indépendamment du mot est réalisée par un appariement des lettres avec les graphèmes (M5.5). Un matching M9 permet ensuite d'exploiter ces lettres pour la reconnaissance des mots, de manière analogue à la stratégie présentée au paragraphe 1.1.2.

M5.4 : Appariement des graphes structurels des graphèmes isolés

M5.5 : Matching des lettres ASCII avec les graphèmes isolés

M9 : Matching des mots ASCII avec les lettres ASCII

Graphème 1 : Graphème isolé

Gr. 2 : Ensemble des graphèmes de l'alphabet intermédiaire

Gr. 3 : Ensemble des graphèmes de meilleur score

Cette stratégie de coopération successive d'étapes indépendantes conduit à la génération d'hypothèses de plus en plus évoluées. La reconnaissance est donc progressive et bien structurée. C'est aussi l'approche la plus ascendante, la recherche la plus en profondeur (3 matchings) et la plus combinatoire globalement. Cependant, la recherche en largeur est limitée au niveau des lettres ASCII (probabilité de lettres) pour le mot, elle est limitée au niveau des graphèmes (probabilité de graphèmes) pour les lettres ; les primitives de bas niveau ne sont exploitées que pour la reconnaissance des graphèmes (M5.4).

En dépit des difficultés qu'il comporte, le matching M5.5 (appariement des lettres avec les graphèmes) est une méthode intéressante de recherche pour la génération d'hypothèses de lettres indépendamment du mot.

La principale interrogation porte sur la représentation des lettres à partir des graphèmes. Une forte redondance dans la représentation garantirait la souplesse de reconnaissance des lettres, particulièrement en tenant compte des probabilités des graphèmes. Mais on ne voit que peu de solutions évidentes pour construire un alphabet de lettres basé sur les graphèmes. Cela pourrait éventuellement être obtenu avec un module d'apprentissage à partir d'exemples. D'autre part, la gestion de trois matchings successifs, notamment au niveau de la propagation des probabilités, s'annonce complexe.

Une telle complexité n’est peut-être pas indispensable. En effet, la reconnaissance des mots représentés directement par des graphèmes dans le dictionnaire est une solution qui semble plus simple et elle n’est pas forcément incompatible avec la reconnaissance des lettres, comme nous le verrons plus loin.

1.2.3. Reconnaissance du mot modélisé par les graphèmes

La reconnaissance du mot modélisé par les graphèmes est basée sur une méthode intermédiaire à M2 et M3. Elle ne comporte pas d’objectif intermédiaire de reconnaissance de lettres contrairement à la méthode M4, et les primitives sont proches des lettres mais non dissociables des mots, comme dans la méthode M3.

L’avantage du matching au niveau du mot est sa robustesse (tolérance aux variations de qualité du tracé dans le mot).

M5.4 : Appariement des graphes structurels des graphèmes isolés

M3.2 : Matching du mot codé en graphèmes

Graphème 1 : Graphème isolé

Gr. 2 : Ensemble des graphèmes de l'alphabet intermédiaire

Gr. 3 : Ensemble des graphèmes de meilleur score

La difficulté inhérente à cette méthode est la constitution et l’apprentissage automatique du dictionnaire en graphèmes. L’idée proposée par [LECOLINET 93b] pour résoudre un problème analogue de constitution du dictionnaire dans un système de reconnaissance globale des mots indépendamment des lettres (pour un petit lexique) est la création dynamique du lexique de formes de mots pendant la reconnaissance en utilisant un dictionnaire de codage des lettres du mot. Cependant, le matching reste au niveau du mot entier comme pour M3 et, à la différence de M4, le codage des lettres n’intervient que pour la constitution du dictionnaire. L’intérêt de cette solution réside dans le codage générique au niveau lettre par rapport au codage de chaque mot. En fait, l’efficacité de cette solution peut être améliorée en précalculant la totalité des mots du dictionnaire, au détriment de l’économie de mémoire nécessaire pour coder le dictionnaire.

Les perspectives de reconnaissance du mot à partir des graphèmes font apparaître deux voies intéressantes.

La première est la représentation de chaque lettre de l’alphabet par des combinaisons de graphèmes, ce qui est une approche descendante et nouvelle par rapport à l’approche inverse (codage de chaque combinaison de graphèmes en un ensemble de lettres : approche ascendante).

La seconde est la création automatique d’un dictionnaire de mots codés en graphèmes grâce à la représentation des lettres mentionnée précédemment. Elle permet de bénéficier de la robustesse de la reconnaissance au niveau du mot tout en assurant un codage générique au niveau des lettres.

Cependant, la segmentation implique toujours un risque de perte d’information par fragmentation. Sauf en utilisant un backtracking complexe, cette segmentation est irréversible. La reconnaissance est donc tributaire de la segmentation en graphèmes. Lorsque la qualité de l’écriture diminue (ou dans le cas d’une simple inclinaison), on ne peut prédire dans quelle mesure la redondance et la souplesse de la reconnaissance des graphèmes permettent de récupérer cette information perdue. Or, pour s’affranchir de ce risque, nous avons la possibilité d’exploiter le graphe structurel du mot non segmenté, par exemple par l'appariement de sous-graphes de lettres dans le graphe entier du mot

2. Les perspectives à partir du graphe structurel du mot non segmenté

La reconnaissance du mot n'est plus tributaire de la segmentation en graphèmes, notamment en ce qui concerne la sensibilité à l'inclinaison du mot, ou à l'absence de minimum local de son contour. Même s'il y a encore une segmentation explicite à un niveau inférieur à celui de la lettre (segmentation en arcs), la segmentation en lettres est implicite (reconnaissance des lettres dans le mot) ou hypothétique (reconnaissance des lettres indépendamment des mots). D'une manière analogue à l'utilisation des graphèmes, on envisagera également la reconnaissance globale du mot indépendamment des lettres.

Le niveau de description du mot obtenu directement par le graphe structurel, sans représentation intermédiaire en graphèmes ou autre, est élevé et précis (suivant l'ajustement de l'approximation polygonale). C'est en quelque sorte une représentation brute. Elle rejoint celle obtenue par [LEROUX 91ab] grâce à l'approximation polygonale du squelette et est très proche également de celle obtenue par [TACONET 92] grâce à l'intersection avec l'axe rectiligne du mot.

2.1. Reconnaissance des lettres dans le mot

Ainsi que les deux méthodes basées sur le même principe que nous avons déjà proposé (cf. § 1.1.1. et 1.2.1.), cette méthode suit la stratégie M4 de reconnaissance des lettres guidée par le mot, en une seule procédure d'appariement utilisant un dictionnaire de codage au niveau des lettres.

M4.4 : Matching des lettres dans le mot ASCII basé sur le graphe structurel

A partir de chaque mot hypothétique, on procède à un découpage approximatif de l'image du mot en zones plus ou moins redondantes (fenêtres horizontales se recouvrant). Ce découpage permet d'isoler dans le graphe du mot à reconnaître, les arcs de chaque zone. La reconnaissance consiste alors à rechercher l'isomorphisme optimal de sous-graphes des lettres du mot hypothétique, dans le graphe du mot à reconnaître, qui est momentanément délimité horizontalement en fonction de ses lettres.

Mis à part l'optimisation liée à la méthode M4 (compression du dictionnaire), cette méthode nécessite seulement une adaptation de l'algorithme existant.

De manière analogue à l'utilisation des graphèmes, la recherche descendante des lettres guidée par les mots peut être remplacée par une recherche ascendante systématique des lettres indépendamment des mots.

2.2. Reconnaissance des lettres indépendamment du mot

Cette méthode est également basée sur l'appariement de sous-graphes de lettres dans le graphe du mot non segmenté. Cependant, il n'y a plus de segmentation implicite du graphe du mot en zones correspondant à la largeur des lettres du mot hypothétique. Cette fois, on va apparier systématiquement chaque graphe des lettres de l'alphabet à différentes positions dans le graphe du mot. Pour limiter la complexité de cette recherche exhaustive, on restreint l'appariement sur une fenêtre horizontale qui parcourt de proche en proche tout le mot. Le réglage de la largeur de cette fenêtre est délicat, car elle doit être supérieure à la largeur d'une lettre, mais pas trop afin d'éviter que le coût d'appariement ne soit trop élevé.

La reconnaissance du mot à partir des lettres est basée sur le matching M9 déjà présenté auparavant.

M5.2 : Appariement des graphes structurels des lettres

M9 : Matching des mots ASCII avec les lettres ASCII

La difficulté de l'application du matching M9 dans ce cas repose sur le calcul d'un classement de probabilités alors que les lettres ne se situent pas exactement à la même position dans le mot, les hypothèses étant plus ou moins exclusives. En effet, puisque le mot n'est plus segmenté une fois pour toutes avant la reconnaissance, on aboutit à une segmentation floue (dépendante de la reconnaissance des lettres) du mot en un ensemble de lettres. La position de chacune de ces lettres, ou bien seulement leur ordre, sera pris en compte dans le matching, éventuellement en autorisant dans certains cas la permutation des lettres de positions voisines.

Dans les deux cas de l'appariement de sous-graphes de lettres dans celui du mot (cf. § 2.1. et 2.2.), on note l'importance de la fenêtre horizontale pour la réussite du matching des lettres, ce qui montre la sensibilité de l'approche. En utilisant le matching directement au niveau du graphe entier des mots, sans utiliser les lettres, on réduit l'importance de cette fenêtre horizontale à un simple réglage destiné à réduire la complexité, sans autres conséquences.

2.3. Reconnaissance du mot indépendamment des lettres

Le principe de la reconnaissance structurelle globale des mots est simplement l'appariement des graphes des mots entiers. La stratégie est typiquement celle de M2 (approche descendante du mot et recherche combinatoire en largeur), même si, nous l'avons déjà indiqué pour la reconnaissance directe des mots codés en graphèmes, le dictionnaire de graphes des mots peut être précalculé à partir d'un alphabet de graphes de lettres de référence.

M2.2 : Appariement des graphes structurels des mots entiers

La taille du vocabulaire que l'on peut utiliser dans cette stratégie dépend des performances obtenues. Sauf amélioration, notamment mais pas seulement, de la réduction de la complexité d'appariement au moyen d'une fenêtre horizontale (voir précédemment), cette approche est à réserver à un vocabulaire de petite taille.

A l'instar des méthodes que nous avons proposées à partir de la segmentation en graphèmes, la principale difficulté de la reconnaissance de l'écriture basée sur le graphe du mot non segmenté réside dans la représentativité de l'alphabet manuscrit pour le cas omniscripteur. Que cela soit pour la reconnaissance des lettres ou bien pour la reconnaissance du mot entier, dans les deux cas, l'utilisation de l'appariement structurel ne nécessite qu'une adaptation de l'algorithme déjà existant. Elle consiste à restreindre l'appariement à l'intérieur d'une fenêtre horizontale afin d'éviter de comparer inutilement des zones sans correspondances dans les mots, ou bien pour réduire la complexité de la recherche de sous-graphes de lettres dans le graphe du mot.

3. Récapitulatif des méthodes et des perspectives pour la reconnaissance des mots manuscrits

Méthodes

Objectifs

M1 : Classification du mot

M2 : Matching global du mot, indépendamment des lettres

M2.2 : Appariement des graphes structurels des mots entiers

Reconnaissance du mot indépendamment des lettres

M3 : Matching du mot lié aux lettres

M3.2 : Matching du mot codé en graphèmes

Reconnaissance du mot liée aux lettres

M4 : Matching des lettres dans le mot ASCII,

utilisation d'un dictionnaire de codage des lettres

M4.2 : Matching des lettres dans le mot ASCII,

en tenant compte des hypothèses exclusives de lettres

M4.3 : Matching des lettres dans le mot ASCII basé sur les graphèmes isolés

M4.4 : Matching des lettres dans le mot ASCII basé sur le graphe structurel

Reconnaissance des lettres dans le mot

M5 : Matching de la lettre avec les primitives de bas niveau (P.B.N.)

M5.2 : Appariement des graphes structurels des lettres

M5.3 : Appariement des graphes structurels des combinaisons

de 1 à 3 graphèmes

M5.5 : Matching des lettres ASCII avec les graphèmes isolés

Reconnaissance des lettres indépendamment du mot

M5.4 : Appariement des graphes structurels des graphèmes isolés

Reconnaissance des graphèmes indépendam-ment des lettres et du mot

M6 : Segmentation du mot en graphèmes

M7 : Classification des graphèmes

M8 : Matching des séquences de graphèmes avec les lettres dans le mot ASCII

utilisation d'une table de substitution des

combinaisons de 1 à 3 graphèmes en lettres

Reconnaissance du mot liée aux lettres, à partir des graphèmes

M9 : Reconnaissance ascendante du mot à partir des lettres probables

Reconnaissance ascendante du mot à partir des lettres probables

Les perspectives pour la reconnaissance des mots manuscrits

1. Les perspectives à partir de la segmentation du mot en graphèmes

1.1. Reconnaissance des combinaisons de graphèmes

1.1.1. Reconnaissance des lettres dans le mot

1.1.2. Reconnaissance des lettres indépendamment du mot

1.1.3. Reconnaissance classique et reconnaissance ciblée sur les lettres discriminantes

1.2. Reconnaissance structurelle des graphèmes isolés

1.2.1. Reconnaissance des lettres dans le mot

Graphème 1 : Graphème isolé

Gr. 2 : Ensemble des graphèmes de l'alphabet intermédiaire

Gr. 3 : Ensemble des graphèmes de meilleur score

1.2.2. Reconnaissance des lettres indépendamment du mot

1.2.3. Reconnaissance du mot modélisé par les graphèmes

2. Les perspectives à partir du graphe structurel du mot non segmenté

2.1. Reconnaissance des lettres dans le mot

2.2. Reconnaissance des lettres indépendamment du mot

2.3. Reconnaissance du mot indépendamment des lettres

4. Détermination de la stratégie de reconnaissance

La diversité des nombreuses stratégies que nous avons présentées dans les perspectives (cf. § 1 et 2) ainsi que dans le chapitre I (cf. § 3.) montre que la reconnaissance de l'écriture manuscrite est un problème ouvert, en dépit du fait que des systèmes spécialisés soient déjà commercialisés. Comment la stratégie est-elle déterminée ? C'est la question que nous traiterons dans ce paragraphe. Le choix de la stratégie est déterminé en partie par les conditions spécifiques de l'application qui, dans le cadre de la reconnaissance omniscripteur hors ligne, sont les suivantes :

- étendue du vocabulaire et étendue de l'alphabet ;

- contraintes d'écriture ;

- redondance de l'information ;

- application en temps réel ou non limité ;

- taux d'erreur tolérable.

Une fois les conditions précisées, l'objectif de la reconnaissance est de retrouver l'information manquante (cf. Chapitre I) par l'intermédiaire du tracé de l'écriture. Pour cela, des hypothèses doivent être émises, et certaines seront ensuite vérifiées. Quelles hypothèses doit-on émettre et à quel niveau ? Comment utiliser la connaissance a priori pour réduire le risque d'erreur ? Quelle est la stratégie que chacun exploite machinalement au cours de la lecture ? Pour tenter de répondre à ces questions, nous allons dans un premier temps mettre en évidence certaines similitudes intéressantes que l'on constate dans des problèmes en apparence différents, afin de faire ressortir ainsi l'analogie de leurs solutions.

4.1. Similitude des approches à différents niveaux

On remarque une similitude du procédé de la reconnaissance au niveau du mot et au niveau de la lettre. La reconnaissance de lettres par appariement de graphes structurels que nous avons proposée au chapitre III est une méthode combinatoire descendante au niveau de la lettre (M5). Cette approche est comparable avec l'approche en deux étapes qui caractérise la méthode M4 de reconnaissance des lettres dans le mot.

Dans les deux cas, la reconnaissance est entièrement dépendante de l'hypothèse du mot (M4) ou de la lettre (M5) qui est faite à l'origine. La différence sensible est que dans la méthode M5, la lettre est représentée par un graphe 2D de relation entre les arcs, tandis que dans la méthode M4, les mots sont représentés par une séquence 1D de lettres.

4.2. Analogie de stratégie dans des problèmes divers

Les deux stratégies opposées ascendante et descendante dans la reconnaissance des mots manuscrits présentent des similitudes intéressantes avec certains problèmes divers. Par exemple, la reconnaissance d'un cube en trois dimensions dans une scène en deux dimensions (cas de la vision monoculaire ou bien d'un schéma tracé dans un plan) peut suivre l'une ou l'autre des deux recherches suivantes :

- la recherche ascendante consiste à extraire des segments de droite, puis à envisager toutes les interprétations possibles à partir de ces segments dans l'espoir de retrouver une forme connue ;

- la recherche descendante, quant à elle, consiste à considérer l'ensemble des hypothèses de formes connues en analyse de scène, en deux dimensions (carré, rectangle, triangle, cercle...) puis en trois dimensions (cube, pyramide, sphère...), et de vérifier successivement si chacune coïncide avec l'image numérique brute. Dans cette approche, on peut vérifier la présence d'un segment de droite ou de courbe que l'on n'aurait peut-être pas retenu ou détecté dans une approche ascendante.

Les deux approches peuvent également être considérées dans le jeu des échecs pour trouver le coup suivant :

- la recherche ascendante consiste à examiner la situation actuelle puis à déterminer le meilleur coup à jouer à partir de celle-ci, en considérant le maximum d'hypothèses successives de coups. Il s'agit d'une approche fortement combinatoire, à moins d'adopter une stratégie pour réduire le nombre de branches de possibilités intéressantes à explorer, ce qui est délicat ;

- la recherche descendante consiste à élaborer un plan progressivement au cours de la partie. A chaque coup on évalue la probabilité de réussir le plan à partir de la situation actuelle, afin de choisir le moment propice pour le réaliser, sinon on réajuste éventuellement le plan.

Ces exemples montrent bien que, la plupart du temps, c'est un compromis entre les deux approches qui est effectivement réalisé. La nature de l'analogie que nous souhaitons mettre en exergue en présentant ces problèmes repose sur l'importance déterminante qu'entraîne l'utilisation de la connaissance a priori sur la stratégie de leur résolution.

4.3. Les hypothèses et la connaissance a priori

La connaissance a priori est représentée par les hypothèses émises avant la phase d'extraction de l'information. Dans la reconnaissance de formes 3D projetées dans le plan que nous avons vue précédemment, le niveau de ces différentes hypothèses est par exemple gradué de la façon suivante :

- alignement de points,

- segment de droite ou arc curviligne,

- configuration de plusieurs traits (intersection, jonction...),

- graphe de forme 2D,

- graphe de forme 3D projeté en 2D.

C'est à partir de la connaissance du domaine, que l'on décide du niveau judicieux de l'hypothèse à choisir :

- nombre de formes possibles,

- dimension des formes : 2D ou 3D,

- taille des formes : variable, fixe, connue ou inconnue,

- agencement autorisé des formes dans le plan ou l'espace,

- degrés de déformation des formes de base,

- effet des perspectives, projections, orientations, occultations...

De manière analogue, le niveau de l'hypothèse a priori est gradué pour la reconnaissance des mots manuscrits :

- segment de droite ou arc curviligne,

- classe de lettres (graphème),

- lettre,

- mot.

Cette graduation correspond à la recherche d'une entité sémantique minimale, dont le choix, déjà déterminé en partie par les conditions de l'application (voir précédemment), est guidé par la connaissance du domaine :

- nombre de lettres, de mots possibles,

- degrés de variation du tracé, variante de lettre, abréviation de mot,

- syntaxe et sémantique des phrases ; propos du texte.

Ce dernier point est important pour la génération d'hypothèses de mots et donc de lettres.

Examinons maintenant plus en détail la manière dont la stratégie de recherche est guidée par la connaissance du domaine. Nous traiterons d'abord de la valeur informante des hypothèses.

4.4. Les hypothèses de primitives et la quantité d'information

Nous avons vu dans le paragraphe précédent que l'hypothèse émise avant l'étape d'extraction de l'information représente une connaissance a priori. Cette hypothèse est émise en fonction de la connaissance du domaine. L'argumentation que nous allons exposer est que chaque primitive extraite véhicule une certaine quantité d'information proportionnelle à la valeur de l'hypothèse a priori.

Pour étayer cette argumentation, nous emprunterons quelques principes élémentaires de la théorie de l'information. Celle-ci nous intéresse dans la mesure où le mot informer a pour étymologie "donner une forme". Le premier principe que nous utiliserons stipule que la valeur d'une information réside dans sa probabilité d'apparition. Elle est d'autant plus intéressante qu'elle est moins probable (c'est l'effet "scoop"). Ainsi, certaines hypothèses sont plus informantes que d'autres lorsqu'elles sont vérifiées, c'est-à-dire lorsque la primitive correspondante est identifiée. Cependant, la probabilité d'identification est d'autant plus faible ! Il y a donc un compromis sur la quantité d'information à choisir, et le choix d'un bon compromis garantit la pertinence de l'hypothèse pour la reconnaissance.

La quantité d'information misée croît avec le niveau de la primitive hypothétique. Plus ce niveau est élevé, plus l'identification de la primitive nécessite une grande quantité d'information et plus elle en apporte. En revanche, le risque d'erreur d'identification est plus élevé en raison de l'incertitude et de l'ambiguïté.

Par exemple, l'information de la présence d'une primitive de bas niveau, telle qu'un segment de droite dans l'image d'un mot, est une hypothèse facile à vérifier car une faible quantité d'information est nécessaire pour identifier un segment. Son identification est fiable et peu risquée. En revanche cette information n'apporte que peu à la reconnaissance du mot et il est nécessaire de miser un grand nombre de fois avant de pouvoir identifier le mot. Cette approche correspond à une recherche en largeur.

Tandis que l'hypothèse de la présence d'une primitive de plus haut niveau, telle qu'un graphème dans l'image d'un mot, est une hypothèse plus difficile à vérifier. L'identification du graphème nécessite une plus grande quantité d'information, aussi est-elle plus délicate car plus risquée (risque d'erreur de classification). Cependant, si l'hypothèse se vérifie, la reconnaissance du mot sera plus avancée et un petit nombre de mises suffira pour identifier potentiellement le mot, éventuellement avec une certaine ambiguïté. Cette approche correspond à une recherche en profondeur.

En résumé, nous dirons que miser directement sur des hypothèses de lettres (graphèmes) est potentiellement plus informant mais plus risqué. Reconnaître, c'est en quelque sorte miser sur des hypothèses et les vérifier ensuite par l'identification des primitives. Le choix de la stratégie de reconnaissance consiste alors à optimiser le gain d'information en minimisant la prise de risque correspondant à la mise.

4.5. Minimisation de la prise de risque

La prise de risque est liée à l'irréductible principe d'incertitude ; on ne peut jamais être absolument sûr qu'une lettre ou un mot soit reconnu. La perte d'information laisse toujours subsister une incertitude plus ou moins élevée. Le manque d'information peut causer une ambiguïté de reconnaissance. En outre, dans certaines applications, l'apparition d'un mot nouveau doit entraîner la non-reconnaissance (rejet) des autres mots proches, ce qui implique de tenir compte de l'échec normal de la reconnaissance. La difficulté de ce cas consiste à considérer également les fautes d'orthographe ou les abréviations, et il est important de détecter les noms propres. La différence essentielle entre les hypothèses de mots et les hypothèses de lettres réside dans le caractère définitif du nombre de lettres de l'alphabet : la probabilité d'apparition d'une lettre nouvelle est nulle dans le cas normal de la reconnaissance de l'écriture.

Cependant, la certitude n'est pas toujours indispensable. Il suffit de distinguer clairement les hypothèses des faits en utilisant le principe de la reconnaissance floue. D'ailleurs, le paradoxe de la segmentation n'a-t-il pas justement pour origine la confusion entre les lettres reconnues avec les hypothèses initiales de lettres dans le mot ? Le degré d'une hypothèse est gradué par la probabilité de confirmation de cette hypothèse, au lieu d'un simple attribut binaire inexploitable car trop risqué.

L'utilisation de plusieurs sources indépendantes d'information permet alors d'augmenter la probabilité de l'hypothèse. En effet deux méthodes indépendantes aboutissant à un résultat identique confortent ce résultat.

L'intérêt de la reconnaissance floue est de propager l'incertitude sur les lettres vers les mots et éventuellement les phrases et ainsi de lever une ambiguïté à un niveau plus élevé, plutôt que d'avoir à récupérer des erreurs de classification initiales.

Un système de reconnaissance est fiable à partir du moment où il ne commet pas plus d'erreurs que le taux spécifié à l'avance. Ce taux d'erreur résulte du compromis entre le taux de reconnaissance qui est souhaité et le taux de rejet correspondant. Le nombre d'erreurs commises ensuite n'empêchera pas le système de reconnaissance d'être rentable, par comparaison avec une reconnaissance humaine, surtout si la vitesse de reconnaissance est bien supérieure.

4.6. La stratégie humaine de la reconnaissance de l'écriture

Dans la stratégie humaine de la reconnaissance de l'écriture, la connaissance a priori est très importante. Nous en distinguons trois types :

- La connaissance a priori d'un niveau supérieur ou égal au mot (K1)

Il s'agit des connaissances lexicales (dictionnaire de mots), syntaxiques (grammaire de la succession correcte des mots) et sémantiques (sens des mots et des phrases) ainsi que la compréhension du propos du texte.

- La connaissance a priori d'un niveau entre le mot et la lettre (K2)

Il s'agit des connaissances sur les racines de mot, les suffixes et les préfixes, issues du domaine de l'étymologie des mots, ainsi que de la connaissance des n-grammes fréquents, des syllabes mais aussi des connaissances sur l'importance des indices visuels susceptibles de distinguer des mots (par exemple les lettres clefs du mot).

- La connaissance a priori d'un niveau inférieur ou égal à la lettre (K3)

Il s'agit de la modélisation du tracé des lettres (éventuellement des variantes de lettres), des transitions entre les lettres du mot (influence inter-lettres)

La contribution de chacune de ces connaissances peut être organisée de la manière suivante sur ce schéma.

L'argumentation que nous soutiendrons est basée sur le modèle de déplacement par saccades du point de visée de l'oeil sur les mots d'une phrase. Dans ce modèle de lecture est soutenue l'idée d'une fenêtre horizontale de visée à résolution variable autour de la fovéa. "L'information lexicale délivrée par les premières lettres du mot parafovéal est intégrée par le système responsable du calcul des coordonnées du point de visée de l'oeil dans le mot".

La zone parafovéale apporte des indices visuels globaux sur le mot autour du point de visée. Si ceux-ci ne permettent pas la reconnaissance du mot visé, l'oeil décale par une saccade proche du point de visée. Sinon la saccade sera plus éloignée. La succession de petites saccades correspond à une lecture lente et attentive, tandis que les grandes saccades coïncident avec une lecture rapide.

L'utilisation de la connaissance a priori d'un niveau inférieur ou égal à la lettre (K3), est exploitée pour la fonction d'interprétation des hypothèses de mots et de lettres à partir du tracé. Cette interprétation a pour but d'évaluer la plausibilité que le tracé relevé soit une déformation de l'hypothèse générée. C'est précisément cette fonction que nous avons modélisée dans la reconnaissance par appariement de graphes structurels dans le chapitre III (transformation continue entre deux graphes appariés).

Lorsque l'interprétation des hypothèses aboutit à la reconnaissance probable du mot, celui-ci est intégré à la connaissance au niveau supérieur du mot (K1), et une étape de vérification syntaxique est ensuite effectuée. Ce traitement est en dehors du domaine propre de la reconnaissance des mots manuscrits, car il appartient au domaine de l'analyse automatique du langage et est d'ailleurs commun avec la reconnaissance de la parole.

Lorsque l'interprétation des hypothèses n'aboutit pas à la reconnaissance d'un mot, soit parce que l'ambiguïté est trop importante ou la probabilité trop faible, alors une nouvelle étape d'extraction de l'information plus précise est effectuée, avec éventuellement un changement de méthode.

La stratégie humaine de la lecture se résume à augmenter la quantité d'information à extraire, tant que le mot (ou la lettre) n'est pas reconnu (et avec suffisamment de certitude).

L'intérêt de cette stratégie est multiple. D'une part, elle garantit l'exploitation du maximum d'information présente nécessaire à la reconnaissance, compte tenu de la connaissance a priori K1. D'autre part, lorsque la quantité d'information disponible est réduite, la mauvaise qualité de l'écriture pénalise la reconnaissance seulement lorsqu'il y a ambiguïté sur le mot.

L'efficacité de la reconnaissance (gain de temps) est obtenue en ordonnançant la recherche par les hypothèses les plus probables. En effet, les mots les plus fréquents sont plus facilement activables.

Tout lecteur est capable de déterminer lorsqu'un mot est nouveau, même si parfois le mot nouveau interfère avec des mots proches déjà connus. Autrement dit, il sait ne pas reconnaître et dispose de critères d'illisibilité. D'autre part, l'estimation d'une plausibilité de reconnaissance lui permet d'évaluer la cohérence des hypothèses de reconnaissance.

Conclusion

L'analyse de la stratégie humaine de la lecture montre que, outre les connaissances du domaine de l'écriture (K1, K2 et K3), le lecteur utilise des métaconnaissances, c'est-à-dire des connaissances sur ses connaissances, telles que leur étendue et leurs qualités. Elles lui permettent d'estimer les fréquences, les discriminations, les nouveautés et les plausibilités. Ces métaconnaissances garantissent la performance de la lecture. Or, en ce qui concerne l'ordinateur, l'utilisation de la connaissance a priori pour la reconnaissance se limite à l'analyse de la syntaxe. En effet, la compréhension du texte semble échapper presque complètement à l'intelligence "mécanique". Cependant, lire et reconnaître l'écriture est une tâche moins difficile que comprendre un texte.

Dans notre contribution à la reconnaissance de l'écriture manuscrite, nous avons montré comment exploiter une partie des métaconnaissances accessibles à l'ordinateur. Nous avons exploité le principe de la reconnaissance floue au lieu de la classique reconnaissance binaire (Oui / Non). En particulier, nous avons déterminé une plausibilité de reconnaissance qui rend compte de l'interprétation des déformations du tracé (cf. Appariement Structurel Chapitre III). Cette exploitation des connaissances incertaines, par le cumul d'indices et de vraisemblances, permet de propager des hypothèses ou des incertitudes à un niveau plus élevé de la reconnaissance, afin de les vérifier.

La limite de l'ordinateur est la compréhension, mais ses points forts, qui sont la capacité et la fidélité de sa mémoire, sa rapidité et sa capacité calculatoire, le destinent à une stratégie de recherche beaucoup plus combinatoire que celle de l'homme. L'ordinateur peut avoir la connaissance exacte et précise de l'ensemble des hypothèses. Par exemple, pour la reconnaissance d'une ordonnance médicale, la liste de tous les médicaments en mémoire lui permettra une génération d'hypothèses plus complète que celle d'un humain novice. D'autre part, l'ordinateur a la possibilité de calculer la lisibilité minimale que doivent avoir les mots pour discriminer l'écriture des médicaments.

En conclusion, on peut envisager dans un proche avenir que l'ordinateur atteindra des performances égales ou supérieures à l'homme dans la reconnaissance de l'écriture manuscrite omniscripteur hors ligne, dans tous les cas où la compréhension du texte n'est pas indispensable, en particulier dans les domaines très spécialisés.

CONCLUSION

La démarche méthodologique qui a guidé notre travail tout au long de cette thèse peut être synthétisée en trois étapes d'égale importance :

1°) Etude et synthèse bibliographiques

2°) Implémentation de méthodes classiques

3°) Conception et réalisation de méthodes originales

Dans la première étape, notre étude bibliographique nous a amené à relever quelques analogies ou similitudes dans les principes de divers systèmes de reconnaissance. Cette étude a constitué un aperçu de la problématique de la reconnaissance de l'écriture manuscrite. Le passage de la théorie à la pratique s'est effectué grâce à l'implémentation de méthodes classiques. En effet, la confrontation directe avec un certain nombre de problèmes pratiques, qui n'apparaissent pas toujours dans une étude théorique, nous a amené à approfondir la problématique. Ce travail a été favorable à la conception de méthodes originales.

Par exemple, l'implémentation d'un algorithme d'extraction des composantes connexes nous a permis de concevoir une nouvelle méthode de segmentation systématique. D'autre part, le développement d'une méthode de reconnaissance par les graphèmes a mis en évidence les ambiguïtés au niveau des lettres. Enfin, la réunion d'une méthode de squelettisation d'images à niveaux de gris, d’une méthode d'érosion par masques et d’une autre méthode de suivi de contour, a abouti à un squelette d'un pixel d'épaisseur, qui est une représentation fidèle des caractères.

Cette démarche nous a amené à réaliser deux nouvelles méthodes complémentaires :

* La première est une méthode originale de segmentation "harmonique" et "polaire" dont l'intérêt est d'obtenir des informations réparties qui sont naturellement exploitées dans la lecture. Il s'agit de distributions statistiques liées à l'épaisseur, la densité, la régularité, la périodicité, l'alignement et les directions privilégiées de l'écriture (diverses inclinaisons).

* La seconde est une méthode de reconnaissance par appariement de graphes structurels. L'exploitation des graphes, qui sont une contribution à la modélisation de l'écriture manuscrite, a abouti à une approche descendante au niveau de la lettre. Le principe du guidage de la reconnaissance est analogue à une approche descendante au niveau du mot. La méthode de reconnaissance par appariement, qui offre une séparation complète entre la méthode et les connaissances, a conduit à la modélisation de la fonction d'interprétation, qui est une fonction cognitive importante de la lecture. D'autre part, nous avons montré par un exemple concret que cette approche est compatible avec l'exploitation du principe de la reconnaissance floue ainsi que la confrontation de plusieurs sources de reconnaissances complémentaires et indépendantes au niveau de la lettre.

Suivant notre démarche, nous avons abouti à une ouverture vers de nouvelles perspectives de recherches intéressantes.

REFERENCES BIBLIOGRAPHIQUES

[ABE 82] ABE, K. and SUGITA, N. Distances between strings of symbols - review and remarks. Proceedings of the Sixth International Conference on Pattern Recognition, Munich, Germany, 19-22 Oct. 1982, Vol. 1, p. 172-174 ;

[d'ACIERNO 91] d'ACIERNO, A., De STEFANO, C. and VENTO, M. A Structural character recognition method using neural networks. ICDAR-91, First International Conference on Document Analysis and Recognition, Saint Malo, France, 30 Sept.-2 Oct. 1991, Vol. 2, p. 803-811 ;

[AHYAN 80] AHYAN, I. La reconnaissance de l'écriture cursive : une approche structurelle par apprentissage en temps réel. Thèse de 3e cycle, Math. informatique, Univ. Pierre et Marie CURIE Paris 6, Nov. 1980, 147 p. ;

[AOKI 86] AOKI, K. and YAMAYA, Y. Recognizer with learning mechanism for handwritten script English words. Proceedings of the Eighth International Conference on Pattern Recognition, Paris, Oct. 1986, p. 690-692 ; CH 2342-4/86/0000/1986 IEEE ;

[AUTRET 91] AUTRET, Y. et SOLAIMAN, B. Association d'une méthode connexionniste et d'une méthode structurelle pour la reconnaissance des chiffres manuscrits. Actes du 8e congrès AFCET-RFIA, Lyon-Villeurbanne, 27-29 Nov. 1991, Vol. 2, p. 719-730 ;

[BACKER 87] BACKER E., GERBRANDS J.J. Inexact graph matching used in machine vision. NATO ASI Series. Vol. F30, Pattern Recognition Theory and Applications, Edited by P.A. Devijver and J. Kittler, Berlin Heidelberg : Springer-Verlag, 1987, p. 347-356 ;

[BADIE 82] BADIE, K. and SHIMURA, M. Machine recognition of Roman cursive scripts. Proceedings of the 6th International Conference on Pattern Recognition, Munich, Germany, 19-22 Oct. 1982, Vol. 1, p. 28-30 ; CH 1801-0/82/0000/1982 IEEE ;

[BELAÏD 92] BELAÏD, A. et BELAÏD, Y. Reconnaissance des formes : méthodes et applications. Paris : InterEditions, 1992, 429 p. ;

[BERCU 92] BERCU, S., DELYON, B. et LORETTE, G. Segmentation pour une méthode de reconnaissance d'écriture cursive "en-ligne". BIGRE N°80 - CNED'92, Colloque National sur l'Ecrit et le Document, Nancy, 6 et 7 juillet 1992, p. 144-151 ;

[BERCU 93] BERCU, S. et DELYON, B. Hidden Markov Models for on-line handwritten word recognition. ICOHD'93, Sixth International Conference on Handwriting and Drawing, Paris, July 4-5-6-7, 1993, p. 43-45 ;

[BESANÇON 88] BESANÇON, J.E. Vision par ordinateur en deux et trois dimensions. Paris : Eyrolles, 1988, 411 p. ;

[BLAKE 87] BLAKE, R.E. Development of an Incremental graph matching Device. NATO ASI Series. Vol. F30, Pattern Recognition Theory and Applications, Edited by P.A. Devijver and J. Kittler, Berlin Heidelberg : Springer-Verlag, 1987, p. 357-366 ;

[BOUVIER 78] BOUVIER, G. et CHEHIKIAN, A. Segmentation de caractères après filtrage spatial par réseau de neurones simulé. Proces. 1er Congrès AFCET-IRIA, Châtenay-Malabry, Février 1978, p. 39-47 ;

[BOZINOVIC 84] BOZINOVIC, R. and SRIHARI, S.N. Knowledge-based cursive script interpretation. Proceedings of the 7th International Conference on Pattern Recognition, Montréal, Canada, Aug. 1984, Vol. 1, p. 774-776 ; CH 2046-1/84/0000/1984 IEEE ;

[BRET 88] BRET, M. Images de Synthèse. Paris : Dunod, 1988, 316 p. ;

[BURR 82] BURR, D.J. A Normalising transform for cursive script recognition. Proceedings of the 6th International Conference on Pattern Recognition, Munich, Germany, 19-22 Oct. 1982, Vol. 2, p. 1027-1030 ; CH 1801-0/82/0000/1982 IEEE ;

[CASEY 82] CASEY, R.G. et NAGY, G. Recursive segmentation and classification of composite character patterns. Proceedings of the 6th International Conference on Pattern Recognition, Munich, Germany, 19-22 Oct. 1982, Vol. 2, p. 1023-1025 ; CH 1801-0/82/0000/1982 IEEE ;

[CHARRAUT 77] CHARRAUT, D. Méthodes optiques et hybrides d'analyse, de classification et de datation d'écritures cursives. Thèse : Sciences, Université de Besançon, 1977, 135 p. ;

[CHARREYTON 89] CHARREYTON, V. La reconnaissance de la plume. L'Ordinateur Individuel, Sept. 1989, N° 117, p. 110-111 ;

[CHEN 90] CHEN, L.-H., LIEH, J.-R. Handwritten character recognition using a 2-layer random graph model by relaxation matching. Pattern Recognition, 1990, Vol. 23 N°11, p. 1189-1205 ;

[CHERIET 93] CHERIET, M. , NADAL, C. , SUEN, C.Y. Visual aspect of handwriting recognition. ICOHD'93, Sixth International Conference on Handwriting and Drawing, Paris, July 4-5-6-7, 1993, p. 108-110 ;

[COHEN 91] COHEN, E., HULL, J.J., SRIHARI, S.N. Understanding spatially structured handwritten text. ICDAR-91, First International Conference on Document Analysis and Recognition, Saint Malo, France, 30 Sept.-2 Oct. 1991, Vol. 2, p. 984-992 ;

[COOLEY 85] COOLEY. An algorithm for the machine calculation of complexe Fourier series, Math. computation, 1965, Vol. 19, avril, p. 297-301 ;

[CRETTEZ 78] CRETTEZ, J.-P. Contribution à la réduction des représentations d'images par des transformations orthogonales. Thèse de 3ème cycle : Informatique, Paris 6, 1978, 154 p. ;

[DARGENTON 90] DARGENTON, P. Segmentation de l'écriture cursive. Mémoire de DEA : Sciences, INSA LYON, LISPI, Oct. 1990, 66 p. ;

[DARGENTON 91] DARGENTON, P., VINCENT, N. et EMPTOZ, H. Segmentation de l'écriture cursive à l'aide de la transformée de Fourier. Actes du 8e congrès AFCET-RFIA, Lyon-Villeurbanne, 27-29 Nov. 1991, Vol. 2, p. 707-712 ;

[DARGENTON 92] DARGENTON, P., VINCENT, N. et EMPTOZ, H. L'utilisation de la transformée de Hough dans la reconnaissance de l'écriture manuscrite. BIGRE N°80 - CNED'92, Colloque National sur l'Ecrit et le Document, Nancy, 6 et 7 juillet 1992, p. 294-301 ;

[DARGENTON 93] 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-5-6-7, 1993, p. 231-233 ;

[DARGENTON 94] 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 ;

[DELEDICQ 93] DELEDICQ, J.-C. Utilisation de plusieurs représentations pour l'apprentissage analytique de l'écriture manuscrite. ICOHD'93, Sixth International Conference on Handwriting and Drawing, Paris, July 4-5-6-7, 1993, p. 207-209 ;

[DOOIJES 91] DOOIJES, E.H. and HAMSTRA-BLETZ, E. A Topological approach to handwriting understanding. ICDAR-91, First International Conference on Document Analysis and Recognition, Saint Malo, France, 30 Sept.-2 Oct. 1991, Vol. 2, p. 594-602 ;

[EL-SHEIKH 88] EL-SHEIKH, T.S. and GUINDI, R.M. Computer recognition of Arabic cursive scripts. Pattern Recognition, 1988, Vol. 21, N° 4, p. 293-302 ;

[ELLIMAN 90] ELLIMAN, D.G. A review of segmentation and contextual analysis techniques for text recognition. Pattern Recognition, 1990, Vol. 23, N° 3/4, p. 337-346 ;

[FERRET 90] FERRET, B. Reconnaissance de caractères : Essai comparatif. Science & Vie-Micro, 1990, N° 71, p. 148-156 ;

[GAILLAT 79] GAILLAT, G. et BERTHOD, M. Panorama des techniques d'extraction de traits caractéristiques en lecture optique des caractères. Revue Technique Thomson CSF, 1979, Vol. 11, N° 4, p. 943-959 ; également : Actes du 2e congrès AFCET-RFIA, Toulouse, 1979, p. 353-368 ;

[GRUHIER 76] GRUHIER, F. Le laser expertise l'écriture. Sciences & Avenir, 1976, N° 358, p. 1200-1205 ;

[GUBERMAN 91] GUBERMAN, G.A. Vision par ordinateur et Gestalt-théorie. Revue internationale de systémique, 1991, Vol. 5 n°2, p. 157-170 (traduction et adaptation de A. et E. ANDREEWSKY) ;

[HELSPER 93] HELSPER, E. , SCHOMACHER, L. , TEULINGS, H.-L. , ABBINK, G.H.  Feature description of optically scanned handwritten words. ICOHD'93, Sixth International Conference on Handwriting and Drawing, Paris, July 4-5-6-7, 1993, p. 270-272 ;

[HEUTTE 93] HEUTTE, L. , MOREAU, J.-V. , LECOURTIER, Y.  A new feature extraction strategy for handwritten pseudo-character recognition based on multiple feature extractors. ICOHD'93, Sixth International Conference on Handwriting and Drawing, Paris, July 4-5-6-7, 1993, p. 186-188 ;

[HOLT 92] HOLT, M.J.J., MOHAMMAD BEGLOU, M. and DATTA, S. Slant-independent letter segmentation for off-line cursive script recognition. From Pixels To Features III : Frontiers in Handwriting Recognition, S. Impevodo and J.C. Simon Editors, Amsterdam : Elsevier Science Publishers B.V., 1992, p. 41-46 ;

[HOUGH 62] HOUGH, P.V.C. Method and means for recognizing complex patterns. United States Patent, n° 3 069 654, 1962. ;

[HU 91] HU, H.T. et CHASSERY, J.M. Actes du 8e congrès AFCET-RFIA, Lyon-Villeurbanne, 27-29 Nov. 1991, Vol. 2, p. 859-864 ;

[IMADACHE 90] IMADACHE, A. Apprentissage et pré-reconnaissance de la forme globale de mots manuscrits. BIGRE, 1990, N°68, Mai, p. 213-221 ;

[JACQUEMIN 90] JACQUEMIN, C. Reconnaissance lexico-syntaxique des mots composés à l'aide de règles et métarègles. BIGRE, 1990, N°68, Mai, p. 112-127 ;

[KABRISKY 70] KABRISKY, M., TALLMAN, O., DAY, C.M. and RADOY, C.M. A Theory of Pattern Perception Based on Human Physiology. Ergonomics, 1970, Vol. 13, p. 129-142 ;

[KERNIGHAN 84] KERNIGHAN, B.W. et RITCHIE, D.M. Le Langage C. Paris : Masson, 1984, 218 p. ;

[KUNDU 89] KUNDU A., HE Y., BAHL P. Recognition of handwritten word : first and second order hidden Markov model base approach. Pattern Recognition, 1989, Vol. 22, N° 3, p. 283-297 ;

[LAI 81] LAI, M.T.Y. and SUEN, C.Y. Automatic recognition of characters by Fourier descriptors and boundary line encodings. Pattern Recognition, 1981, Vol. 14, N° 5/6, p. 383-393 ;

[LEBOURGEOIS 87] LEBOURGEOIS, F. Lecture optique et reconnaissance de caractères. mémoire de D.E.A. : Sciences, Institut National des Sciences Appliquées de LYON, LISPI, Oct. 1987, 90 p. ;

[LEBOUGEOIS 91a] LEBOURGEOIS, F. et EMPTOZ, H. Organisation d'un système de lecture automatique adapté aux documents imprimés multipolices. Actes du 8e congrès AFCET-RFIA, Lyon-Villeurbanne, 27-29 Nov. 1991, Vol. 2, p. 713-718 ;

[LEBOURGEOIS 91b] LEBOURGEOIS, F. Approche mixte pour la reconnaissance des documents imprimés. Thèse de doctorat : Sciences, Institut National des Sciences Appliquées de LYON, LISPI, 1991, 174 p. ;

[LECOLINET 89] LECOLINET, E. et MOREAU, J.V. Lecture automatique des codes postaux et des noms de villes majuscules sur courrier manuscrit. Actes du 7e congrès AFCET-RFIA, Paris, 1989, Vol. 2, p. 975-987 ;

[LECOLINET 90] LECOLINET, E. Segmentation d'images de mots manuscrits : Application à la lecture de chaînes de caractères alphanumériques et à la lecture de l'écriture cursive. Thèse de doctorat : Sciences, Université Pierre et Marie Curie (PARIS VI). 1990, 282 p. ;

[LECOLINET 91] LECOLINET, E. and CRETTEZ, J.-P. A grapheme-based segmentation technique for cursive script recognition. ICDAR-91, First International Conference on Document Analysis and Recognition, Saint Malo, France, 30 Sept.-2 Oct. 1991, Vol. 2, p. 740-748 ;

[LECOLINET 93a] LECOLINET, E. Cursive script recognition by backward matching. ICOHD'93, Sixth International Conference on Handwriting and Drawing, Paris, July 4-5-6-7, 1993, p. 89-91 ;

[LECOLINET 93b] LECOLINET, E. Top-down and bottom-up strategies for cursive script recognition. ICOHD'93, Sixth International Conference on Handwriting and Drawing, Paris, July 4-5-6-7, 1993, p. 117-119 ;

[LEEDHAM 93] LEEDHAM, G. Some pre-processing algorithms for handwritten word verification. ICOHD'93, Sixth International Conference on Handwriting and Drawing, Paris, July 4-5-6-7, 1993, p. 114-116 ;

[LEROUX 90] LEROUX, M. et SALOME, J.C. Reconnaissance de l'écriture cursive : une méthode de segmentation en "lettre". BIGRE, 1990,  N°68, Mai, p. 189-200 ;

[LEROUX 91a] LEROUX, M., SALOME, J.C. and BADARD, J. Recognition of cursiv script words in a small lexicon. ICDAR-91, First International Conference on Document Analysis and Recognition, Saint Malo, France, 30 Sept.-2 Oct. 1991, Vol. 2, p. 774-784 ;

[LEROUX 91b] LEROUX, M., SALOME, J.C. et BADARD, J. Stratégie de contrôle pour la reconnaissance du montant littéral des chèque postaux. Actes du 8e congrès AFCET-RFIA, Lyon-Villeurbanne, 27-29 Nov. 1991, Vol. 2, p. 695-706 ;

[LERY 89] LERY, J.M. Reconnaissance de l'écriture manuscrite monoscripteur : description symbolique des mots par un graphe de primitives. Thèse de doctorat de l'université Paris 6, Juin 1989, 239 p. ;

[LETTERA 86] LETTERA, C., MASERA, L., PAOLI, C. and PORINELLI, R. Use of a dictionary in conjonction with a handwritten texts recognizer. Eighth International Conference on Pattern Recognition, Paris, Oct.1986, p. 699-701 ; CH 2342-4/86/0000/1986 IEEE ;

[LIKFORMAN 93] LIKFORMAN-SULEM, L. and FAURE, C. Extracting text lines in handwritten documents by perceptual grouping, ICOHD’93, Paris, juillet 1993, p. 192-195 ;

[LORETTE 92] LORETTE, G. et LECOURTIER, Y. Reconnaissance et interprétation de textes manuscrits hors-ligne : un problème d'analyse de scène ? BIGRE N°80 - CNED'92, Colloque National sur l'Ecrit et le Document, Nancy, 6 et 7 juillet 1992, p. 109-135 ;

[LUCA  91] DE LUCA, P.G. and GISOTTI, A. Printed character preclassification based on word structure. Pattern Recognition, 1991, Vol. 24, N° 7, p. 609-615 ;

[MAIER 86] MAIER, M. Separating characters in scripted documents. Eighth International Conference on Pattern Recognition, Paris, Oct. 1986, p. 1056-1058 ; CH 2342-4/86/0000/1986 IEEE ;

[MAITRE 85] MAITRE, H. Un panorama de la transformation de HOUGH. Traitement du signal, 1985, Vol. 2 n°4, p. 305-317 ;

[MICLET 84] MICLET, L. Méthodes structurelles pour la reconnaissance des formes. Paris : Eyrolles, 1984, 184 p. ;

[MILGRAM 93] MILGRAM, M. Reconnaissance des formes, Méthodes numériques et connexionnistes. Paris : Armand Colin, Janvier 1993, 176 p. ;

[MIQUEL 85] MIQUEL, R. Le Filtrage numérique par microprocesseurs. Paris : Editests, PSI Diffusion, 1985, 300 p. ;

[MOREAU 91] MOREAU, J.V., PLESSIS, B., BOURGEOIS, O., PLAGNAUD, J.L. A postal check reading system. ICDAR-91, First International Conference on Document Analysis and Recognition, Saint Malo, France, 30 Sept.-2 Oct. 1991, Vol. 2, p. 758-768 ;

[MURE-RAVAUD 76] MURE-RAVAUD, A. Reconnaissance automatique des chiffres manuscrits et des principales voyelles parlées, empli de la transformation de Walsh-Hadamard, Thèse de 3e cycle, 7 fevrier 1976, 115p. ;

[MURE-RAVAUD 78] MURE-RAVAUD, A. Système de reconnaissance automatique des chiffres manuscrits utilisant la transformation de Walsh-Hadamard. Automatisme, Juillet-Août 1978, p. 212-218 ;

[NEIRYNCK 84] NEIRYNCK, J. Théorie et traitement des Signaux. Traité d'Electricité, d'Electronique et d'Electro-technique. Paris : Dunod, 1984, 549 p. ;

[O'HAIR 91] O'HAIR, M.A. and KABRISKY, M. Recognizing whole words as single symbols. ICDAR-91, First International Conference on Document Analysis and Recognition, Saint Malo, France, 30 Sept.-2 Oct. 1991, Vol. 1, p. 350-358 ;

[OGAWA 82] OGAWA, H. and TANIGUCHI, K. Thining and stroke segmentation for handrwritten Chinese character recognition. Pattern Recognition, 1982, Vol. 15, N° 4, p. 299-308 ;

[OLIVIER 93] OLIVIER, C. , COURTELLEMONT, P. , AVILA, M. , PAQUET, T.  Traitement des sommes littérales de chèques : de l'image en niveaux de gris à la reconnaissance des mots. ICOHD'93, Sixth International Conference on Handwriting and Drawing, Paris, July 4-5-6-7, 1993, p. 37-39 ;

[OULHADJ 90] OULHADJ, H., PETIT, E., LEMOINE, J. et BENNACER, L. Evaluation du système S.O.L.A.R.E. BIGRE, 1990, N°68, Mai, p. 79-88 ;

[PAQUET 89] PAQUET, Th., MULLOT, R., TRUPIN, E., ROMEO, K. et LECOURTIER, Y. Un algorithme rapide de détection des mots d'un texte manuscrit. Actes du 7e congrès AFCET-RFIA, Paris, Nov. 1989, p. 1501-1510 ;

[PAQUET 90] PAQUET, T., VALLEE, T. et LECOURTIER, Y. Extraction de primitives par suivi de traits dans l'image binarisée d'un mot manuscrit. BIGRE, 1990, N°68, Mai, p. 179-188 ;

[PAQUET 91a] PAQUET, T. and LECOURTIER, Y. Handwriting recognition : application on bank cheques. ICDAR-91, First International Conference on Document Analysis and Recognition, Saint Malo, France, 30 Sept.-2 Oct. 1991, Vol. 2, p. 749-757 ;

[PAQUET 91b] PAQUET, T. et LECOURTIER, Y. Reconnaissance de l'Ecriture Manuscrite sur des chèques. Actes du 8e congrès AFCET-RFIA, Lyon-Villeurbanne, 27-29 Nov. 1991, Vol. 2, p. 687-694 ;

[PARISSE 87] PARISSE, C., ANDREEWSKY, E., ROSENTHAL, V., ORSONI, D. Une approche de la reconnaissance automatique de l'écriture manuscrite et théorie cognitive de la lecture. Actes du 6e congrès AFCET-INRIA, Antibes, novembre 1987, p. 625-635 ;

[PARISSE 89] PARISSE, C., IMADACHE, A. et ANDREEWSKY, E. Mephisto: Système de Reconnaissance de l'Ecriture Manuscrite. Actes du 7e congrès AFCET-RFIA, Paris, 1989, p. 955-974 ;

[PARISSE 92] PARISSE, C. Reconnaissance hors-ligne de mots manuscrits sans contraintes d'écriture ni de vocabulaire. BIGRE N°80 - CNED'92, Colloque National sur l'Ecrit et le Document, Nancy, 6 et 7 juillet 1992, p. 136-143 ;

[PERVEZ 82] PERVEZ, A. and SUEN, C.Y. Segmentation of unconstrained handwritten numeric postal zip codes. Proceedings of the 6th International Conference on Pattern Recognition, Munich, Germany, 19-22 Oct. 1982, Vol. 1, p. 545-547 ; CH 1801-0/82/0000/1982 IEEE ;

[PETIT 90] PETIT, A. Reconnaissance des nombres manuscrits écrits en toutes lettres. Mémoire de DEA : Sciences, INSA LYON, LISPI, Oct. 1990, 45+50 p. ;

[PETTIER 91] PETTIER, J.C. and CAMILLERAPP, J. An optimal detector to localize handwriting strokes. ICDAR-91, First International Conference on Document Analysis and Recognition, Saint Malo, France, 30 Sept.-2 Oct. 1991, Vol. 2, p. 710-718 ;

[POTIER 91] POTIER, C. and VERCKEN, C. Geometric modelling of digitized curves. ICDAR-91, First International Conference on Document Analysis and Recognition, Saint Malo, France, 30 Sept.-2 Oct. 1991, Vol. 1, p. 152-160 ;

[QUEGUINER 90] QUEGUINER, C. Influence des traitements de bas niveau sur les performances d'un système de reconnaissance de l'écriture manuscrite. Thèse : Sciences. IRISA Rennes, Déc. 1990, 190 p. ;

[RAO 91] RAO, P.V.S. Shape vectors for on-line and off-line recognition of cursive script words. ICDAR-91, First International Conference on Document Analysis and Recognition, Saint Malo, France, 30 Sept.-2 Oct. 1991, Vol. 2, p. 568-575 ;

[ROSE 91] ROSE, T.G., EVETT, L.J. and WHITROW, R.J. The use of semantic information as an aid to handwriting recognition. ICDAR-91, First International Conference on Document Analysis and Recognition, Saint Malo, France, 30 Sept.-2 Oct. 1991, Vol. 2, p. 629-637 ;

[ROSE 93] ROSE, T.G. and EVETT, L.J.  Handwriting recognition using semantic information. ICOHD'93, Sixth International Conference on Handwriting and Drawing, Paris, July 4-5-6-7, 1993. p.120-122 ;

[SAYRE 73] SAYRE, K.M. Machine recognition of handwritten words : a project report. Pattern Recognition, 1973, Vol. 5, p. 213-228 ;

[SHAPIRO 91] SHAPIRO, V., GLUHCHEV, G. and SGUREV, V. Automatic document authentication : approach and methods. ICDAR-91, First International Conference on Document Analysis and Recognition, 30 Sept.-2 Oct. 1991, Saint Malo, France, Vol. 2, p. 894-904 ;

[SHRIDHAR 86] SHRIDHAR, M. and BADRELIN, A. Recognition of isolated and simply connected handwritten numerals. Pattern Recognition, 1986, Vol. 19, N° 1, p. 1-12 ;

[SIMON 89] SIMON, J.C. et BARRET, O. Formes régulières et singulières ; application à la reconnaissance de l'écriture manuscrite. C.R. Académie des Sciences, Paris, 1989, t. 309, Série II, p. 1901-1906 ;

[SIMON 92] SIMON, J.C. et BARRET, O. Cursive words recognition. From Pixels To Features III : Frontiers in Handwriting Recognition, S. Impevodo and J.C. Simon Editors, Amsterdam : Elsevier Science Publishers B.V., 1992, p. 241-260 ;

[SINHA 90] SINHA, R.M.K. On Partitioning a Dictionary for visual text recognition. Pattern Recognition, 1990, Vol. 23, N° 5, p. 497-500 ;

[SIZOV 91] SIZOV, K.A. Recognition of symbols and words written by hand. ICDAR-91, First International Conference on Document Analysis and Recognition, Saint Malo, France, 30 Sept.-2 Oct. 1991, Vol. 2, p. 692-700 ;

[SRIHARI 82] SRIHARI, S.N. and BOZINOVIC, R. A String correction algorithm for cursive script recognition. Proceedings of the 6th International Conference on Pattern Recognition, Munich, Germany, 19-22 Oct. 1982, Vol. 1, p. 232-234 ; CH 1801-0/82/0000/1982 IEEE ;

[SUEN 80] SUEN, C.Y., BERTHOD, M. and MORI, S. Automatic recognition of handprinted characters - the states of the art. Proceedings of the IEEE, 1980, Vol. 68, N° 4, p. 469-487 ;

[TACONET 90] TACONET, B., ZAHOUR, A., ZHANG, S. et FAURE, A. Deux algorithmes de squelettisation. BIGRE, 1990, N°68, Mai, p. 68-70 ;

[TACONET 92] TACONET, B., ZAHOUR, A. and FAURE, A. A new global off-line recognition method for handwritten words. From Pixels To Features III : Frontiers in Handwriting Recognition, S. Impevodo and J.C. Simon Editors, Amsterdam : Elsevier Science Publishers B.V., 1992, p. 327-338 ;

[TAMPI 86] TAMPI, K.R. and CHETLUR, S.S. Segmentation of handwritten characters. Eighth International Conference on Pattern Recognition, Paris, Oct.1986, p. 684-686 ; CH 2342-4/86/0000/1986 IEEE ;

[TAPPERT 90] TAPPERT, C.C., SUEN, C.Y. and WAKAHARA, T. The state of the Art in on-line handwriting recognition. IEEE Transactions on pattern Analysis and Machine Intelligence PAMI, Aug. 1990, Vol. 12, N° 8, p. 787-803 ;

[TAXT 90] TAXT. Recognition of handwritten symbols. Pattern Recognition, 1990, Vol. 23 N°11, p. 1155-1166 ;

[TIMOUNI 85] TIMOUNI, R. Quelques aspects théoriques et numériques de la transformation de Hough. Thèse de Docteur-Ingénieur, Paris-XI, Juin 1985, 194 p. ;

[TOHME 78] TOHME, S. Prétraitement du chiffre manuscrit et application des méthodes topologiques. ENST-C- 78013 1878 ; Voir aussi : Proces. 1er Congrès AFCET-IRIA, Châtenay-Malabry, Février 1978, p. 568-576 ;

[TOHME 79] TOHME, S. Reconnaissance du chiffre manuscrit. thèse de docteur ingénieur, ENST Paris, Oct. 1979, 106 p. ;

[TOVAR 93] TOVAR, E. PADILHA, A.J. Feature detection and model validation - Application to character recognition. RecPad'93, Proceedings of the fifth Protuguese conference on Pattern Recognition, Porto, 13-14 mai, 1993, p. 255-258 ;

[TRIPON 81] TRIPON, N. Procédé structurel de lecture optique multipolice. Thèse de Docteur-Ingénieur, Ecole Nationale Supérieure des Mines de Saint-Etienne. Saint-Etienne, 1981, 159 p. ;

[VASQUEZ 90] VASQUEZ, M. et DUBANT, O. Prototype de reconnaissance de texte par coopération de techniques : Neuromimétique et Automate fini. BIGRE, 1990, N°68, Mai, p. 160-168 ;

[VINCENT 88] VINCENT, N. Contribution à la reconnaissance de textes multipolices. Thèse de Doctorat de Sciences, Institut National des Sciences Appliquées de Lyon. 1988, 207 p. ;

[VINCENT 90] VINCENT, N. Le traitement informatique des dossiers de candidature à l'INSA. BIGRE, 1990, N°68, Mai, p. 35-43 ;

[VINCENT 93] VINCENT N., EMPTOZ H. Automatic recognition of handwritten forms for registration in INSA. ICOHD'93, Sixth International Conference on Handwriting and Drawing, Paris, July 4-5-6-7, 1993, p. 83-85 ;

[WAGNER 74] WAGNER, R.A., FICHER, M.J. The string to string correction problem. Journal of ACM, 1974, Vol. 22, N°2, p. 168-173 ;

[WELLS 90] WELLS, C.J., EVETT, L.J., WHITEY, P.E. and WHITROW, R.J. Fast Dictionary Look-up for contextual word recognition. Pattern Recognition, 1990, Vol. 23, N° 5, p. 501-508 ;

[WELLS 91] WELLS, C.J., EVETT, L.J. and WHITROW, R.J. Word look-up for script recognition - Choosing a candidate. ICDAR-91, First International Conference on Document Analysis and Recognition, Saint Malo, France, 30 Sept.-2 Oct. 1991, Vol. 2, p. 620-628 ;

[WONG 87] WONG A.K.C. Structural Pattern Recognition : A Random Graph Approach. NATO ASI Series. Vol. F30, Pattern Recognition Theory and Applications, Edited by P.A. Devijver and J. Kittler, Berlin Heidelberg : Springer-Verlag, 1987, p. 323-345 ;

[WONG 92] WONG, E.K. Model matching in robot vision by subgraph isomorphism. Pattern Recognition, 1992, Vol. 25 N°3, p. 287-303 ;

[YANNA 90] YANNAKOUDAKIS, E.J. TSOMOKOS, I. HUTTON, J.P  N-Grams and their implication to natural language understanding. Pattern Recognition, 1990, Vol. 23, N° 5, p. 509-528 ;

[YOU 84] YOU M., WONG A.K.C. An Algorithm for Graph Optimal Isomorphism. Proceedings of the 7th International Conference on Pattern Recognition, Canada, 1984, p. 316-319 ;

[ZESINGER 93] ZESINGER, P. , ORLIAGUET, J.-P. , BOË, L.-J. , PAGE, D. , MOUNOUD, P. Syllabic structure in handwriting production of French words. ICOHD'93, Sixth International Conference on Handwriting and Drawing, Paris, July 4-5-6-7, 1993, p. 147-149 ;

FOLIO ADMINISTRATIF

THESE SOUTENUE DEVANT L'INSTITUT NATIONAL DES SCIENCES APPLIQUÉES DE LYON

NOM : DARGENTON

Date de SOUTENANCE

Prénoms : Patrice, Franck

14 / 12 / 1994

TITRE :

CONTRIBUTION A LA SEGMENTATION ET A LA RECONNAISSANCE DE L'ECRITURE MANUSCRITE

NATURE : Doctorat

Spécialité : INGÉNIERIE INFORMATIQUE

Numéro d'ordre : 94 ISAL0106

Code B.I.U. - Lyon :  T 50/210/19    /       et               bis

CLASSE :

RÉSUMÉ :

Cette étude constitue une contribution originale à la segmentation et à la reconnaissance de l'écriture manuscrite, grâce à la conception et à la réalisation de deux nouvelles méthodes complémentaires.

Dans un premier temps, nous présentons une étude et une synthèse bibliographique afin de faire ressortir la problématique de la reconnaissance de l'écriture manuscrite. Dans un deuxième temps, nous avons poursuivi notre investigation d'un point de vue plus pratique avec l'implémentation de plusieurs méthodes classiques telles que l'extraction des composantes connexes, la segmentation des mots en graphèmes, ou la représentation des caractères par le squelette.

Cette démarche nous a conduit à réaliser deux nouvelles méthodes :

* La première est une méthode originale de segmentation "harmonique" et "polaire" basée respectivement sur les transformées de Fourier et de Hough; elles permettent d'obtenir des informations statistiques réparties qui sont naturellement exploitées dans la lecture.

* La seconde est une méthode de reconnaissance par appariement de graphes structurels. Nous présentons l'approche de l'appariement de deux graphes structurels quelconques et son exploitation pour la reconnaissance des caractères manuscrits. Nous montrons que cette approche ouvre de nouvelles perspectives pour la reconnaissance des mots manuscrits.

MOTS-CLÉS :

micro-informatique ; écriture manuscrite ; segmentation ;

transformée de Fourier ; transformée de Hough ;

reconnaissance de caractères ; appariement ; graphe structurel.

Laboratoire de recherches : LISPI - RFV

Laboratoire d'informatique des systèmes et production industrielle -

équipe Reconnaissance des formes et vision

Directeur de thèse : Mme N. VINCENT

Président du jury : C. BELLISSANT

Composition du jury :        JP CRETTEZ , H. EMPTOZ,

Y. LECOURTIER, Y. ROBERT, N. VINCENT

Tables des matières

TABLE DES MATIERES PRINCIPALES

TABLE DES MATIERES

REMERCIEMENTS :

INTRODUCTION

CHAPITRE I. METHODES ET OUTILS ACTUELS DE LA RECONNAISSANCE DES TEXTES MANUSCRITS

Introduction

1. Les primitives, outils de la reconnaissance

1.1. Les objectifs de l'extraction des primitives

1.2. La problématique de l'extraction de l'information

1.3. L'extraction des primitives

1.3.1. Les approches de l'extraction des primitives

1.3.2. Les catégories de primitives

1.3.3. Les étapes de l'extraction des primitives

1.4. Les techniques de changement de représentation

1.4.1. Extraction des composantes connexes

1.4.2. Représentation par le contour

1.4.3. Représentation par le squelette

2. La méthode de reconnaissance

2.1. Etude bibliographique sur la modélisation des mots manuscrits

2.1.1. Approximation du mot par des segments de droite

2.1.2. Modélisation à partir de l'axe du mot

2.1.3. Modélisation du mot à l'aide des graphèmes

2.2. Les catégories de méthodes

2.2.1. Paramétrage du mot

2.2.2. Modélisation de la forme du mot indépendamment des lettres

2.2.3. Modélisation de la forme du mot liée aux lettres

2.2.4. Modélisation de la forme des lettres dans le mot

2.2.5. Modélisation des lettres

2.2.6. Segmentation du mot en graphèmes

2.2.7. Schéma récapitulatif des méthodes de reconnaissance

3. La stratégie de reconnaissance

3.1. Les approches ascendante et descendante

3.2. Les recherches en largeur et en profondeur

3.3. La réduction du vocabulaire

3.4. La stratégie combinatoire

3.4.1. La méthode très combinatoire

3.4.2. La méthode combinatoire par paliers

3.5. La stratégie de confrontation

3.6. La stratégie de coopération

Conclusion

CHAPITRE II. ETUDE DE LA SEGMENTATION

Introduction

1. Segmentation globale de l'image par application de transformées mathématiques

1.1. La transformée de Hough (TH)

1.1.1. Le principe d'utilisation

1.1.1.1. Aspects théoriques de la TH

1.1.1.2. Localisation des segments de droite

1.1.1.3. Critères de sélection des droites

1.1.2. Application à l'analyse de l'écriture manuscrite

1.1.2.1. Détection de l'inclinaison

1.1.2.2. Détection de l'épaisseur moyenne du trait

1.1.3. Segmentation

1.1.3.1. Détection du corps des mots

1.1.3.2. Localisation des hampes et jambages

1.1.4 Bilan et discussion

1.2. La transformée de Fourier (TF)

1.2.1. Aspects théoriques de la TF

1.2.1.1. TF d'un signal réel

1.2.1.2. TF discrète (TFD) et TF rapide (TFR)

1.2.1.3. TF bidimensionnelle (TF2D)

1.2.1.4. Propriétés de la TF

1.2.2. Analyse spectrale de l'écriture

1.2.2.1. Propriétés spectrales de l'écriture - Spectroscopie optique et numérique

1.2.2.2. Analyse de la répartition fréquentielle

1.2.2.3. Analyse d'une raie caractéristique du spectre (détection des lignes d'écriture et de leur inclinaison)

1.2.2.4. Analyse de l'axe d'inertie du spectre

1.2.3. Segmentation harmonique des mots manuscrits

1.2.3.1. Segmentation harmonique 1D

1.2.3.1.1. Segmentation verticale (suivant fy) du spectre

1.2.3.1.2. Segmentation horizontale (suivant fx) du spectre

1.2.3.2. Segmentation harmonique 2D

1.2.4. Reconnaissance harmonique

1.2.4.1. Reconnaissance des caractères

1.2.4.2. Reconnaissance harmonique des mots manuscrits

1.2.4.3. Conclusion sur la reconnaissance par la TF

1.3. Conclusion

2. Segmentation par extraction de graphèmes

2.1. Segmentation du mot

2.1.1. Détermination de la zone médiane du mot

2.1.1.1. Analyse de l'histogramme horizontal

2.1.1.2. Analyse des graphèmes

2.1.2. Segmentation du mot

2.1.2.1. Préclassification des graphèmes

2.1.2.2. Traitement des graphèmes

2.1.2.3. Exemples de segmentation de mots en graphèmes

2.2. Classification des graphèmes

2.2.1. Détection des boucles

2.2.1.1. Remplissage

2.2.1.2. Détermination de la classe des graphèmes

2.2.2. Constitution d'un alphabet de transcription de graphèmes en lettres

2.2.2.1. Table de coût

2.2.2.2. Combinaisons de deux ou trois graphèmes

2.2.2.3. Graphèmes multiples

2.2.2.4. Modulation des coûts en fonction des concavités

2.2.2.4.1. Détection des concavités

2.2.2.4.2. Modulation des coûts

2.2.2.5. Constitution de l'alphabet

2.3. Reconnaissance des mots à l'aide d'un dictionnaire

2.3.1. Construction des séquences de graphèmes

2.3.2. Procédure élémentaire de recherche

2.3.3. Calcul d'une distance d'édition

2.3.4. Résultats

2.3.5. Classification des erreurs relevées

2.4. Bilan et discussion

Conclusion

CHAPITRE III. RECONNAISSANCE PAR APPARIEMENT DE GRAPHES STRUCTURELS

Introduction

1. Construction d'un graphe structurel représentatif d'une forme

1.1. Squelettisation de la forme

1.1.1. Calcul de la distance minimale de chaque pixel de la forme à son contour

1.1.2. Détermination du noyau de la forme

1.1.3. Amincissement du noyau en squelette

1.1.3.1. Suivi de contour

1.1.3.2. Amincissement du noyau à l'aide de masques

1.2. Construction du graphe structurel

1.2.1. Détection des arcs du squelette

1.2.2. Traitement des arcs

1.2.2.1. Détermination du voisinage des arcs

1.2.2.2. Fragmentation des arcs

1.2.2.3. Ebarbulage des petits arcs

1.2.2.4. Fusion des fragments d' arcs

1.2.3. Construction du graphe d'attribut - Approximation polygonale des arcs

1.2.4. Modélisation informatique de la structure d'un graphe

1.3. Résultats

1.3.1. Comparaison entre le graphe structurel et la lettre originale

1.3.2. Alphabet en caractères majuscules bâton

1.3.3. Alphabet manuscrit en caractères minuscules

1.3.4. Essais sur des mots manuscrits

1.4. Discussion

2. Appariement des graphes structurels des lettres manuscrites

2.1. Appariement de deux graphes structurellement proches

2.1.1. Superposition des deux graphes

2.1.2. Appariement des noeuds de deux graphes

2.1.3. Appariement des arcs des deux graphes en fonction des noeuds correspondants

2.1.4. Défauts rencontrés

2.1.5. Conclusion

2.2. Appariement de deux graphes structurels quelconques

2.2.1. Recherche d'un isomorphisme optimal de graphe

2.2.1.1. Appariement de l'ensemble des noeuds et points de contrôle

2.2.1.2. Appariement de l'ensemble des segments

2.2.1.3. Appariement simultané des noeuds et des arcs

2.2.1.4. Propagation de contrainte par relaxation

2.2.1.5. Synthèse

2.2.2. Calcul de la distance d'édition entre les arcs

2.2.3. Procédure d'appariement des arcs

2.2.4. Recherche des similarités de sous-chaînes

2.3. Détermination de la distance entre les deux graphes

2.3.1. Distance entre les arcs appariés

2.3.2. Distance entre les noeuds appariés

2.3.3. Exemples de distances entre deux graphes

2.3.4. Exemples de similarités détectées

3. Reconnaissance structurelle de lettres manuscrites

3.1. Plausibilité de reconnaissance

3.2. Confrontation de plusieurs scores de reconnaissance

3.3. Exemple de reconnaissance

Conclusion

CHAPITRE IV. LES PERSPECTIVES POUR LA RECONNAISSANCE DES MOTS MANUSCRITS

1. Les perspectives à partir de la segmentation du mot en graphèmes

1.1. Reconnaissance des combinaisons de graphèmes

1.1.1. Reconnaissance des lettres dans le mot

1.1.2. Reconnaissance des lettres indépendamment du mot

1.1.3. Reconnaissance classique et reconnaissance ciblée sur les lettres discriminantes

1.2. Reconnaissance structurelle des graphèmes isolés

1.2.1. Reconnaissance des lettres dans le mot

1.2.2. Reconnaissance des lettres indépendamment du mot

1.2.3. Reconnaissance du mot modélisé par les graphèmes

2. Les perspectives à partir du graphe structurel du mot non segmenté

2.1. Reconnaissance des lettres dans le mot

2.2. Reconnaissance des lettres indépendamment du mot

2.3. Reconnaissance du mot indépendamment des lettres

3. Récapitulatif des méthodes et des perspectives pour la reconnaissance des mots manuscrits

Les perspectives pour la reconnaissance des mots manuscrits

1. Les perspectives à partir de la segmentation du mot en graphèmes

1.1. Reconnaissance des combinaisons de graphèmes

1.1.1. Reconnaissance des lettres dans le mot

1.1.2. Reconnaissance des lettres indépendamment du mot

1.1.3. Reconnaissance classique et reconnaissance ciblée sur les lettres discriminantes

1.2. Reconnaissance structurelle des graphèmes isolés

1.2.1. Reconnaissance des lettres dans le mot

1.2.2. Reconnaissance des lettres indépendamment du mot

1.2.3. Reconnaissance du mot modélisé par les graphèmes

2. Les perspectives à partir du graphe structurel du mot non segmenté

2.1. Reconnaissance des lettres dans le mot

2.2. Reconnaissance des lettres indépendamment du mot

2.3. Reconnaissance du mot indépendamment des lettres

4. Détermination de la stratégie de reconnaissance

4.1. Similitude des approches à différents niveaux

4.2. Analogie de stratégie dans des problèmes divers

4.3. Les hypothèses et la connaissance a priori

4.4. Les hypothèses de primitives et la quantité d'information

4.5. Minimisation de la prise de risque

4.6. La stratégie humaine de la reconnaissance de l'écriture

Conclusion

CONCLUSION

REFERENCES BIBLIOGRAPHIQUES