RECONNAISSANCE DE L’ECRITURE MANUSCRITE

Ecriture mono-scripteur, multi-scripteur et omni-scripteur [8]

                 Selon un ordre de difficulté croissant, trois contextes de reconnaissance de l’écriture sont à mentionnés. La reconnaissance mono-scripteur, la plus facile, consiste à reconnaître un seul style d’écriture, issu d’un seul scripteur. Elle nécessite donc un modèle qui s’adapte aux variations d’un seul style d’écriture. Un contexte plus complexe est celui de la reconnaissance multi-scripteur, dont le but est de reconnaître l’écriture d’un nombre limité de scripteurs connus par le système (le système a été entraîné sur les styles de ces scripteurs). Le modèle doit alors absorber la variabilité inhérente au style de chaque scripteur considéré (variabilité intra-scripteur), ainsi que la variabilité des styles (variabilité inter-scripteur). Le contexte de complexité maximum est celui de la reconnaissance omniscripteur, dont le but est de reconnaître l’écriture de n’importe quel scripteur, inconnu du système. Ce cadre requiert un modèle non seulement capable d’absorber une variabilité très importante, mais aussi capable de généraliser à partir d’un ensemble d’apprentissage à tous les variabilités possibles de la part des scripteurs. Par conséquent, il requiert un ensemble d’apprentissage très étendu.

Reconnaissance d’adresses et de codes postaux [18]

                    Des systèmes de reconnaissance de chiffres manuscrits isolés ont été déjà créés et installés dans beaucoup de postes du monde entier, en tant que système de triage automatique de courriers postaux. Le système localise l’emplacement du code postal sur l’enveloppe, puis oriente le courrier. Des pays, comme les Etats Unis ont des avantages de n’avoir que des codes postaux uniquement constitués de chiffres, plusieurs chercheurs ont ainsi rapidement maîtrisé le domaine. Afin de procéder plus correctement, ces systèmes doivent utiliser les autres informations contenues dans le reste de l’adresse. Ceci réduit le taux d’incertitude présente dans la lecture du code postal. Bien sûr comme le cas précédent, certaines adresses peuvent être illisibles, ces enveloppes sont laissées au soin judicieux de l’homme. Il ne faut pas également oublier que l’on dénombre toujours de courriers mal routés, ce qui fixe un seuil maximal tolérable pour les erreurs surgissant lors de leur triage automatique.

Les pré-traitements [1], [5]

                 L’objectif des pré-traitements est de faciliter la caractérisation de la forme (caractère, chiffre, mot) ou de l’entité à reconnaître soit en nettoyant l’image représentant la forme ou en réduisant la quantité d’information à traiter pour ne garder que les informations les plus significatives. Le nettoyage de l’image consiste essentiellement à éliminer les bruits résiduels issus de la binarisation. La réduction de la quantité d’information à traiter peut être obtenue à partir des opérations visant à ramener l’épaisseur du trait à un seul pixel (soit par squelettisation, soit par suivi de trait) ou à partir d’extracteurs de contours supérieurs, inférieurs et/ou intérieurs. Notons que certaines formes (caractères, chiffres, mots) sont inclinées ou penchées donc il est nécessaire de normaliser en pente cette forme afin de segmenter la forme (par exemple segmentation d’un mot en lettres). Cette normalisation consiste à corriger la pente d’un mot ou à redresser l’inclinaison des lettres dans un mot afin de faciliter la segmentation. La segmentation est une phase des pré-traitements. Son but est de localiser et d’extraire le plus précisément possible les informations à reconnaître. Elle comprend deux étapes : la binarisation et la localisation des informations à reconnaître. La binarisation consiste à réduire la quantité d’informations à traiter lorsque l’image est en niveaux de gris et la localisation des entités à reconnaître concerne des formes comme des lignes, les mots, les groupes de lettres ou les lettres. Le résultat obtenu lors de cette phase de pré-traitement permettra le passage vers la phase d’extraction.

Orientation du travail

                   Ce mémoire se porte sur la reconnaissance de l’écriture manuscrite dite hors-ligne malgré les difficultés qui s’y imposent par rapport à son homologue connue sous le nom de reconnaissance de l’écriture manuscrite en-ligne. Certes, la reconnaissance en-ligne de l’écriture manuscrite est de nos jours la plus résolue, néanmoins il est évident que la reconnaissance de l’écriture manuscrite s’orientera vers celle qualifiée de hors-ligne qui est sûrement la solution la mieux adaptée au problème. En effet, lors de la lecture, personne ne s’efforce de reconnaitre l’ordre du tracé de l’écriture ; la reconnaissance se base uniquement sur sa forme. Le modèle adopté est à base de RN classifieur étant donné que le but du présent travail n’est pas d’élaborer un système de reconnaissance de l’écriture manuscrite sans contraintes, mais plutôt de mettre en évidence l’utilité des RN dans ce domaine tout en détaillant ses étapes fondamentales. Parmi ces étapes on cite : les traitements de l’image de paragraphe de départ jusqu’à l’obtention d’une image élémentaire dite image de graphème, la caractérisation de l’image de graphème obtenue pour terminer par sa classification à l’aide d’un RN. L’approche adoptée est donc celle qui consiste à reconnaitre une image de mot par l’intermédiaire de la reconnaissance de chacune des lettres qui la constitue.

