• Aucun résultat trouvé

Chapitre 7 : Reconnaissance des textes arabes imprimés

2 Description générale du système proposé

La figure 7.2 présente notre système de reconnaissance de mots arabes imprimés. Le système proposé se situe dans le cadre des systèmes de reconnaissance pseudo analytique. Il traite la reconnaissance du vocabulaire généré à partir de plusieurs fontes qui appartiennent au sept classes de l’écriture arabe de complexités différentes :

almarhribi ( طط ﺮبملا اططخلا), naskhi ( خططينلا اططخلا), tholate ( ططثلثلا اططخلا), roka ( ططﻌيﺮلا اططخلا), roka ( ﻌيﺮلا اخلا), alfarsii ( سرافلا اخلا), diwani ( ناﻮيدلا اخلا).

140

Figure 7-2 : Schéma général du Système

En premier lieu, l’image du texte passe par deux étapes de prétraitement qui consistent à squeletiser le texte de l’image puis éliminer les points diacritiques après les avoir identifiés et mémorisé leurs positionnements. Ensuite, la phase de segmentation du texte en lignes est déclenchée. Cette segmentation est basée sur la méthode de projection horizontale. Puis, pour une segmentation en mots nous utilisons la segmentation par la méthode de projection verticale. La segmentation des mots en pseudo-mots est réalisée par l’identification des composantes connexes, puis la filtration des caractères isolés par la technique de la première partie. Une segmentation des pseudos mots arabes en graphèmes est par la suite appliquée et elle est basée sur une étude des caractéristiques topologiques de l’écriture arabe. En effet, étant donné qu’un pseudo mot arabe est généralement obtenu par raccordement de plusieurs lettres, l’approche que nous avons développée consiste à détecter les positions de ces raccordements.

141

De ce fait, il semble très utile de traiter la reconnaissance en s’appuyant sur une modélisation pseudo analytique. L’interprétation des pseudo-mots plutôt que les mots conduit notamment pour la segmentation et la reconnaissance à une réduction de la taille et de la complexité du problème.

Au niveau de la reconnaissance, la démarche adoptée consiste à utiliser une approche similaire à celle adoptée pour les caractères isolés et qui est développée dans la première partie de cette thèse. Dans ce cas le vocabulaire de caractères isolés n’est plus restreint aux 28 caractères, mais il est étendu à toutes les formes d’écriture des caractères selon leurs positions dans le mot (au début du mot, au milieu ou à la fin du mot).

Pour implémenter cette approche de reconnaissance pseudo analytique, nous proposons un nouveau concept de segmentation vocabulaire et une nouvelle base d’images imprimées de pseudo-mots générer à partir de six fontes arabes de complexités différentes. En plus des images de pseudos mots, la nouvelle base contient également des fichiers présentant la position de la ligne de base de chaque pseudo-mot. Cette information est exploitée dans l’étape d’extraction de primitives afin de consolider la robustesse globale des vecteurs caractéristiques.

Etant donné une image I de texte, la phase de reconnaissance de l’image I passe donc par les étapes suivantes :

 squeletiser le texte de l’image I,

 détecter les points diacritiques, puis les éliminer tout en conservant les informations relatives à leurs positionnements,

 segmenter l’image I en lignes et associer un identifiant à chaque ligne précisant sa position dans l’image,

 segmenter les lignes en mots et associer à chaque mot un identifiant précisant sa ligne d’appartenance et sa position dans la ligne,

 segmenter les mots en pseudo-mots et associer à chaque pseudo-mot un identifiant précisant le mot dont il fait partie et sa position dans ce mot,

 segmenter les pseudo-mots en graphèmes et associer à chaque graphème un identifiant précisant le pseudo-mot associé et sa position dans le pseudo-mot,

 identification les caractères les ligatures du pseudo-mot,

 reconnaissance de chaque caractère et de chaque ligature,

142

 reconstituer le texte en procédant à un raccordement des graphèmes reconnus d’un même pseudo-mot, puis raccorder les pseudo-mots d’un même mot, puis ordonner ces mots dans la ligne et enfin mettre les lignes l’une au-dessous de l’autre. Pour réaliser ce travail, nous utilisant les identifiants des étapes précédentes.

Le processus de reconnaissance est évalué en réalisant des tests à plusieurs niveaux :

 test relatif aux performances de l’étape de segmentation de l’image I en lignes,

 test relatif aux performances de l’étape de segmentation des lignes en mots,

 test relatif aux performances de l’étape de segmentation des mots en pseudo-mots,

 évaluation du taux de reconnaissance des graphèmes,

 évaluation du taux de reconnaissance global.

3 Prétraitements

