WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Système de reconnaissance hors-ligne des mots manuscrits arabe pour multi-scripteurs

( Télécharger le fichier original )
par Riadh BOUSLIMI
FSJEGJ Jendouba - Mastère Recherche : Données, Connaissances et Systèmes Distribués 2006
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

    REPUBLIQUE TUNISIENNE
    MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET DE
    LA RECHERCHE SCIENTIFIQUES ET TECHNOLOGIQUES

    UNIVERSITE DE JENDOUBA
    FACULTE DES SCIENCES JURIDIQUES, ECONOMIQUES ET DE GESTION DE JENDOUBA

    MEMOIRE DE MASTÈRE

    Présenté en vue de l'obtention du

    Diplôme de Mastère Recherche
    En Informatique de Gestion :

    DONNÉES, CONNAISSANCES ET SYSTÉMES DISTRIBUÉS

    par

    Riadh BOUSLIMI

    Sujet

    Système de reconnaissance hors-ligne

    des mots manuscrits arabe

    pour multi-scripteurs

    Composition de jury :

    Président :

    Salah BOUMAIZA

    Maître de Conférence

    FSJEG Jendouba

    Rapporteur :

    Abderrazak JMAI

    Maître Assistant

    INSAT Tunis

    Encadreur :

    Jalel AKAICHI

    Maître Assistant

    ISG Tunis

    Soutenue le 21/10/2006

    Remerciements

    Je tiens à remercier en premier lieu mon encadrant Dr. Jalel AKAICHI, pour la patience dont il a fait preuve à mon égard, et pour l'orientation qu'il m'a donné à mon travail.

    Je lui suis également reconnaissant d'avoir su me communiquer sa passion pour la recherche.

    J'espère sincèrement que nous pourrons continuer à travailler ensemble.

    Un grand merci à mon frère Walid, pour son soutien quotidien, et pour son encouragement.

    Je remercie ma mère pour son encouragement répété. Je remercie aussi mon père pour son soutien inconditionnel.

    Table des matières

    Remerciements 2

    Table des matières 3

    Liste des tableaux 5

    Liste des figures 6

    INTRODUCTION GÉNÉRALE 7

    Chapitre 1 : Etat de l'Art 8

    . Introduction 9

    1

    2. Différents aspects de l'OCR 9

    2.1. Reconnaissance En-Ligne et Hors-Ligne 9

    2.1.1. La reconnaissance En-Ligne (on-line) 9

    2.1.2. La reconnaissance hors-ligne (off-line) : 10

    2.2. Approches de reconnaissance 11

    2.2.1. Approche globale 11

    2.2.2. Approche analytique 12

    2.2.3. Problématique de l'approche analytique 13

    a. Segmentation explicite 13

    b. Segmentation implicite 13

    c. Sans segmentation 14

    3. Problèmes liés à l'OCR 14

    4. Processus de reconnaissance 16

    4.1. Phase d'acquisition 16

    4.2. Phase de prétraitement 17

    a. La binarisation 17

    b. Extraction de composantes connexes 18

    c. Redressement de l'écriture 18

    d. Lissage 18

    e. Normalisation 18

    f. Squelettisation 19

    4.3. Phase de segmentation 19

    4.4. Phase d'extraction des caractéristiques 19

    a. Caractéristiques structurelles : 19

    b. Les caractéristiques statistiques : 20

    c. Les transformations globales : 20

    d. Superposition des modèles (template matching) et corrélation : 20

    4.5. Phase de classification 21

    a. L'apprentissage 21

    b. Reconnaissance et décision 21

    i. Approche statistique 22

    ii. Approche structurelle 23

    iv. Approche stochastique 24

    4.6. Phase de Post-Traitement 24

    5. Quelques systèmes de reconnaissance d'écriture arabe (AOCR) 24

    6. Conclusion 30

    Chapitre 2 : MÉTHODE PROPOSÉES 31

    1 . Limite des méthodes existantes 32

    1.1. Modèle de Markov Cachés (Hidden Markov Model) 32

    1.1.1. Mise en ouvre des Modèles de Markov Cachés 32

    1.1.2. Expérimentation et limites sur l'écriture arabe 32

    1.2. Réseaux de Neurones 33

    1.2.1. Mise en ouvre des Réseaux de Neurones 33

    1.2.2. Expérimentation et limites sur l'écriture arabe 33

    1.3. Caractéristiques morphologiques de l'écriture Arabe 33

    2. Système proposé 35

    2.1. Description générale 35

    2.2. Description détaillée 37

    2.2.1. Sous système d'apprentissage 37

    2.2.1.1. Pré-traitement 37

    2.2.1.2. Traitement 41

    2.2.2. Sous système de reconnaissance 44

    2.2.2.1. Pré-traitement 44

    2.2.2.2. Traitement 44

    2.2.2.3. Post-traitement 47

    3. Conclusion 48

    Chapitre 3 : RÉALISATION DU SYSTÈME 49

    1 . Description et expression des besoins 50

    2. Tests de réalisation 51

    2.1. Tests des composants 51

    2.2. Tests du système 51

    3. Processus d'utilisation 52

    3.1.Apprentissage des modèles des lettres 52

    3.2. Reconnaissance des mots manuscrits arabes 53

    4. Conclusion 54
    Chapitre 4 : Application du système « RIMA » dans une école pour l'enseignement des

    âgés 55

    1. Extension du système « RIMA » 56

    1.1. Présentation 56

    1.2. Description détaillée 57

    2. Test et expérience 57

    2.1. Données d'expérience 57

    2.2. Expérimentation 60

    2.2.1. Post-traitement avec superviseur 60

    2.2.2. Post-traitement sans superviseur 61

    2.3. Statistiques de reconnaissances 61

    3. Conclusion 63

    Conclusion et Perspectives 64

    BIBLIOGRAPHIE 66

    Annexes 69

    Liste des tableaux

    Tableau n°1 : Quelques systèmes de reconnaissance d'écriture arabe(AOCR) 25

    Tableau n°2: Différentes formes des lettres de l'alphabet arabe 46

    Tableau n°3 : Nombres des formes d'apprentissages mono-scripteur 47

    Tableau n°4: Base d'apprentissage minimale d'un mono-scripteur 61

    Tableau n°5 : Données d'expériences 63

    Tableau n°6 : Résultat d'expérimentation 64

    Tableau n°7 : Expérimentation avec un post-traitement supervisé 64

    Tableau n°8 : Statistiques de reconnaissances 65

    Liste des figures

    Figure 1: Différents systèmes, représentations et approches de reconnaissance 12

    Figure 2 : Exemples de Segmentations [A. Belaïd 2002] 13

    Figure 3 : Schéma général d'un système de reconnaissance de caractères. 15

    Figure 4 : Différents niveaux de résolution [A. Belaïd et Y. Belaïd 92] 16

    Figure 5 : effets de certaines opérations de prétraitement. 17

    Figure 6 : Exemple de Binarisation adaptative [H. Emptoz, F. Lebougoies 2003] 17

    Figure 7 : Exemple de normalisation de mots manuscrits [A. Belaïd 2002]. 19

    Figure 8 : Architecture globale du système 36

    Figure 9 : Exemple de binarisation d'une image couleur. 37

    Figure 10 : Exemple d'encadrement d'une lettre dans une image 40

    Figure 11 : Exemple de normalisation d'une lettre 40

    Figure 12 : Exemple de matrice de distribution (5*5) de la lettre alphabet arabe «jim »42

    Figure 13 : Exemples de corrélation 45

    Figure 14 : Processus de correspondance 46

    Figure 15 : Processus de correction 47

    Figure 16 : Le processus d'évaluation automatique du résultat 48

    Figure 17 : Maquette principale du système 50

    Figure 18 : Sous système d'apprentissage des modèles des lettres arabes 50

    Figure 19 : Sous système de reconnaissance des mots manuscrits arabes 51

    Figure 20 : Modèle d'apprentissage 52

    Figure 21 : Portion de la base d'apprentissage 52

    Figure 22 : Modèle de reconnaissance 53

    Figure 23 : Exemple de reconnaissance de mot manuscrit 54

    Figure 24 : Processus d'évaluation des examens 56

    Figure 25 : Exemple d'une copie d'examen d'un élève 59

    Figure 26 : Taux d'erreurs 62

    INTRODUCTION GÉNÉRALE

    La reconnaissance de l'écriture manuscrite 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, comme 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) ou l'entrée est une image numérique de l'écriture. Seule la reconnaissance hors ligne sera considérée dans ce travail.

    La reconnaissance de l'écriture manuscrite par ordinateur est du domaine de la fiction pour quelques années encore surtout pour la langue arabe. 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. Cependant nous proposons une autre approche incrémentale de la reconnaissance de l'écriture manuscrite arabe et qui ne fait pas recours à la segmentation et utilise une technique que nous appelons matrice de distribution.

    Dans un premier chapitre, nous présentons une vue globale sur l'analyse de documents et ses différentes méthodes de retro-conversion. Nous allons expliquer les deux types d'écriture en-ligne et hors-ligne ainsi que les différentes approches existantes pour la reconnaissance. Nous proposons dans le second chapitre notre approche pour la reconnaissance de l'écriture manuscrite arabe. Nous y détaillons, notamment, l'architecture de notre système ainsi que certains algorithmes de modules. Dans le chapitre 3 nous décrivons l'implémentation de notre approche. Dans le chapitre 4 nous menons des essais expérimentaux pour évaluer la performance du système réalisé. Enfin, nous présentons nos perspectives après avoir conclure le mémoire.

    Chapitre
    1

    Etat de l'Art

    Objectifs du chapitre

    L'analyse automatique de documents concerne essentiellement la rétro-conversion d'une image d'un document en un format compatible avec des données sémantiques. Il existe deux types d'écriture le manuscrit et l'imprimé. En effet, la régularité de l'imprimé permet d'utiliser des techniques beaucoup plus fiables et beaucoup plus directes et rapides que celles pour le manuscrit dont la complexité et la variabilité sont très importantes. Nous allons présenter les concepts de bases et les méthodes de reconnaissance en fonction du mode d'acquisition de l'écriture et nous allons nous intéresser plutôt sur les méthodes de reconnaissance d'écriture manuscrite hors ligne.

    1. Introduction

    Ces dernières années, des progrès considérables ont été réalisés dans la mise en oeuvre de systèmes pour la reconnaissance de l'écriture manuscrite, et cela grâce, d'une part aux nombreux travaux effectués dans ce domaine, et, d'autre part, à la production évaluée à bas prix des micro-ordinateurs et des systèmes d'acquisition (scanner, tablette à digitaliser... etc.).

    La reconnaissance de l'écriture manuscrite par ordinateur est un domaine très vaste, Les travaux de recherches sur l'écriture arabe, bien qu'ils soient moins nombreux en comparaison avec d'autres types d'écriture (ex. le Latin et le Japonais).

    Nous présenterons dans ce chapitre les différents aspects d'un OCR (Optical Character Recognition) ainsi que ces principaux problèmes, ensuite nous présenterons le processus de reconnaissance de l'écriture manuscrite ainsi que ces différentes approches. Enfin nous présenterons quelques travaux de recherches sur l'écriture manuscrite.

    2. Différents aspects de l'OCR

    Il n'existe pas de système universel d'OCR qui permet de reconnaître n'importe quel caractère dans n'importe quelle fonte. Tout dépend du type de données traitées et bien évidemment de l'application visée [N. Ben Amara 1999]. Il existe plusieurs modes de classification des systèmes OCR parmi lesquels on peut citer:

    y' Les systèmes qualifiés de « en-ligne » ou « hors-ligne » suivant le mode d'acquisition.

    y' Les approches globales ou analytiques selon que l'analyse s'opère sur la totalité du mot, ou par segmentation en caractères.

    y' Les approches statistiques, structurelles ou stochastiques relatives aux traits caractéristiques extraits des formes considérées.

    2.1.Reconnaissance En-Ligne et Hors-Ligne

    Ce sont deux modes différents d'OCR, ayant chacun ses outils propres d'acquisition et ses algorithmes correspondants de reconnaissance.

    2.1.1.La reconnaissance En-Ligne (on-uine)

    Ce mode de reconnaissance s'opère en temps réel (pendant l'écriture). Les symboles sont reconnus au fur et à mesure qu'ils sont écrits à la main.

    Ce mode est réservé généralement à l'écriture manuscrite, c'est une approche «signal» où la reconnaissance est effectuée sur des données à une dimension. L'écriture est représentée comme un ensemble de points dont les coordonnées sont en fonction du temps [Lecolinet 1993], [Al-Badr 1995].

    La reconnaissance en-ligne présente un avantage majeur c'est la possibilité de correction et de modification de l'écriture de manière interactive vu la réponse en continu du système [Lallican 00].

    L'acquisition de l'écrit est généralement assurée par une tablette graphique munie d'un stylo électronique.

    2.1.2.La reconnaissance hors-ligne (off-line) :

    Elle démarre après l'acquisition, elle convient aux documents imprimés et les manuscrits déjà rédigés. Ce mode peut être considéré comme le cas le plus général de la reconnaissance de l'écriture. Il se rapproche du mode de la reconnaissance visuelle. L'interprétation de l'information est indépendante de la source de génération [Tsang 2000].

    La reconnaissance hors-ligne peut être classée en plusieurs types :

    ü Reconnaissance de texte ou analyse de documents : Dans le premier cas il s'agit de reconnaître un texte de structure limitée à quelques lignes ou mots. La recherche consiste en un simple repérage des mots dans les lignes, puis à un découpage de chaque mot en caractères [N. Ben Amara 1999]. Dans le second cas (analyse de document), il s'agit de données bien structurés dont la lecture nécessite la connaissance de la typographie et de la mise en page du document. Ici la démarche n'est plus un simple prétraitement, mais une démarche experte d'analyse de document il y'a localisation des régions, séparation des régions graphiques et photographique, étiquetage sémantique des zones textuelles à partir de modèles, détermination de l'ordre de lecture et de la structure du document [Trenkle 1997].

    ü Reconnaissance de l'imprimé ou du manuscrit : Les approches diffèrent selon qu'il s'agisse de reconnaissance de caractères imprimés ou manuscrits. Les caractères imprimés sont dans le cas général alignés horizontalement et séparés verticalement, ce qui simplifie la phase de lecture [Ben Amara N. 1999]. La forme des caractères est définie par un style calligraphique (fonte) qui constitue un modèle pour l'identification. Dans le cas du manuscrit, les caractères sont souvent ligaturés et leur graphisme est inégalement proportionné provenant de la variabilité intra et interscripteurs. Cela nécessite généralement l'emploi de techniques de délimitation spécifiques et souvent des connaissances contextuelles pour guider la lecture [S.Al. Fahmy 2001] .

    Dans le cas de l'imprimé, la reconnaissance peut être monofonte, multifonte ou omnifonte .

    Un système est dit monofonte s'il ne peut reconnaître qu'une seule fonte à la fois c'est à dire qu'il ne connaît de graphisme que d'une fonte unique. C'est le cas le plus simple de reconnaissance de caractères imprimés [Anigbogu 1992].

    Un système est dit multifonte s'il est capable de reconnaître divers types de fontes parmi un ensemble de fontes préalablement apprises [N. Ben Amara 1999].

    Et un système omnifonte est capable de reconnaître n'importe quelle
    fonte, généralement sans apprentissage préalable. Cependant ceci est

    quasiment impossible car il existe des milliers de fontes dont certaines illisible par l'homme (sauf bien sure pour celui qui l'a conçue) et avec un logiciel de création de fonte n'importe qui peut concevoir des fontes à sa guise.

    Dans le cas du manuscrit, la reconnaissance peut être monoscripteur, multiscripteur ou omniscripteur. L'écriture manuscrite hors-ligne peut être classée en deux catégories d'écritures : écriture cursive et écriture semi-cursive.

    · Un système est dit Mono-scripteur (propres au scripteur) : c'est le fait que le système ne peut reconnaître qu'une seul écriture. Tous ces éléments influent sur la forme des lettres (écriture penchée, bouclée, arrondie, linéaire, etc.) et bien sûr sur la forme des ligatures, compromettant parfois le repérage des limites entre lettres.

    · Un système est dit Multi-scripteur (propres à l'écriture manuscrite): c'est que le système peut identifier et reconnaître l'écriture pour un certain nombre de scripteurs.

    · Et un système est dit Omni-scripteur (propres à n'importe quelle écriture manuscrite): c'est le fait de réduire l'information contenue dans l'image au minimum nécessaire pour modéliser précisément la structure des caractères. [P. Dargenton 1999] à proposé une méthode d'appariement de deux graphes structurels quelconques qui permet de déterminer la meilleure ressemblance ou correspondance entre deux formes, tandis que la reconnaissance consiste à sélectionner ensuite la meilleure appariement réalisé parmi un alphabet de référence.

    2.2. Approches de reconnaissance

    Deux approches s'opposent en reconnaissance des mots : globale et analytique. La figure n°1 nous montre comment réaliser un système OCR.

    2.2.1. Approche globale

    L'approche globale se base sur une description unique de l'image du mot, vue comme une entité indivisible. Disposant de beaucoup d'informations, en effet, la discrimination de mots proches est très difficile, et l'apprentissage des modèles nécessite une grande quantité d'échantillons qui est souvent difficile à réunir.

    Cette approche est souvent appliquée pour réduire la liste de mots candidats dans le contexte d'une reconnaissance à grands vocabulaires. Il est nécessaire d'utiliser dans ce cas des primitives très robustes (coarse features). Le mot reconnu est ensuite trouvé à l'aide de primitives de plus en plus précises (ou d'un classifieur de plus en plus fin). Cette combinaison de classifieurs est appelée combinaison sérielle par Madvanath [S. Madvanath & V. Govindaraju 1992], par opposition à la combinaison parallèle où les sorties des classifieurs sont considérées en même temps. Pour les vocabulaires réduits et distincts (exemple: reconnaissance de montants littéraux de chèques bancaires), cette approche reste parfaitement

    envisageable comme cela a été fait par Simon [J. C. Simon 1992], Gilloux [M. Gilloux & M. Leroux 1993], Knerr [S. Knerr & al. 1997], Guillevic [D. Guillevic and C. Suen 1997] et Saon [A. Belaïd et G. Saon. 1997].

    2.2.2. Approche analytique

    L'approche analytique basée sur un découpage (segmentation) du mot. La difficulté d'une telle approche a été clairement évoquée par Sayre en 1973 et peut être résumée par le dilemme suivant : "pour reconnaître les lettres, il faut segmenter le tracé et pour segmenter le tracé, il faut reconnaître les lettres". Il s'ensuit qu'un processus de reconnaissance selon cette approche doit nécessairement se concevoir comme un processus de relaxation alternant les phases de segmentation et d'identification des segments. La solution communément adoptée consiste à segmenter le mot manuscrit en parties inférieures aux lettres appelés graphèmes et à retrouver les lettres puis le mot par combinaison de ces graphèmes. C'est une méthode de segmentation explicite qui s'oppose à la segmentation interne où la reconnaissance des lettres s'opère sur des hypothèses de segmentation variables (générées en fonction des observations courantes) [R. G. Casey and E. Lecolinet 1995]. Cette approche est la seule applicable dans le cas de grands vocabulaires.

    Figure 1: Différents systèmes, représentations et approches de reconnaissance.

    2.2.3. Problématique de l'approche analytique

    L'approche analytique présente quelques problèmes au niveau de la localisation. Sayre en 1973 a évoqué le dilemme suivant : «Pour apprendre les modèles de lettres il faut pouvoir localiser ces dernières, et pour les localiser il faut avoir appris les modèles des lettres ». On distingue alors trois grandes voies de segmentations :

    ü segmentation explicite : segmentation sur des critères topologiques (Figure 2a)

    ü segmentation implicite : segmentation d'après les modèles de lettres (Figure 2b)

    ü sans segmentation : détection de la présence d'une lettre (Figure 2c)

    Figure 2 : Exemples de Segmentations [A. Belaïd 2002].

    a. Segmentation explicite

    L'avantage de cette segmentation c'est que l'information est localisée explicitement et ça va dans le sens de Sayre puisque on sépare les lettres non pas d'après leur reconnaissance, mais d'après des critères topologiques ou morphologiques.

    Le défaut majeur de cette segmentation vient en premier lieu de choix des limites indépendant des critères des modèles : les limites sous-optimales pour les modèles et modélisation sous-optimale. En deuxième lieu il n'existe pas de méthode de segmentation fiable à 100% et pour toute erreur de segmentation pénalise le système dès la base.

    La segmentation explicite n'est pas parfaite pour un système de reconnaissance des mots manuscrite [A. Belaïd 2002].

    b. Segmentation implicite

    L'avantage de cette segmentation c'est que l'information est localisée par les modèles des lettres et la validation se fait par ses modèles. Il n'y aura pas d'erreur de segmentation et enfin on contourne le dilemme de Sayre car en connaissant les lettres, on n'engendre pas d'erreur de segmentation.

    Les défauts de cette segmentation viennent du fait que l'espace de recherche des limites se trouve très augmenté et le problème est ramené à un problème de recherche de zones où se trouvent ces limites, reposant le problème de Sayre sur les zones.

    Cette segmentation présente des avantages et des inconvénients ce qui fait que cette approche est insuffisante pour une modélisation optimale de l'écriture [Belaïd A. 2002].

    c. Sans segmentation

    Les avantages de cette segmentation c'est qu'elle résout tous les problèmes d'optimalité cités, elles ne délimitent pas les lettres, elles ont une vision globale des mots, et donc écartent la sous-optimalité de la segmentation.

    Les principaux défauts c'est qu'elle pose le problème de l'optimalité de l'apprentissage des lettres : c'est-à-dire comment apprendre correctement sans délimiter correctement, cela repousse le problème d'optimalité au niveau de l'apprentissage.

    Cette approche reste la seule approche optimale vis-à-vis des mots elle nécessite cependant un apprentissage adéquat pour conserver l'optimalité : l'effort portera sur ce point [Belaïd A., 2002].

    3. Problèmes liés à l'OCR

    La tâche de l'OCR n'est pas aisée, La figure n°3 nous montre un schéma général d'un système de reconnaissance de caractères. Des divers problèmes compliquent le processus de reconnaissance, parmi lesquels on peut citer [Al-Badr 1995], [Ben Amara N. 1999]:

    V' La qualité du document : un document télécopié ou photocopié plusieurs fois est plus difficile à traiter que la copie originale. L'écriture peut devenir plus mince ou au contraire plus épaisse, dégradée avec des parties du texte qui manquent ou de tâches qui apparaissent, des ouvertures ou des bouchages de boucles ...

    V' L'impression : un document composé est de meilleure qualité qu'un document dactylographié qui, à son tour, est plus clair qu'un texte issu d'une imprimante matricielle. Une imprimante à jet d'encre peut introduire des tâches d'encre et un étalement des caractères, une imprimante laser peut générer des lignes ou des fonds ...

    V' La discrimination de la forme : selon le style de la fonte utilisée, son corps et sa graisse..., le caractère change de graphisme. Le nombre de formes est d'autant plus important que le nombre de styles d'écriture est élevé. De plus, plusieurs caractères présentent une forte ressemblance tels que:

    pour l'arabe: bet , .et ?~? et j

    pourleLatin:UetV,Oet0,Set5,Zet2.

    V' Le support de l'information, tel que le papier, joue également sur les performances
    de la reconnaissance par sa qualité: son grammage, sa granulation et sa couleur.

    V' L'acquisition: la numérisation en temps réel introduit souvent des distorsions dans l'image. Dans le cas hors-ligne la qualité du texte numérisé est un compromis entre les variations de la position (inclinaison, translation, rétrécissement...), la propreté de la vitre du dispositif de numérisation et sa résolution.

    V' Les variations des dimensions : un «pitch » de 10, 12 ou de 16 ... (10, 12 ou 16 cpi (character per inch)). Un pitch de 10 implique des caractères plus grands aussi bien en largeur qu'en hauteur que ceux d'un pitch de 12.

    En plus de ces problèmes un système OCR devrait être capable de distinguer entre un texte et une figure, de reconnaître les caractères ligaturés et d'être indépendant des variations de l'espace aussi bien inter-mots que de l'interligne.

    Les problèmes posés par la reconnaissance optique de l'écriture manuscrite, sont plus complexes que ceux liés à l'écriture imprimée. Les erreurs de lecture dans le cas du manuscrit sont dues aux variations infinies de l'écriture de nature aléatoire qui dépendent de facteurs particuliers du scripteur et des conditions de l'écriture.

    Figure 3 : Schéma général d'un système de reconnaissance de caractères.

    4. Processus de reconnaissance

    Un système de reconnaissance fait appel généralement aux étapes suivantes : acquisition, prétraitements, segmentation, extraction des caractéristiques, classification, suivis éventuellement d'une phase de post-traitement.

    4.1. Phase d'acquisition

    L'acquisition permettant la conversion du document papier sous la forme d'une image numérique (bitmap). Cette étape est importante car elle se préoccupe de la préparation des documents à saisir, du choix et du paramétrage du matériel de saisie (scanner), ainsi que du format de stockage des images.

    La numérisation du document est opérée par balayage optique. Le résultat est rangé dans un fichier de points, appelés pixels, dont la taille dépend de la résolution [Belaïd A. 1995]. La Figure 4 montre différents niveaux de résolution utilisés pour le même document. On peut remarquer la dégradation occasionnée par 75 ppp, l'insuffisance des 300 ppp pour le graphique, et l'inutilité des 1200 ppp pour l'ensemble.

    La technicité des matériels d'acquisition (scanner) a fait progrès ces dernières années. On trouve aujourd'hui des scanners pour des documents de différents types (feuilles, revues, livres, photos, etc.). Leur champ d'application va du "scan" de textes au "scan" de photos en 16 millions de couleurs (et même plus pour certains). La résolution par défaut est de l'ordre de 300 à 1200 ppp selon les modèles.

    Figure 4 : Différents niveaux de résolution [A. Belaïd et Y. Belaïd 1992]

    4.2. Phase de prétraitement

    Le prétraitement consiste à préparer les données issues du capteur à la phase suivante. Il s'agit essentiellement de réduire le bruit superposé aux données et essayer de ne garder que l'information significative de la forme représentée. Le bruit peut être dû aux conditions d'acquisition (éclairage, mise incorrecte du document, ...) ou encore à la qualité du document d'origine.

    Parmi les opérations de prétraitement généralement utilisées on peut citer : l'extraction des composantes connexes, le redressement de l'écriture, le lissage, la normalisation et la squelettisation (figure 5).

    Figure 5 : effets de certaines opérations de prétraitement. a. La binarisation

    La binarisation c'est le passage d'une image en couleur ou définie par plusieurs niveaux de gris en image bitonale (composée de deux valeurs 0 et 1) qui permet une classification entre le fond (image du support papier en blanc) et la forme (traits des gravures et des caractères en noir).

    Pour des images de niveaux de gris, on peut trouver dans [O. D. Trier & T. Taxt 1995] une liste des méthodes de binarisation, proposant des seuils adaptatifs (ex. s'adaptant à la différence de distribution des niveaux de gris). [Y. Liu & S. Srihari 1997] proposent une solution pour les images d'adresses postales. La recherche du seuil passe par plusieurs étapes : binarisation préliminaire basée sur une distribution de mixture multimodale, analyse de la texture à l'aide d'histogrammes de longueurs de traits, et sélection du seuil à partir d'un arbre de décision.

    Figure 6 : Exemple de Binarisation adaptative [H. Emptoz & F. Lebougoies 2003]

    b. Extraction de composantes connexes

    Une composante connexe (CXX) est un ensemble de points dans le plan. Elle peut correspondre à un point diacritique, un accent, au corps d'un caractère ou d'une chaîne de caractères... Une fois localisés les CXX sont regroupées pour former les mots. Cette technique est utilisée pour le repérage des points diacritiques dans les images de textes arabes [N. Ben Amara 1999].

    c. Redressement de l'écriture

    L'un des problèmes rencontrés en OCR est l'inclinaison des lignes du texte, qui introduit des difficultés pour la segmentation. L'inclinaison peut provenir de la saisie, si le document a été placé en biais, ou être intrinsèque au texte. Il convient alors de le redresser afin de retrouver la structure de lignes horizontales d'une image texte. Si á est l'angle d'inclinaison, pour redresser l'image, une rotation isométrique d'angle -á est opérée grâce à la transformation linéaire suivante [Steinherz 1999] :

    d. Lissage

    L'image des caractères peut être entachées de bruits dus aux artefacts de l'acquisition et à la qualité du document, conduisant soit à une absence de points ou à une surcharge de points. Les techniques de lissage permettent de résoudre ces problèmes par des opérations locales qu'on appelle opérations de bouchage et de nettoyage [Burrow 2004].

    L'opération de nettoyage permet de supprimer les petites tâches et les excroissances de la forme. Pour le bouchage il s'agit d'égaliser les contours et de boucher les trous internes à la forme du caractère en lui ajoutant des points noirs.

    Plusieurs autres techniques similaires sont utilisées dont la méthode statistique, une méthode basée sur la morphologie mathématique [N. Ben Amara 1999].

    e. Normalisation

    Après la normalisation de la taille, les images de tous les caractères se retrouvent définies dans une matrice de même taille, Pour faciliter les traitements ultérieurs (Figure n° 7).

    Le principe de la normalisation est d'essayer de normaliser localement différentes parties du mot, de manière à augmenter la ressemblance d'une image à une autre.

    Cette opération introduit généralement de légères déformations sur les images. Cependant certains traits caractéristiques tels que la hampe dans les caractères (Ø Ù á Ç par exemple) peuvent être éliminées à la suite de la normalisation, ce qui peut entraîner à des confusions entre certains caractères [Steinherz 1999].

    Figure 7 : Exemple de normalisation de mots manuscrits [A. Belaïd 2002]. f. Squelettisation

    Le but de cette technique est de simplifier l'image du caractère en une image à « ligne » plus facile à traiter en la réduisant au tracé du caractère. Les algorithmes de squelettisation se basent sur des méthodes itératives. Le processus s'effectue par passes successives pour déterminer si un tel ou tel pixel est essentiel pour le garder ou non dans le tracé [Steinherz 1999].

    La squelettisation des caractères arabes peut induire en erreur : deux points diacritiques sont souvent confondus avec un seul [N. Ben Amara 1999].

    4.3. Phase de segmentation

    Dans cette phase les différentes parties logiques d'une image sont extraites. A partir d'une image acquise il y'a d'abord séparation des blocs de texte et des blocs graphiques, puis à partir d'un bloc de texte il y'a extraction des lignes, ensuite à partir de ces lignes sont extraits les mot puis les caractères (ou parties du caractère) [Al-B adr 1995].

    4.4. Phase d'extraction des caractéristiques

    C'est l'une des étapes les plus délicates et les plus importantes en OCR. La reconnaissance d'un caractère passe d'abord par l'analyse de sa forme et l'extraction de ses traits caractéristiques (primitives) qui seront exploités pour son identification.

    Les types de caractéristiques peuvent être classés en quatre groupes principaux : caractéristiques structurelles, caractéristiques statistiques, transformations globales, et superposition des modèles et corrélation [Kermi 1999] [Al-Badr 1995].

    a. Caractéristiques structurelles:

    Les caractéristiques structurelles décrivent une forme en terme de sa topologie et sa géométrie en donnant ses propriétés globales et locales. Parmi ces caractéristiques on peut citer [Kermi 1999]:

    v Les traits et les anses dans les différentes directions ainsi que leurs tailles. v Les points terminaux.

    v Les points d'intersections.

    v Les boucles.

    I Le nombre de points diacritiques et leur position par rapport à la ligne de base. I Les voyellations et les zigzags (hamza).

    I La hauteur et la largeur du caractère.

    I La catégorie de la forme (partie primaire ou point diacritique, etc).

    I Plusieurs autres caractéristiques peuvent être tirés, suivant qu'ils soient extraits d'une courbe, un trait ou un segment de contour.

    b. Les caractéristiques statistiques:

    Les caractéristiques statistiques décrivent une forme en terme d'un ensemble de mesures extraites à partir de cette forme. Les caractéristiques utilisés pour la reconnaissances de textes arabes sont : le zonage (zonning), les caractéristiques de lieu géométrique (Loci) et les moment [Kermi 1999].

    I Le zonage consiste à superposer une grille n×m sur l'image du caractère et pour chacune des régions résultantes, calculer la moyenne ou le pourcentage de points en niveaux de gris, donnant ainsi un vecteur de taille n×m de caractéristiques.

    I La méthode Loci est basée sur le calcul du nombre de segments blancs et de segments noirs le long d'une ligne verticale traversant la forme, ainsi que leurs longueurs [AlBadr 1995].

    I La méthode des moments : les moments d'une forme par rapport à son centre de gravité sont invariants par rapport à la translation et peuvent être invariants par rapport à la rotation [Al-Badr 1994]. Ils sont aussi indépendants de l'échelle. Ces caractéristiques peuvent être facilement et rapidement extraites d'une image de texte, ils peuvent tolérer modérément les bruits et les variations [T sang 2000].

    c. Les transformations globales:

    La transformation consiste à convertir la représentation en pixels en une représentation plus abstraite pour réduire la dimension des caractères, tout en conservant le maximum d'informations sur la forme à reconnaître.

    Une des transformations les plus simples est celle qui représente le squelette ou le contour d'un caractère sous forme d'une chaîne de codes de directions [Al-Badr 1995]. La chaîne de code obtenue est souvent simplifiée pour réduire les redondances et les changements brusques de direction.

    d. Superposition des modèles (template matching) et corrélation:

    La méthode de `template matching' appliquée à une image binaire (en niveaux de gris ou squelettes), consiste à utiliser l'image de la forme comme vecteur de caractéristiques pour être comparé à un modèle (template) pixel par pixel dans la phase de reconnaissance, et une mesure de similarité est calculée [Kermi 1999].

    4.5. Phase de classification

    La classification dans un système OCR regroupe deux tâches : l'apprentissage et la reconnaissance et décision. A cette étape les caractéristiques de l'étape précédente sont utilisées pour identifier un segment de texte et l'attribuer à un modèle de référence [Kermi 1999].

    a. L'apprentissage

    Il s'agit lors de cette étape d'apprendre au système les propriétés pertinentes du vocabulaire utilisé et de l'organiser en modèles de références.

    L'idéal serait d'apprendre au système autant d'échantillons que de formes d'écritures différentes, mais cela est impossible à cause de la grande variabilité de l'écriture qui conduirait à une explosion combinatoire de modèles de représentation. La tendance consiste alors à remplacer le nombre par une meilleure qualité des traits caractéristiques [N. Ben Amara 1999], [Al-Badr 1995]. L'apprentissage consiste en deux concepts différents : l'entraînement et l'adaptation. L'entraînement consiste à enseigner au système la description des caractères tandis que l'adaptation sert à améliorer les performances du système en profitant des expériences précédentes. Certains systèmes permettent à l'utilisateur d'identifier un caractère lorsqu'ils échouent à le reconnaître et ils utilisent l'entrée de l'utilisateur à chaque fois que le caractère est rencontré [Al-Badr 1995].

    Les procédés d'apprentissage sont différents selon qu'il s'agisse de reconnaissance de caractères imprimés ou manuscrits ou de reconnaître des textes monofonte ou multifonte. D'une manière générale, on distingue deux types de techniques d'apprentissage : supervisé et non supervisé.

    ü L'apprentissage est dit supervisé s'il est guidé par un superviseur appelé professeur. Il est réalisé lors d'une étape préliminaire de reconnaissance en introduisant un grand nombre d'échantillons de référence. Le professeur indique dans ce cas le nom de chaque échantillon. Le choix des caractères de référence est fait à la main en fonction de l'application. Le nombre d'échantillons peut varier de quelques unités à quelques dizaines, voir même quelques centaines par caractère [N. Ben Amara 1999], [Kermi 1999].

    ü L'apprentissage non supervisé ou sans professeur consiste à doter le système d'un mécanisme automatique qui s'appuie sur des règles précises de regroupement pour trouver les classes de référence avec une assistance minimale. Dans ce cas les échantillons sont introduits en un grand nombre par l'utilisateur sans indiquer leur classe [N. Ben Amara 1999].

    b. Reconnaissance et décision

    La décision est l'ultime étape de reconnaissance. A partir de la description en paramètres du caractère traité, le module de reconnaissance cherche parmi les modèles de référence en présence, ceux qui lui sont les plus proches.

    La reconnaissance peut conduire à un succès si la réponse est unique (un seul modèle répond à la description de la forme du caractère). Elle peut conduire à une confusion si la réponse est multiple (plusieurs modèles correspondent à la description). Enfin elle peut conduire à un rejet de la forme si aucun modèle ne correspond à sa description. Dans les deux premiers cas, la décision peut être accompagnée d'une mesure de vraisemblance, appelée aussi score ou taux de reconnaissance [N. Ben Amara 1999].

    Les approches de reconnaissance peuvent être regroupées en trois groupes principaux: l'approche statistique, l'approche structurelle, et l'approche stochastique.

    i. Approche statistique

    Elle est fondée sur l'étude statistique des mesures que l'on effectue sur les formes à reconnaître. L'étude de leur répartition dans un espace métrique et la caractérisation statistique des classes, permettent de prendre une décision de reconnaissance du type « plus forte probabilité d'appartenance à une classe » [N. Ben Amara 1999].

    Les approches statistiques bénéficient des méthodes d'apprentissage automatique qui s'appuient sur des bases théoriques fondées, telles que la théorie de la décision bayésienne, les méthodes de classification non supervisées ... En reconnaissance, le problème revient à affecter une forme inconnue à l'une des classes obtenues pendant l'apprentissage [Al-Badr 1995].

    Nous pouvons citer trois méthodes statistiques parmi celles les plus couramment utilisées :

    ü L'approche bavésienne

    L'approche bayésienne consiste à choisir parmi un ensemble de caractères, celui pour lequel la suite de primitives extraites a la plus forte probabilité à posteriori par rapport aux caractères préalablement appris [Anigbogu 1992].

    ü La méthode du plus proche voisin

    L'algorithme KNN (K Nearest Neighbors) affecte une forme inconnue à la classe de son plus proche voisin en la comparant aux formes stockées dans une classe de références nommée prototypes. Il renvoie les K formes les plus proches de la forme à reconnaître suivant un critère de similarité. Une stratégie de décision permet d'affecter des valeurs de confiance à chacune des classes en compétition et d'attribuer la classe la plus vraisemblable (au sens de la métrique choisie) à la forme inconnue [N. Ben Amara 1999 , Burrow 2004].

    Cette méthode présente l'avantage d'être facile à mettre en oeuvre et fournit de bons résultats. Son principal inconvénient est lié à la faible vitesse de classification due au nombre important de distances à calculer.

    ü Les réseaux de neurones

    Un réseau de neurones est un graphe orienté pondéré. Les noeuds de ce graphe sont
    des automates simples appelés neurones formels. Les neurones sont dotés d'un état
    interne, l'activation, par lequel ils influencent les autres neurones du réseau. Cette

    activité se propage dans le graphe le long d'arcs pondérés appelés liens synaptiques [Amat 1996].

    En OCR, les primitives extraites sur une image d'un caractère (ou de l'entité choisie) constituent les entrées du réseau. La sortie activée du réseau correspond au caractère reconnu. Le choix de l'architecture du réseau est un compromis entre la complexité des calculs et le taux de reconnaissance [souici 1997].

    Par ailleurs, le point fort des réseaux de neurones réside dans leur capacité de générer une région de décision de forme quelconque, requise par un algorithme de classification, au prix de l'intégration de couches de cellules supplémentaires dans le réseau [Lippman 1987].

    ü Modèle Markovien caché (H.M.M)

    - C'est une méthode probabiliste qui consiste en un ensemble d'états et les probabilités de transition entre ces états. En plus des observations faites par le système sur une image. Ces dernières sont représentées par des variables aléatoires, dont la distribution dépend de l'état. Elles constituent une représentation séquentielle des caractéristiques de l'image d'entrée [N. Ben Amara 1996, 1999, 2000] et [Miled 2001].

    ii. Approche structurelle

    Les méthodes structurelles reposent sur la structure physique des caractères. Elles cherchent à trouver des éléments simples ou primitives, et à décrire leurs relations. Les primitives sont de type topologiques telles que : une boucle, un arc... et une relation peut être la position relative d'une primitive par rapport à une autre [Anigbogu 1992], [Ha 1996]. Parmi les méthodes structurelles nous pouvons citer :

    ü Les méthodes de tests

    Elles consistent à appliquer sur chaque caractère traité des tests de plus en plus fins sur la présence ou l'absence de primitives, de manière à répartir les échantillons en classes. Le processus le plus habituel consiste à diviser à chaque test l'ensemble des choix en deux jusqu'à n'obtenir qu'une seule forme correspondant au caractère entré. Ce choix dichotomique est très rapide et très simple à mettre en oeuvre, mais il est très sensible aux variations du tracé [N. Ben Amara 1999].

    ü La comparaison de chaînes

    Les caractères sont représentés par des chaînes de primitives. La comparaison du caractère traité avec le modèle de référence, consiste à mesurer la ressemblance entre les deux chaînes et à se prononcer sur celui-ci. La mesure de ressemblance peut se faire par calcul de distance ou par examen de l'inclusion de toute ou une partie d'une chaîne dans l'autre [N. Ben Amara 1999].

    iii. Approche stochastique

    Contrairement aux méthodes précédemment décrites, l'approche stochastique utilise un modèle pour la reconnaissance, prenant en compte la grande variabilité de la forme. La distance communément utilisée dans les techniques de « comparaison dynamique » est remplacée par des probabilités calculées de manière plus fine par apprentissage. La forme est considérée comme un signal continu observable dans le temps à différents endroits constituant des états «d'observations ». Le modèle décrit ces états à l'aide de probabilités de transitions d'états et de probabilités d'observation par état. La comparaison consiste à chercher dans ce graphe d'états, le chemin de probabilité forte correspondant à une suite d'éléments observés dans la chaîne d'entrée. [N. Ben Amara 1999]. Ces méthodes sont robustes et fiables du fait de l'existence d'algorithmes d'apprentissage efficaces [Seymore 1999]. Si l'apprentissage est lent, la reconnaissance est par contre très rapide car les modèles comprennent généralement peu d'états et le calcul est relativement immédiat. Les méthodes les plus répondues dans cette approche sont les méthodes utilisant les modèles de Markov cachés (HMM).

    4.6. Phase de Post-Traitement

    Le post-traitement est effectué quand le processus de reconnaissance aboutit à la génération d'une liste de lettres ou de mots possibles, éventuellement classés par ordre décroissant de vraisemblance. Le but principal est d'améliorer le taux de reconnaissance en faisant des corrections orthographiques ou morphologiques à l'aide de dictionnaires. Quand il s'agit de la reconnaissance de phrases entières, on fait intervenir des contraintes de niveaux successifs : lexical, syntaxique ou sémantique.

    Le post-traitement se charge également de vérifier si la réponse est correcte (même si elle est unique) en se basant sur d'autres informations non disponibles au classifieur.

    5. Quelques systèmes de reconnaissance d'écriture arabe (AOCR)

    Plusieurs chercheurs ont mené plusieurs travaux afin de proposer des systèmes d'AOCR. Voici dans ce qui suit un tableau récapitulatif précisant les caractéristiques et les performances de certains systèmes AOCR [N. Ben Amara 2003].

    Tableau n°1 : Tableau récapitulatif précisant les caractéristiques et les performances de certains systèmes AOCR[N. Ben Amara 2003]

    Tableau n°1 : Tableau récapitulatif précisant les caractéristiques et les performances de certains systèmes AOCR [N. Ben Amara 2003] (Suite)

    Tableau n°1 : Tableau récapitulatif précisant les caractéristiques et les performances de certains systèmes AOCR [N. Ben Amara 2003] (Suite)

    6. Conclusion

    Nous avons présenté dans ce chapitre, avec une vision introductive, les différents concepts qui touchent à l'analyse des documents ainsi que les approches adoptées pour la reconnaissance de l'écriture manuscrite hors-ligne. Enfin nous avons proposé un tableau comparatif des différents systèmes qui traitent la reconnaissance d'écriture manuscrite arabe.

    Dans le prochain chapitre, nous allons décrire notre propre méthode de reconnaissance d'écriture manuscrite arabe hors-ligne tout en passant par les différents appuis théoriques.

    Chapitre
    2

    MÉTHODE
    PROPOSÉE

    Objectifs du chapitre

    Nous proposons dans ce chapitre une méthode de reconnaissance automatique des mots manuscrites multi-scripteurs écrit en langue arabe basée sur une approche analytique sans segmentation. Nous décrivons les limites des méthodes existantes, nous présenterons l'architecture globale du système et nous détaillons ces différentes composantes.

    1. Limite des méthodes existantes

    1.1. Modèle de Markov Cachés (Hidden Markov Model)

    1.1.1. Mise en ouvre des Modèles de Markov Cachés

    L'utilisation des HMMs en reconnaissance automatique de l'écriture a permis d'obtenir des résultats intéressants pour certaines applications grâce à leur capacité d'intégration du contexte et d'absorption du bruit. Les différents travaux réalisés reposent pour une grande part sur l'expérience accumulée dans le domaine de la reconnaissance de la parole où les HMMs sont fréquemment utilisés. Comparés à d'autres approches de reconnaissance (structurelle, géométrique, etc.), les HMMs se distinguent par leur capacité de modéliser efficacement différentes sources de connaissance. En effet, d'une part ils offrent une intégration cohérente de différents niveaux de modélisation (morphologique, lexicale et syntaxique).

    1.1.2. Expérimentation et limites sur l'écriture arabe

    L'application des HMMs à la reconnaissance de l'écriture se ramène généralement à la transformation de la forme en primitives judicieusement choisies, traduisant les formes initiales en un signal unidimensionnel composé d'une suite d'observations destinée à être traitée par un modèle de Markov. Ainsi le problème d'analyse d'images se ramène à un problème d'analyse d'une chaîne d'observations.

    Dans le cas des applications HMMs, elles sont relativement limitées pour la reconnaissance de l'écriture arabe, aussi bien imprimée que manuscrit (en-ligne et hors-ligne).

    Des modèles généralement unidimensionnels ont servi pour la reconnaissance, sans arriver à la résolution de problème de segmentation des mots arabe ainsi la résolution des problèmes liés aux élongations des ligatures1 horizontales qu'à la présence des ligatures verticales.

    Par ailleurs, l'écriture arabe semi-cursive, aussi bien dans sa forme imprimée que manuscrite, se prête naturellement à une modélisation stochastique2, en l'occurrence markovienne, à tous les niveaux de reconnaissance.

    En effet, les lettres étant ligaturées à la ligne de base, sont régies par un contexte lexical des mots de la langue, se traduisant par des probabilités d'apparition et de succession dans des mots. Cependant, l'utilisation des HMMs en reconnaissance de l'écriture manuscrite arabe est relativement inadéquate. De différentes architectures, pour la majorité des applications reflètent des problèmes de traitement des graphèmes, des pseudo-mots ou encore à des mots, montrant l'insuffisance des modèles markoviens à décrire l'écriture manuscrite arabe et à résoudre certains problèmes telle que la segmentation.

    1 Ligature : incluant plusieurs lettres.

    2 Stochastique : aléatoire, régi par le hasard (soutenu) MATHEMATIQUES qui implique la présence d'une variable aléatoire, calcul des probabilités appliqué aux statistiques

    1.2. Réseaux de Neurones

    1.2.1. Mise en ouvre des Réseaux de Neurones

    Le principe de fonctionnement de réseau de neurone se base sur un modèle neuronique former d'un grand membre de cellules élémentaires appelée «neurone» son fonctionnement est fondé sur celui d'un automate proposé comme une approximation de fonctionnement de neurones biologique. Il convient pour les données linéairement séparables.

    1.2.2. Expérimentation et limites sur l'écriture arabe

    V' La capacité de classification de réseau de neurone est très fortement limitée.

    V' Reconnaître les caractères isolés ainsi un meilleur résultat sur les chiffres qui n'est pas

    le cas pour l'écriture manuscrite arabe qui se compose d'un grand nombre

    d'allographes et de graphèmes.

    V' La reconnaissance via réseau de neurone dépend fortement de qualité de segmentation se qui reflète un problème au niveau de manuscrite arabe vue la présence d'un nombre important de pseudo mots au niveau d'un mot.

    1.3. Caractéristiques morphologiques de l'écriture Arabe

    L'écriture arabe est semi-cursive dans sa forme imprimée ainsi que manuscrite. Les caractères d'une même chaîne (ou pseudo-mots) sont ligaturés horizontalement et parfois verticalement (dans certaines fontes deux, trois et même quatre caractères peuvent être ligaturés verticalement), occultant ainsi toute tentative de segmentation en caractères. De plus, la forme d'un caractère diffère selon sa position dans les pseudo-mots et même dans certains cas, selon le contexte phonétique. En outre, plus de la moitié des caractères arabes incluent dans leur forme des points diacritiques3. Ces points peuvent se situer au-dessus ou au-dessous du caractère, mais jamais en haut et en bas simultanément. Plusieurs caractères peuvent avoir le même corps mais un nombre et /ou une position de points diacritiques différents. D'autre part, le caractère arabe présente une forme cursive voyellée nécessitant, pour la majorité des lettres, des matrices de dimensions importantes. Ceci laisse jusqu'à présent les formes informatisées des caractères arabes non encore normalisées.

    Le mot arabe n'a pas de longueur fixe, il peut comprendre un ou plusieurs pseudo-mots incluant chacun un nombre souvent différent de caractères. L'étude de la morphologie des pseudo-mots montre que l'écriture arabe présente des variations dans des bandes horizontales plus ou moins complexes en fonction de la calligraphie des caractères contenus dans les

    3 Diacritiques: marque ajoutée à une lettre pour lui donner une valeur spéciale ou une prononciation particulière qui sert de critère distinctif de sens ou de prononciation.

    pseudo-mots. La bande centrale est généralement la plus chargée au point de vue densité d'informations en pixels. Elle correspond aux lieux des ligatures horizontales, aux caractères centrés (sans extensions), aux boucles.

    Par ailleurs, la cursivité de l'écriture arabe montre une complexité de la morphologie des caractères, les élongations des ligatures horizontales ainsi que les combinaisons verticales de certains caractères, constituent les problèmes majeurs liés au traitement de cette écriture surtout pour les pseudo-mots.

    Figure 7 : Délimitation du pseudo-mot " äYZ[3Ç"

    En effet, ces problèmes engendrent une forte inertie à différents niveaux notamment dans:

    ( Le choix de primitives pertinentes décrivant la variabilité de la morphologie des caractères, sachant que certaines caractéristiques topologiques sont sensibles à la dégradation, notamment les points diacritiques et les boucles.

    V La méthode de segmentation en caractères ou même en pseudo-mots (qui peuvent se chevaucher surtout dans le cas du manuscrit).

    Tous ces problèmes et bien d'autres, se trouvent accentués dans le cas du manuscrit où d'autres facteurs interviennent (variabilité intra et inter-scripteurs, conditions de l'écriture, fusion de points diacritiques, chevauchement de pseudo-mots, graphismes inégalement proportionnés...).

    Face à ces problèmes, la nécessité d'une modélisation robuste s'impose, les méthodes classiques de type statistique, structurel, neuronal, markoviens etc. étant peu efficaces pour prendre en considération toutes les variations morphologiques de l'arabe par suite il est nécessaire d'effectué un traitement par portion.

    Par suite nous allons utiliser une méthode de reconnaissance d'écriture manuscrite basée sur une approche analytique permettant de résoudre le problème de segmentation de mots «traitement par portion ».

    2. Système proposé

    2.1. Description générale

    Le système de reconnaissance de mots manuscrits se base sur une approche analytique par partitionnement. La vue globale de cette approche est présentée sur la figure 8. On a en entrée une image d'une lettre manuscrite qui correspond à une lettre de l'alphabet arabe, cette dernière sera nettoyer par un processus de prétraitement qui comporte trois sous modules : un sous module de binarisation qui se charge de la conversion de l'image en une image bitonale, pour obtenir image nettoyée, ensuite nous allons passer cette même image à un autre sous module qui se charge de l'encadrement et de la sélection des cordonnées du mot dans l'image et enfin nous allons passer ce mot à un sous module de prétraitement qui se charge de la normalisation afin d'obtenir un mot adapté à une dimension fixée par le système. Cependant, l'image prétraitée va passer à un sous système d'apprentissage pour qu'elle puisse être traité, ce dernier se charge de la construction de la matrice de distribution sur une dimension de NxN, et d'enregistrer ces caractéristiques avec l'identité du scripteur sur une base de données d'apprentissage. Chaque lettre est représentée sur la base de données d'apprentissage sous quatre formes différentes (début, milieu, fin, isolée).

    En ce qui concerne, le sous système de reconnaissance son objectif est la reconnaissance du mot: On a en entrée une image bruitée d'un mot manuscrit qui sera nettoyer par un processus de nettoyage comportant les mêmes modules cités ci-dessus, ensuite nous allons passer cette image à un autre sous module qui se charge de l'encadrement (détermine les cordonnées du mot dans l'image) et enfin l'image prétraitée sera envoyer pour le traitement.

    Une fois que nous avons eu une image prétraitée, nous commençons par l'extraction des trames de tailles fixes du début jusqu'à la fin du mot de droite à gauche en tranchant de manière incrémentale une partie du mot ensuite nous allons faire une opération de normalisation de cette trame pour l'adapter à une dimension de 64*64 pixels et enfin nous allons construire la matrice de distribution qui va être comparer avec tous les graphèmes qui sont dans la base de données d'apprentissage. La comparaison se fait de manière efficace par exemple lorsqu'on est positionné au début du mot on fait la comparaison avec tous les modèles de toutes les graphèmes qui commencent au début afin de minimiser le temps de comparaison et d'éviter le parcours total de toute la base de données. Le processus de reconnaissance possède deux états: non dans le cas où on n'a pas abouti à une reconnaissance, cependant on revient à nouveau au processus d'acquisition d'une nouvelle trame. Mais dans le cas inverse (oui) où on a obtenu une reconnaissance (nous allons identifier le scripteur à partir de la première lettre reconnue et enfin nous ferons une modification sur la requête de sélection des graphèmes afin d'éviter le parcours total de toute la base de données), on vérifie si on a atteint la fin du mot, si s'est pas le cas on recommence le processus d'acquisition d'une nouvelle trame, alors dans le cas inverse on met fin au processus de traitement et on obtient en sortie le mot en solution. Ce dernier va passer au post-traitement afin de valider le mot en solution et de l'évaluer.

    Nous allons par la suite expliquer en détail chaque composant et son processus de fonctionnement.

    Figure 8 : Architecture globale du système

    36

    2.2. Description détaillée

    Nous allons détailler l'architecture globale du système et expliquer chaque composant et son processus de fonctionnement.

    2.2.1. Sous système d'apprentissage

    Le sous système d'apprentissage est la première phase dans le processus de reconnaissance de mots manuscrits, parce que notre approche est basée sur une décision analytique (ascendante) c'est-à-dire qu'il faut avoir une base d'apprentissage des différentes formes d'écriture des lettres manuscrites arabes pour reconnaître un mot.

    2.2.1.1. Pré-traitement

    Le pré-traitement inclut toutes les fonctions effectuées avant de commencer le traitement pour produire une version « nettoyée » de l'image d'origine afin qu'elle puisse être utilisée directement et efficacement. Ainsi le pré-traitement comprend la binarisation, la normalisation et l'encadrement.

    a. Binarisation

    La binarisation est la première étape de pré-traitement elle consiste à convertir l'image numérisée en une image binaire. Cependant, la binarisation est une opération qui produit deux classes de pixels, en général, ils sont représentés par des pixels noirs et des pixels blancs.

    Ainsi les pixels correspondant à des points élevés doivent être binarisés en noire (valeur=1) et ceux dans les creux doivent être binarisés en blanc (valeur=0). La figure 10 montre une image avant est après binarisation.

    Image avant binarisation Image après binarisation

    Figure 9 : Exemple de binarisation d'une image couleur.

    Ainsi, nous avons proposé l'algorithme de binarisation qui utilise un seuil par défaut égale à 127 (50% de la valeur maximale: 255)

    Algorithme

    POUR i de 1 à largeur FAIRE

    POUR j de 1 à hauteur FAIRE

    p = Image1 .pixel (i, j)

    SI p < seuil ALORS

    val E- 0

    INON

    val E- 255

    FIN SI

    Image2 .MettrePixel (i, j , val)

    FIN POUR FIN POUR

    Fin

    b. Encadrement

    L'encadrement c'est le processus de localisation de la lettre, c'est de définir les cordonnées de la lettre dans l'image. Pour cela nous avons crée une fonction qui permet de donner les propriétés suivantes : haut, bas, gauche, droite, afin de passer à l'encadrement de la lettre.

    Nous présentons ci-dessous l'algorithme utilisé :

    Type LocaliserCordonner : enregistrement

    G: entier

    H: entier

    D: entier B: entier

    Fin

    Fonction LocaliserLettre (var image : Bitmap) : LocaliserCordonner

    var

    i,j : entier

    hauteur, largeur :entier Lettre : LocaliserCordonner Couleur : entier

    Début

     
     

    G

    =

    -1

    H

    =

    -1

    D

    =

    -1

    B

    =

    -1

    hauteur = GetHauteur (image)
    largeur = GetLargeur (image)

    // En Haut

    Pour i de 1 à largeur faire

    Pour j de 1 à hauteur faire

    Couleur EH GetPixel(image, j, i)

    Si ((Couleur <> 1) ET (Couleur <> -1) ) Alors

    Lettre.H EH i Sortir Pour

    Fin Si Fin Pour

    i (Lettre . H) <> -1 Then Sortir Pour

    Fin Si

    Image

    Largeur

    Lettre

    Fin Pour

    i (Lettre . H = -1) Then GetReelText E- Lettre Sortir de la fonction

    End If

    // A Gauche

    Pour i de 1 à hauteur

    Pour j de Lettre.H à largeur

    Couleur EH GetPixel(image, j, i)

    i ((Couleur <> 1) ET (Couleur <> -1)) Alors

    Lettre.G EH i

    Largeur

    Sortir Pour

    Fin Si Fin Pour

    Image

    i (ReelText.G) <> -1 Then Sortir Pour

    Lettre

    Fin Si Fin Pour

    i (ReelText.G = -1) Then GetReelText EH ReelText Sortir de la fonction

    Fin Si

    // A Droite

    Pour i de hauteur à ReelText.G (pas -1)

    Pour j de ReelText.H à largeur

    Couleur EH GetPixel(image, j, i)

    Si ((Couleur <> 1) ET (Couleur <> -1)) Alors

    Image

    Largeur

    Lettre

    ReelText.D EH i Sortir Pour

    Fin Si

    Fin Pour

    Si (ReelText.D) <> -1 Then Sortir Pour

    Fin Si

    Fin Pour

    i (ReelText.D = -1) Then GetReelText EH ReelText Sortir de la fonction

    Fin Si

    // En bas

    Pour i de largeur à ReelText.H (pas-1)

    Pour j de ReelText.D à hauteur

    Couleur EH GetPixel(image, j, i)

    Si ((Couleur <> 1) ET (Couleur <> -1)) Alors

    ReelText.B EH i

    Sortir Pour

    Image

    Largeur

    Lettre

    Fin Si Fin Pour

    i (ReelText.B) <> -1 Then Sortir Pour

    Fin Si

    Fin Pour

    i (ReelText.B = -1) Then GetReelText EH ReelText Sortir de la fonction

    Fin Si

    LocaliserMot EH ReelText Fin

    Cette fonction permet donc de localiser une lettre ou un mot dans une image tout en parcourant toute l'image et en localisant les pixels noirs. Donc cette phase est vraiment la plus intéressante dans notre sous système de prétraitement puisqu'elle nous offre un gain de temps que ce soit dans l'apprentissage ou dans la reconnaissance de mot. La figure 10 montre un exemple de localisation d'un mot dans une image et par la suite un encadrement de ce dernier.

    A Gauche

    56

    En Haut
    47

    En Bas

    A Droit

    104

    107

    Figure 10 : Exemple d'encadrement d'une lettre dans une image c. Normalisation (Adaptation)

    La normalisation consiste à transformer la taille de l'image et l'adapter à une dimension fixée a priori par l'utilisateur (voir figure 11), pour cela nous avons proposés une procédure qui permet de normaliser l'image encadrée dans une dimension de 64*64 pixels.

    Image 1

    Image2

    Figure 11 : Exemple de normalisation d'une lettre

    Cette procédure copie le contenu d'une première image pixel par pixel et la copie, rétrécie ou agrandie, dans une seconde image.

    Nous avons utilisé une échelle qui sera calculée automatiquement en fonction de la dimension de la lettre encadrée dans l'image par rapport à la dimension 64*64 pixels. Alors, on note les différentes échelles :

    ü Echelle>1 : Pour agrandir

    ü Echelle <1 : Pour rétrécir

    ü Echelle =1 : Pour garder la même taille

    La normalisation est effectuée par l'algorithme ci-dessous :

    Procedure Normalisation (Image1 : Bitmap, Image2 : Bitmap, Echelle : Réel): Bitmap

    Var

    X, Y: Réel c :Long

    i, j : Réel

    Hauteur, Largeur : Réel

    HAdap, LAdap : Réel

    Début

    Hauteur= ReelText.B- ReelText.H
    Largeur= ReelText.D- ReelText.G

    EchelleH = Hauteur / Image2 .ScaleHeight EchelleV = Largeur / Image2 .ScaleWidth

    j = 0

    Pour y de ReelText.H à ReelText.B (pas de EchelleH) Faire i = 0

    Pour x de ReelText.D à ReelText.G (pas de EchelleV) Faire c = Image1 . Point (x, y)

    Image2 . PSet (i, j ) , c

    i = i + 1

    Fin Pour

    j = j + 1 Fin Pour

    Fin

    2.2.1.2.Traitement

    Dans cette étape, il y aura l'apprentissage des modèles des lettres par des matrices de distribution puis leur stockage dans une base de données.

    a. Construction de la matrice de distribution

    La construction de la matrice de distribution est l'une des phases importantes dans notre système. Nous considérons par exemple la représentation de la lettre 'jim', qui s'écrit en arabe 'Ì' dans sa forme isolée, sur une matrice 5x5 constituée par les nombres des pixels de a à y :

    a

    b

    c

    de

     

    f

    g

     

    hij

     

    k

    l

     

    mno

     
     

    pq

    r

    st

     

    u

    v

    w

    x

    y

     

    On suppose que l'on dispose de plusieurs représentants similaires mais pas tout à fait identiques à la lettre 'jim' ; le nombre minimum de représentant d'une forme de cette lettre est 1 et le nombre maximum ainsi que la variation maximale sont en fonction de la discrimination qui en résulte sur la totalité de la base d'apprentissages (de '' à 'í') ; ce cas idéal dépend du nombre de pixels contenue dans la matrice (voir figure 12).

    Figure 12 : Exemple de matrice de distribution (5*5) de la lettre alphabet arabe «jim »

    Les différents modèles du 'jim' devront être les plus différents possibles (pour couvrir la plus grande gamme de 'jim', mais chacun d'eux devra toujours être plus proche de la classe des 'jim' plutôt que de tout autre classe de lettres.

    Pour chaque pixel d'un caractère on étudie les deux cas suivants :

    ü les pixels qui sont de 1 à 100 indiquent la présence du caractère;

    ü les pixels qui ont un 0 indiquent l'absence du caractère.

    On suppose qu'on a une image comme celle de la figure 8 contenant la lettre 'jim' encadrée, si on applique maintenant une matrice de 5x5 sur cette lettre. Cependant chaque cellule va avoir un nombre de pixels. Pour cela nous avons crée une procédure qui permet de transformée l`image d'une lettre en une matrice de dimension 5x5 contenant dans chaque cellule un nombre des pixels.

    Procedure GetMatriceDistribution(Image:Bitmap , ReelText: LocaliserCordonner)

    Var

    i,j : entier

    IncH, IncV : entier

    x,

    y

    :

    entier

    a,

    b

    :

    entier

    l,

    k

    :

    entier

    couleur : entier long matrice[5][5] : entier

    Début

    IncH = (ReelText.B - ReelText.H) / 5
    IncV = (ReelText.G - ReelText.D) / 5

    x F 0

    j F ReelText.D

    Tant que (j < ReelText.G)

    x F x + 1

    y F 0

    i F ReelText.H

    Tant que (i < ReelText.B)

    y F y + 1

    Pour k = j To j + IncH

    Pour l = i To i + IncV

    couleur = GetPixel(Image, k, l)

    If couleur = 0 Then

    matrice[ x] [ y] F matrice[ x] [ y] + 1 End If

    Fin Pour Fin Pour

    i = i + IncH Fin tant que

    j = j + IncV

    Fin tant que

    b. Base de données du système

    La base de données utilisée est construite à partir de l'ensemble de graphèmes issus des écritures écrites par différents scripteurs. Chaque lettre doit être représentée dans la base sous ces différentes formes (début, milieu, fin, isolée) comme dans le tableau n°2.

    Caractère

    Début

    Milieu

    Fin

    Isolé

    AlifA

     
     

     

    AlifB

     
     

    Ç

    AlifC

     
     

    d

    Ba

    Üe

    ÜfÜ

    È

    Ta

    Üi

    i

    Ê

    Tamarbouta

     
     
     

    É

    Tha

    b

    -1

    Ire

    t.

    t.

    i-,

    Nun

    Ür

    üÜ

    ä

    Ya

    Üu

    ÜvÜ

    cÜ

    í

    Jim

    Üx

    ÜyÜ

    Ì

    Ha

    Ü{

    Ü[Ü

    Í

    Kha

    Ü~

    ÜÜ

    ÉÜ

    Î

    Dal

     
     

    àÜ

    Ï

    The

     
     

    Ð

    Ra

     
     

    Ñ

    Za

     
     

    Ò

    Waw

     
     

    æ

    Sin

    Üf

    Ü,Ü

    Ó

    Chin

    Ü

    ÜfÜ

    LAÜ

    Ô

    Caractère

    Début

    Milieu

    Fin

    Isolé

    Sad

    Ü4

    Ü4Ü

    Õ

    Dhad

    Ü.

    Ü.Ü

    Ö

    Tad

    Ü/

    ÜùÜ

    Ø

    Dha

    Üà

    ÜàÜ

    Ù

    Ayn

    Üc

    Ü'Ü

    Ü

    Ú

    Ghayn

    Üe

    Ü4Ü

    Ü

    Û

    Fa

    à

    ÜiÜ

     

    Qaf

    à

    ÜIÜ

    Þ

    Kaf

    ÜÂ

    ÜuÜ

    Ü

    ß

    Lam

    Ü\

    ÜÜ

    á

    Mim

    Ü»

    ܼÜ

    ã

    He

    Üå

    ÜgÜ

    ÁÜ

    Â

    LamalifA

     
     

    Ü

    Ä

    LamalifB

     
     

    Æ

    LamalifC

     
     

    Ü

    È

    LamalifD

     
     

    Ê

    WawHamza

     
     

    àÜ

    Ä

    Hamza

    ÜÍ

    ÜÎÜ

    Æ

    Tableau n°2: Différentes formes des lettres de l'alphabet arabe

    L'écriture manuscrite pour un mono-scripteur doit avoir 122 formes d'apprentissage. Le tableau 3 illustre le nombre d'apprentissage pour chaque position de la lettre dans le mot.

    Plus la base de données d'apprentissage est grande plus les résultats de reconnaissances des graphèmes sera plus élevés. Ainsi on obtient un taux de reconnaissance de mots plus importants.

    37

    23

    Nombres d'apprentissages

    Isolée

    39

    Total

    122

    23

    Lettre
    Alphabet
    Arabe

    Début

    Milieu

    Fin

    Tableau n°3 : Nombres des formes d'apprentissages mono-scripteur 2.2.2. Sous système de reconnaissance

    2.2.2.1. Pré-traitement

    Le pré-traitement est un module qui correspond exactement à celui du sous système d'apprentissage.

    2.2.2.2. Traitement

    Le traitement est le processus de reconnaissance du mot il consiste à comparer chaque tranche d'un mot qui est représentée dans une matrice de distribution à celle des modèles de la base de données d'apprentissage, afin de reconnaître toutes les graphèmes constituant le mot ce qui abouti à la reconnaissance du mot lui-même. Tous les différentes parties du traitement seront détaillées dans ce qui suit.

    a. Extraction incrémental des trames (par partitionnement)

    L'extraction incrémental des trames permet de trancher à chaque itération une partie de taille fixe du mot encadrée afin de la mettre dans une matrice de distribution.

    b. Correspondance

    La correspondance est un processus très important dans notre système puisque qu'il permet de prendre une décision en fonction de la comparaison des caractéristiques des matrices des caractères qui sont dans la base de données d'apprentissage et à celle acquise. Pour cela nous allons définir une fonction qui calcule le coefficient de corrélation entre deux matrices de distributions. Tout le problème consiste donc à étudier les coefficients de corrélations dont le but est de décider quel caractère va-t-ont entretenir.

    Le coefficient de corrélation désigne la pente a qui donne le sens de corrélation, mais pas sa qualité:

    / a>0: corrélation positive / a<0: corrélation négative

    a=0 : pas de corrélation

    La qualité de la corrélation peut être mesurée par un coefficient de corrélation r : dont la formule est ci-dessous :

    Avec X la variable qui représente les valeurs de la matrice de distribution de l'image acquise et Y la variable qui représente les valeurs de la matrice de distribution du modèle de la base de données d'apprentissage.

    Le coefficient de corrélation est compris entre 1 et +1. Plus il s'éloigne de zéro, meilleure est la corrélation

    ü r = +1 corrélation positive parfaite

    ü r = 1 corrélation négative parfaite

    ü r = 0 absence totale de corrélation

    Voici quelques exemples de corrélation dont le coefficient de corrélation r est indiqué dans chaque cas :

    Figure 13 : Exemples de corrélation

    La figure a et b nous présentent une corrélation parfaite alors que c et d présentent une coopération imparfaite mais pour le cas de e et fil y'a absence totale de corrélation.

    Le processus de correspondance que nous adoptons est décrit dans la figure 14. Nous avons en entrée la matrice de distribution, la position de la primitive extraite (début, milieu, fin). Suivant cette position on parcourt notre base de données d'apprentissage pour retenir les matrices ayant mêmes positions et on calcule la corrélation entre la matrice acquise avec celles retenus. Ensuite on fait la sélection de la meilleure corrélation suivant un seuil fixé par l'utilisateur. Le résultat enfin peut être une lettre ou le vide.

    Le système prend en charge la reconnaissance de la première lettre pour pouvoir identifier le scripteur et ensuite le système se charge de prendre cette condition afin de modifier la requête de sélection pour diminuer le parcours de toute la base de données d'apprentissage et d'aboutir à des résultats parfaits.

    BD
    d'apprentissage

    Id. Scripteur

    Position
    lettre

    '1

    '2

    'n

    +

    X

    .

    .

    .

    Corrélation

    Corrélation

    Corrélation

    Corrélation

    Résultat

    Figure 14 : Processus de correspondance

    c. Reconnaissance

    La reconnaissance est le résultat obtenu par le processus de correspondance qui va nous donner deux types de décisions que nous définissons dans ce qui suit:

    v Lettre reconnu : dans ce cas nous somme obligé procéder a deux opérations:

    1. c'est de modifier le processus de correspondance en prenant en charge l'identité du scripteur de la lettre reconnu afin de modifier le processus de correspondance pour qu'il évite le parcours de toute la base de données.

    2. dans un deuxième opération nous ne sommes pas sûre de la terminaison du processus de reconnaissance sur le mot alors on doit vérifier a chaque itération si on n'a pas atteint la fin du mot. Dans ce cas nous avons deux autres conditions:

    Fin mot - non: dans ce cas on mémorise le caractère obtenu par le processus de correspondance et évidement qui a le plus grand score. Enfin en recommence de processus d'acquisition d'une nouvelle partition tout en éliminant les partitions parcourues puisque nous avons abouti à une reconnaissance.

    Fin mot - oui: dans ce cas on rassemble tous les caractères collectés pour construire le mot en solution et nous mettons fin au processus de reconnaissance.

    v Lettre non reconnu: dans ce cas on conserve la partition précédente et on lui ajoute une nouvelle partition et on recommence le processus d'acquisition d'une nouvelle partition.

    2.2.2.3. Post-traitement

    Cette étape permet de vérifier et de corriger les éventuelles erreurs de la reconnaissance (figure 15). Cette étape est effectuée manuellement, et permet d'expérimenter la précision du système.

    Reconnaissance

    Correction

    Compréhension

    Figure 15 : Processus de correction

    Après chaque processus de reconnaissance de mot, il va être envoyé au correcteur pour la compréhension : c'est-à-dire vérifier si le mot entré correspond à celui obtenu.

    Nous avons ajouter au niveau de ce processus une évaluation automatique sans intervention humaine (figure 16), elle est basé sur une évaluation non supervisée c'est-à-dire qu'à la fin de la reconnaissance, on vérifie si le mot obtenu correspond a celui demandé, si c'est le cas alors le système mémorise les lettres reconnues et les lettres non reconnues et donnera en sortie une valeur comprise entre 0 et 1. 0 si le mot qu'on veut avoir dans le résultat ne correspond pas à celui reconnu et 1 dans le cas contraire.

    Image du Mot à
    reconnaître

    Evaluatio!f, automatique

    Mot à obtenir

    0

    No!f,
    (;ui

    1

    Reconnaissance

    Mot solution

    Figure 16 : Le processus d'évaluation automatique du résultat 3. Conclusion

    Nous avons proposés dans ce chapitre une architecture de reconnaissance d'écriture manuscrite arabe hors-ligne, nous avons détaillé les différentes parties et module de cette architecture. Dans le chapitre suivant nous allons décrire la réalisation du prototype que nous avons développé pour mettre en oeuvre notre travaille. Nous allons aussi mener une étude expérimentale pour valider les résultats de reconnaissance pour notre méthode.

    Chapitre
    3

    RÉALISATION
    DU
    SYSTEME

    Objectifs du chapitre

    Nous présentons dans ce chapitre la réalisation du système de reconnaissance de mots manuscrits arabe hors-ligne basée sur une écriture multi-scripteurs qui est déjà détaillée dans le chapitre précédent avec une description du prototype ainsi que ses différentes fonctionnalités et maquettes. Mais d'abord nous décrivons le modèle de développement suivi.

    1. Description et expression des besoins

    Notre objectif est de créer un prototype de reconnaissance des mots arabes manuscrits hors-ligne. Ce prototype, que nous avons intitulé RIMA (Reconnaissance Incrémentale des Mots manuscrits Arabe) et dont la maquette principale est présenté dans la figure 17. Il sera capable d'analyser toutes images numériques bitmaps (BMP, JIF, JPEG, JPG,...). Il doit être capable d'apprendre toutes les lettres arabes sous leurs différentes formes. Et il se base sur cette tâche pour effectuer la tâche de reconnaissance. Le système doit donner des résultats acceptables dans un temps raisonnable.

    L'architecture décrite dans le chapitre précédent est implémentée en utilisant les moyens suivants:

    V' Langage de programmation: JAVA.
    V' Stockage de données : Fichier XML.

    Figure 17 : Maquette principale du système

    Le système comporte deux sous systèmes : Un premier sous système d'apprentissage des modèles des lettres arabes (figure 18) qui permet d'apprendre toutes les lettres écrites par différent scripteur et un deuxième sous système de reconnaissance des mots manuscrits arabes (figure 19).

    Figure 18 : Sous système d'apprentissage des modèles des lettres arabes

    Figure 19 : Sous système de reconnaissance des mots manuscrits arabes 2. Tests de réalisation

    Au cours de la réalisation, deux types de tests ont été effectués : les tests des différents modules de l'architecture et les tests de fonctionnement global du système.

    2.1.Tests des composants

    Dans cette partie, les composants sont testés un par un afin de s'assurer qu'ils accomplissent leurs tâches avec efficacité. Chaque module est testé indépendamment des autres en termes de qualité des données sorties ainsi que du temps de réponse. Ces tests permettent de:

    V' Vérifier les fonctions des composants et leurs cas de fonctionnements, tout en respectant des exigences de l'architecture du système;

    V' Vérifier les données erronées;

    V' Vérifier les performances en temps, en mémoires et en capacité; V' Vérifier la précision du composant;

    V' Vérifier le bon fonctionnement et le codage correct des algorithmes. 2.2. Tests du système

    Dans cette partie c'est l'interaction entre les différents modules qui est mise en test, les tests du système permettent de vérifier:

    ü Le fonctionnement des modules avec les autres ;

    ü Le choix de l'architecture de l'assemblage ;

    ü Le bon fonctionnement du système en globale.

    En entrée on doit disposer d'un plan d'intégration et de jeu d'essai. Il y'aura assemblage de l'ensemble des composants, exécution des jeux d'essais avec correction.

    3. Processus d'utilisation

    3.1.Apprentissage des modèles des lettres

    Dans cette partie nous allons extraire les modèles des lettres pour chaque scripteur dans ses différentes formes. Nous allons analyser chaque modèle et d'extraire leurs matrices de distributions afin de les enregistrer dans la base de données d'apprentissage (figure 21). Le schéma général d'apprentissage est illustré par la figure 20.

    Modèles des

    lettres des
    différents
    scripteurs

    RIMA

    Sous Système
    d'Apprentissage

    BD
    XML

    Figure 20 : Modèle d'apprentissage

    Figure 21 : Portion de la base d'apprentissage

    3.2.Reconnaissance des mots manuscrits arabes

    Dans cette partie notre système va essayer de reconnaître les mots entrés. Nous mesurons par la suite la précision de reconnaissance pour chaque mot, qui est le pourcentage des lettres reconnues par rapport au nombre totale des lettres de chaque mot (figure 22).

    Liste des
    mots

    RIMA

    Sous Système de

    reconnaissance

    Mesure de
    la précision

    Figure 22 : Modèle de reconnaissance

    La figure 23 montre un exemple de reconnaissance du mot «a+4Å», la reconnaissance se fait de façon incrémentale caractère par caractère, en se basant sur la base d'apprentissage précédemment construite. Cet exemple utilise une reconnaissance supervisée.

    En entré, on a une image nettoyée qui passera a un processus de d'extraction incrémental des trames qui ce dernier se charge de retrancher une trame du mot image et l'envoyer au processus de correspondance qui effectuera la correspondance entre la trame extraite et les modèles des lettres dans la base de données d'apprentissage avec la prise en compte de la position au début et aussi dont les modèles qui sont isolés. Une fois la première lettre reconnue le système récupère l'identité du scripteur qui a écrit cette lettre et le système enregistre dans sa mémoire la première lettre. Le système modifie la requête de sélection des modèles afin d'optimiser et d'éviter le parcours de tous les modèles de tous les scripteurs. Le système recommence le processus d'extraction en éliminant la première partie dont elle correspond à la lettre trouvée. Le système dans sa deuxième mission va chercher dans la base de données tous les modèles qui sont au début puisqu'il s'agit s'un nouveau psédo-mot, etc.

    Sixième
    Lettre

    ÉÜ

    Cinquième
    Lettre

    ÜíÜ

    Extraction incrémentai des trames

    Quatrième
    Lettre

    Üã

    Correspondance

    ??????

    Troisième
    Lettre

    ?

    Image

    Deuxième
    Lettre

    ?

    Mot solution

    Reconnaissance
    du scripteur

    Première
    Lettre

    Figure 23 : Exemple de reconnaissance de mot manuscrit

    4. Conclusion

    Nous avons présenté dans ce chapitre les différents aspects du développement de notre système. Nous avons décrit précisément notre système et nous avons montré le mécanisme de reconnaissance des mots manuscrits. Notre système a permis d'obtenir des bons résultats au niveau de la reconnaissance. Pour valider et tester notre système nous allons l'implémenter dans une école qui enseigne des personnes âgées et nous nous contenterons d'évaluer les examens des élèves.

    Chapitre
    4

    Application du
    système « RIMA »
    dans une école pour
    l'enseignement des
    âgés

    Objectifs du chapitre

    Nous présentons dans ce chapitre les résultats des expériences effectuées dans une école qui enseigne des personnes âgées. Nous s'intéresserons sur la correction automatique des examens sans intervention humaine. Nous présentons aussi une extension du système «RIMA» qui effectuera la correction des examens. Nous montrons que notre système peut s'applique dans l'enseignement assisté par ordinateur.

    1. Extension du système « RIMA »

    1.1.Présentation

    Nous avons ajouté une extension au système « RIMA » qui se base sur la reconnaissance des mots manuscrits avec un processus de post-traitement supervisé. Cette extension du système accepte en entrée des copies de plusieurs élèves et qui se charge de les traiter une par une. Chaque copie sera subdivisée en plusieurs images, ces dernières seront envoyées au système « RIMA » pour l'évaluation et enfin le résultat obtenu sera retourné à la l'extension du système. La figure 24 montre le processus de d'évaluation des copies des examens.

    Dicte une l ste des mots aux élèves

    Copies des
    élèves

    scanner

    Copies des
    élèves
    (images)

    Extension
    de RIMA

    Envoi la liste des mots dictés

    Mot incorrect Mot correct

    O 1

    RIMA

    Sous Système
    de
    reconnaissance

    Mot n°n

    Mot n°1
    Mot n°2
    Mot n°3

    Figure 24 : Processus d'évaluation des examens

    1.2.Description détaillée

    Dans une première étape nous devons demander aux élèves d'écrire les 122 formes des lettres dans les différentes positions, ensuite nous devons les scanner et les passer aux sous- système d'apprentissage afin de créer notre base de données.

    Dans une deuxième étape l'instituteur dicte à ces élèves une liste de mots, ces derniers doivent être écrit séparément et l'un au dessous de l'autre dans un périmètre fixé dans la copie afin de localiser les mots manuscrites dans la copie. Une fois cette étape est terminée, l'instituteur scanne toutes les copies et les ranges dans le disque dur. Chaque image (copie) sera subdivisé en plusieurs sous images qui seront traité une par une par notre système « RIMA » et qui donnera pour chaque image traité le résultat (1 s'il le mot en question correspond à celui entré par l'instituteur OU 0 si le mot n'est pas reconnu) ainsi qu'il nous donnera les lettres reconnues et les lettres non reconnues. L'extension du système se charge de compter les scores des points afin d'attribuer pour chaque copie une note.

    Voici dans ce qui ce qui suit un algorithme du processus d'évaluation des copies :

    Algorithme ExRIMA

    Début

    Pour chaque copie de i à n faire

    Subdiviser la copie en plusieurs sous image

    Pour chaque image faire

    Passer chaque image au système « RIMA »

    avec le mot a reconnaître

    LC (- Lettres reconnues

    LNC (- Lettres non reconnues

    X (- note de l'image obtenue par le système « RIMA » NOTE[ i] (-NOTE[ i] +X

    Fin Pour

    Fin Pour

    Afficher les notes des élèves

    Fin

    Note : Résultat vaut 1 s'il y 'a eu une reconnaissance et 0 sinon. 2. Test et expérience

    2.1.Données d'expérience

    Nous avons extrait 10 copies de 10 élèves qui étudiaient dans une école pour l'enseignement des âgées. Chaque copie contenait 10 mots qui sont séparés les un des autres. D'abord nous avons demandé aux élèves d'écrire dans une feuille les différentes formes d'écriture des lettres manuscrites afin de construire une base minimale d'apprentissage. Voici dans le tableau n°4 la base d'apprentissage minimale d'un mono-scripteur et dans le tableau n°5 les mots manuscrits des élèves qui sont dictés par l'instituteur, et Voici dans la figure 25 un exemple d'une copie d'examen.

    Tableau n°4: Base d'apprentissage minimale d'un mono-scripteur

    Figure 25 : Exemple d'une copie d'examen d'un élève

    Nous présentons dans le tableau n°5 les mots manuscrits des élèves dictés par l'instituteur. Nous allons tester notre système avec ces données pour voir le taux de reconnaissance des mots manuscrits.

    Tableau n°5 : Données d'expériences

    2.2. Expérimentation

    2.2.1.Post-traitement avec superviseur

    Pour améliorer le taux d'erreur dans la correction des mots reconnus par le système, nous avons mené une correction avec un superviseur qui est l'utilisateur. Nous présentons dans

    le tableau n°6 les résultats des essais expérimentaux d'une étude expérimentale sur des mots manuscrits arabe et nous se basons sur la reconnaissance système sans savoir préalablement les mots prévus à avoir. Dans ce cas notre système travaille dans un vocabulaire ouvert sans dictionnaire et le correcteur n'est autre que l'utilisateur. Pour chaque échelle de précisons de longueur 10%, nous présentons le taux et nombres de mots correspondants.

    Précision

    Taux des mots

    Nombre des mots

    90%=p=100%

    64%

    64

    80%<p<90%

    9%

    9

    70%<p=80%

    8%

    8

    60%<p=70%

    5%

    5

    50%<p=60%

    4%

    4

    40%<p=50%

    4%

    4

    30%<p=40%

    3%

    3

    20%<p=30%

    2%

    2

    10%<p=20%

    1%

    1

    0%<p=10%

    0%

    0

    0%

    0%

    0

    Totaux

    100%

    100

    Tableau n°6 : Résultat d'expérimentation

    2.2.2.Post-traitement sans superviseur

    Dans une reconnaissance des mots manuscrits arabe avec la prise en compte en entré des mots à avoir en sortis (le dictionnaire), notre système permet d'enregistrer les lettres reconnues ainsi les lettres reconnues afin de trouver à la fin le taux d'erreur. Dans ce cas nous travaillons dans un espace limité puisqu'on connaît le mot prévu à connaître et aussi les lettres qui le composent. Notre étude nous a amené à un résultat de précision qui est de 100%.

    Notre étude menée a été implémentée dans une école pour l'enseignement des âgés, elle consiste à évaluer la vraisemblance caractère par caractère (caractère acquis et le caractère prévue). Notre système dépend ici de la qualité d'acquisition d'image.

    Notre système donne une statistique sur les mots reconnus ainsi les lettres trouvées et lettres non reconnues.

    2.3. Statistiques de reconnaissances

    Nous présentons dans le tableau n°7 une étude sur le nombre des mots reconnus, le nombre des lettres non reconnues et les lettres reconnues des élèves. Nous déduisons dans la figure 26 le taux d'erreur4 par mot de chaque élève d'après le tableau statistique.

    4 Taux d'erreur = T. Lettres Non Reconnues*100 / T. Lettres

    Scripteur

    Mot

    Ali

    Salah

    Che-
    dli

    Fat-
    ma

    Man-
    oubia

    Fathi

    Fahi
    ma

    Moha
    -med

    Hass-
    ouna

    Lamine

     
     

    M

    L

    L

    M

    L

    L

    M

    L

    L

    M

    L

    L

    M

    L

    L

    M

    L

    L

    M

    L

    L

    M

    L

    L

    M

    L

    L

     

    ML

    L

     
     

    CCN

     
     
     
     
     
     
     
     
     
     

    CCNCCNCCNCCNCCNCCN

     
     
     
     
     
     
     
     
     
     
     

    CCNCCN

     
     
     

    CC

    N

     
     
     

    C

     
     

    C

     
     
     

    C

     

    C

     
     

    C

     
     

    C

     
     

    C

     
     

    C

     
     

    C

     
     

    C

    91:91

    0

    2

    2

    1

    4

    0

    0

    2

    2

    0

    2

    2

    1

    4

    0

    0

    2

    2

    0

    2

    2

    0

    2

    2

    0

    2

    2

    0

    2

    2

    Uzi

    0

    2

    1

    1

    3

    0

    0

    2

    1

    1

    3

    0

    0

    2

    1

    0

    2

    1

    0

    2

    1

    0

    2

    1

    0

    2

    1

    0

    2

    1

    ÁL42

    0

    3

    1

    1

    4

    0

    1

    4

    0

    1

    4

    0

    1

    4

    0

    1

    4

    0

    1

    4

    0

    1

    4

    0

    1

    4

    0

    0

    3

    1

    e

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    67

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    2

    1

    1

    3

    0

    1

    2

    1

    0

    2

    1

    89

    0

    2

    1

    1

    3

    0

    0

    2

    1

    0

    2

    1

    0

    2

    1

    0

    2

    1

    1

    3

    0

    1

    3

    0

    1

    3

    0

    0

    2

    1

    itatià

    1

    3

    0

    1

    3

    0

    0

    2

    1

    0

    2

    1

    0

    2

    1

    0

    2

    1

    1

    3

    0

    1

    2

    1

    1

    2

    1

    0

    2

    1

    Á4-

    0

    2

    1

    1

    3

    0

    0

    2

    1

    0

    2

    1

    0

    2

    1

    0

    2

    1

    1

    3

    0

    1

    3

    0

    1

    3

    0

    0

    2

    1

    äl.t.m.%1Ç

    1

    6

    0

    1

    6

    0

    1

    6

    0

    1

    6

    0

    1

    6

    0

    1

    6

    0

    1

    6

    0

    1

    6

    0

    1

    6

    0

    1

    6

    0

    ÿî

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

    1

    3

    0

     
     

    526

     
     

    130

     
     

    526

     
     

    635

     
     

    635

     
     

    526

     
     

    834

     
     

    834

     
     

    835

     
     

    32

    8

     
     

    9

     
     

    05

     
     

    9

     
     

    0

     
     

    1

     
     

    9

     
     

    1

     
     

    1

     
     

    0

     
     

    7

     
     
     

    NT

    T

     

    NT

    T

     

    NT

    T

     

    NT

    T

     

    NT

    T

     

    NT

    T

     

    NT

    T

     

    NT

    T

     

    NT

    T

     

    NT

    T

     
     

    OLL

     
     
     
     
     
     
     
     
     
     

    OLLOLLOLLOLLOLLOLL

     
     
     
     
     
     
     
     
     
     
     

    OLLOLL

     
     
     

    OL

    L

     
     

    TRN

     
     
     
     
     
     
     
     
     
     
     
     
     
     

    TRNTRNTRNTRNTRNTRNTRNTRNTR

     
     
     
     
     
     
     
     
     
     
     
     

    N

     

    E

     

    R

    E

     
     

    RE

     
     

    RE

     
     

    RE

     
     

    RE

     
     

    RE

     
     

    RE

     
     

    RE

     
     

    RE

     

    R

    Tableau n°7 : Statistiques de reconnaissances

    MC : Mot Connu

    LC : Lettre Connue

    LNC : Lettre Non Connue

    NOTE : La somme des mots reconnus par le système TLR : Total des lettres reconnues

    TLNR : Total des lettres non reconnues

    18,00%

    16,00%

    14,00%

    12,00%

    10,00%

    4,00%

    8,00%

    6,00%

    2,00%

    0,00%

    Taux d'erreur

    Ali

    Salah Chedli Fatma Manoubia Fathi

    Fahima Mohamed Hassouna

    Figure 26 : Taux d'erreurs

    D'après l'histogramme des taux d'erreurs, nous avons pu aider les instituteurs à prendre des décisions sur la formation des élèves. Lorsque le taux d'erreur décroît dans ce cas on est sur la bonne route mais lorsque le taux augmente dans ce cas le niveau de l'élève décroît et l'instituteur sera capable de corriger les erreurs et de découvrir les erreurs engendrer par l'élève.

    3. Conclusion

    Nous avons montré dans ce chapitre le mécanisme d'extraction des mots manuscrits. Notre système a été implémenté dans une école pour l'enseignement des âgées. Nous avons présenté notre extension sur le système «RIMA » et nous avons décrit brièvement les atouts de notre système de découvrir les bons parmi les mauvais élèves. A partir des taux erreurs obtenu par notre système nous avons pu aider les instituteurs à prendre une bonne décision et découvrir très vite les lacunes des élèves.

    Conclusion et Perspectives

    Notre travail se situe dans le cadre de la reconnaissance de l'écriture manuscrite. Mais il touche aussi à d'autres thèmes de recherche comme le traitement automatique de langues naturelles (TAL), la gestion électronique de documents (GED) et l'enseignement assisté par ordinateur (EAO). Nous nous intéresserons en, particulier, à la reconnaissance de l'arabe manuscrit hors-ligne. La difficulté de ce sujet a amené plusieurs chercheurs à conduire plusieurs travaux pour remédier au problème de la reconnaissance. Cependant, on est très loin d'atteindre le niveau de la capacité humaine dans ce domaine.

    L'handicap majeur de la reconnaissance pour les approches existantes est l'opération de la segmentation. Pour remédier à ce problème nous avons proposé une nouvelle approche qui effectue une reconnaissance incrémentale des mots. Le système que nous avons proposé est composé de deux sous systèmes: un sous système d'apprentissage et un sous système de reconnaissance. Le système d'apprentissage a la capacité de nettoyage et de traitement des images, et se charge de la construction de la matrice de distribution sur une dimension de NxN, et d'enregistrer ces caractéristiques dans une base de données d'apprentissage. Nous obtenons donc une base de données qui contient les modèles des différentes lettres apprises. Le sous système de reconnaissance à pour objectif la reconnaissance du mot, il se charge du nettoyage comme celui du sous système d'apprentissage afin d'obtenir des images non bruitées. L'image nettoyée sera décomposée en plusieurs trames et chaque trame va à son tour être comparée avec des modèles de la base de données par la vraisemblance en utilisant le coefficient de corrélation pour la comparaison des deux matrices de distribution. Si on a abouti à une reconnaissance dans ce cas notre système mémorise la lettre reconnue et identifiera le scripteur pour accélérer la procédure de vraisemblance et recommence le processus incrémental afin de reconnaître les autres lettres qui composent le mot.

    Nous avons implémenté l'approche que nous avons proposée en langage Java. Le prototype réalisé respecte l'architecture que nous avons proposée pour la reconnaissance. Pour évaluer la performance de notre système en terme de précision de reconnaissance nous avons mené une étude expérimentale qui porte sur des mots manuscrits numérisés arabes. Les résultats obtenus montre que notre système a permis de reconnaître une bonne partie de l'échantillon du test.

    Notre système de reconnaissance des mots manuscrits arabes a été testé dans une école d'enseignement des âgées dont le but c'est l'apprentissage de la langue arabe. Notre système dépend fortement de la qualité d'acquisition des images parce que la présence de plusieurs bruits dans l'image parallélise le système dès le départ.

    Le travail réalisé nous ouvre plusieurs perspectives. Nous essayerons d'améliorer la performance de notre système par l'extension de la reconnaissance (qui s'effectue de droite à

    gauche) par une reconnaissance incrémental de gauche à droite; ceci nous permettra de s'assurer plus de l'identité du mot. Nous allons aussi essayer de varier la dimension de la matrice de distribution et d'évaluer l'effet de cette variation sur la performance de ce système. Il sera aussi intéressant d'étendre notre approche de reconnaissance de mots vers la reconnaissance de phrases et de textes.

    BIBLIOGRAPHIE

    [A. Belaïd & G. Saon., 1997] : A. Belaïd et G. Saon. Utilisation des processus markoviens en reconnaissance de l'écriture, Revue Traitement du Signal, vol. 14, n. 2, 1997, pp. 161-177.

    [A. Belaïd, 1995] : A. Belaïd, OCR Print - An Overview, In: Survey of the state of the art in Human Language Technology, R.A. Cole, J. Mariani, H. Uszkoreit, A. Zaenen, et V. Zue (réd.). Kluwer Academic Plublishers, 1995, ch. 2.

    [A. Belaïd, 2002]: A. Belaïd, Analyse et reconnaissance de documents, Cours INRIA: le Traitement électronique de Documents, Collection ADBS, 3-7 octobre, Aix-en-Provence, 2002.

    [Al-Badr, 1994] B. Al-Badr , R.M. Haralick : « Symbol recognition without prior segmentation ». Conference SPIE-EI 1994.

    [Al-Badr, 1995] B. Al-Badr, S.A. Mahmoud : «Survey and bibliography of Arabic optical text recognition ». Signal processing, vol. 41, pp. 49-77, 1995.

    [Amat, 1996] J.L. Amat, G. Yahiaoui : « Techniques avancées pour le traitement de l'information». Edition CEPADUES 1996.

    [Anigbogu, 1992] J. Anigbogu: «Reconnaissance de textes imprimés mutifontes à l'aide de modèles stochastiques et métriques ». thèse de doctorat, Université de Nancy I, 1992.

    [Burrow, 2004] : P. Burrow : «Arabic handwriting recognition ». Master of science thesis. School of Informatics, university of Edinburg, England, 2004.

    [Casey, 1996] R.G. Casey, E. Lecolinet : «A survey of methods and strategies in character segmentation ». IEEE Transactions on pattern analysis and machine intelligence, vol. 18, No. 7, pp. 690-7 ,july 1996.

    [Coüasnon, 1996] B. Coüasnon : «Segmentation et reconnaissance de documents guidées par la connaissance a priori : application aux partitions musicales». Thèse de doctorat de l'université de Rennes I, France, 1996.

    [H. Emptoz, F. Lebougoies, 2003]: H. Emptoz, F. Lebourgeois, V. Eglin, Y. Leydier. La reconnaissance dans les images numérisées : OCR et transcription, reconnaissance des structures fonctionnelles et des méta-données, 2003.

    [Ha, 1996] T.M. Ha, G. Kaufmann, H. Bunke : « Text localization and handwriting recognition». Technical report, university of Berne, 1996.

    [J. C. Simon, 1992] : J. C. Simon. Off-line Cursive Word Recognition. Proceedings of the IEEE, 80 (7):1151-1161, 1992.

    [Kermi, 1999] S. Kermi : « Classifieur neuronal base connaissances, application à la reconnaissance des caractères arabes isolés manuscrits ». Thèse de magister, université Badji Mokhtar, Annaba, Algerie 1999.

    [Kosawat, 2003] K. Kosawat : «Méthodes de segmentation et d'analyse automatique de textes Thaï ». Thèse de doctorat, université de Marne-La-Vallée, France 2003.

    [Kozima, 1993] H. Kozima: «Text segmentation based on similarity between words ». Proc. 31st annual meeting of the association for computational linguistics, pp. 286-288, Columbus, OH, USA 1993.

    [Lecolinet, 1993] E.Lecolinet, O. Barett : «Cursive word recognition : Methods and strategies ». In NATO/ASI, Fundamentals in handwriting recognition, Bonas, France June 21 -july 3, 1993.

    [M.M.M. Fahmy, 2001] M.M.M. Fahmy, S.Al Ali : «Automatic recognition of handwritten Arabic characters using their geometrical features ». Studies in informatics and control journal (SIC journal), vol. 10, No 2, 2001.

    [N. Ben Amara 1999]: « Utilisation des modèles de Markov cachés planaires en reconnaissance de l'écriture arabe imprimée ». Thèse de doctorat, spécialité Génie Electrique, Université des sciences, des Techniques et de médecine de Tunis II, 1999.

    [N. Ben Amara, 1996] N. Ben Amara, A. Belaid : « Une méthode stochastique pour la reconnaissance de l'écriture arabe imprimée ». Forum de la recherche en informatique, Tunis, Tunisie, 1996.

    [N. Ben Amara, 2000] N. Ben Amara, A. Belaid, N. Ellouze : «Utilisation des modèles Markoviens en reconnaissance de l'écriture arabe : état de l'art ». Proc. 3ème Colloque International francophone sur l'écrit et le document (CIFED'00), 2000.

    [N. Ben Amara, 2003] N. Ben Amara Classification of Arabic script using multiple sources of information: State ofthe art and perspectives, 2003.

    [O. D. Trier & T. Taxt, 1995] : O. D. Trier and T. Taxt. Evaluation ofbinarization methods for document images, On Pattern Analysis and Machine Intelligence, vol. 11, n. 12, pp. 312- 314, December 1995.

    [R. G. Casey & E. Lecolinet, 1995] : R. G. Casey and E. Lecolinet. Strategies in Characater Segmentation : a Survey. In 3rd International Conference on Document Analysis and Recognition (ICDAR'95), vol. 2, pp. 1028-1032, Montréal, 1995.

    [S. Knerr & al, 1997] : S. Knerr et al. The A2iA INTERCHEQUE System : Courtesy and Legal Amount Recognition for French Checks. In International Journal of Pattern Recognition and Artificial Intelligence, Spécial Issue on Automatic Banckcheck Processing, 1997.

    [Seymore, 1999] K. Seymore, A. McCallum, R. Rosenfeld : «Learning Hidden Markov model structure for information extraction ». AAAI. Workshop on machine learning for information extraction, pp. 37>42, 1999.

    [Souici, 1997] L. Souici, Z. Zmirli, M. Sellami : « Système connexionniste pour la reconnaissance de l'arabe manuscrit ». 1ères journées scientifiques et techniques (JST FRANCIL), pp. 383>388, Avignon, France, 1997.

    [Steinherz, 1999] : T. Steinherz, E. Rivlin, N. Intrator: «Off-line cursive word recognition: a survey ». International journal on document analysis and recognition, 2(2), pp. 90>110, 1999.

    [Tsang, 2000] I.R. Tsang : «Pattern recognition and complex systems». Thèse de doctorat, université d'Anterwerpen, 2000.

    [Y. Liu & S. Srihari, 1997] : Y. Liu and S. Srihari. Document image binarization on texture features, On Pattern Analysis and Machine Intelligence, vol. 19, n.5, pp. 540>544, May 1997.

    Annexes

    Code Source de la Feuille principale

    /*

    * RIMA.java */

    /**
    *

    * @auteur Riadh BOUSLIMI */

    import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    import FenetreApprentissage; import FenetreReconnaissance;

    public class RIMA

    {

    public static void main(String [] args) throws Exception {

    FenetrePrincipale F = new FenetrePrincipale();

    }

    }

    class FenetrePrincipale extends JFrame

    {

    public FenetrePrincipale()

    {

    /**

    * Paramétrage de la fenêtre elle-même */

    super("Apprentissage des Formes des Caractères arabes"); setSize(550,250);

    /**

    * On affiche la fenêtre */

    JPanel P1 = new JPanel();

    Pl.setLayout(new FlowLayout()); Pl.setBorder(BorderFactory.createTitledBorder("Menu Principale"));

    JLabel Ll = new JLabel("RIMA : Reconnaissance Incrémentale");

    JLabel L2 = new JLabel("des Mots manuscrits Arabe"); Font F = new Font("Verdana",Font.BOLD,24); Ll.setFont(F);

    P1.add(L1);

    L2.setFont(F);

    P1.add(L2);

    JButton SA = new JButton("Sous système d'apprentissage des modèles des lettres arabes");

    P1.add(SA);

    JButton SR = new JButton("Sous système de reconnaissance des mots manuscrits arabes");

    P1.add(SR);

    JButton Quitter = new JButton("Quitter le système"); P1.add(Quitter);

    Quitter.setBounds(10,20,40,60);

    getContentPane().add(P1);

    show();

    /**

    * Les écouteurs des composants "interactifs"

    */

    this.addWindowListener(new EcouteurFenetre()); EcouteurAction EA = new EcouteurAction(); SA.addActionListener(EA); SR.addActionListener(EA);

    Quitter.addActionListener(EA);

    }

    }

    /**

    * L'écouteur pour la fenêtre */

    class EcouteurFenetre extends WindowAdapter O

    public void windowClosing(WindowEvent e) O

    ystem.exit(0);

    }

    }

    class EcouteurAction implements ActionListener

    O

    public void actionPerformed(ActionEvent e)

    O

    AbstractButton b = (AbstractButton)(e.getSource()); if b.getText()="SA" then

    O

    FenetreApprentissage FA=New FenetreApprentissage(); FA.show();

    }

    else

    O

    FenetreReconnaisance FR=New FenetreReconnaisance(); FR.show();

    }

    }

    }

    /*

    * CalCorr.java

    */

    /**
    *

    * @auteur Riadh BOUSLIMI */

    import java.io.*;

    public class CalCorr{

    private int[][] M2 = new int[ 1000] [ 1000] ; private String[] Lett=new String[ 200]; private String[] Lettres=new String[200] ; private int NBCL,NBLN;

    private int u=0;

    public Apriori() {

    }

    public float Correlation(int[] A,int[] B,float NL) { int X;

    int X1, X2;

    float MoyX1,MoyX2;

    float a1, a2, a3;

    float ET1, ET2;

    double EcartType1,EcartType2;

    float R;

    /*

    Remise a Zéro des variables necessaire au calcul

    */

    X1

    =

    0;

    X2

    =

    0;

    ET1

    =

    0;

    ET2

    =

    0;

    a1

    =

    0;

    a2

    =

    0;

    a3

    =

    0;

    R =

    0;

    /*

    Calcul de la moyenne 1 Moyenne= (1/n) * Somme[ x]

    */

    for (X=0; X<NL ; X++) X1 = X1 + A[ X] ;

    MoyXl = X1 * (1 / NL); //System.out.println("Moyenne A="+MoyXl);

    /*

    Calcul de la moyenne 2 Moyenne= (1/n) * Somme[x]

    */

    for (X=0; X<NL;X++) X2 = X2 + B[ X] ;

    MoyX2 = X2 * (1 / NL); //System.out.println("Moyenne B="+MoyX2); /*

    Calcul du covariance

    Somme <(xi-moyenneX)(yi-Moyenne Y)>

    a=------------------------------------ somme <(xi-moyenne X)^2>

    */

    for(X=0;X<NL;X++) {

    al = al + ( (A[ X] - MoyXl) * (B[ X] - MoyX2) ) ; a2 = a2 + ( (A[ X] - MoyXl) * (A[ X] - MoyXl)) ;

    1

    if ((al == 0) && (a2 == 0)){

    // System.out.println("Correlation=0"); return 0;

    1

    a3 = al / a2;

    // System.out.println("CoVariance="+a3);

    /*

    Calcul Ecart Type

    ecartTypeA=sqrt(l/n* somme(xi-moyenne de A)^2)

    */

    for(X=0;X<NL;X++)

    ET1 = ET1 + ( (A[ X] - MoyXl)* (A[ X] - MoyXl));

    EcartTypel=(double)(ET1);

    EcartTypel = (1 / NL) * EcartTypel;

    EcartTypel= Math.sqrt(EcartTypel); ET1=(float)(EcartTypel);

    // System.out.println("EcartTypeA="+ET1); /*

    Calcul Ecart Type

    ecartTypeB=sqrt(l/n* somme(xi-moyenne de B)^2)

    */

    for (X=0; X<NL;X++)

    ET2 = ET2 + ( (B[ X] - MoyX2)* (B[ X] - MoyX2) ) ;

    EcartType2= (double) (ET2) ;

    EcartType2 = (1 / NL) * EcartType2; EcartType2= Math.sqrt(EcartType2); ET2=(float)(EcartType2);

    // System.out.println("EcartTypeB="+ET2);

    /*

    Calcul du coefficient de correlation

    r= a*(EcartTypeA/EcartTypeB)

    domaine R:{ -1<r<1}

    forte correlation = R proche de -1 ou 1

    peut dire qu il y a un lien de causalite entre les 2 variable X et Y

    Ici entre deux matrices A et B

    */

    if (ET2 == O){

    // System.out.println("Correlation=-1"); return -1;

    }

    R = (float) (a3 * (ET1 / ET2));

    // System.out.println("Correlation="+R); return R;

    }

    }

    Résumé

    Un défi, bien placé dans le traitement automatique de langues naturelles (TAL), est celui de la reconnaissance de l'écriture manuscrite arabe. Les solutions informatiques proposées par les chercheurs sont, souvent, loin d'atteindre un niveau acceptable. En effet ces chercheurs sont confrontés à un problème difficile et incontournable, celui de la segmentation qui fait partie du processus de reconnaissance. Dans ce contexte, nous proposons une autre approche incrémentale de la reconnaissance de l'écriture manuscrite arabe et qui ne fait pas recours à la segmentation et utilise une technique que nous appelons incrémental. La performance de notre approche est évaluée par des essais de reconnaissances effectuées sur des échantillons de données réelles.

    Abstract

    One of the most important problems in the Natural Language Processing (NLP) is the recognition of the handwritten Arabic script. The proposed solutions are, often, far to reach an acceptable level. Researches are comforted with the inevitable and difficult problem of segmentation, which is one of the recognition steps. In this context, we propose a new incremental approach for the recognition of the handwritten Arabic words which does not require the segmentation and which uses a technique that we call incremental. The performance of our approach is assessed by an experimental study carried out on real data.






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Là où il n'y a pas d'espoir, nous devons l'inventer"   Albert Camus