• Aucun résultat trouvé

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.