Afin de faciliter la tâche de reconnaissance de l’écriture arabe, l’image de texte doit subir un certain nombre de prétraitements. L’image de texte est une image qui apparait comme une forme bien lissée et régulière et présentée par une matrice constituée de n lignes et de m colonnes définissant un nombre n×m de carrés élémentaires ou pixels. Généralement, les images traitées sont des images noir et blanc.

Pour atténuer l’effet de certaines irrégularités du script arabe qui sont conséquence soit de la nature de la fonte utilisée soit du processus de binarisation, et dans le but d'augmenter les chances d'une bonne reconnaissance, certains prétraitements s’avèrent nécessaires. Ces prétraitements sont identiques à ceux opérés sur les caractères isolés : binarisation, séparation des points diacritiques, suppression du bruit et redressement de formes. Nous utiliserons les mêmes procédés de prétraitements présentés donc dans la section 6.1 du chapitre 4 de la première partie.

3.1 Squelettisation

Le mot segmenté subit le même algorithme de squelettisation réalisé sur les caractères isolés (voir section 4 du chapitre 4 de la première partie). Les résultats de leur application sur un échantillon de texte sont présentés dans les figure 7.3 et 7.4.

143

Figure 7-3 : Texte originale écrite par plusieurs fontes

Figure 7-4 : Squelettisation du texte par l’algorithme de Zhang-Wang modifié

Cette étape influence directement notre approche de segmentation d’un pseudo-mot en graphèmes, car les algorithmes de parcours d’un tracé de pseudo-mot peuvent être mal orientés par une fausse segmentation d’un graphème. Ces erreurs de segmentation surviennent à cause des bruits du tracé qui sont générés par une mauvaise squelettisation (voir figure 7.4).

Traiter ces bruits nécessite une phase préliminaire de traitement.

144 3.2 Détection des signes diacritiques

Les signes diacritiques doivent être éliminés avant l’extraction des pseudo-mots et leurs positions sont mémorisées. Cette information de la présence ou non des signes diacritiques sera utile durant la phase de reconnaissance des graphèmes. Cette étape d’élimination nous évite des perturbations lors de l’extraction des pseudo-mots.

L’algorithme utilisé pour l’extraction des signes diacritiques est une version modifiée de celui proposé dans [117]. Cet algorithme se base sur l’aire (qui englobe le mot), la hauteur et la superposition verticale des composantes connexes (voir figure 7.5). Les seuils utilisés sont fixés empiriquement par Menasri [117] et al et ajustés par nos tests.

Après l’étape de squelettisation le nombre de pixel des grosses composantes connexes qui ne correspondent pas aux signes diacritiques est un nombre très grand comparativement aux composantes connexes qui représentent les signes diacritiques. La deuxième étape réalisée permet de conserver les petites lettres telles que

ر

et

د

qui contiennent peu de pixels et peuvent ressembler aux signes diacritiques. Le troisième test repose sur la position relative de la composante connexe et de ses voisines : si une composante connexe C1 d’aire réduit est située au-dessus d’une autre composante connexe C2, alors C1 est un signe diacritique.

Cependant, l’algorithme peut échouer quand le signe diacritique traité est de taille importante par rapport à la taille du mot.

145

Figure 7-5 : Algorithme de Mensari [117] pour la détection des signes diacritiques

3.3 Segmentation en ligne

Il existe de nombreuses méthodes d’extraction de la ligne d’écriture. La plus utilisée est celle basée sur l’histogramme de projection horizontale. Cette méthode part de l’hypothèse que la majorité des pixels sont disposés sur la ligne de base. La ligne extraite est donc une ligne droite qui correspond au pic maximal de l’histogramme. On définit ensuite une marge de largeur dépendante des différents espaces qui existent entre les lignes d’écritures des différentes fontes et cela permet de choisir un seuil de pixels pour l’histogramme. Cette méthode donne de bon résultat pour les textes imprimés et qui sont de bonne qualité. Pour plus de détails sur ces méthodes, l’état d’art développé par A. M. Al-Shatnawi [6] et Kh.

Omar [84] est assez riche.

Figure 7-6 : Histogramme de projection horizontale. Les lignes sont les seuils de segmentation.

146

Nous avons testé cette approche de segmentation sur un même texte écrit selon 23 fontes choisies de manière à représenter les différentes familles de fontes. Le nombre total de lignes est égale à 934. Les résultats des tests sont donnés dans le tableau suivant :

Nom des fontes Nombre de lignes mal

segmentées Taux de segmentation

ACS Zomorrod 0 100%

ACS Almass 0 100%

AdvertisingBold 6 85.37%

AF Buryiada 0 100%

AF Najed Normal Traditional 0 100%

AF_Jizan 0 100%

Tholoth 0 100%

Alawi Asir 0 100%

Alawi Kufi 0 100%

maghrebi- AGA Furat Regular 0 100%

FS_Cairo 2 95.45%

Sultan koufi 0 100%

