Le Projet OCR

1. Présentation du projet

Spécification du sujet

Le projet que nous sommes en train de réaliser, est un logiciel de reconnaissance de caractères : un OCR (Optical Character Recognition) Il va permettre de récupérer dans un traitement de texte des documents imprimés (courriers, pages de livre, articles de presse). Après numérisation, le logiciel attribue à chaque symbole du texte le caractère correspondant à partir d'un profil entraîné avec des exemples. Mais la transformation en texte brut d'une page numérisée n'est pas la seule fonctionnalité du logiciel. Il analyse également le mot reformé avec un dictionnaire pour diminuer le nombre d'erreurs. Pour cela le projet va disposer d’une interface graphique permettant de charger des images et de les traiter automatiquement.

Découpage du travail

Le projet est découpé en 4 parties majeures. La 1ère et la dernière des parties sont réalisées en C, l’extraction des lignes et des caractères ainsi que la reconnaissance des caractères est quant à elles, réalisées en Ocaml.

1ère partie : Prétraitement

Le prétraitement de l'image de départ, numérisée à partir d'un document A4 : le but est de rendre le document « parfait », c'est-à-dire de retirer le bruit généré lors de la numérisation ainsi que d’augmenter les contraste des caractères. Il faut aussi redresser l’image si besoin.

2ème partie : Extraction

Vient ensuite l'extraction des lignes, des caractères, et la détection de la mise en forme du document (nous nous contenterons, dans un premier temps de la typographie des caractères (gras, italique, souligné, etc.).

3ème partie : Reconnaissance des caractères

Le but de cette partie est de reconnaître les différents caractères au travers d’un réseau de neurone. Il faudra trouver une bonne représentation des données caractérisant l'image d'un symbole, et standardiser ces données d'entrée pour le réseau de neurones. Il faudra également gérer le cas des caractères trop ambigus ou trop difficiles à reconnaître. Le "classifieur" devra les rejeter pour pouvoir ensuite les traiter au niveau de l'interface

4ème partie : Interface graphique

Cette interface sera relativement simple : Une zone de texte afin de permettre à l'utilisateur de modifier le texte du document numérisé prendra la moitié de la fenêtre. (Pour le moment l’interface permet de voir l’image d’origine et l’image « parfaite » généré). L'autre moitié étant consacrée à la visualisation du document original afin de pouvoir vérifier la similarité des textes.