PFE

850 vues

Publié le

  • Soyez le premier à commenter

PFE

  1. 1. République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université de Jijel Faculté des sciences et de la technologie Département d’informatique Mémoiredefind’étude Pour l’obtention du diplôme d’ingénieur d’état en informatique Option Systèmes d’informations avancés Présenté par : Encadré par : ARIES Abd elkarim Mr. BOUFENAR Chaouki Promotion 2009 Proposition d’une architecture multi- agents pour la reconnaissance de l’écriture manuscrite arabe
  2. 2. Propositiond’unearchitecturemulti-agentspourla reconnaissancedel’écrituremanuscritearabe Université de Jijel Faculté des sciences et de la technologie Département d’informatique Mémoiredefind’étude Pour l’obtention du diplôme d’ingénieur d’état en informatique Option Systèmes d’informations avancés Présenté par : ARIES Abd elkarim Encadré par : Mr. BOUFENAR Chaouki Promotion 2009
  3. 3. Remerciements Louangeàdieu.Bienfaiteurmiséricordieux. Paixetbénédictionsursonprophète,Mohamed,ultimeenvoyé. Avant tout je remercie le Dieu qui m’a donné le courage et la force pour continuer. C’est grâce à lui que mon chemin est éclairé pour finir ce modeste travail. Je remercie très vivement mon encadreur Mr. Boufenar Chaouki,de m’avoir encadré, orienté, conseillé et corrigé tout au long de mon travail jusqu’à la dernière second. Je remercie également, les membres de jury qui ont accepté d’examiner et de jurer mon travail. Mes vifs remerciements vont également à tous ceux qui ont de près ou de loin contribuer à l’accomplissement de ce travail. Ma reconnaissance s’adresse à ma famille qui a su m’apporter, sans relâcher les soutiens durant toutes ces longues années d’études. Enfin, je remercie également, tous les enseignants, qui ont assuré ma formation durant mon cycle universitaire.
  4. 4. Dédicace Je dédie ce modeste travail A mon père le symbole d’espoir A ma mère le symbole de tendresse A mes frères et mes sœurs pour leur encouragement A mes amis qui ont été avec moi dans la prospérité et l’adversité A tous ceux qui m’ont encouragé pour arriver jusqu’ici
  5. 5. Sommaire Sommaire Introduction générale............................................................................................................ 01 Chapitre I : Reconnaissance de l’écriture manuscrite arabe............................................ 03 1. Introduction.....................................................................................................................03 2. Caractéristique de l’écriture arabe.................................................................................. 03 3. Les approches et le processus de reconnaissance........................................................... 06 3.1. Les approches de reconnaissance............................................................................06 3.1.1. Approche globale............................................................................................ 06 3.1.2. Approche locale.............................................................................................. 07 3.1.3. Approche pseudo-analytique........................................................................... 07 3.1.4. Approche hybride............................................................................................ 08 3.2. Le processus de reconnaissance.............................................................................. 08 4. L’acquisition................................................................................................................... 09 4.1. L’acquisition en ligne............................................................................................. 09 4.2. L’acquisition hors ligne.......................................................................................... 10 5. Le prétraitement.............................................................................................................. 11 5.1. La binarisation........................................................................................................ 11 5.2. Le Filtrage et lissage............................................................................................... 13 5.3. La squelettisation.................................................................................................... 14 5.4. La normalisation de ligne de base........................................................................... 16 5.5. La correction d’inclinaison des caractères.............................................................. 19 6. La segmentation.............................................................................................................. 21 6.1. Segmentation explicite............................................................................................ 22 6.1.1. Segmentation par morphologie mathématique................................................ 22 6.1.2. Segmentation par analyse de contour.............................................................. 23 6.1.3. Segmentation par profil d’histogramme de projection verticale..................... 24 6.1.4. Segmentation par analyse de squelette............................................................ 25 6.2. Segmentation implicite........................................................................................... 25 6.2.1. Méthode à fenêtre glissante............................................................................. 26 6.2.2. Méthode par recherche de primitives ............................................................. 27 7. Extraction des caractéristiques....................................................................................... 27 7.1. Caractéristiques globales.........................................................................................27 7.2. Caractéristiques locales (analytiques)..................................................................... 28 7.2.1. Caractéristiques statistiques............................................................................ 28 7.2.2. Caractéristiques structurelles...........................................................................29 8. La classification et apprentissage................................................................................... 30 8.1. Template matching..................................................................................................31 8.2. Les approches statistiques....................................................................................... 31 8.2.1. Classificateur Bayésien................................................................................... 31 8.2.2. Arbres de décision........................................................................................... 32 8.3. Les approches structurelles..................................................................................... 33 8.3.1. Les méthodes de tests...................................................................................... 34 8.3.2. Appariement de graphes.................................................................................. 34
  6. 6. Sommaire 8.3.3. Les comparaisons de chaînes.......................................................................... 34 8.4. Les Réseaux de neurones........................................................................................ 35 8.5. Les approches stochastiques................................................................................... 36 8.6. Apprentissage et adaptation.................................................................................... 37 9. Conclusion...................................................................................................................... 38 Chapitre II : Reconnaissance de l’écriture manuscrite à base d’agent............................ 39 1. Introduction.....................................................................................................................39 2. Les systèmes multi-agents (SMA).................................................................................. 40 2.1. Qu’est ce que un agent ?......................................................................................... 40 2.2. L’interaction des agents avec l’environnement...................................................... 41 2.3. Les interactions entre les agents............................................................................. 43 2.4. Définition d’un Système Multi-Agents................................................................... 45 2.5. Avantages d’un SMA.............................................................................................. 45 3. Quelques travaux de reconnaissance multi-agents......................................................... 46 3.1. Travail de Nosary et al............................................................................................ 46 3.1.1. Le système proposé ........................................................................................ 46 3.1.2. Concepts de l'adaptation ................................................................................. 47 3.1.3. Organisation du système (modèle d'interaction) ............................................ 47 3.1.4. Evaluation et Résultats ................................................................................... 49 3.2. Travail de Louis et Lambert.................................................................................... 49 3.2.1. À l’égard de multiples agents.......................................................................... 50 3.2.2. L’architecture proposée................................................................................... 50 3.2.3. La base de connaissance.................................................................................. 51 3.2.4. Evaluation et Résultats.................................................................................... 53 3.3. Le système « Multicheck »..................................................................................... 53 3.3.1. Les raisons d’utiliser des systèmes multi-agents............................................ 53 3.3.2. L’architecture proposée................................................................................... 54 3.3.3. La scène........................................................................................................... 56 3.3.4. Evaluation et Résultats.................................................................................... 57 4. Discussion des résultats des systèmes précédents.......................................................... 58 5. Conclusion...................................................................................................................... 59 Chapitre III : Proposition d’une architecture de reconnaissance de l’écriture manuscrite arabe basée agents................................................................... 61 1. Introduction.....................................................................................................................61 2. L’architecture proposée.................................................................................................. 61 3. Caractéristiques de l’architecture................................................................................... 63 3.1. Portabilité................................................................................................................ 63 3.2. Réutilisabilité.......................................................................................................... 63 3.3. Adaptabilité............................................................................................................. 64 4. Description de l’architecture...........................................................................................64 4.1. Les Agents.............................................................................................................. 64 4.1.1. Agent Interface................................................................................................ 64 4.1.2. Agent de prétraitement.................................................................................... 64 4.1.3. Agent de segmentation.................................................................................... 65
  7. 7. Sommaire 4.1.4. Agent superviseur de reconnaissance.............................................................. 66 4.1.5. Agent de post-traitement................................................................................. 66 4.2. Les bases de connaissance...................................................................................... 67 4.3. La base d’images.....................................................................................................67 5. Scénario d’exécution...................................................................................................... 68 6. Modélisation du système ............................................................................................... 69 6.1. Diagramme de cas d’utilisation.............................................................................. 69 6.2. Diagramme de classes............................................................................................. 70 6.3. Diagramme des protocoles d’interaction................................................................ 71 7. Organisation....................................................................................................................72 8. Conclusion...................................................................................................................... 73 Chapitre IV : Etude de cas et implémentation................................................................... 74 1. Introduction.....................................................................................................................74 2. L’environnement de développement.............................................................................. 74 2.1. Le langage Java....................................................................................................... 74 2.2. Le système JADE.................................................................................................... 75 2-2-1. Le gestionnaire des agents.............................................................................. 76 2-2-2. Agent Sniffer................................................................................................. 77 3. Description du logiciel.................................................................................................... 77 3.1. Les composantes du logiciel................................................................................... 78 3-1-1. Le menu.......................................................................................................... 78 3-1-2. La barre d’outils..............................................................................................79 3-1-3. La zone d’affichage........................................................................................ 79 3-1-4. La liste des images.......................................................................................... 80 3.2. Le fonctionnement du logiciel................................................................................ 80 3.3. La modélisation de l’interface.................................................................................80 4. Les agents....................................................................................................................... 81 4.1. La création des agents............................................................................................. 81 4.2. L’envoie des messages............................................................................................ 82 4.3. La réception des messages...................................................................................... 82 5. Les résultats expérimentaux........................................................................................... 82 5.1. L’espace de Hough................................................................................................. 83 5.2. L’image redressée................................................................................................... 83 5.3. L’image lissée......................................................................................................... 83 5.4. L’image squelettisée............................................................................................... 83 5.5. L’image segmentée................................................................................................. 84 6. Conclusion...................................................................................................................... 84 Conclusion générale.............................................................................................................. 85
  8. 8. Liste des figures Liste des Figures Fig 01. Quelques caractéristiques de l'écriture arabe........................................................ 04 Fig 02. La ligature verticale entre trois caractères............................................................ 05 Fig 03. Exemple de styles calligraphiques de l’écriture arabe.......................................... 06 Fig 04. Illustration de la notion de pseudo-mot................................................................ 08 Fig 05. Un processus global pour la reconnaissance d’écriture........................................ 08 Fig 06. Exemple de binarisation de Otsu.......................................................................... 13 Fig 07. Lissage d’image binaire........................................................................................ 14 Fig 08. La squelettisation.................................................................................................. 16 Fig 09. La normalisation (redressement) de la ligne de base ........................................... 17 Fig 10. Estimation de la ligne de base par l’espace de Hough ......................................... 18 Fig 11. La normalisation de la ligne de base par projection horizontale.......................... 19 Fig 12. Echec de la détection de la ligne de base par projection horizontale................... 19 Fig 13. L’inclination des caractères ................................................................................. 20 Fig 14. Histogrammes verticaux d’une image cisaillée par 3 différentes position ......... 21 Fig 15. Recherche des régularités et singularités ............................................................. 23 Fig 16. Recherche du contour supérieur .......................................................................... 24 Fig 17. La segmentation avec la fenêtre glissante ........................................................... 26 Fig 18. Exemple d’approximation polygonale du mot manuscrit .................................... 27 Fig 19. Représentation d’un mot par des caractéristiques globales ................................. 28 Fig 20. Caractéristiques structurelles ............................................................................... 30 Fig 21. Interaction des agents avec l’environnement........................................................ 41 Fig 22. Interaction inter-agents......................................................................................... 43 Fig 23. Le protocole contact-net....................................................................................... 44 Fig 24. Organisation générale du système de Nosary et al............................................... 48 Fig 25. Système proposé par Louis et Lambert................................................................ 51 Fig 26. Les caractéristiques décrivent la fermeture décrivent la rotation de <a> ou <u>. 52
  9. 9. Liste des figures Fig 27. L’architecture du système «Multicheck »............................................................. 55 Fig 28. La scène de reconnaissance des valeurs numériques et littérales......................... 57 Fig 29. Les résultats des différentes évaluations sur le système « Multicheck ».............. 58 Fig 30. L’architecture proposée........................................................................................ 61 Fig 31. L’interaction entre les agents et l’utilisateur dans le système proposé................. 62 Fig 32. Echantillons de la base de données IFN/ENIT..................................................... 67 Fig 33. Diagramme de cas d’utilisation relatif au scénario d’exécution........................... 70 Fig 34. Diagramme des principales classes de notre système........................................... 71 Fig 35. Diagramme des protocoles d’interaction agents................................................... 71 Fig 36. L’ontologie du gestionnaire des agents dans FIPA.............................................. 76 Fig 37. Agent Sniffer........................................................................................................ 77 Fig 38. Les composantes de notre logiciel........................................................................ 78 Fig 39. Les différents composants du menu..................................................................... 79 Fig 40. Les différents boutons de la barre d’outils........................................................... 79 Fig 41. La zone d’affichage.............................................................................................. 79 Fig 42. Les différentes classes composants l’interface utilisateur.................................... 80 Fig 43. Une image de teste................................................................................................ 83 Fig 44. Espace de Hough équivalent à l’image de teste.................................................... 83 Fig 45. Image redressée de l’image du teste..................................................................... 83 Fig 46 Image lissée de l’image de teste........................................................................... 83 Fig 47. Image squelettisée de l’image de teste.................................................................. 84 Fig 48. Image segmentée de l’image de teste................................................................... 84
  10. 10. Introduction générale
  11. 11. Introduction générale 1 Introduction générale L’écriture est une méthode de communication avec autrui par le moyen de signes visuels arbitraires formant un système 1 . Autrement dit, l’écriture est un système de représentation graphique d’une langue, au moyen de signes inscrits ou dessinés sur un support2 , et qui permet l'échange d'informations sans l’utilisation de la voix. L’écriture a apparus au l’environ de l’année 3300 av. J.-C. mais malgré ça, l’écriture reste un moyen très important de communication jusqu’à présent. Et parmi les systèmes de l’écriture, on distingue l’écriture alphabétique arabe [W1]. On fait remonter cet alphabet à l'araméen dans sa variante nabatéenne ou syriaque, lui- même descendant du phénicien (alphabet qui, entre autres, donne naissance à l'alphabet hébreu, à l'alphabet grec et, partant, au cyrillique, aux lettres latines, etc.). La première attestation d'un texte en alphabet arabe remonte à 512. C'est au VIIe siècle qu'on a ajouté des points sur ou sous certaines lettres afin de les différencier, le modèle araméen ayant moins de phonèmes que l'arabe et l'écriture des origines ayant donc dû confondre par une même lettre plusieurs phonèmes. Lors de ces modifications, l'ordre des lettres a été changé : de fait, l'alphabet arabe ne suit plus l'ordre traditionnel des autres alphabets sémitiques, dit ordre levantin, comme l'hébreu le fait encore [W2]. Puisque elle représente une importante chose dans sa vie, l’homme a toujours pensé des méthodes pour développer l’écriture. De ce point là, il a créé des machines qui facilitent cette tâche. À l’arrivée de l’ordinateur et de l’informatique, on a pensé d’automatiser la lecture des documents écrits soit imprimés ou manuscrits. La lecture automatique des documents manuscrits est actuellement un sujet de recherche très actif qui a pour objectif principal de « convertir les images de documents manuscrits en fichiers informatiques en vue de l'archivage, la recherche, la modification, la réutilisation et la transmission de l'information que ces images contiennent ». Les applications sont aussi nombreuses que variées : tri automatique de courrier, transcription de documents manuscrits anciens, lecture automatique et tri de formulaires, mise au propre de brouillon ou d'agenda, extraction d'informations utiles d'un document comme par exemple les numéros de téléphone dans un courrier manuscrit, indexation de documents, routage automatique de fax, etc. 1 http://fr.encarta.msn.com/encyclopedia_761573431/écriture.html 2 http://fr.wikipedia.org/wiki/Écriture
  12. 12. Introduction générale 2 Dans les dernières années, il a apparu un nouveau concept qui est l’agent. Ce concept là, peut ouvrir un chemin vers la reconnaissance des formes, et spécialement pour les problèmes très difficiles dans ce champ. C’est pour cette raison qu’on a pensé de proposer une architecture multi-agents pour la reconnaissance d’écriture manuscrite arabe. Dans le premier chapitre nous allons présenter la reconnaissance d’écriture arabe. Nous allons étudier les caractéristiques de l’écriture arabe sachant que cette dernière comprend 28 caractères, la façon dont ils sont écrits varie entre 1 et 4 représentations selon leurs places en mot. Afin d’éclaircir la complexité du problème, on va présenter une brève explication sur les étapes de la reconnaissance d’écriture manuscrite : le prétraitement, la segmentation, l’extraction des caractéristiques et enfin la reconnaissance et l’apprentissage. Bien sûre, nous allons montrer les différentes approches de chaque étape. Nous allons ensuite, dans le deuxième chapitre, citer les différents travaux réalisés dans le cadre d’utiliser les systèmes multi-agents pour augmenter l’efficacité des systèmes de reconnaissance d’écriture manuscrite. Nous allons voir l’architecture proposée pour chaque travail, les différentes raisons pour utiliser le concept d’agent dans ces travaux. Pour finir, nous allons faire une brève comparaison entre ces travaux. Le troisième chapitre contient le cœur de notre travail, il prend en considération d’exposer l’architecture proposée. Il compte les différents agents, ainsi que leurs fonctions dans cette architecture. Il contient aussi quelques spécifications des agents les plus essentiels. Dans le quatrième chapitre, nous allons présenter les différents outils utilisés pour le développement de notre logiciel. Nous allons voir le fonctionnement de ce dernier, et en plus de ça nous allons voir ces capacités. Finalement, on va terminer par une conclusion qui montre le futur des systèmes multi- agents ainsi que les systèmes d’écriture manuscrites notamment arabe.
  13. 13. Chapitre I Reconnaissance de l’écriture manuscrite arabe 1. Introduction 2. Caractéristique de l’écriture arabe 3. Les approches et le processus de reconnaissance 4. L’acquisition 5. Le prétraitement 6. La segmentation 7. Extraction des caractéristiques 8. La classification et apprentissage 9. Conclusion
  14. 14. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 3 Chapitre I Reconnaissance de l’écriture manuscrite arabe 1. Introduction Ce chapitre tient comme objet de faire un état de l’art sur la reconnaissance de l’écriture manuscrite arabe. Premièrement, on va présenter les caractéristiques de la langue arabe. Ensuite, on va découvrir les différentes étapes pour reconnaître un mot ou un document; commençant par l’étape d’acquisition, prétraitement, segmentation, classification et enfin post-traitement. On va montrer les différentes techniques utilisées pour chaque étape de la reconnaissance. Dans l’étape de prétraitement, on va voir des méthodes qu’on utilise pour rendre le traitement plus souple, on va mettre l’accent sur les méthodes de binarisation, lissage, squelettisation et redressement de l’écriture. Dans l’étape de segmentation, on va explorer les différentes méthodes de segmentation en mots ou en pseudo-mots selon deux approches : segmentation implicite et segmentation explicite. Dans l’étape de classification, il y a pas mal de techniques qu’on va découvrir, et particulièrement celles qui sont utilisées pour la reconnaissance d’écriture manuscrite arabe. Et bien sûre, on va discuter les approches de post-traitement. Et pour finir ce chapitre, une conclusion est met en point pour exposer certains problèmes et aussi quelques directives pour le futur de la reconnaissance de l’écriture manuscrite arabe. 2. Caractéristique de l’écriture arabe L'écriture arabe s'écrit de droite à gauche (Fig 01.1). Elle est semi-cursive aussi bien dans sa forme imprimée que manuscrite [02], puisqu’il y a des caractères qui ne s’attachent pas à leurs successeurs (Fig 01.4). Un ensemble de pixels noirs adjacents les uns aux autres est appelé une composante connexe [01] (Fig 01.3).Cette dernière, dans l'écriture arabe, ne représente pas forcément un mot entier, elle peut être seulement une partie du mot, car certains caractères ne doivent pas être attachés à leur successeur à gauche dans le mot (Fig 01.2). Chaque caractère peut prendre quatre formes différentes, suivant sa position dans le mot. Elle peut être au début du mot (‫ﺣـ‬), au centre du mot ( ‫ـ‬‫ﺤـ‬ ), à la fin du mot (‫ـﺢ‬) et isolé (‫ح‬) (Fig 01.5), le Tab 01 montre tous les compositions possibles de chaque caractère. Les caractères arabes n’ont pas la même taille, cette taille est différente d’un caractère à un autre ; par exemple (‫س‬) et (‫ا‬ ) (Fig 01.6). Par ailleurs, il existe des lettres différentes qui ont la même forme, mais
  15. 15. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 4 qui se distinguent par la position et le nombre de points qui leur appartiennent (Fig 01.7 et Fig 01.8). Les voyelles "a", "i", "o" et "u" ne sont pas utilisées systématiquement dans l'écriture arabe; des signes qui correspondent à des voyelles sont employés pour éviter des erreurs de prononciation, on les appelle les diacritiques. On peut distinguer deux types de textes : les textes avec ou sans diacritiques. Quelques textes arabes (Le Coran et les livres d'apprentissage de la lecture et de l'écriture pour les enfants) contiennent des diacritiques. Les autres, c'est-à-dire les livres, les journaux, les publications sont des textes sans ces signes [01]. Un exemple de l’utilité des diacritiques dans le mot arabe : "tout : ‫ﱡ‬‫ﻞ‬ُ‫آ‬,", "mange :ُْ‫ﻞ‬ُ‫آ‬" ou "fatigué : ‫ﱠ‬‫ﻞ‬َ‫آ‬" (Fig 01.11). position du forme position du forme position du forme SN Nom caractère Fin Centre Début Isolé SN Nom caractère Fin Centre Début Isolé SN Nom caractère Fin Centre Début Isolé 1 Alif ‫ـﺎ‬ ‫ا‬ 11 Zai ‫ـﺰ‬ ‫ز‬ 21 Qaf ‫ـﻖ‬ ‫ـﻘـ‬ ‫ﻗـ‬ ‫ق‬ 2 Ba ‫ـﺐ‬ ‫ـﺒـ‬ ‫ﺑـ‬ ‫ب‬ 12 Sin ‫ـﺲ‬ ‫ـﺴـ‬ ‫ﺳـ‬ ‫س‬ 22 Kaf ‫ـﻚ‬ ‫ـﻜـ‬ ‫آـ‬ ‫ك‬ 3 Ta ‫ـﺖ‬ ‫ـﺘـ‬ ‫ﺗـ‬ ‫ت‬ 13 Shin ‫ـﺶ‬ ‫ـﺸـ‬ ‫ﺷـ‬ ‫ش‬ 23 Lam ‫ـﻞ‬ ‫ـﻠـ‬ ‫ﻟـ‬ ‫ل‬ 4 Tha ‫ـﺚ‬ ‫ـﺜـ‬ ‫ﺛـ‬ ‫ث‬ 14 Sad ‫ـﺺ‬ ‫ـﺼـ‬ ‫ﺻـ‬ ‫ص‬ 24 Mim ‫ـﻢ‬ ‫ـﻤـ‬ ‫ﻣـ‬ ‫م‬ 5 Jim ‫ـﺞ‬ ‫ـﺠـ‬ ‫ﺟـ‬ ‫ج‬ 15 Dhad ‫ـﺾ‬ ‫ـﻀـ‬ ‫ﺿـ‬ ‫ض‬ 25 Non ‫ـﻦ‬ ‫ـﻨـ‬ ‫ﻧـ‬ ‫ن‬ 6 HHA ‫ـﺢ‬ ‫ـﺤـ‬ ‫ﺣـ‬ ‫ح‬ 16 Tua ‫ـﻂ‬ ‫ـﻄـ‬ ‫ﻃـ‬ ‫ط‬ 26 Ha ‫ـﻪ‬ ‫ـﻬـ‬ ‫هـ‬ ‫ﻩ‬ 7 KHA ‫ـﺦ‬ ‫ـﺨـ‬ ‫ﺧـ‬ ‫خ‬ 17 Zua ‫ـﻆ‬ ‫ـﻈـ‬ ‫ﻇـ‬ ‫ظ‬ 27 Waw ‫ـﻮ‬ ‫و‬ 8 Dal ‫ـﺪ‬ ‫د‬ 18 Ain ‫ـﻊ‬ ‫ـﻌـ‬ ‫ﻋـ‬ ‫ع‬ 28 Ya ‫ـﻲ‬ ‫ـﻴـ‬ ‫ﻳـ‬ ‫ي‬ 9 Thal ‫ـﺬ‬ ‫ذ‬ 19 Gain ‫ـﻎ‬ ‫ـﻐـ‬ ‫ﻏـ‬ ‫غ‬ 10 Ra ‫ـﺮ‬ ‫ر‬ 20 Fa ‫ـﻒ‬ ‫ـﻔـ‬ ‫ﻓـ‬ ‫ف‬ Tab 01. Les différentes formes des caractères arabes selon leurs positions. Fig 01. Quelques caractéristiques de l'écriture arabe (tirée de [03]).
  16. 16. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 5 Le caractère Hamzah(‫ء‬) (Fig 01.10) cause quelques confusions. Dans certaines positions, il est considéré comme une sub-composante d’un caractère, par exemple dans Kaf(‫ك‬), et dans autres positions il est considéré comme un indépendant caractère isolé. A coté de ces critères, on peut catégoriser les caractères arabes selon la position des sub-composantes (point, Hamzah et Madda) par rapport à la composante principale. Pour différencier le sens de quelques mots, on a obligé d’utiliser les diacritiques. Ces diacritiques sont : Fathah qui est un petit horizontal ligne sur le caractère ( َ); Kusrah qui est un petit ligne sous le caractère ( ِ) ; Dummah qui est un petit virgule sur le caractère ( ُ ) ; Tunween qui est un double signe des diacritiques passés ; Shaddah qui est un petit "w" ( ّ) sur le caractère ; Soukoun qui est une petite cercle sur le caractère ( ْ) ; Madd est un petit signe d’approximation qui se trouve sur le Alif( ‫ﺁ‬ ) ou encore sur Lam-Alif( ‫ﻵ‬ ). On observe parfois du chevauchement entre les caractères (Fig 01.9). Ainsi, les caractères d'une même chaîne (ou pseudo-mot) 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 [02] (voir Fig 02). En effet, l’écriture arabe se distingue des autres écritures par sa calligraphie parfois de fantaisie complexe (ex. Diwani, Kufi, Muthanna, Farsi, Tholoth, Naskhi, Andalus, etc. (Fig 03). Par ailleurs, les différents travaux élaborés en AOCR, montrent que la cursivité de l'écriture arabe, la 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. Face à ces problèmes, la nécessité d'une modélisation robuste s'impose, les méthodes classiques de type statistique, structurel, neuronal, etc. étant peu efficaces pour prendre en considération toutes les variations morphologiques de l’arabe [02]. Fig 02. La ligature verticale entre trois caractères.
  17. 17. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 6 3. Les approches et le processus de reconnaissance Pour éclaircir la notion de la reconnaissance d’écriture manuscrite, on va citer ses approches, ainsi que les étapes qui le forment. 3.1. Les approches de reconnaissance Sur le plan de la reconnaissance des mots manuscrits, on distingue, selon la manière de percevoir un mot, principalement trois approches : approche globale, analytique et pseudo- analytique. 3.1.1. Approche globale La reconnaissance globale est fondée sur une description globale et unique de toute l’image du mot et procède de façon descendante. Elle considère le mot comme une entité élémentaire et indivisible. Cette approche est surtout utilisée lorsque les lettres du mot sont trop déformées ou ambiguës. Dans le pratique, on a mentionné dans [03] quelques exemples d’utilisation de cette approche : la reconnaissance de lexiques statiques réduits tels que celui des montants littéraux de chèques manuscrits, la vérification rapide des phrases dans les systèmes de lecture de courrier, vérification des solutions d’une approche analytique, ou pré-classification/filtrage et tri dynamiquement la liste des mots candidas dans le cadre applicatif d’une reconnaissance à lexiques étendus. Fig 03. Exemple de styles calligraphiques de l’écriture arabe.
  18. 18. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 7 Cette approche permet d’éviter les problèmes de la segmentation en considérant le mot dans sa globalité en phase de reconnaissance. Mais malgré ça, elle est en revanche confrontée, selon la taille du vocabulaire à traiter, aux ambiguïtés dues non seulement à la variabilité des formes globales représentant un même mot, mais également à la ressemblance des formes (globales) représentant des mots différents. Et pour faire face à cette variabilité, l’apprentissage des modèles nécessite donc un grand nombre de mots, ce qui limite cette approche à des lexiques de petite taille [04]. 3.1.2. Approche locale Cette approche, au contraire de l’approche globale où on ne peut pas reconnaître un mot non modélisé, vise à reconnaître le mot en identifiant les lettres qui le composent, en offrant ainsi l’énorme avantage de proposer une démarche générale pour la modélisation d’un vocabulaire quelconque, ce qui donne une plus grande souplesse et généricité au système de reconnaissance de l’écriture manuscrite. Une étape de segmentation est donc nécessaire pour déterminer les limites entre les lettres. Or, cette tâche est particulièrement délicate du fait de l'absence de segmentation idéale : les limites entre caractères sont parfois difficiles à déterminer même pour un être humain [03]. 3.1.3. Approche pseudo-analytique L’approche globale traite le mot comme une entité indissociable, par contre l’approche locale traite des entités plus fines que les mots, qui sont soit les caractères ou des graphèmes. L’approche pseudo-analytique se situe entre ces deux approches, elle traite des primitives moins complexes que les mots et plus importantes que les caractères. Ces primitives s’appellent les pseudo-mots ou les sous-mots. On trouve cette notion dans les écritures semi-cursives comme l’écriture arabe [03] (voir Fig 04). Cette notion présente une sorte de régularité de l’écriture car elle obéit à des règles calligraphiques précises, et permet d’enrichir la description du mot et donc de donner à cette dernière une troisième dimension perceptive. Le problème de modélisation d’un mot revient donc à un problème de modélisation et agencement des pseudo-mots qui le composent. Cette approche est certainement limitée à un lexique spécifique de mot, mais ce dernier sera plus important que dans une approche globale [03]. Ceci est dû au fait que les modèles de mots peuvent avoir en commun, certains modèles de pseudo-mots.
  19. 19. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 8 3.1.4. Approche hybride On peut constater que les avantages de l’approche globale sont les inconvénients de l’approche locale et vice versa. Cette constatation met en évidence une complémentarité entre les deux approches, donnant ainsi naissance à une nouvelle approche de reconnaissance qualifiée hybride. L’hybridation peut inclure aussi une approche pseudo-analytique, et son mécanisme de mise en oeuvre peut consister en une combinaison de méthodes de classification, de classificateurs et des extracteurs de primitives ou même ajouter des informations supplémentaires sur le scripteur et son style d’écriture [03]. 3.2. Le processus de reconnaissance Globalement, le processus de reconnaissance de l’écriture arabe manuscrite peut être partagé en 6 étapes (Fig 05): Acquisition; Prétraitements; Segmentation; Extraction des caractéristiques; Classification; Post-traitement. Sachant que les flèches pointillés représentent des chemins optionnels. Fig 04. Illustration de la notion de pseudo-mot sur une image de mot manuscrit composé de 3 pseudo-mots. Acquisition Prétraitements Segmentation Analyse Apprentissage Classification Post-traitement Modèles de référence Tracé d’écriture Image Brute ou Signal en ligne Image ou Signal prétraité Caractères Ou Graphèmes Paramètres Caractéristiques Hypothèse de reconnaissance Décision finale Fig 05. Un processus global pour la reconnaissance d’écriture (tirée de [03]).
  20. 20. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 9 - Acquisition: c’est l’opération qui permet de convertir au moyen de capteurs physiques (tablette graphique, caméra, scanner, etc.). - Prétraitements: c’est l’ensemble de toutes les opérations qui s’appliquent sur les données acquises pour les préparer à des traitements ultérieurs. - Segmentation: cette opération est optionnelle et son objectif, comme son nom l’indique, est de découper un mot ou pseudo-mot en une suite de caractères ou graphèmes afin de réduire la complexité des modules de traitements utilisés par la suite. - Extraction de caractéristiques ou analyse: son but est d’analyser le segment d’écriture (mot, caractères, etc.) afin d’en extraire des paramètres (primitives) permettant de l’identifier préférentiellement sans ambiguïté. Les paramètres extraits doivent être codifiés dans une représentation appropriée sur laquelle va s’appuyer la méthode de classification. - Classification: c’est le niveau principal de prise de décision, c’est-à-dire, qui se prononce sur l’appartenance d’une forme à chacune des classes de références (modèles) à partir de la représentation générée dans l’étape précédente. Les modèles de référence doivent être établis préalablement dans une phase d’apprentissage hors-ligne (avant la reconnaissance). - Post-traitement: c’est une opération facultative et dont le rôle consiste à vérifier et éventuellement à corriger l’hypothèse de reconnaissance générée par le module de classification en utilisant des informations contextuelles de haut niveau (lexicales, syntaxiques, sémantiques, pragmatiques, etc.). Formellement, elle doit fournir une hypothèse de reconnaissance la plus vraisemblable. 4. L’acquisition Les applications en reconnaissance de l’écriture manuscrite sont communément distinguées en fonction du mode d’acquisition ou de saisie de l’écriture: la reconnaissance en-ligne et la reconnaissance hors-ligne. 4.1. L’acquisition en ligne La saisie de l’écriture est effectuée naturellement à l’aide d’un stylet sur une ardoise ou écran tactile ou d’un stylo digital. Le moteur de reconnaissance interprète en temps-réel les caractères, symboles, ou les mots saisis pour les transformer en caractères numériques. Les propriétés caractérisant ce processus sont: La génération du tracé d’écriture est limitée par l’outil d’écriture (stylo, stylet, etc).
  21. 21. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 10 L’existence de l’ordre d’écriture (enchaînement temporel des traits, un trait est séquence de points tracée entre deux levés consécutifs du stylo). La disponibilité de la dynamique du tracé (vitesse, accélération, pression, levé du stylo). Absence d’épaisseur de trait (i.e. tracé en squelette). Le tracé d’écriture est représenté sous forme d’un signal monodimensionnel (1D) (i.e. une séquence de coordonnées de points ordonnée dans le temps). L’approche de reconnaissance peut tirer profit de la représentation temporelle. Un problème reconnu de la reconnaissance de l’écriture (particulièrement des mots) en- ligne est le traitement par exemple des traits retardés qui s’écrivent après le reste du mot ou pseudo-mot, comme les marques diacritiques associées à certains caractères (‫إ‬ , ‫ب‬, ‫ت‬ ). 4.2. L’acquisition hors ligne Après la fin d’écriture sur un support, on fait la numérisation du document manuscrit à l’aide d’un scanner ou une caméra vidéo. Les caractéristiques de ce type sont [03]: L’absence de l’ordre d’écriture et de la dynamique du tracé (i.e. manque d’information temporelle). La génération du tracé d’écriture n’est pas limitée par un outil d’écriture particulier, en plus, elle est complètement indépendante de son interprétation (i.e. reconnaissance). La représentation du tracé d’écriture numérisé est sous forme d’une image (matrice de pixels). L’épaisseur du tracé d’écriture est non homogène et variable. Sur le plan reconnaissance, l’écriture hors-ligne est réputée plus difficile que l’écriture en ligne pour les raisons suivantes [03]: En l’absence de l’ordre d’écriture et la dynamique du tracé, la détection du tracé d’écriture, c’est-à-dire l’isolation d’écrit du reste du document, ainsi que sa reconnaissance ne sont pas toujours triviales. Cette difficulté est encore aggravée par, l’état du document et le bruit qui l’entache, les conditions de numérisation (résolution limitée, inclinaison, translation, élargissement, etc.). La variabilité et la non-homogénéité de l’épaisseur de tracé d’écriture constituent une charge supplémentaire à prendre en considération lors de la reconnaissance.
  22. 22. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 11 5. Le prétraitement Pour faciliter la tâche de reconnaissance, ou encore de segmentation, il faut premièrement préparer l’image. Cette étape contient plusieurs opérations, qu’on utilise afin de réduire le volume de données à traiter et à éliminer autant que possible les bruits et les variabilités liées à l’écriture, introduits par l’outil d’acquisition, le scripteur ou encore le contexte. 5.1. La binarisation Il s’agit de transformer une image en niveau de gris en une image bimodale (noir et blanc). L’opération de binarisation permet de séparer l’information manuscrite du fond de l’image à l’aide d’une méthode de seuillage [03][04], et de réduire la quantité d’information à traiter, tout en conservant le signal à traiter dans sa quasi-intégralité. Elle procède soit par analyse globale de l’histogramme des niveaux de gris de l’image, soit par analyse des contrastes locaux [05]. Dans l’analyse globale, un seul seuil est calculé et exécuté sur toute l’image. Dans l’analyse locale (adaptive), par contraste, il utilise un seuil pour chaque pixel, ou un petit groupe de pixels voisins, il est basé sur l’information extraite des voisins [05]. Exemple: Méthode de Otsu (1979) Cette méthode est la plus célèbre des méthodes globales [05]. Elle est rapide et facile à mettre en œuvre. Elle est destinée pour la binarisation des documents qui ont un simple arrière- plan, et pas pour les arrière-plans texturés. Cette méthode est totalement automatique, puisqu’elle n’est pas besoin des paramètres prédéfinis par l’utilisateur. Le choix du seuil de binarisation doit être établi avec certaines précautions, car un seuil trop élevé peut conduire à un tracé d’écriture très émincé avec fragmentation des composantes connexes, alors qu’un seuil trop bas peut produire un tracé d’écriture très épais avec adjonction des composantes connexes [03]. C’est pour ça, cette méthode calcule le seuil de binarisation en utilisant l’histogramme de niveau de gris. Premièrement, on va calculer l’histogramme probabiliste de l’image. Dans un histogramme probabiliste P, la valeur P(i) représente la probabilité de l’ième niveau de gris dans l’image. Pour les images représentées par un niveau de gris de 8 bits, on a 256 niveaux. Alors, les valeurs de P(0), … P(255) vont être évaluées par : pixels)des(totalité/i)grisdeniveaudepixelsde(nombreP(i) == (I-1)
  23. 23. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 12 Et puisque l’histogramme est bimodal, le meilleur seuil c’est celui qui a une valeur qui sépare les deux modes de P. Alors, chaque seuil t détermine une variance pour le groupe des valeurs supérieurs ou égales à t, et le groupe des valeurs inférieur à t. Otsu a proposé que le meilleur seuil soit celui qui minimise la somme pondérée des variances des deux groupes. Considérant que 2 wσ est la somme pondéré des variances des deux groupes, et (t)σ 2 1 est la variance de groupe des valeurs inférieur ou égale à t, et (t)σ2 2 est celle de l’autre groupe. (t)q1 est la probabilité de groupe ayant des valeurs inférieurs ou égales à t, et (t)q2 la probabilité de l’autre groupe. Soit (t)μ1 la moyenne du premier groupe, et (t)μ2 celle du deuxième. La variance pondérée est définie par : (t)(t)σq(t)(t)σqσ 2 22 2 11 2 w += (I-2) Sachant que : ∑= = t 0i 1 )i(P(t)q (I-3) ∑= += 255 1ti 2 )i(P(t)q (I-4) )t(q )i(P.i (t) 1 t 0i 1 ∑ =μ = (I-5) )t(q )i(P.i (t) 2 255 1ti 2 ∑ = += μ (I-6) )t(q )i(P))t(i( (t) 1 t 0i 2 1 1 ∑ − = = μ σ (I-7) )t(q )i(P))t(i( (t) 2 255 1ti 2 2 2 ∑ μ− =σ += (I-8) Un teste sur les valeurs de t qui varient entre 0 et 255, le meilleur seuil est celui qui minimise 2 wσ . Un exemple d’application de cette méthode est montré dans Fig 06.
  24. 24. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 13 Avec les progrès réalisés dans la technologie des scanners la binarisation peut être incorporée automatiquement dans le processus d’acquisition [03]. 5.2. Le Filtrage et lissage Il s’agit de l’application de différents filtres (le plus souvent morphologiques) sur l’image binaire afin d’éliminer le bruit résultant de fonds texturés/colorés, de lisser les contours des formes à reconnaître, de reconnecter certains traits déconnectés, etc. [03][08]. Formellement, le lissage est une transformation locale qui ne tient pas compte que du voisinage de chaque point de l’image. La transformation la plus fréquemment utilisée pour le lissage des textes hors-ligne, consiste à parcourir l’image pixel par pixel, au moyen d’un masque de dimensions 3x3 et à modifier éventuellement la valeur du pixel examiné en fonction de ses huit pixels voisins (nord, nord est, est, etc.). Ce masque peut être appliqué, par exemple, pour le bouchage des trous et l’élimination des pixels isolés. Les opérateurs de morphologie mathématique sont souvent utilisés pour le lissage [03]. L’opérateur de fermeture (i.e. une dilatation suivie d’une érosion) [09] [03] permet d’éliminer les petits trous et d’éliminer le bruit sur le contour, tandis que l’opérateur d’ouverture [09](i.e. une érosion suivie d’une dilatation) [09] [03] permet de découper les isthmes étroits et d’éliminer les petits îlots, les pics anguleux et les capes [03]. Le lissage d’après [03] Il est effectué selon Alg 01, avec une illustration de son résultat dans Fig 07. L’image originale L’image binarisée L’histogramme de l’image Fig 06. Exemple de binarisation de Otsu (tirée de [05]).
  25. 25. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 14 5.3. La squelettisation La squelettisation est une opération qui permet de passer d’une image aux traits épais en une image à "ligne" plus facile à traiter appelée squelette. La squelettisation du tracé d’écriture peut être utilisée pour : simplifier l’extraction de caractéristiques ou pour atténuer la variabilité inhérente aux styles d’écriture la localisation de la ligne de base et la normalisation. la segmentation du texte en lignes et les lignes en mots et la segmentation de mots en graphèmes. la restauration des informations dynamiques dans l’écriture hors-ligne. Il existe deux types d’algorithmes de squelettisation: les algorithmes séquentiels [03][05] qui s’appuient sur un ordre de balayage (les pixels sont parcourus l’un à la suite de l’autre) pour effectuer la squelettisation ; et les algorithmes parallèles [06][07] où le calcul effectué en un pixel est indépendant de celui effectué sur les autres pixels, ce qui permet d’examiner en même temps tous les pixels pour générer le squelette. Alg 01. Le lissage d’une image binaire [03] Entrée: Image binaire I1 Sortie: Image binaire lissée I2 Début Pour chaque pixel P dans I1 faire Début 1-Soient P0, …, P7 ses voisins, commencer à partir de P0 et continuer en sens inverse des aiguilles d’une montre 2-Soit B(P) ←P0+P2+P4+P6, et Soit Q le pixel dans I2 correspondant à P 3-Si B(P) <2 alors Q← 0 Sinon Si B(P) > 2 alors Q← 1 Sinon Q← P Fin; Fin. P3 P2 P1 P4 P P0 P5 P6 P7 (a) (b) Fig 07. Lissage d’image binaire. (a) image binaire bruitée. (b) résultat du lissage.
  26. 26. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 15 La squelettisation Zhang et Suen [07] Soit pi , i=1..8 les voisins du pixel p; Soit la fonction de voisinage V définit comme suite : ∑= = 8 1i ip(p)V (I-9) Soit T une fonction de transition de 0 à 1 dans le sens de l’horloge, elle est définit comme suite : ∑ ⎩ ⎨ ⎧ == = = + 8 1i 1ii sinon,0 )0pet0(psi,1 (p)T (I-10) Sachant que : 19 pp = Voici l’algorithme de squelettisation proposé par Zhang et Suen, et le résultat de cet algorithme est illustrée dans Fig 08. Alg 02. Squelettisation (tirée de [07]) Etape1 : passe1 : Pour chaque pixel p dans l’image faire 1- calculer V et T 2- si une condition de ces 4 suivantes n’est pas satisfaites pour p : marque p Cond1 : 2 ≤ V(p) ≤ 6 Cond2 : T(p)=1 Cond3 : p2 * p4 * p6 = 0 Cond4 : p4 * p6 * p8 = 0 Fin pour Elimine tous les points marqués (p 0) passe 2 : Pour chaque pixel p dans l’image faire 1- calculer V et T 2- si une condition de ces 4 suivantes n’est pas satisfaites pour p : marque p Cond1 : 2 ≤ V(p) ≤ 6 Cond2 : T(p)=1 Cond3 : p2 * p4 * p8 = 0 Cond4 : p2 * p6 * p8 = 0
  27. 27. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 16 Fin pour Elimine tous les points marqués (p 0) Etape 2 : répéter l’étapes 1 jusqu’à ce qu’on a plus de pixel à éliminer 5.4. La normalisation de ligne de base L’un des problèmes rencontrés lors de la reconnaissance de l’écriture manuscrite sans contraintes est l’inclinaison du tracé d’écriture. Cette inclinaison peut provenir du processus d’acquisition, si le document a été placé de biais, ou être intrinsèque au texte. Il convient alors de redresser le tracé d’écriture pour simplifier les traitements ultérieurs [03]. La ligne de base est une ligne sur laquelle reposent les lettres sans dépassement bas [08]. Cette définition consiste à une seule ligne pour tout le document, puisque d’après [05] on a trois types de lignes de base : une ligne de base globale, quand tous les lignes du texte ont la même orientation ; multiple lignes de base, si quelques lignes du texte n’ont pas la même orientation ; et enfin ligne de base non uniforme, lorsque l'orientation varie d'une ligne à l’autre dans le texte. Et même s’il existe un multiple de lignes de base, on a trouvé qu’il y a toujours un qui domine [05]. Le but de cette procédure est de ramener cette droite à l’horizontale (voir Fig 09). La méthode mise en oeuvre procède en deux temps. Une première phase permet d’estimer l’inclinaison globale de cette ligne. Et l’autre c’est le redressement qui est exécuté par l’intermédiaire de la transformation de Hook. La transformation de Hook d’angle αH permet de faire une rotation du mot d’un angle αH [08]. Elle est réalisée en remplaçant les coordonnées (x , y) de chaque pixel noir par les coordonnées (x’, y’) données par : ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ×⎥ ⎦ ⎤ ⎢ ⎣ ⎡ αα α−α =⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ′ ′ y x cossin sincos y x HH HH (I-11) (a) (b) Fig 08. La squelettisation ; (a) l’image originale ; (b) méthode de Zhang et Suen.
  28. 28. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 17 Une fois l’orientation globale est détectée, la ligne de base peut être corrigée par la transformation passée. Alors que la correction de la ligne de base vient après sa détection. Transformation de Hough La transformée de Hough est une méthode générale pour détecter la présence de courbes ayant une forme paramétrique prédéfinie (droite, cercle, conique, etc.)[05]. Sa démarche théorique consiste à accumuler des évidences sur l’existence d’une forme particulière. Dans la pratique, il s’agit de projeter l’espace d’image (noté plan I) dans un espace transformé (noté plan H) dont la dimension est égale au nombre de paramètres (noté m) décrivant le forme recherchée. Chaque pixel de l’espace transformé est appelé accumulateur. Par exemple, pour la détection des lignes droites dans une image, chaque point de l’espace transformé correspond à une ligne ayant un angle θ et une distance ρ de l’origine (0,0) dans le système cartésien. Ces paramètres représentent les coordonnées polaires de la ligne. Donc, la valeur correspondant à un point dans l’espace transformé désigne le nombre de points de l’espace d’image appartenant à la ligne correspondante à ce point. Une valeur élevée correspondant à un point dans l’espace transformé indique l’appartenance de plusieurs points (pixels) à la ligne correspondante dans l’espace d’image. Cette propriété permet de considérer, ainsi, la ligne de base comme étant un point de l’espace de Hough avec une valeur maximale. Les étapes de l’algorithme de détection de la ligne de base en utilisant la transformée de Hough sont expliqués dans Alg 03, puis un exemple sur la transformé de Hough est illustré dans Fig 10. Alg 03. La normalisation de ligne de base par transformation de Hough I[L,C] est l’image avec L lignes et C colonnes. ρ∈[0, 22 CL + ], θ∈[0, 2π] H[2π, 22 CL + ] est l’espace de Hough (a) (b) Fig 09. La normalisation (redressement) de la ligne de base ; (a) l’image originale ;(b) l’image redresser;
  29. 29. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 18 Début 1) Initialiser le contenu de H à zéro 2) Pour x=0 à L et y=0 à C faire Si I[x,y] est une pixel noire faire Pour angle=0 à 2π faire H[angle, x*cos(angle)+y*sin(angle)]++ Fin pour Fin Si Fin pour 3) )),Max(H(arg),( iimm ρθρθ = / ρι∈[0, 22 CL + ], θi∈[0, 2π] // 0)sin(y)cos(x mmm =−+ ρθθ Si (θm ≠ 90° ou 270°) )sin( )cos(x y m mm θ θρ − = Sinon mx ρ= Fin Profil de projection Cette méthode consiste à construire un profil de projection des pixels noirs en comptant le nombre de pixels noirs sur chaque ligne horizontale de l’image d’un mot [03]. Dans ce cas, en partant de l’hypothèse que la majorité des pixels se dispose sur la ligne de base, la position estimée de la ligne de base est indiquée par la ligne ayant la somme maximale dans (a) (b) Fig 10. Estimation de la ligne de base par l’espace de Hough. (b) Espace de Hough correspondant à l’image (a).
  30. 30. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 19 l’histogramme. Soit f une fonction qui donne la valeur maximale d’un profile de projection horizontale, donc l’angle d’inclinaison θinc se calcule comme suite : maxmin inc )))ion(I,tale(rotaton_horizonf(projectimaxarg θθθ θθ ≤≤ = (I-12) La méthode utilisée dans [10] et qui calcule l’angle de l’inclusion de la forme est illustrée dans Fig 11. Cette technique peut évidement échouer si l’écriture du mot est relativement inclinée ou lorsque le mot est formé davantage de caractères avec jambages (ex. ‫ز‬ ,‫ر‬ ,‫و‬ ), comme le montre la Fig 12. Egalement, on obtient souvent un résultat erroné dans le cas des mots courts et isolés [03]. 5.5. La correction d’inclinaison des caractères L’inclinaison des caractères est définie comme étant l’angle entre l’axe correspondant à la direction moyenne des caractères et l’axe vertical. L’objectif de ce prétraitement est de transformer le mot de façon à ce que cet axe de direction principale devienne vertical. Ceci permet de réduire considérablement la variabilité de l’écriture [04][05][08]. degré Image après rotation Histogramme horizontal Valeur maximale -10 34 10 42 20 68 30 60 Fig 11. La normalisation de la ligne de base par projection horizontale selon [10]. Fig 12. Echec de la détection de la ligne de base par projection horizontale (tirée de [03]). (a) Mot formé davantage de caractères avec jambages. (b) Mot incliné.
  31. 31. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 20 La correction est effectuée à l’aide d’une transformation par un angle θ, ligne par ligne où chaque pixel noir de coordonnées (x, y) est remplacé par les coordonnées (x’, y’) données par : ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ×⎥ ⎦ ⎤ ⎢ ⎣ ⎡ − =⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ′ ′ y x 10 tan1 y x θ (I-13) On va citer deux méthodes qui ont pour but de corriger l’inclinaison des caractères. Méthode avec segments Dans cette méthode le contour extérieur de l’écriture est utilisé [04][08] : dans [08], ce contour est échantillonné avec un pas de 8 pixels. Pour chaque segment reliant deux points adjacents une inclinaison est obtenue. Les segments horizontaux ou pseudo-horizontaux sont éliminés. L’inclinaison globale des caractères θGlob est alors obtenue en calculant la moyenne des inclinaisons de tous les segments restants ; dans [04], on a utilisé la notion de composante connexe. Chaque contour externe d’une composante connexe est décrivait comme une liste des vecteurs de contour, lesquels on peut les classifier en 4 directions, nommées horizontale, verticale, diagonale +45°, et diagonale -45°, qui sont représentées par nh, nv, n+, n-, respectivement (voir Fig 13). θ l’orientation moyenne par rapport aux parties verticales du mot, elle définie comme suite : ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ ++ − = −+ −+ nnn nn arctan v θ (I-14) Profil de projection Comme on a fait dans la détection de la ligne de base par projection horizontale, on va faire à peut près la même chose en utilisant la projection verticale à la place de la projection horizontale, et on va utiliser une fonction de cisaillement à la place de fonction de rotation. L’angle d’inclinaison des caractères θinc se calcule comme suite : θ n-+nv+n+ n+ - n- Fig 13. L’inclination des caractères ;(a) les 4 directions, (b) L’inclinaison moyenne nh n- n+ nv (a) (b)
  32. 32. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 21 maxmin inc )))zontal(I,ement_horile(cisaillon_verticaf(projectimaxarg θθθ θθ ≤≤ = (I-15) Cette méthode marche pour l’écriture manuscrite ainsi que pour les textes imprimés [05]. Malheureusement, les histogrammes verticaux des textes ayant deux ou plus de lignes ne donnent pas une information applicables. Voici une illustration de cette méthode dans Fig14. 6. La segmentation La segmentation est l’opération qui permet de décomposer l’image texte sur des lignes, et les lignes sur des mots ou pseudo-mots et ces derniers sur les caractères qui les composent. La segmentation est une étape cruelle dans les systèmes de reconnaissance d’écriture. Un processus de segmentation pauvre produit un mis-reconnaissance ou rejet [12]. C’est une étape critique et décisive dans quasiment tous les systèmes de reconnaissance qui sont basés sur une approche analytique [03]. Sa délicatesse vient du fait que les limites d’un caractère sont parfois absentes ou floues et ne peut se faire sans avoir identifié le caractère. Deux solutions sont souvent adoptées pour surmonter cette difficulté. La première néglige le problème de segmentation et procède à la reconnaissance en s’appuyant sur l’allure globale du mot ou pseudo-mot. La deuxième fait coopérer l’étape de reconnaissance avec l’étape de segmentation. Les méthodes de segmentation varient suivant le type d’écriture traitée et de leur interaction avec l’étape de reconnaissance, quoiqu’elles visent le même objectif qui est la génération d’un découpage le plus proche possible du découpage en lettres souhaité [03][05][14]. Le problème de segmentation des mots en écriture latine imprimée ou manuscrite a été bien étudié [03]. Pratiquement, la réutilisation directe de ces techniques de segmentation du manuscrit latin pour segmenter les mots arabes manuscrits n’est pas suffisante et aboutit dans la majorité des cas à des erreurs fatales. Ceci est dû à la nature semi-cursive de l’écriture arabe, à la présence trop fréquente des marques diacritiques dans le mot, à la diversité des formes des (a) (b) (c) Fig 14. Histogrammes verticaux d’une image cisaillée par 3 différentes position (tirée de [05]).
  33. 33. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 22 caractères arabes, à la courte liaison qui existe entre caractères successifs, à l’allongement des ligatures horizontales et à la présence de ligature verticales. En fonction de l’utilisation ou non d’une méthode de segmentation et de sa technique de mise en oeuvre, nous distinguons 4 catégories de systèmes de reconnaissance d’écriture manuscrite arabe: Les systèmes destinés uniquement à la reconnaissance des caractères isolés ou pré- segmentés. Les systèmes effectuant la reconnaissance d’un mot en le segmentant en caractères ou en entités moins importantes que les caractères (graphèmes). Les systèmes qui se basent sur la reconnaissance pour effectuer la segmentation du mot (i.e. la segmentation est indissociable de la reconnaissance). Les systèmes qui utilisent une approche globale (sans segmentation) pour effectuer la reconnaissance de mot. 6.1. Segmentation explicite Il existe quatre approches pour la mise en ouvre d’une segmentation explicite: les approches basées sur des analyses par morphologie mathématiques; les approches basées sur l’analyses des contours; les approche basées sur l’analyse du profil d’histogramme de projection verticale; et les approches basées sur l’analyse du squelette ou du signal en-ligne. Les trois premières approches sont particulièrement adaptées à l’analyse de la représentation bidimensionnelle et dans ce sens sont bien adaptées aux cas de la reconnaissance hors-ligne [03]. 6.1.1. Segmentation par morphologie mathématique Dans l’écriture arabe, la plupart des caractères sont connectés par des lignes horizontales [15]. Donc, l’application des opérateurs morphologiques, comme une fermeture à l’aide d’un élément structurant vertical, divise le mot sur plusieurs segments. Chaque segment peut représenter un caractère, une partie de caractère, ou plus d’un caractère. D’ailleurs, le début du caractère préserve la plupart d’informations signifiantes nécessaires pour l’identifier. Les coups verticaux ou semi-verticaux qui peuvent représenter le début, la fin, ou la transition vers un autre caractère (ou un sub-mot), sont appelés singularités ("îles"). Celles-ci sont les parties informatives pour l’indentification du mot et par conséquent représentent des lettres ou partie de lettres. Par complémentarité, les "ponts" qui relient les îles sont des régularités dans le mot et de
  34. 34. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 23 bons candidats pour représenter des ligatures entre lettres. La Fig 15 illustre les singularités et les régularités d’un mot. Les ponts sont obtenus en soustrayant de l’image du mot les îles précédemment détectées. Les ponts alors obtenus, en nombre trop important pour les valider tous comme ligatures, sont examinés et classifiés en fonction de leurs largeurs relativement à la largeur du mot pour ne retenir que les plus significatifs. Pour cela les auteurs utilisent des heuristiques sur les paramètres de chaque pont tels que la largeur, la valeur minimale dans histogramme de projection verticale, la proximité de la ligne de base, et le nombre de points de segmentation détectés [11][15]. 6.1.2. Segmentation par analyse de contour La technique est basée sur les deux hypothèses suivantes [08]: il existe des points de segmentation naturels associés aux caractères non liés, les liens entre caractères se situent en général à proximité d’un minimum du contour supérieur du tracé (voir Fig 16). La détection des composantes connexes permet d’identifier les espaces dans la phrase à reconnaître. L’extrémité de chacune de ces composantes est alors considérée comme un point de segmentation sûr. Pour chacune d’elles une recherche des minima locaux du contour supérieur est réalisée. Un tri est alors réalisé en éliminant certains points et en en déplaçant d’autres, de manière à ne pas trop sur-segmenter l’image. La procédure consiste à définir une zone de recherche pour chaque minimum, bornée par les minima adjacents [08][11][13]. Le point est alors déplacé de manière à satisfaire les deux contraintes suivantes : l’épaisseur du tracé doit être minimale. la valeur de l’histogramme de transitions verticales doit être minimale. Il est possible que suite à cette phase, deux minima consécutifs soient très proches. Une dernière étape permet de les regrouper à l’aide d’un simple critère de distance horizontale [08]. (a) (b) (c) Fig 15. Recherche des régularités et singularités (tirée de [15]); (a) image originale (b) singularités (c) régularités.
  35. 35. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 24 Les minima locaux du contour supérieur sont jugés décisifs si on ne détecte ni occlusion ni chevauchement sur l'image d'origine; et si l'épaisseur du trait en ce PSP est inférieure à un seuil αx (l'épaisseur du trait); α étant un coefficient de proportionnalité égale à 1,5 dans [01]. Dans [11] un PSP (correspondant à un minima dans le contour supérieur) est éliminé si l’une des règles suivantes est vérifiée: il se situe au-dessus d’une boucle; l’épaisseur du trait d’écriture dans ce PSP dépasse l’épaisseur moyenne du mot fois un seuil; Il est situé dans une région contenant plusieurs PSPs et n’est pas le PSP le plus proche de la ligne de base. 6.1.3. Segmentation par profil d’histogramme de projection verticale Bien qu’elles soient souvent utilisées conjointement à des règles heuristiques pour la segmentation de l’écriture imprimée, les approches de segmentation qui se basent sur l’analyse du profil de l’histogramme de projections verticales sont assez peu utilisées pour segmenter les mots manuscrits [03]. Ceci est dû particulièrement à la présence fréquente de chevauchements inter-pseudo-mots, des marques diacritiques et de ligatures verticales et à la variabilité de l’épaisseur de traits d’écriture. Dans [12], une projection verticale du mot est tracée. Le point de connexion montrera la plus petite somme des moyennes. ∑⎟ ⎠ ⎞ ⎜ ⎝ ⎛= = cN 1i ic c c C N 1M (I-16) Nc est le nombre des colonnes d’une image texte ; Cic est le nombre des pixels noirs de la ith colonnes. Désormais, chaque partie qui donne une valeur inférieure à Mc est segmentée comme un différent caractère. Malgré ça, si la relation suivante n’est pas satisfaite, le caractère sera un- segmenté : 3 d d L i < (I-17) (a) (b) Fig 16. Recherche du contour supérieur (tirée de [08]); (a) image originale (b) le contour supérieur.
  36. 36. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 25 di est la distance entre ith sommet et (i+l)th sommet, dL est la largeur totale du caractère. En examinant les caractères arabes, la distance entre les sommets ne dépasse pas 1/3 de la largeur d’un caractère arabe [12]. D’ailleurs, dans la fin du mot ou sub-mot, la relation suivante est appliquée : i1i L5.1L ×>+ (I-18) 6.1.4. Segmentation par analyse de squelette Les approches de segmentation basées sur l’analyse du squelette ou du signal en-ligne effectuent la segmentation du tracé par recherche des points caractéristiques permettant de le découper en ensemble de primitives (i.e. formes élémentaires), et donc sont caractérisées par un degré de sur-segmentation important. Ces points sont calculés soit à partir du squelette dans le cas hors-ligne, soit à partir du signal temporel dans le cas en-ligne [03]. Les points caractéristiques peuvent êtres des points extrêmes (i.e. points ayant un seul voisin noir), des points de branchement (i.e. points ayant trois voisins noirs), des points de croisement (i.e. points ayant 4 voisins noirs ou plus), les points à courbure maximale, les points de rebroussement (i.e. points correspondant à la rencontre de deux traits formant un angle aigu), et les points d’inflexion (les points correspondant un à changement du signe de la courbure de tracé), et les points correspondant à des maxima ou minima locaux [04][13]. Et afin d’améliorer ce processus, on a fusionné dans [14] les réseaux de neurone avec la segmentation par analyse de squelette. 6.2. Segmentation implicite Les méthodes de segmentation implicite s’inspirent des approches utilisées dans le domaine de la reconnaissance de la parole, où le signal est divisé en intervalles de temps réguliers, et procèdent à une sur-segmentation importante de l’image du mot à pas fixe (un ou quelques pixels) [03]. Cela permet d’assurer un taux de présence important des points de liaison entre lettres parmi les points proposés. Contrairement à la segmentation explicite, la segmentation du mot est aveugle dans le sens où elle ne dépend en aucun cas d’une analyse de l’image à segmenter.
  37. 37. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 26 6.2.1. Méthode à fenêtre glissante Le principe de cette méthode est d’utiliser une fenêtre, dont la hauteur correspond à la hauteur de l’image, glissant horizontalement de droite à gauche. A chaque position, l’image contenue dans la fenêtre est extraite. Il en résulte une séquence d’imagettes à parti desquelles peuvent être extraites différentes caractéristiques le plus souvent de bas niveau. Deux paramètres sont à prendre en compte lors d’une telle segmentation : la largeur de la fenêtre et le taux de recouvrement entre deux positions successives. Ces deux paramètres conditionnent le bon fonctionnement du système de reconnaissance et doivent être choisis avec soin. La largeur de la fenêtre doit être telle qu’elle ne puisse contenir qu’une lettre au plus. Elle est généralement de l’ordre de quelques pixels [03]. Dans [04], la méthode de fenêtre glissante est utilisée sur l’écriture manuscrite latine. Pour une image de mots donnée, nous glissons une fenêtre d’une taille variante avec une direction de gauche à droite. La fenêtre suivante démarre de la colonne à droite de la coupure courante. Ça génère une séquence de pièces verticales. Et pour obtenir la segmentation de taille invariante, la taille maximale et minimale de la fenêtre, ωmin et ωmax dépend sur l’hauteur de la zone noyau du mot, hcz. ⎩ ⎨ ⎧ = = czmax czmin h4.0 h3.0 ω ω (I-19) Ça est basé sur la supposition que le largeur moyen d’un caractère est approximativement égale à l’hauteur de la zone moyenne, hcx. Ainsi, ωmin et ωmax, sont choisis pour que chaque pièce contient un caractère ou une partie d’un caractère, mais non pas plus d’un caractère. Ça est appelé aussi sur-segmentation. La Fig 17 illustre la méthode utilisée dans [04]. Fig 17. La segmentation avec la fenêtre glissante (tirée de [04]).
  38. 38. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 27 6.2.2. Méthode par recherche de primitives Il s'agit de détecter les combinaisons de primitives qui donneront la meilleure reconnaissance possible. Par exemple la décomposition du graphe représentant le squelette du mot par approximation polygonale en une séquence de segments (Fig 18), et chaque segment est caractérisé par sa longueur et son angle d’orientation par rapport à l’horizontale. Puis, la séquence des segments paramétrés est transformée par quantification vectorielle en une séquence de symboles discrets qui est émise à un classificateur de type HMM pour générer la meilleure séquence de lettres correspondant à l’image présentée [03]. 7. Extraction des caractéristiques L’étape d’extraction des caractéristiques est une étape très importante pour les systèmes de reconnaissance d’écriture. L’efficacité de tel système dépend fortement des relations entre le nombre d’échantillons utilisés, le nombre de caractéristiques considérées et la méthode de classification utilisée. On peut définir l’extraction de caractéristiques comme le problème d’extraction de l’information la plus pertinente à partir de l’image pour un problème de classification donné, c’est-à-dire celle qui minimise la variabilité intra-classe et qui maximise la variabilité inter-classe. 7.1. Caractéristiques globales Ce sont les caractéristiques qu’on peut extraire sans faire explicitement référence aux modèles de lettres, les descriptions utilisées sont en général basées sur la détection des indices visuels tels que les hampes, les jambages ou les occlusions …etc . [01][16][17], ou sur la détection des points d’intersection, des fins de trait,…etc. Dans [16], l’extraction des caractéristiques décrites dans la Tab 02 est effectuée par balayage de l’image du mot de droite à gauche (c’est le sens de l’écriture arabe) et de haut en bas. Par conséquent, le mot est représenté par une séquence chronologique de caractéristiques. Le principe de description est : le premier arrivé est le premier servi (voir Fig 19). (a) (b) (c) Fig 18. Exemple d’approximation polygonale du mot manuscrit (tirée de [03]). (a) image originale ; (b) squelette du mot ; (c) approximation linéaire.
  39. 39. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 28 Primitive Hampe Jambage Alif Occlusion Poche Vallée Espace Ouverture Est Ouverture West Notation Ha Ja Al Oc Po Va # Oe Ow Primitive Ouverture Nord Ouverture Sud Point Haut Point Bas Point double haut Point double bas Point triple Hamza Haut Hamza bas Notation On Os Ph Pb Pdh Pdb Pt Hh Hb Tab 02. Notation adoptée dans [16] pour les caractéristiques globales. Les caractéristiques, provenant des deux zones différentes d’informations (la zone des tracés et zone des diacritiques), sont ordonnées chronologiquement suivant l’axe des abscisses. L’ordre chronologique d’apparition des caractéristiques de la zone des tracés ne pose aucun problème. Mais la difficulté réside dans l’insertion des caractéristiques extraites des diacritiques dans la séquence d’observations. Cette difficulté d’hétérogénéité de l’information est surmontée par la comparaison des positions des centres de gravité des plus petits rectangles englobants les caractéristiques dans l’image du mot. 7.2. Caractéristiques locales (analytiques) Ce sont les caractéristiques qui sont liées à la segmentation soit implicite ou explicite. Dans une approche de reconnaissance analytique, le processus d’extraction de caractéristiques est fortement couplé à l’approche de segmentation adoptée. 7.2.1. Caractéristiques statistiques Soient n et m la hauteur et la largeur d’une fenêtre verticale ou trame FV. On définit les histogrammes de projections horizontales (Hph), verticales (Hpv), diagonales 45° (Ppd+) et diagonales 135° (Ppd−) comme suit: ni1,)j,i(FV)i(H m 1j ph ≤≤∑= = ; mj1,)j,i(FV)j(H n 1i pv ≤≤∑= = Ligne de base supérieure Ligne de base inférieure Sens de la description Fig 19. Représentation d’un mot par les caractéristiques globales (tirée de [16]). Ow / Va / Ow / # / Al / # / Ow / Ja / Oc Début
  40. 40. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 29 1nmk1,)j,i(FV)k(H ni,1jki 1),...,m,kmin(j pd −+≤≤∑= ≤+−= = + ; 1nmk1,)j,i(FV)k(H 1i,nkji 1),...,m,kmin(j pd −+≤≤∑= ≥+−= = − On définit la transition de blanc à noir comme le passage de la couleur du fond à la couleur d’écriture le long d’une ligne, d’une colonne ou d’une diagonale dans une trame FV. Soient HTNBH , HTNBV , HTNBD+ et HTNBD− les histogrammes de transitions blanc à noir horizontales, verticales, diagonales 45° et diagonales 135° associés à FV. Les caractéristiques statiques sont les moyennes, les variances et les modes (les valeurs les plus fréquentes) des histogrammes Hph, Hpv, Ppd+, Ppd−, HTNBH , HTNBV , HTNBD+ et HTNBD− ; ainsi que le ratio d’aspect (largeur/hauteur) du plus petit rectangle englobant la trame [03]. 7.2.2. Caractéristiques structurelles On peut obtenir certaines caractéristiques à partir du squelette, ces caractéristiques sont parfois difficiles à calculer à partir de la représentation bitmap du mot. Les caractéristiques structurelles qui ont été utilisées et qui se calculent du squelette sont décrite comme suit: Points extrémaux : ce sont les points dans le squelette qui correspondent au début/fin d’un segment de ligne, ils ont un voisin pour chacun (voir Fig 20.a). Points de branchement : ce sont des points de jonction entre trois lignes (voir Fig 20.b). Points de croisement : ce sont des points de jonction entre quatre lignes croisés (voir Fig 20.c). Points d'inflexions: ils correspondent aux changements de signe de la courbure (voir Fig 20.d). Points de rebroussement s : (Fig 20.e) ils correspondent aux points pi du squelette pour lesquels : 1) la somme des courbures globales (lissées) de la séquence de points précédant pi est positive (respectivement négative), 2) la somme des courbures globales (lissées) de la séquence de points suivants pi est positive (respectivement négative). La courbure globale lissée est définie par: )S,1i()S,1i(iS −+ −= θθδ , tel que : ⎥⎦ ⎤ ⎢⎣ ⎡ − − = − − )xx( )yy( Arctg )ki(i )ki(i ikθ (I-20)
  41. 41. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 30 Où (xb, yb) sont les coordonnées du point pi de la courbe analysée (i.e. séquence de points dans le squelette), et S est un facteur de lissage, c’est-à-dire l’intervalle optimal pour lequel le bruit de quantification est réduit, et les détails significatifs sont préservés dans chaque point de la courbe. Pour obtenir une courbe lissée, la valeur de S doit être dans l’intervalle [5, 15]. La valeur optimale pour S a été empiriquement fixée à 7 [03]. Points diacritiques: ce sont les pixels noirs dans le squelette ayant un nombre de voisins égale à « 0 ». Ce type de points caractérise les caractères formés des parties secondaires, par exemple ( ‫ب‬ et ‫.)ن‬ Boucles: elles correspondent aux contours internes de l’image du mot, et peuvent être facilement calculées à partir du squelette du mot. Les boucles sont distinguées en fonction de leur degré d’inclusion (intégral ou partiel) dans la trame considérée. 8. La classification et apprentissage La classification est l’étape noyau de reconnaissance. A partir de la description en paramètres de la forme, le moteur de reconnaissance cherche parmi les modèles de référence en présence, ceux qui lui sont les plus "proches". L’interprétation de la notion de proximité varie en fonction de la nature de la représentation et du type de la méthode utilisée. La reconnaissance peut conduire à un succès si la réponse est unique et juste (un seul modèle répond à la description de la forme). Elle peut conduire à une confusion si la réponse est erronée ou multiple (plusieurs modèles correspondent à la description). Enfin, elle peut conduire à un rejet de la forme si aucun modèle ne correspond à sa description. Il existe quatre grandes familles de classificateurs: le pattern matching (ou "appariement de formes"), l’appariement structurel ou syntaxique, la classification statistique, et les réseaux de neurones. A cette classification, nous pouvons ajouter les approches stochastiques. Ces deux dernières classes peuvent être considérées comme des sous-familles de l’approche statistique [03]. (a) (b) (c) (d) (e) Fig 20. Caractéristiques structurelles. (a) point extrémaux. (b) point de branchement. (c) point de croisement. (d) point d’inflexion. (e) point de rebroussement.
  42. 42. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 31 8.1. Template matching Dans ce type d’approche, on fait une comparaison entre la forme qu’on veut reconnaître, et des représentants de chaque classe via une mesure de similarité (ou dissimilarité). Et la classe qui a le plus haut taux de similarité est la classe dont elle appartient cette forme. Bien que cette approche soit parfaitement adaptées à la reconnaissance de l’écriture imprimée mono-fontes, elle est peu adaptées à la reconnaissance de l’écriture manuscrite car la très forte variabilité des caractères manuscrits implique un nombre très important de représentants pour chaque classe. Dans [18] on a utilisé une méthode de template matching pour chaque caractère latin à part. Ce système peut aussi détecter le type d’écrivain, si il est male ou femelle, l’intervalle de l’âge, etc. selon des échantillons ou classes données. Les classes sont représentées par une matrice dont les lignes représentent les différents caractères, et les colonnes représentent les différents écrivains. 8.2. Les approches statistiques Dans les approches statistiques, chaque forme est représentée par un vecteur de caractéristiques. L’espace de représentation (caractéristiques) est un espace multidimensionnel et la forme peut être donc vue comme un point dans cet espace. Les approches statistiques se reposent sur les deux propriétés suivantes: la compacité des classes c’est-à-dire les points représentant une classe donnée doivent être plus proches entre eux que des points de toutes les autres classes; la séparabilité des classes c’est-à-dire les classes doivent être bornées et il ne doit y avoir de chevauchement entre elles [03]. Pratiquement, ces deux propriétés sont rarement respectées à cause du bruit et de la distorsion des formes (plus particulièrement dans la cas du manuscrit), il n’en reste pas moins vrai que ces propriétés ne dépendent que de la puissance descriptive du jeu de caractéristiques utilisé et que, par conséquent, plus les classes sont compactes et éloignées les unes des autres, plus la tâche des algorithmes d’apprentissage et de décision sera simplifiée [03]. 8.2.1. Classificateur Bayésien On s’intéresse dans la classification bayésienne à la décision qui garantit un taux d’erreur minimal. Notons par x=(x1,...,xn) le vecteur de caractéristiques représentant la forme à reconnaître et par Ω={ω1, …,ωn}, les classes possibles du système. Dans le cadre de la classification bayésienne, si x appartient à la classe ωi, alors il est considéré comme une
  43. 43. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 32 observation générée aléatoirement par la distribution de probabilité de la classe ωi : p = (x = ωi). Les probabilités a posteriori d’appartenance de la forme à chaque classe sont données par la règle de Bayes: )x(p )(p)./x(p )x/(p ii i ωω ω = (I-21) La décision se fait alors en choisissant pour x la classe qui minimise le risque conditionnel global d’erreur R(ωi / x) : ∑= = nc 1j jjii )x/(p).,(L)x/(R ωωωω (I-22) Où L (ωi , ωj) désigne le coût de mauvaise classification c’est-à-dire le coût engendré par la décision ω i à la place de la vraie classe ωj. Cependant les densités de probabilités p = (x / ωi) ne sont généralement pas connues, et elles doivent être estimées à partir de l’ensemble d’apprentissage. Afin de simplifier l’estimation de ces densités on suppose que leur forme est connue à l’avance. Classiquement, la distribution gaussienne est souvent considérée du fait que cette distribution ne requière que l’estimation de deux paramètre (moyenne et matrice de variance) et à l’existence de méthodes efficaces comme l’estimateur du maximum de vraisemblance pour l’estimation des ces paramètres. Une fois ces paramètres estimés la décision se fait naturellement par la règle de Bayes (I-21). Dans [19], on a utilisé une approche bayésienne pour la reconnaissance en-ligne des caractères latins isolés. Et avec un teste sur les lettres du A à H, le taux global de reconnaissance atteint 70,24%. 8.2.2. Arbres de décision Les arbres de décision sont des outils de classification qui permettent de représenter les règles de décisions hiérarchiquement sous forme d’une structure arborescente. A chaque noeud t de cet arbre on lui associe: Un sous-ensemble C(t) de classes qu’il reste à discriminer: au niveau de la racine, on a toutes les classes; au niveau le plus bas (profondeur m), une classe unique est associée à chaque feuille de l’arbre. Un sous-ensemble de caractéristiques F(t) choisi pour sa capacité à discriminer les classes présentes au noeud n.
  44. 44. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 33 Une règle de décision D(t) qui permet de séparer l’ensemble C(t) des classes présentes en ce noeud en deux sous-ensembles plus petits de classes si la structure de l’arbre est binaire (ou n sous-ensembles si l’arbre est n-aire). Deux approches peuvent être adoptées pour la construction de l’arbre de décision: Approche ascendante ("bottom-up") permettant de construire l’arbre à partir de l’ensemble d’apprentissage. Une distance est calculée pour chaque paire de classes définies a priori et à chaque étape, les deux classes les plus proches sont fusionnées pour former un nouveau groupe. Ce processus est réitéré jusqu’à obtenir un seul groupe à la racine de l’arbre. Approche descendante ("top-down") permettant de construire l’arbre par décompositions successives de l’ensemble de classes, en partant de la racine, en sous-ensembles plus petit de classes jusqu’à obtenir une classe unique pour chaque feuille de l’arbre. Il y a peu de travaux sur la reconnaissance de l’écriture arabe manuscrite utilisant les arbres de décision pour la classification [03]. Ceci peut se justifier, d’une part, par le manque de robustesse au niveau de processus de décision dans les arbres de décision où toute erreur de décision en un noeud de l’arbre provoque fatalement une erreur de reconnaissance. D’autre part, la construction des règles de décision flexibles et générales requiert beaucoup de données, et la classification par arbre de décisions ne propose pas d’alternatives dans le choix des solutions, mais uniquement une seule solution, ce qui peut être pénalisant pour les étapes postérieures à la reconnaissance. 8.3. Les approches structurelles Les approches structurelles cherchent à structurer l’information en décrivant l’organisation géométrique (ou la structure) d’une forme complexe à partir des composantes les plus élémentaires appelées primitives. Elles reposent sur une représentation hiérarchique des formes. Chaque forme est vue comme un ensemble de sous-formes qu’on appelle "pattern", elles mêmes composées de patterns plus petites. Les plus petits patterns (i.e. primitives) sont des caractéristiques, par exemple un segment de droite, une occlusion ou un arc pour les caractères manuscrits [03]. Le principal avantage des méthodes structurelles sur les méthodes statistiques en général est leur capacité à fournir une description de la forme indépendamment du processus de classification. La description structurelle de la forme permet de représenter la façon dont la forme est construite à partir des primitives; on peut donc interpréter la forme voir même la
  45. 45. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 34 reconstruire à partir des primitives, ce qui n’est pas envisageable dans le cadre de l’approche statistique. Malgré ces avantages, ces approches sont très sensibles aux problèmes de segmentation qui modifient la structure des formes, ainsi qu’au bruit [03]. 8.3.1. Les méthodes de tests Elle consiste à appliquer sur chaque caractère ou mot des tests de plus en plus fins sur la présence ou l’absence de primitives, de telle sorte à répartir les échantillons en classes. Le processus habituel à diviser à chaque test l’ensemble des choix en deux ou en plusieurs sous- ensembles jusqu’à obtenir qu’une seule forme correspondant au caractère entré. Ce choix est très rapide et très facile à mettre en oeuvre, il est, cependant, très sensible aux variations du tracé [03]. 8.3.2. Appariement de graphes Dans les méthodes structurelles basées sur une représentation sous forme de graphe, la décision se ramène à la recherche du meilleur appariement (ou "isomorphisme") entre graphes représentant les formes à classer et les graphes de référence constituant les connaissances a priori du problème. L’algorithme de recherche d’isomorphisme entre graphes est un algorithme combinatoire qui consiste à étudier pour chaque couple de noeuds la validité de correspondance entre eux : les noeuds associés doivent avoir le même nombre d’arc entrants et sortants. Pratiquement, pour s’affranchir de la variabilité des formes rencontrée à l’intérieur d’une même classe, on ne cherche pas en général à obtenir l’égalité stricte entre deux graphes mais on cherche plutôt des éléments ou des groupes d’éléments identiques caractérisés par des sous-graphes. Le problème se ramène alors le plus souvent à trouver le plus grand des isomorphismes entre les sous-graphes extraits des deux représentations. L’appariement des graphes a été utilisé aussi bien pour la reconnaissance de caractères isolés que pour la reconnaissance de mots et de textes. Il est effectué par exemple [03] par calcul de degré de similarité entre la graphe du mot à reconnaître (construit à partir du squelette du mot) et l’ensemble des graphes de références (représentant le lexique de reconnaissance). 8.3.3. Les comparaisons de chaînes Les caractères ou les mots sont représentés par des chaînes de primitives et la décision se ramène à un problème de comparaison de chaînes. Les méthodes couramment utilisées pour comparer deux chaînes sont la distance d’édition et la comparaison dynamique [03].
  46. 46. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 35 La distance d’édition entre deux chaînes de caractères consiste à déterminer la suite de transformations élémentaires de coût minimal permettant de transformer une des chaînes en une autre. Elle comporte trois opérations élémentaires appelées opérations d’édition auxquelles on associe un coût individuel. Ces opérations sont: la substitution d’un symbole de la chaîne de référence à un symbole de la chaîne à comparer, l’insertion d’un symbole dans la chaîne à comparer, la destruction d’un symbole de la chaîne à comparer. Les méthodes basées sur la "comparaison dynamique" part du même principe que celui de la distance d’édition mais diffère dans l’introduction d’une fonction de déformation ("warping function") les possibilités de couplage entre les éléments des deux chaînes : il n’y a plus d’insertion ni destruction de symbole mais par contre, plusieurs symboles d’une chaînes peuvent être associés à un même symbole de l’autre chaîne. Le but de la méthode est d’optimiser la correspondance entre chaînes en permettant des "dilatations" et des "contractions" de symboles identiques [03]. 8.4. Les Réseaux de neurones Les réseaux de neurones (RN) artificiels sont des réseaux fortement connectés de processeurs élémentaires fonctionnant en parallèle. Chaque processeur calcule une sortie à partir des informations qu'il reçoit. Ils ont connu un grand succès à partir des années 90, notamment grâce à la mise au point d'un algorithme d'apprentissage efficace et facile à mettre en oeuvre : la rétro-propagation du gradient [03]. Le but est d'apprendre au réseau à fournir les sorties voulues pour un ensemble de valeurs d'entrée. Pour cela, on se base sur un très grand nombre d'exemples qui permettent d'ajuster les paramètres - les poids des connexions - de manière à obtenir les sorties désirées en fonction des entrées. Il existe de nombreuses topologies de réseaux de neurones: Les réseaux multicouches : ils sont organisés en couches, chaque neurone prend généralement en entrée les sorties de tous les neurones de la couche inférieure. Ils ne possèdent pas de cycles ni de connexions intra-couche. On définit alors une "couche d'entrée", "une couche de sortie", et n "couches cachées". Ce type de réseau est très répandu, du fait de son apprentissage aisé réalisé par l'algorithme de rétropropagation du gradient.
  47. 47. Chapitre I : Reconnaissance de l’écriture manuscrite arabe 36 Les réseaux à connexions locales : on reprend la même structure en couche que précédemment, mais avec un nombre de connexions limité : un neurone n'est pas forcément connecté à tous les neurones de la couche précédente. Au niveau de neurone de la couche cachée, on trouve une fonction qui fait de la somme des valeurs d'entrée pondérées par des poids. Cette somme se transforme en une sortie suivant une fonction de filtre (d’activation) qui a un seuil compris entre -1 et 1. La fonction de filtre peut être la fonction sigmoïde. Elle prend ses valeurs sur l'intervalle [0,1] : E e1 1 (E) − + =σ (I-23) A l’année 2005, on a proposé dans [20] une architecture d’un système Neuronal pour la reconnaissance de mots arabes manuscrits, elle utilise la fonction sigmoïde comme fonction d’activation. Les expériences sur la base IFN-ENIT avec seulement les caractéristiques structurelles, ont montré un taux de reconnaissance de 57% avec confusion (en présentant au réseaux des mots différents mais ayant la même description structurelle), et 98% sans confusion. 8.5. Les approches stochastiques L’approche stochastique utilise un modèle pour la reconnaissance, prenant en compte la grande variabilité de la forme. La forme est considérée comme un signal continu observable dans le temps à différents endroits constituant des états "d’observation". Le modèle décrit ces états à l’aide de probabilité de transitions d’états et de probabilités d’observations 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 séquence d’entrée. Ces méthodes sont robustes et fiables du fait de l’existence d’algorithmes d’apprentissage efficaces. Leur apprentissage est un peu lent, mais la reconnaissance est par contre très rapide car les modèles comprennent généralement peu d’états et le calcul est relativement rapide [03]. Les modèles de Markov cachés [03] Les modèles de Markov cachés (Hidden Markov Models) sont considérés comme un essor important en reconnaissance de l’écriture manuscrite arabe grâce à leur capacité d’intégration de contexte et absorption de bruit. Un modèle de Markov caché est un processus doublement stochastique, constitué d'un processus sous-jacent non observable, qui peut être déduit au travers d'un second processus stochastique qui produit des séquences d'observations. Dans les méthodes de reconnaissance

×