You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lilian 3e69894bf2 First push commit 1 year ago
OCR_model First push commit 1 year ago
bin First push commit 1 year ago
README.md First push commit 1 year ago
main.py First push commit 1 year ago

README.md

OCR_paper_form 0.1

An application to automatically extract handwritten informations from paper forms

March 2023

Only available in french - developped as root application for La Gemme organisation.

Runs on Python3 with Linux (developped on Python3.8, should run with older versions and on Windows) Needs Scipy, Matplotlib, Numpy, TensorFlow libraries.

Comment utiliser l'application

Extrayez le dossier dans un répertoire dédié - elle fonctionne sans installation particulière, mis à part les librairies. Il s'appuie sur une analyse d'un modèle pré-enregistré pour extratire des données.

C'est un logiciel terminal, l'interface graphique est inexistante.

Lancez le logiciel avec python3 main.py, vous amenant vers un menu.

Pour extraire des données, il faut d'abord se baser sur un modèle, qu'il faut construire (menu 2). Pour ce faire:

  • choisissez une image en PNG issue d'un formulaire papier vierge, ou d'un formulaire PDF exporté en PNG. Essayez d'avoir une image complète dont le nombre de pixels est équivalent à ceux des formulaires que vous serez amenés à scanner.
  • placez différents rectangles en fonction des informations demandées : case à écrire, ligne allant jusqu'à la fin de l'image, case à cocher (multiples ou exclusives), puis sélectionner les coins en haut à gauche et en bas à droite de votre rectangle en cliquant sur l'image qui s'affiche (veillez à ne pas cliquer sur l'extérieur de l'image) ; si vous sélectionnez des cases à cocher, cliquez bien sur chaque coin haut-gauche et bas-droit de chaque case, la fenêtre se fermera automatiquement après.
  • répétez l'opération pour chaque information. Une fois terminé, le modèle sera automatiquement enregistré

Vous pouvez modifier le modèle (pas encore implémenté)

Une fois le modèle utilisable et complet, enregistré, vous pouvez analyser les images PNG scannées, pléalablement placées dans le dossier “scanned” du logiciel. Sélectionnez le menu 1 et le formulaire correspondant (la détection autonmatique ou par type de document n'est pas encore implémentée). La détection est automatique sur tous les champs, et vise à extraire les données manuscrites pour chaque champ, pour chaque image scannée. (non encore codé -> ) Une fois les données extraites, une vérification visuelle est nécessaire avec une comparaison entre la fraction de l'image extraite contenant les données, et la transcription. La reconnaissance étant faite grâce à un corpus en anglais, sans caractères spéciaux comme le “@” et sans accents, il y aura nécessairement quelques erreurs. Une fois les transcriptions corrigées, et pour chaque fichier, on pourra les enregistrer dans un fichier, afin de les intégrer à une autre base de données par exemple.

Technologie

Le traitement du signal est assez basique, la reconnaissance de caractère est basée sur un projet sur GitHub, SimpleHTR, à cette adresse : https://github.com/githubharald/SimpleHTR. Ce projet a été modifié pour être incorporé dans le projet, et intervient plus comme un module plutôt qu'une intégration propre.