Détection des hampes et jambages [4], [17]

                Les caractéristiques de cette catégorie permettent de mettre en évidence les propriétés structurelles des caractères. En effet les directions des allongements de pixels d’un caractère permettent d’en exprimer la structure de son tracé. La technique d’obtention de ces caractéristiques consiste à effectuer une projection des pixels du caractère sur un axe perpendiculaire à la direction de recherche des allongements. La détection des maxima locaux sur l’histogramme résultant permet d’obtenir la position et la valeur des allongements. L’application de cette technique se fait généralement sur une image binaire des caractères. Un problème associé à cette approche est qu’elle induit la détection d’un grand nombre de maxima, ne correspondant pas forcément à des allongements. De ce fait ces caractéristiques sont principalement utilisées pour la reconnaissance de caractères imprimés multifontes et de caractères chinois. En effet la régularité associée aux différentes fontes de l’écriture imprimée permet d’obtenir les allongements réels. Le succès de l’application de ces caractéristiques aux caractères chinois vient du fait que ce type d’écriture est principalement composé de traits horizontaux verticaux et obliques. Les allongements pour cette direction sont alors obtenus en effectuant des projections obliques à ×45°.

Présentation de MATLAB 6.5

                MATLAB tire son nom de l’anglais MAtrix LABoratory. Cet outil permet à son utilisateur une programmation en langage de haut niveau. MATLAB intègre dans sa version originale des outils mathématiques classiques tels les opérations matricielles, les manipulations de fonctions, le graphisme …. Son fonctionnement peut être étendu par l’acquisition d’autres modules désignés sous le nom de toolboxes, entre autres un premier se chargeant des traitements d’images et un second des réseaux neuronaux. Notons que MATLAB 6.5 intègre déjà ces deux toolboxes qui nous sont indispensables pour notre simulation. L’élaboration d’interface utilisateur ou Graphic User Interface en anglais, est également assistée sous MATLAB 6.5. L’espace de travail est d’ailleurs plus convivial et s’avère être plus facile à manipuler que celui de la version précédente. L’on tient à mentionner que la version 7 de MATLAB est déjà disponible, elle intègre d’autres fonctionnalités qui se justifient par une augmentation de la taille du logiciel, donc plus gourmand en temps lors de son installation. Les deux toolboxes précédemment mentionnés n’ont subi que quelques modifications n’ayant sûrement pas de répercussion dans notre simulation à cause de la compatibilité ascendante. Aussi, nous sommes restés à la version 6.5 de MATLAB. Le paragraphe qui suit énumère les fonctions natives de MATLAB qui seront utilisées au cours de la simulation.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport-gratuit.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

