• Aucun résultat trouvé

Chapitre 4 : Reconnaissance des caractères arabes imprimés multifontes

6 Approche développée pour la reconnaissance des caractères arabes

6.1 Prétraitement

Le prétraitement de l'image est une partie importante dans la reconnaissance du caractère. Il consiste à ne garder que les informations utiles contenues dans l'image d'entrée et réduire ou éliminer les informations inutiles. Par la suite, l'image obtenue sera traitée afin d'en extraire ces principales caractéristiques.

Les prétraitements qui utilisent les approches morphologiques ne considèrent pas l’image comme étant un ensemble de points d’un espace vectoriel mais comme un ensemble dont la structure fondamentale est le treillis formé par les pixels. Ainsi les algorithmes de morphologie s’appliquent à l’origine à des images où l’on ne considère que l’appartenance des points du treillis à un ensemble donné (1 pour l’appartenance et 0 pour la non appartenance).

90

L’image d’un caractère est une image qui apparait comme une forme bien lissée et régulière. Elle peut être assimilée à une matrice image. La matrice image est un tableau constitué de n lignes et de m colonnes définissant un nombre de carrés élémentaires appelés pixels (picture element). Les images que nous aurons à traiter sont des images en noir et blanc. Par ailleurs, un repère orthonormé permettant de définir les positions des pixels est établi. Les pixels noirs définis à partir de leurs coordonnées(x,y) correspondent au texte ou à un bruit et les pixels blancs correspondent au fond ou à l’arrière-plan. Aux pixels noirs nous affectons la valeur 1 ( p(x,y)1) et aux pixels blancs nous affectons la valeur 0

) 0 ) , (

(p x y  . Signalons au passage l'existence de nombreux algorithmes de binarisation qui permettent d'obtenir une image binaire à partir d'une image quelconque. Pour une étude détaillée sur les opérations classiques de la morphologie mathématique sur les images binaires, nous recommandons la lecture du livre de Schmitt et Mattioli [156].

6.1.1 Binarisation

Binariser une image en niveaux de gris consiste à la transformer en une image en noir et blanc en associant à chaque pixel la valeur 0 ou 1 (0 pour blanc et 1 pour noir). Ceci est illustré sur la figure 4.18.

Nous pouvons distinguer deux types de binarisation d’images, globale et locale. La binarisation globale cherche un seul seuil valable pour toute l’image. Les pixels dont la valeur est supérieure au seuil sont considérés comme appartenant à l’arrière-plan (nous leur assignons la valeur 0) et les autres constituent le caractère (nous leur assignons la valeur 1).

La binarisation globale a l’avantage d’être rapide. L’algorithme le plus amplement utilisé dans la binarisation globale est l’algorithme de séparation des classes développé par N. Otsu et présenté dans [131]. La binarisation locale utilise les algorithmes des seuils locaux [124,153, 87].

En fonction de types d’image de travail, il est possible de choisir l’une ou l’autre des méthodes de binarisation. Dans le cadre de cette thèse, comme les images étudiées utilisent un nombre limité de niveaux de gris, la binarisation globale nous est amplement suffisante.

91

Figure 4-18 : Binarisation d’une image en niveaux de gris

6.1.2 Points diacritiques

Nous désignons par signes diacritiques les points et autres composantes secondaires associées aux lettres. En arabe, les signes diacritiques sont indispensables pour différentier certaines lettres ou groupes de lettres (voir figure 4.19). La détection des signes diacritiques a au moins deux avantages. D’une part, un trop grand nombre de signes diacritiques risque de perturber le système pendant la phase de recherche des points caractéristiques, qui sert a caractériser le caractère où la forme inconnue. Et d’autre part, les signes diacritiques ainsi détectés pourront par la suite être utilisés pour améliorer les résultats de la reconnaissance en procédant à une classification plus fine. Ce deuxième point est abordé dans la section 6.3.1

ب, ت , ث ج, ح , خ

د , ذ ر , ز

ع , غ س , ش

ط , ظ ص , ض

Figure 4-19 : Classes de lettres ayant la même forme sans les points diacritiques

Dans les textes imprimés, nous constatons que ces signes diacritiques ne sont pas bien présentés dans l’image. En effet, certains typographes violent les lois relatives aux positionnements de ces signes diacritiques afin de rendre leurs fontes plus esthétiques. De plus, la résolution de l’image peut avoir un impact négatif sur la présentation de ces signes diacritiques. Ainsi, nous nous trouvons souvent devant des situations ou les points sont très proches ou même collés.

Cependant, le format de ces points même collés est régulier comme le montre la figure 4-19. Ces points collés sont présents dans la plupart des fontes imprimées. Après une étude

92

réalisée sur les fontes arabique, nous avons développé des filtres permettant de détecter ces points collés et de procéder par la suite à leur séparation.

6.1.3 Séparation des points

En visualisant les différentes situations où le caractère est accompagné de deux ou de trois points (par exemple le caractère ش (Sheen)), nous avons constaté que pour les caractères ayant deux points collés, la zone d’intersection des deux points contient au plus deux pixels (voir la figure 4.20 (a)). Pour éliminer ces pixels d’intersection, nous procédons en deux étapes:

a) Identification des points : comme le nombre total de pixels formant les points est beaucoup plus petite que celui du reste du caractère, nous considérons comme points n'importe quelle forme connexe avec un nombre de pixels inférieur au quart de celui du plus petit rectangle contenant le caractère.

b) Séparation des points liés : pour identifier les pixels communs, nous utilisons les deux masques suivants :

Une fois ces pixels identifiés, nous les éliminant en remplacent leur valeur 0 par la valeur 1 (voir la figure 4.20 (b)).

(a) (b)

Figure 4-20 : (a)-(b) Le caractère ش

(Sheen) avant et après séparation.

Après cette étape, les données que nous gardons sont le caractère sans points diacritiques et le nombre de points. L’information relative au nombre de points est ajoutée à la matrice finale qui caractérise le caractère.

93 6.1.4 Suppression du bruit

Compte tenu de la nature de certaines calligraphies de l'écriture arabe et du processus de binarisation, nous avons remarqué après la phase de squelettisation, l'émergence de branches en forme de bruit dans le squelette du caractère (voir figure 4-21). Ces branches affectent négativement l'analyse, car elles peuvent être détectées comme primitives dans la phase d'extraction des caractéristiques.

(a)

Squelettisation

(b)

Figure 4-21 : (a) Le caractère ﻞ (Lam) avant squelettisation ; (b) Squelette du caractère ﻞ (Lam)

Pour éviter l'apparition de ces branches, nous effectuons un filtrage avant la phase de squelettisation. Les masques ci-dessous représentent un échantillon des filtres utilisés dans cette phase.

En appliquant ce filtrage à l’exemple de la lettre ″ل″ ci-dessus, nous obtenons le squelette présenté dans la figure 4-22.

(a) (b) (c)

Figure 4-22 : (a) Le caractère (Lam) avant filtrage (b) Le caractère (Lam) après filtrage (c) Squelette du caractère (Lam) filtré

94 6.1.5 Redressement de formes

Après l'étape de squelettisation, nous avons constaté dans certains cas l'apparition d'un pixel décalé par rapport à une ligne droite d'une partie du squelette du caractère (voir la figure 4.23 (b)). Nous procédons dans cette étape à un redressement de ces pixels (voir la figure 4.23 (c)).

(a) (b) (c)

Figure 4-23 : (a) Le caractère ﻄ

(Thaa) initial ;

(b) Le caractère ﻄ

(Thaa) après squelettisation ;

(c) Le squelette du caractère ﻄ(Thaa) après redressement

6.1.6 Normalisation

Pour comparer les caractéristiques du caractère à reconnaître à ceux déjà appris, nous devons d'abord unifier la taille des images de tous les caractères. Pour cela, nous commençons par encadrer le caractère (c.à.d. identifier le plus petit rectangle contenant le caractère (voir la figure 4.24 (a)). Ensuite, nous plaçons cette image cadrée dans le centre d'une fenêtre 128×128 (voir figure 4.24 (b)).

(a) (b)

Figure 4-24 : (a) Encadrement du caractère ; (b) Centrage du caractère dans une image 128×128