HOCR

hOCR (pour HTML Optical Character Recognition) est une norme ouverte qui permet de représenter le texte issu d'une reconnaissance optique de caractères (OCR) en l'intégrant directement dans une structure HTML ou XHTML.

Fonctionnement

Contrairement à un fichier texte classique .txt qui ne conserve que les mots bruts, hOCR enregistre la position exacte des éléments sur la page (lignes, paragraphes, mots, caractères) à l'aide de coordonnées géométriques (bounding boxes),.

Bounding boxes (bbox)

Dans le format hOCR, les bounding boxes constituent la colonne vertébrale de la mise en page. Ce sont des coordonnées géométriques rectangulaires qui indiquent précisément l'emplacement de chaque entité textuelle détectée sur l'image d'origine.

Dans un fichier hOCR, une bounding box est définie par l'la propriété bbox placée à l'intérieur de l'attribut standard HTML title d'une balise. Elle se compose toujours de 4 valeurs numériques, exprimées en pixels.

title="bbox x0 y0 x1 y1"

Le format hOCR applique ces boîtes de coordonnées de manière hiérarchique, de l'élément le plus grand au plus petit, :

Sans ces bounding boxes, un document PDF converti à partir d'un scan ne permettrait pas de sélectionner du texte de manière intuitive.

Fichiers PDF

Le format hOCR est principalement utilisé pour créer des fichiers PDF interrogeables ou pour extraire les métadonnées d'un fichier PDF. Pour créer des fichiers PDF interrogeables, il est possible d'utiliser les outils open source suivants afin de générer une image du document numérisé et un fichier .hocr correspondant.

Conversion de hOCR en PDF

De nombreuses contributions ont été apportées au format hOCR au fil des ans, et plusieurs bibliothèques etoutils open-source permettent désormais de réaliser cette conversion.

En Python, la suite officielle hocr-tools est un paquet d'utilitaires officiel initialement développé par l'équipe derrière le moteur OCRopus. Il contient une commande Python dédiée appelée hocr-pdf. Il prend un dossier contenant des images (JPEG/PNG) et leurs fichiers hOCR correspondants portant exactement le même nom, puis génère le PDF final.

En C++, l''utilitaire hocr2pdf est est une application en ligne de commande, idéale pour les scripts d'automatisation sur serveur Linux. Il intègre directement le fichier d'annotation HTML (hOCR) sur l'image en un seul passage.

Les versions récentes de Tesseract (à partir de la version 3.03) permet de convertir sans outil tiers. Tesseract utilise son propre moteur hOCR en arrière-plan pour compiler directement l'image en PDF interrogeable.

Logiciels

Les logiciels OCR suivants peuvent exporter le résultat de la reconnaissance au format hOCR :

Utilisation

Il est très utilisé pour l'indexation de documents historiques ou de livres scannés (par exemple par Google Books) afin de permettre la recherche de mots-clés tout en conservant la structure visuelle, et permet de superposer une couche de texte invisible et positionnée avec précision sur une image scannée pour les lecteurs d'écran.

Notes et références

  1. ↑ Sher Azam Khan, « Comprendre les formats de fichiers OCR : HOCR vs ALTO vs PDF/A expliqué », sur File Format Blog, (consulté le )
  2. ↑ « IEEE Standard for Automatic Test Markup Language (ATML) for Exchanging Automatic Test Information via eXtensible Markup Language (XML): Exchanging Test Configuration Information », Ninth International Conference on Document Analysis and Recognition (ICDAR 2007),‎ , p. 1-35 (DOI https://doi.org/10.1109/ieeestd.2008.4509494, lire en ligne)
  3. ↑ Curtis Chau, « Exporter les résultats de l'OCR sous forme de fichiers HTML hOCR en C# | IronOCR », sur ironsoftware.com, (consulté le )
  4. ↑ (en) « bbox x0 y0 x1 y1 · Issue #34 · kba/hocr-spec », sur GitHub (consulté le )
  5. 1 2 3 Thomas Breuel, « The hOCR Embedded OCR Workflow and Output Format », sur fr.scribd.com, (consulté le )
  6. ↑ (en) Andrew Hankinson, Laurent Pugin et Ichiro Fujinaga, « An interchange format for optical music recognition applications », sur ResearchGate, 11th International Society for Music Information Retrieval Conference (ISMIR 2010), (consulté le )
  7. ↑ ocropus/hocr-tools, OCRopus, (lire en ligne)
  8. ↑ (en) Canonical, « hocr2pdf », sur Ubuntu Manpages (consulté le )
  9. ↑ « Details of Ghostscript Output Devices », sur ghostscript.com (consulté le )
  10. ↑ Pierre Couchet, « Outils avancés pour la transcription automatique (OCR, HTR) et l’annotation des textes », sur AHP numérique, (consulté le )