L’objectif de l’extraction explicite des mots consiste à isoler chacun des sous-ensembles de traces correspondant aux mots de la phrase manuscrite considérée.
Notre tâche d’extraction de mots s’appuie sur la caractérisation des espaces inter-traces du signal en-ligne représentant la phrase manuscrite à traiter. Nous considérons trois types d’espaces inter-traces :
– espace intra-mot : espace entre deux traces, à l’intérieur d’un même mot ; – espace inter-mot : espace entre deux traces de deux mots consécutifs ;
– espace inter-ligne : espace entre deux traces de deux mots consécutifs et situés sur deux lignes consécutives.
La figure 3.2 donne un exemple de phrase manuscrite à traiter. Des exemples d’espaces inter-ligne, inter-mot et intra-mot sont aussi illustrés. Nous constatons ainsi que la distance entre deux mots peut être proche de celle entre deux traces d’un même mot.
espace inter-mot espace intra-mot
espace inter-ligne
FIG. 3.2 – Exemple de phrase manuscrite.
À partir du résultat de la classification des espaces inter-traces, un graphe de mots est ensuite construit, pour représenter la segmentation obtenue.
Nous détaillons ces deux étapes, dans les sections suivantes.
3.2.1 Caractérisation des espaces inter-traces
L’algorithme de caractérisation des espaces inter-traces, donné par l’algorithme 3.1, ana-lyse les traces au fur et à mesure de leur écriture : cela permet une extension aisée à une reconnaissance d’écriture « à la volée », ce qui constituait un de nos objectifs.
Pour chaque traceTnouv nouvellement écrite, l’espace entre cette trace et la trace précé-demment écriteTref (aussi appelée trace de référence) est caractérisé en l’un des trois types d’espaces. Cette caractérisation est basée sur le calcul de la distance∆xnouvref entre deux traces. En fait, le calcul de cette distance ne s’appuie pas seulement sur la trace précédemment écrite
Algorithme 3.1 : Algorithme de caractérisation des espaces inter-traces. Données :
les traces manuscrites de la phrase à reconnaître; Résultat :
les espaces inter-traces classés en espaces intra-mot, inter-mot ou inter-ligne;
début
Initialisation
GRBinitialisé avec les premières traces écrites, ordonnées temporellement; tant que nouvelle traceTnouvécrite faire
détection des lignes de base de l’écriture;
calcul de la distance∆xnouvref entre les tracesTref etTnouv; classification de l’espaceErefnouv entreTref etTnouv; mise à jour deGRB;
fin
Tref mais également sur un groupe de traces précédemment écrites, appelé Groupe Référence
de Base (GRB) : ce groupe de traces représente un contexte spatial relatif, par rapport auquel la distance∆xnouvref peut être comparée. La figure 3.3 illustre le calcul de la distance∆xnouvref , ainsi que leGRBcorrespondant utilisé. Un classifieur est enfin utilisé pour caractériser l’es-pace inter-trace, en se basant sur la distance ∆xnouvref ainsi que sur d’autres d’informations.
∆xnouv ref Tref Tnouv Prefpd Pnouvpg ligne de base ligne de base supérieure inférieure GRB
FIG. 3.3 – Exemple de calcul de distance∆xnouvref entre deux traces.
Dans les sous-sections suivantes, nous détaillons les différentes étapes de l’algorithme de caractérisation des espaces inter-traces.
3.2.1.1 Initialisation
Au début de la tâche d’extraction de mots, le Groupe Référence de BaseGRBest initialisé avec les premières traces écrites de la phrase manuscrite (voir sous-section suivante).
3.2.1.2 Détection des lignes de base inférieure et supérieure
L’algorithme utilisé pour détecter ces deux lignes de base est le même que celui utilisé pour la détection du corps des mots, dans notre système de reconnaissance de mots (voir chapitre 1, section 1.4). Notre algorithme utilise, pour cela, un groupe de traces représentant au moins trois ou quatre caractères : ce groupe de traces correspond auGRBprécédemment présenté.
Afin de déterminer le nombre de traces à conserver dans le GRB, nous nous appuyons sur les traits descendants fondamentaux (voir chapitre 1, section 1.4). Comme un caractère est composé de un à trois traits descendants fondamentaux, nous conservons suffisamment de traces pour que leGRBcourant contienne au moins dix traits descendants fondamentaux.
Le processus de détection des lignes de base, et ainsi celui de caractérisation des espaces inter-traces, peut débuter dès que le nombre de traces écrites correspond au moins à dix traits descendants fondamentaux : cela permet d’initialiserGRB. Ce premierGRB est aussi celui utilisé pour la caractérisation des premiers espaces inter-traces, bien que les premières traces appartiennent à celui-ci.
3.2.1.3 Calcul de la distance∆xnouvref
Comme nous travaillons sur de l’écriture latine, la première trace d’un nouveau mot est le plus vraisemblablement située à la droite de la dernière trace du mot précédent. Pour calculer la distance∆xnouv
ref (voir figure 3.3) entre la dernière trace écriteTref (appelée aussi trace de
référence) et la trace qui vient d’être écriteTnouv, nous proposons d’utiliser la distance enx
entre le point le plus à droite de la traceTref et le point le plus à gauche de la traceTnouv :
∆xnouvref =xPpg
nouv − xPpd
ref (3.1)
avecPnouvpg le point le plus à gauche deTnouv etPrefpd le point le plus à droite deTref.
Comme l’algorithme de caractérisation des espaces inter-traces est conçu de manière à pou-voir être étendu à la reconnaissance « à la volée », nous voulons éviter des étapes de pré-traitements qui sont généralement effectuées sur le signal afin de corriger des problèmes d’in-clinaison des caractères ou de la ligne d’écriture ou encore de taille des caractères. Notre dis-tance∆xnouvref doit ainsi être insensible à ces variations d’écriture.
Afin de traiter le problème de l’inclinaison des caractères (en anglais, slant), nous ne consi-dérons que les points situés entre les lignes de base inférieure et supérieure. Ainsi, les points
Pnouvpg etPrefpd seront choisis parmi les points contenus entre ces lignes de base. Dans l’exemple donné par la figure 3.4, si le point le plus à droite du mot said était choisi, un espace intra-mot serait détecté comme ce point est à droite du pointPnouvpg .
Prefpd Pnouvpg ligne de base ligne de base supérieure inférieure
FIG. 3.4 – Choix des pointsPnouvpg etPrefpd pour traiter le problème d’inclinaison des caractères.
Afin de pallier au problème de l’inclinaison de la ligne d’écriture (en anglais, skew), seules les dernières traces écrites avant Tnouv sont conservées dans le GRB, qui est ensuite utilisé pour effectuer la détection des lignes de base.
3.2.1.4 Classification de l’espaceErefnouv
Une fois que la distance ∆xnouvref a été calculée, nous utilisons un réseau de neurones à
fonction à base radiale (RBFN) pour classer l’espace inter-trace. Les entrées de ce réseau sont
les suivantes :
– la longueur de l’espace inter-traces courant, relativement aux traces précédentes : cela correspond à la distance∆xnouvref ;
– des informations sur les tailles relatives des espaces inter-traces précédents : cela corres-pond aux distances∆xnouvref maximale et médiane, dans le groupe de référence courant
GRB;
– des informations pour l’identification des espaces inter-lignes : cette information est don-née par la distance entre le haut de la boîte englobante de la traceTnouv et la ligne de base inférieure.
Les sorties du RBFN sont les scores associés à chacune des trois classes, c’est-à-dire l’es-pace intra-mot, l’esl’es-pace inter-mot et l’esl’es-pace inter-ligne. Le type de l’esl’es-pace inter-trace consi-déré est ainsi celui associé à la classe ayant obtenu le score le plus élevé.
3.2.1.5 Mise à jour duGRB
Une fois l’espaceErefnouv classé, la traceTnouvest ajoutée au groupeGRB. La trace la plus ancienne temporellement, dans le GRB, peut ensuite être supprimée s’il reste au moins dix traits descendants fondamentaux après sa suppression duGRB.
La gestion duGRBpeut être vue comme une fenêtre glissante, qui se déplace au fur et à mesure de l’écriture et du traitement des traces. Cette gestion est alors particulièrement adaptée pour une extraction des mots « à la volée ».
3.2.2 Construction du graphe de mots
À partir des résultats de la caractérisation des espaces inter-traces, nous construisons un graphe de mots. À chaque fois qu’un espace inter-ligne ou inter-mot est détecté, un nœud est construit : chaque nœud représente ainsi une frontière de segmentation entre deux mots. Les arcs, quant à eux, regroupent les traces telles que les espaces inter-traces entre chacune des traces d’un arc sont des espaces intra-mots. Ils représentent ainsi les mots manuscrits détectés. La figure 3.5 donne un exemple de graphe de mots construit à partir de la caractérisation des espaces inter-traces de la phrase « generally the same level of living costs less in the country
than in the city ». Nous constatons que les mots living et country sont sur-segmentés alors que
les mots « than in » sont sous-segmentés.
extraction des mots
sur-segmentation sur-segmentation
sous-segmentation
FIG. 3.5 – Exemple de graphe de mots, construit à partir de l’extraction simple des mots d’une phrase manuscrite.
Pour pouvoir gérer les éventuelles sur- et sous-segmentations en ajoutant des hypothèses alternatives d’extraction de mots, tout en contrôlant la taille du graphe, nous étendons notre algorithme de caractérisation des espaces inter-traces.