Al-jass 0 100%

Traditional Arabic 0 100%

Koufi 0 100%

Arabic Transparent 0 100%

Simplified Arabic 0 100%

Naskh 0 100%

Damas 0 100%

Farsi Simple Outline 0 100%

Andalus 0 100%

moraba3 0 100%

Shehab 0 100%

Total 8 99.17%

Tableau 7-1: Performances de l’étape de segmentation des textes en lignes

147

Les résultats obtenus montrent la robustesse de cette technique de segmentation des textes imprimés en lignes. Les lignes mal segmentées sont conséquences d’un chevauchement entre deux lignes consécutives (voir figure 7.7).

(a) (b)

Figure 7-7 : Exemples de chevauchement de deux lignes consécutives écrites avec la fonte (a) AdvertisingBold ; (b) FS_Cairo

3.4 Segmentation en mot

Par une projection horizontale nous considérons que tous les espaces entre deux clusters successifs sont des candidats de séparation entre les mots. Etant donné que les espaces entre les mots changent au changement des fontes (voir figure 7.8), la taille de l’espace utilisé dans notre approche pour identifier les mots est calculée à partir des fréquences d’apparition de ces tailles dans le texte total.

Figure 7-8 : Changement d’espace entre les mots dans les textes pour les fontes suivantes : 1) Sultan normal; 2) Thulth; 3) ACS Morgan; 4) DecoType Thulth,

Nous avons testé l’approche de segmentation des lignes en mots sur les lignes obtenues dans l’étape précédente sur un texte image contenant 1000 mots. Les mots mal segmentés peuvent être groupés en deux classes :

 la première classe contient les mots que le système de segmentation juge comme pseudo-mots et non pas comme des mots entiers,

 la deuxième classe contient les mots composés d’au moins deux pseudo-mots et pour lesquels le système juge un de leurs pseudo-mots comme un mot entier.

Dans la deuxième colonne du tableau ci-dessous, nous donnons pour chaque fonte le nombre de mots de la première classe, et la troisième colonne est réservée aux nombres de

148

mots de la deuxième classe. Nous présentons dans la dernière colonne le taux de segmentation du texte en mots relatif à chaque fonte.

Nom des fontes Nombre de mots de

Tableau 7-2 : Performances de l’étape de segmentation des textes en mots

Dans la figure 7.9 ci-dessous nous donnons quelques exemples de phrases mal segmentés en mots. Comme il apparait sur les exemples, le système considère ces mots comme étant des pseudo-mots car la distance entre ces mots et les mots les succédant est très petite.

149

Figure 7-9 : Exemples de phrases mal segmentées en mots

3.5 Localisation des pseudo-mots

Avant de procéder à la localisation des pseudo-mots, nous commençons par éliminer les points diacritiques en procédant selon l’approche développée dans la section 6.1.2 du chapitre 4 de la première partie. Les composantes connexes restantes correspondent aux composantes principales des pseudo-mots et aux pseudo-mots formés par une seule lettre.

Nous avons testé cette approche de segmentation en pseudo-mots sur le même texte de test utilisé dans l’évaluation des étapes de segmentation en lignes et en mots et qui composé de 1000 mots.

Nous donnons dans la deuxième colonne du tableau ci-dessous le nombre de pseudo-mots mal segmentés relatifs à chacune des 23 fontes, et nous présentons dans la dernière colonne le taux de segmentation du texte en pseudo-mots pour chaque fonte.

150

Nom des fontes Nombre de pseudo-mots mal

segmentés Taux de segmentation

ACS Zomorrod 1 99.95%

ACS Almass 1 99.95%

AdvertisingBold 0 100%

AF Buryiada 0 100%

AF Najed Normal Traditional 0 100%

AF_Jizan 0 100%

Tholoth 15 99.21%

Alawi Asir 0 100%

Alawi Kufi 0 100%

maghrebi- AGA Furat Regular 0 100%

FS_Cairo N 59 96.91%

Sultan koufi 0 100%

Al-jass N 6 99.69%

Traditional Arabic 0 100%

Koufi 0 100%

Arabic Transparent 0 100%

Simplified Arabic 0 100%

Naskh 0 100%

Damas 0 100%

Farsi Simple Outline 26 98.64%

Andalus 0 100%

moraba3 0 100%

Shehab 0 100%

Total 108 99.75%

Tableau 7-3 : Performances de l’étape de segmentation des textes en pseudo-mots

Nous donnons dans la figure 7.10 quelques exemples de mots mal segmentés en pseudo-mots. Comme il apparait sur ces exemples, la raison principale est due à la présence d’une connexion entre deux pixels appartenant à deux pseudo-mots différents. Cela empêche le système de les détecter comme étant deux composantes connexes.

151

Figure 7-10 : Exemples de mots mal segmentés en pseudo-mots