INTRODUCTION
CHAPITRE 1 : GENERALITES SUR LA RECONNAISSANCE DE L’ECRITURE MANUSCRITE
1.1 Vue d’ensemble
1.1.1 Le NHM (Natural Handwriting Recognition) versus OCR (Optical Character recognition)
1.1.2 La reconnaissance de l’écriture en-ligne (On-line) et hors-ligne (Off-line)
1.1.3 Les différents styles d’écriture
1.1.4 Ecriture mono-scripteur, multi-scripteur et omni-scripteur
1.1.5 Approche globale, approche analytique
1.2 Application
1.2.1 Traitement automatique des chèques bancaires
1.2.2 Reconnaissance d’adresses et de codes postaux
1.2.3 Traitement des formulaires d’enquête
1.2.4 Revalorisation des documents anciens
1.3 Diagramme d’un système de reconnaissance d’écriture manuscrite hors-ligne
1.3.1 Acquisition de l’image
1.3.2 Les pré-traitements
1.3.3 Extraction de caractéristiques
1.3.4 La classification
1.3.5 Le post-traitement
1.4 Orientation du travail
1.5 Les locutions utilisées
CHAPITRE 2 : LES APPORTS DU TRAITEMENT D’IMAGES DANS LA RECONNAISSANCE DE L’ECRITURE MANUSCRITE 
2.1 Segmentation en ligne
2.1.1 Redressement de l’inclinaison des lignes
2.1.1.1 Algorithme de Bresenham
2.1.1.2 Entropie d’un histogramme
2.1.2 Segmentation en ligne
2.2 Segmentation en mot
2.3 Pré-traitement de l’image de mot
2.3.1 Redressement de l’inclinaison des lettres
2.3.1.1 Estimation fondée sur les contours
2.3.1.2 Estimation basée sur des histogrammes
2.3.1.3 Estimation par direction du gradient de l’image
2.3.2 Lissage de contour
2.3.3 Estimation des lignes d’appui
2.3.4 Estimation de l’épaisseur moyenne du trait
2.3.4.1 Estimation à l’aide d’une carte de distance
2.3.4.2 Estimation au moyen d’histogramme de projection
2.3.5 Estimation de la largeur moyenne d’une lettre
2.4 Diverses méthodes de segmentation
2.4.1 Segmentation à partir du squelette
2.4.2 Segmentation à partir du réservoir
2.4.3 Segmentation basée sur des histogrammes
2.4.4 Segmentation à partir du contour
2.4.5 Segmentation par une fenêtre glissante
2.5 Conclusion
CHAPITRE 3 : CARACTÉRISATION DES GRAPHÈMES 
3.1 Description des graphèmes
3.1.1 Transformations et développement en séries
3.1.1.1 Moments invariants
3.1.1.2 Moments de Zernike
3.1.1.3 Moments estimé à partir d’ondelettes
3.1.1.4 Descripteur de Fourier du contour
3.1.2 Intersection avec des droites
3.1.2.1 Description à partir de profils ou histogrammes
3.1.2.2 Profil en coordonnées polaires
3.1.3 Mesure de densités
3.1.3.1 Description à l’aide d’une matrice de surface
3.1.3.2 Description d’un graphème à partir d’une carte de Kohonen
3.1.3.3 Description d’un graphème à partir du contour
3.1.4 Détection des formes particulière dans l’image
3.1.4.1 Concavités, convexités et occlusions
3.1.4.2 Détection des hampes et jambages
3.1.4.3 Les particularités locales
3.2 Comparaison des techniques de caractérisation de graphèmes
3.3 Conclusion
CHAPITRE 4 : LES RESEAUX DE NEURONES 
4.1 Les réseaux de neurones multicouches
4.1.1 Un neurone
4.1.2 Une couche de neurones
4.1.3 Un réseau de neurones : le perceptron multicouche
4.2 Théorème de convergence universel
4.2.1 Le perceptron
4.2.2 Théorème
4.2.3 Démonstration
4.3 La rétro-propagation de l’erreur
4.3.1 La règle de Widrow-Hoff ou règle Delta
4.3.2 La règle delta généralisée
4.3.3 Comprendre la rétro-propagation de l’erreur
4.4 Illustration de la rétro-propagation pour une fonction d’activation sigmoïde
4.4.1 Ajustement des poids de connexion
4.4.2 Le taux d’apprentissage et le momentum
4.4.3 Apprentissage de chaque échantillon d’entrée
4.5 Conclusion
CHAPITRE 5 : SIMULATION DE LA RECONNAISSANCE DE L’ECRITURE MANUSCRITE SOUS MATLAB 
5.1 Présentation de MATLAB 6.5
5.2 Les fonctions de MATLAB utilisées
5.2.1 Les fonctions matricielles
5.2.2 Les fonctions pour le graphisme
5.2.3 Les fonctions mathématiques
5.2.4 Les fonctions pour les conversions de types
5.2.5 Les fonctions pour le traitement d’images
5.2.6 Les fonctions pour le réseau de neurones
5.3 Les étapes de la simulation
5.3.1 Lancement de la simulation
5.3.2 La segmentation en ligne
5.3.2.1 La binarisation
5.3.2.2 Le redressement de l’inclinaison des lignes
5.3.2.2.1 La fonction bresenham()
5.3.2.2.2 La fonction hist_alpha()
5.3.2.2.3 La fonction estime_incline()
5.3.2.3 Extraction des lignes
5.3.2.3.1 La fonction histogramme()
5.3.2.3.2 La fonction hist_moy_mob()
5.3.2.3.3 La fonction estime_h_ligne()
5.3.3 Segmentation en mot
5.3.4 Les pré-traitements de l’image de mot
5.3.4.1 Le redressement de l’inclinaison des lettres
5.3.4.1.1 La fonction s_alpha()
5.3.4.1.2 La fonction redresser()
5.3.4.2 Le lissage de contour
5.3.4.3 La détection des lignes d’appui
5.3.4.3.1 La fonction ligne_appui()
5.3.4.3.2 La fonction cont_min_max()
5.3.4.3.3 La fonction img_cont()
5.3.4.4 Calcul de l’épaisseur moyenne du tracé et estimation de la largeur moyenne d’une lettre
5.3.5 La segmentation en graphème
5.3.5.1 La fonction point_coupure()
5.3.5.2 La fonction segmente_graphm()
5.3.6 Caractérisation des graphèmes
5.3.7 La classification par réseaux de neurones
5.3.7.1 Le réseau de neurones classifieur
5.3.7.1.1 Le script reseau
5.3.7.1.2 Le script prprob
5.3.7.2 La fonction reconnaitre()
5.4 Conclusion
CONCLUSION GENERALE
ANNEXE 1 : LES COMMANDES ET MOTS CLES DE MATLAB
ANNEXE 2 : QUELQUES EXEMPLES D’ALGORITHMES D’APPRENTISSAGE D’UN RESEAU DE NEURONES MULTICOUCHE
ANNEXE 3 : CODES SOURCES DE QUELQUES PROGRAMMES
BIBLIOGRAPHIE
RENSEIGNEMENTS

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *