Outils pour utilisateurs

Outils du site


manuel_digital_history:numerisation_ocrisation

Ceci est une ancienne révision du document !


Acquisition de données

Du document à l'image puis au texte

Quelques ressources logicielles libres

pdftotext pour extraire le texte de documents pdf.

OpenCV bibliothèque de traitement d'image opensource avec des liens avec des langages comme Python.

Leptonica : bibliothèque de traitement et d'analyse d'image et outil en ligne de commande. Est utilisée par Tesseract OCR pour binariser les images.

unpaper: bibliothèque de postprocessing visant à éliminer tous les problèmes relatifs au support papier des documents scannés.

ImageMagick : bibliothèque de traitement d'image générale.

Gimp un éditeur d'image puissant qui peut être utilisé pour améliorer manuellement la qualité des images.

pdfsandwich fait le preprocessing et intègre tesseract. Il transforme des pdf images et leur applique un processus de ROC pour générer des fichiers pdf “sandwich”, i.e. desfichiers pdf auxquels le texte est ajouté “derrière” les images de manière invisible. Il s'agit d'un outil en ligne de commande élaboré pour traiter des livres ou des journaux qui ont été scannés. Il peut reconnaître le *layout* même avec plusieurs colonnes. Il s'agit d'un *wrapper script* qui appelle d'autres outils (*unpaper*, *convert*, *gs*, *hocr2pdf* et *tesseract*). Il fonctionne sur les systèmes Unix en particulier Linux et MacOs X.

Qualité de l'image

Meilleure sera la qualité de l'image source, meilleure sera le résultat de la reconnaissance de caractères (ROC). Pour que le moteur de reconnaissance de caractères distingue au mieux les caractères du fond de l'image il faut donc que :

  • les bords des caractères soient nets,
  • le constrate soit élevé,
  • les caratères soient aussi bien alignés que possible,
  • le “bruit” soit le plus faible possible.

D'abord éviter que l'original soit déchiré, froissé, imprimé avec une encre à faible contraste…

L'image doit être au moins de 300 dpi (dots per inch). En dessous de 200 dpi la photo ne sera pas interprétable. Au dessus de 600 dpi le fichier de la photo sera excessivement et inutilement lourde.

Preprocessing

Cette étape vise à améliorer l'image qi fera l'objet d'une ROC.

Il faut accroître le contraste et la densité avant l'ocrisation soit à partir du logiciel de numérisation soit à l'aide d'un logiciel de traitement d'image (image preprocessing software).

Il faut aussi “binariser” (binarize) l'image, i.e. convertir une image couleur (RGB) en une image noire et blanche. Il existe plusieurs algorithmes permettant d'effectuer cette transformation d'un simple thresholding à des analyses zonales plus sophistiquées. La plupart des moteurs d'OCR effectuent cette conversion comme une des premières étapes du processus de reconnaissance de caractères. Un autre avantage de la binarisation est la réduction de la taille des fichiers images.

Enlever le bruit et les artefacts de numérisation qui peuvent provenir d'une numérisation ou d'une image de mauvaise qulaité. Ils peuvent se situer soit dans l'arrière plan, soit en premier plan (cf par exemple les bordures ou la partie centrale, entre deux pages, noires).

Redresser les images en effectuant une rotation à droite ou à gauche. Il faut que les lignes du texte soient horizontales.

Analyse des zones intéressantes (Layout ou Zone Analysis) Afin que les mots soient détectés correctement il est important, en premier lieu, de repérer les zones ou le layout (c'est-à-dire les zone d'intérêt). Cette étape détecte es paragraphes, les tableaux, les colonnes, les images… La plupart des solutions de ROC disposent d'un module de *layout analysis*. Il est possible d'appliquer ees techniques de ROC zonale afin de définir précisément les parties de l'image comportant le texte à extraire.

Remarques finales. Il n'existe pas de règle générale pour optimiser une ROC. Avant tout il faut étudier attentivement les documents à traiter afin d'en repérer les défauts récurrents.

Récupération de documents sur Gallica

Cette étape vise à améliorer l'image qi fera l'objet d'une ROC.

Il faut accroître le contraste et la densité avant l'ocrisation soit à partir du logiciel de numérisation soit à l'aide d'un logiciel de traitement d'image (image preprocessing software).

Il faut aussi “binariser” (binarize) l'image, i.e. convertir une image couleur (RGB) en une image noire et blanche. Il existe plusieurs algorithmes permettant d'effectuer cette transformation d'un simple thresholding à des analyses zonales plus sophistiquées. La plupart des moteurs d'OCR effectuent cette conversion comme une des premières étapes du processus de reconnaissance de caractères. Un autre avantage de la binarisation est la réduction de la taille des fichiers images.

Enlever le bruit et les artefacts de numérisation qui peuvent provenir d'une numérisation ou d'une image de mauvaise qulaité. Ils peuvent se situer soit dans l'arrière plan, soit en premier plan (cf par exemple les bordures ou la partie centrale, entre deux pages, noires).

Redresser les images en effectuant une rotation à droite ou à gauche. Il faut que les lignes du texte soient horizontales.

Analyse des zones intéressantes (Layout ou Zone Analysis) Afin que les mots soient détectés correctement il est important, en premier lieu, de repérer les zones ou le layout (c'est-à-dire les zone d'intérêt). Cette étape détecte es paragraphes, les tableaux, les colonnes, les images… La plupart des solutions de ROC disposent d'un module de *layout analysis*. Il est possible d'appliquer ees techniques de ROC zonale afin de définir précisément les parties de l'image comportant le texte à extraire.

Remarques finales. Il n'existe pas de règle générale pour optimiser une ROC. Avant tout il faut étudier attentivement les documents à traiter afin d'en repérer les défauts récurrents.

manuel_digital_history/numerisation_ocrisation.1579685308.txt.gz · Dernière modification: 2020/01/22 10:28 par Pierre Vernus