ATR étape 4 : analyse de mise en page

De Alix Chagué et Hugo Scheithauer


Read this article in English: https://harmoniseatr.hypotheses.org/1215
Diesen Beitrag auf Deutsch lesen: https://harmoniseatr.hypotheses.org/2450


1. Qu’est-ce que l’analyse de mise en page ?

L’analyse de la mise en page fait référence à deux opérations : l’identification de la structure d’un document, et la localisation des lignes de texte. Elle est également appelée segmentation, zonage, analyse de documents, ou analyse optique de la mise en page.

L’analyse de la mise en page est une tâche de vision par ordinateur dans laquelle est générée une série de coordonnées x et y correspondant à des régions ou à des lignes dessinées sur l’image. Parfois, ces coordonnées sont associées à une “étiquette” spécifique, ce qui permet de faire la distinction entre différents types de régions ou de lignes.

Les coordonnées x et y permettent de localiser un point dans une image. Plusieurs points permettent de définir des lignes et des polygones correspondant à des zones dans l’image dans lesquelles du texte peut être extrait. Crédits image : voir note 1.

L’analyse de la mise en page peut également inclure le calcul de l’ordre de lecture des lignes. Par exemple, si vous avez une page comportant deux colonnes de texte, vous voudrez peut-être lire la première colonne de haut en bas, puis la deuxième colonne de haut en bas. Un ordre de lecture erroné consisterait à passer de la première ligne de la première colonne à la première ligne de la deuxième colonne, puis à revenir à la deuxième ligne de la première colonne, etc.

2. Comment fonctionne la segmentation des zones de texte ?

Commençons par voir comment fonctionne la segmentation d’une région. Les éléments à identifier lors de la segmentation peuvent être des blocs de texte, des images, des tableaux, des colonnes, des pieds de page, etc. L’objectif est de segmenter le document en régions pertinentes qui peuvent être traitées ou analysées ultérieurement.

Prenons un exemple : nous avons ici un poème intitulé “Le Pont Mirabeau”, écrit par Guillaume Apollinaire au début du XXe siècle, et dont un manuscrit est conservé à la Bibliothèque nationale de France1. Nous avons segmenté et étiqueté toutes les zones comportant des éléments sémantiques à l’aide d’un logiciel d’annotation. La mise en page est relativement simple et nous avons tracé des bounding boxes autour des numéros de page (en bleu), du titre (en violet) et des strophes (en vert). Tous ces éléments sont maintenant annotés comme des régions de texte et ont une étiquette qui correspond à leur fonction.

Les bounding boxes sont généralement rectangulaires (par exemple, avec un modèle YOLO) ou polygonales (par exemple, avec les modèles de segmentation Kraken).

Mise en page annotée avec l’interface eScriptorium. Crédits image : voir note 1.

3. Qu’est-ce qu’une ligne de texte ?

Pour comprendre comment fonctionne la reconnaissance des lignes de texte, nous devons expliquer ce qu’est une ligne de texte dans le cadre de l’analyse de la mise en page. À l’intérieur des zones segmentées, il y a des lignes de texte. Dans la plupart des cas, lorsque vous segmentez une ligne de texte, deux éléments sont produits en même temps :

  • Une baseline ou topline (rouge), qui définit une ligne virtuelle, passant par au moins deux points, sur laquelle le texte est écrit ou à partir de laquelle il est accroché ;
  • Un masque (violet) est un polygone défini par au moins trois points. Il délimite la zone de pixels contenant le texte de la ligne. Le masque est généralement calculé automatiquement par le système de reconnaissance automatique de texte sur la base des coordonnées de la topline ou de la baseline.
Une ligne de texte correspondant au titre du poème, avec sa baseline en rouge, et son masque en violet.

4. Comment marche la segmentation des lignes de texte ?

Lorsqu’on effectue une segmentation en lignes, l’objectif est de détecter précisément le texte dans une image. Cette étape est cruciale car la plupart des modèles d’apprentissage automatique ATR actuels reposent sur l’extraction correcte des lignes de texte avant de les transcrire.

Il existe deux approches pour la segmentation des lignes de texte, soit manuelle, soit automatique :

  • Une baseline (ou topline) est dessinée avant que le logiciel ne calcule le polygone correspondant.
  • Ou bien un contour est dessiné autour de la ligne de texte, ce qui signifie que nous n’avons qu’un masque rectangulaire, sans nécessairement avoir une baseline.

5. Qu’est-ce qui doit être annoté ou non ?

La façon dont vous décidez de segmenter vos images dépend en fait de vos objectifs éditoriaux et scientifiques.

Revenons à notre exemple. Nous aurions pu, par exemple, décider de segmenter tous les vers du poème d’Apollinaire à l’intérieur des différentes strophes. De même, nous avons volontairement omis certains éléments qui auraient pu être segmentés et étiquetés, à savoir les numéros de folio imprimés et le numéro écrit à la main en rouge. Mais pour les besoins de ce tutoriel, nous avons choisi de rester au niveau macro-structurel.

6. Est-il nécessaire de choisir entre la segmentation des régions et la segmentation des lignes de texte ?

La segmentation des régions et la segmentation des lignes ne sont pas mutuellement exclusives et n’ont pas besoin d’être effectuées en même temps. De nombreux modèles de segmentation peuvent faire les deux à la fois, tandis que d’autres sont conçus pour n’en faire qu’une seule. En fait, si vous souhaitez simplement effectuer une reconnaissance automatique de texte, l’identification des régions sur le document est complètement facultative alors que la détection des lignes de texte est obligatoire pour la plupart des logiciels de transcription. Par conséquent, segmenter le texte – avant de le transcrire – est le processus habituel exécuté par la plupart des systèmes d’ATR. Cependant, il faut garder à l’esprit que ce domaine évolue rapidement. Par exemple, il existe déjà des systèmes sans segmentation (Coquenet, Chatelain, and Paquet (2023)).

7. Est-ce qu’il existe des vocabulaires contrôlés pour qualifier les régions et les lignes de texte ?

Dans la plupart des logiciels, les zones et les lignes segmentées peuvent recevoir une étiquette pour identifier leur classe. Il existe des vocabulaires contrôlés qui permettent d’homogénéiser les termes utilisés pour identifier ces classes : ils fournissent une liste prédéterminée de termes ou d’expressions normalisées utilisées pour décrire et catégoriser les données.

Les vocabulaires contrôlés garantissent que vos données sont:

  • Cohérentes (toutes les personnes travaillant sur un document utilisent les mêmes termes pour décrire les zones de texte)
  • Consultables (la recherche et l’extraction d’informations spécifiques sont facilitées par des documents annotés)
  • Interopérables (l’annotation étant normalisée, le partage des données est facilité)
  • Réutilisables (l’ontologie permet de mutualiser les données annotées).

Nous recommandons d’utiliser l’ontologie SegmOnto. Il s’agit d’un vocabulaire contrôlé conçu pour décrire le contenu des pages d’un livre ou d’un manuscrit. En utilisant le vocabulaire proposé par SegmOnto, vous pouvez normaliser vos libellés lorsque vous annotez la mise en page de vos documents.

8. Pourquoi avons nous besoin de l’analyse de mise en page ?

Pour comprendre pourquoi nous avons besoin de l’analyse de mise en page, il faut distinguer entre deux choses :

  • la nécessité de l’analyse de la mise en page pour la reconnaissance de texte en particulier,
  • son utilité pour traiter les résultats de la reconnaissance de texte.

En effet, l’ATR génère uniquement la transcription, tandis que l’analyse de la mise en page nous fournit davantage d’informations pour comprendre la structure du texte obtenu. Elle peut être très utile pour reconstruire les paragraphes, identifier les titres, etc. En d’autres termes, nous avons besoin de l’analyse de la mise en page au niveau de la ligne pour la reconnaissance du texte, mais en ce qui concerne les régions, elle n’est pas nécessaire mais plutôt utile pour d’autres tâches.

9. Pourquoi avons nous besoin de l’analyse de mise en page dans le contexte de l’ATR ?

La segmentation de la ligne de texte est obligatoire dans la plupart des systèmes ATR. Sans une bonne segmentation des lignes de texte, les performances de transcription ne seront pas suffisantes car des lignes seront omises, lues dans le mauvais ordre ou décomposées en plusieurs lignes.

N’oubliez pas cependant que les progrès récents en matière d’ATR ont conduit à la création d’une reconnaissance de texte sans segmentation ainsi qu’à une reconnaissance de texte effectuée à des niveaux plus élevés que les lignes, tels que les paragraphes ou même des pages entières.

10. En quoi l’analyse de mise en page est-elle utile pour les tâches en aval ?

Les annotations de régions de texte sont utiles dans le cadre d’une numérisation et de la création d’éditions numériques. Elles permettent d’extraire des informations et de comprendre les documents. Le texte brut, par opposition au texte structuré, présente des limites pour l’extraction et le traitement des informations qu’il contient.

Si on ne structure pas le contenu en finesse, cela revient à fournir à la machine une version dégradée du document à traiter. On limite par là sa capacité à reproduire l’extraction d’informations dont nous, en tant qu’humains, serions capables. Sans informations spatiales et logiques, le contenu n’est plus qu’un texte ininterrompu sans hiérarchie, ce qui génère une perte d’information, surtout lorsqu’il s’agit de contenus très structurés tels que les textes glosés, les tableaux, les dictionnaires, etc.

L’extraction de la structure nous permet de conserver la sémantique en l’intégrant dans la mise en page. L’analyse de la mise en page est nécessaire pour accéder au niveau du texte, mais également au niveau de la page et du document.

Cela permet d’obtenir des informations sur le document lui-même, notamment pour des tâches en aval telles que :

  • Faciliter la navigation à l’intérieur d’un document transcrit,
  • Réduire la portée des requêtes,
  • Ignorer des sections,
  • Intégrer différents outils pour traiter les régions-cibles en fonction de leur catégorie et de leur contenu,
  • Ou simplement représenter la structure logique d’un document.

11. Quels logiciels intègrent l’analyse de mise en page ?

L’analyse de la mise en page est souvent intégrée dans des logiciels ATR experts comme eScriptorium ou Transkribus. Mais il existe également des outils conçus uniquement pour l’analyse de la mise en page, tels que dhsegment et LAREX. En outre, il existe des environnements conçus pour tout type d’annotation d’image, y compris l’analyse de la mise en page, comme Label Studio ou Roboflow.

L’analyse de la mise en page peut être effectuée manuellement en dessinant des bounding boxes et des lignes de texte, ou en utilisant des modèles d’apprentissage automatique formés à cette tâche.

12. Quelles sont les technologies employées par les logiciels d’analyse de mise en page ?

Un modèle de segmentation peut apprendre à séparer les lignes de texte et les régions, et à les étiqueter en fonction d’une ontologie.

Il existe généralement quatre méthodes permettant d’effectuer une analyse automatique de la mise en page :

  • Avec des réseaux neuronaux convolutifs
  • Avec des transformeurs
  • Avec des modèles de détection d’objets
  • Avec des méthodes heuristiques ou basées sur des règles.

13. Comment sauvegarder le résultat d’une analyse de mise en page ?

Il est possible de sauvegarder les résultats de l’analyse de la mise en page. Les annotations sont stockées à l’aide de normes XML spécifiques telles que ALTO XML (Analyzed Layout and Text Object (ALTO) 4.2 schema est accessible ici : https://www.loc.gov/standards/alto/news.html#4-2-released) et PAGE XML (Pletschacher and Antonacopoulos 2010).

ALTO et PAGE ont leurs propres systèmes qui visent à stocker les détails de la mise en page des documents segmentés en association avec le texte résultant de la reconnaissance automatique. Ils travaillent au niveau de l’image. Les fichiers d’annotation sont générés automatiquement par le logiciel ATR.

Examinons de plus près le format XML ALTO avec les annotations que nous avons faites précédemment.

Ici, nous avons une zone de texte entière représentée dans le format ALTO : le titre du poème. Tout d’abord, nous avons l’élément <textBlock>, avec divers attributs. Les trois premiers sont des indications sur sa position dans l’image. Il possède également un attribut ID et un attribut TAGREFS. Ce dernier est important car c’est là que son étiquette est stockée. Les étiquettes sont indiquées dans l’élément <Tags> :

Le label TitlePageZone a l’ID BT5041. La valeur de l’attribut TAGREFS a la même ID, ce qui signifie que le <textBlock> est en effet la zone de la page de titre.

Nous avons également l’élément correspondant à la zone de texte annotée. Ensuite, nous avons la ligne de texte elle-même, ici après sa transcription. L’élément <TextLine> capture toutes les informations de coordonnées, en plus de donner un identifiant (ID) à la ligne de base. Ensuite, nous retrouvons à nouveau l’élément <Shape>, qui correspond maintenant aux coordonnées du masque de la ligne de base. Enfin, nous avons l’élément <String>, qui contient des attributs liés aux coordonnées de la ligne de base, et son contenu obtenu après la transcription, avec l’attribut CONTENT.

Examinons maintenant de plus près le format PAGE XML :

Ici, un élément <TextRegion> stocke le label de la région de texte et un ID. Ensuite, l’élément <Coords> imbriqué à l’intérieur fournit des informations sur les coordonnées de la boîte englobante. Ensuite, nous avons l’élément <TextLine>, qui stocke également un élément <Coords>, correspondant au masque de la ligne de base, et un élément <Baseline>, qui est la ligne de base elle-même. L’élément <TextEquiv> est utilisé pour stocker le nœud de texte obtenu après la transcription.

C’est à vous de choisir le format avec lequel vous préférez travailler. Mais sachez que le format ALTO XML est plus largement utilisé que le format PAGE XML. Même XML TEI peut être utilisée pour stocker des informations sur la mise en page. Choisissez donc le format qui convient le mieux à vos objectifs, selon qu’il s’agit de créer un ensemble de données, des éditions numériques, ou autre.

14. Résumons tout cela !

Annotation manuelle :

  1. Vous avez un corpus que vous devez segmenter avant de transcrire.
  2. Vous importez votre corpus dans un logiciel ATR.
  3. Votre corpus est petit et peut être annoté manuellement.
  4. Vous n’avez pas besoin d’annoter les régions de texte :
    1. Vous annotez les lignes de texte.
    2. Décidez de l’ontologie que vous utiliserez pour étiqueter les régions de texte.
    3. Étiquetez vos lignes de texte.
    4. Transcrivez les lignes de texte.
    5. Et vous pouvez ensuite exporter vos données au format ALTO XML ou PAGE XML
  5. OU vous voulez annoter les régions de texte :
    1. Vous annotez les régions de texte et les lignes de texte
    2. Décidez de l’ontologie que vous utiliserez pour étiqueter les régions de texte.
    3. Étiquetez vos lignes de texte et vos régions de texte.
    4. Transcrivez les lignes de texte.
    5. Et vous pouvez ensuite exporter vos données au format ALTO XML ou PAGE XML.

Annotation automatique :

  1. Vous avez un corpus que vous devez segmenter avant de le transcrire.
  2. Vous importez votre corpus dans un logiciel ATR.
  3. Votre corpus est trop volumineux, vous pouvez utiliser un modèle pour l’annoter.
  4. Vous n’avez pas besoin d’annoter les régions de texte.
    1. Vous pouvez utiliser un modèle de segmentation pour segmenter les lignes de texte.
    2. Décidez de l’ontologie que vous utiliserez pour étiqueter les régions de texte.
    3. Si les lignes de texte segmentées ne sont pas suffisamment bonnes, vous pouvez les corriger et re-entraîner un nouveau modèle avec ces nouveaux exemples comme données d’entraînement.
    4. Étiquetez vos lignes de texte et re-entraînez un modèle avec des exemples pour que le modèle apprenne à classifier les lignes de texte et les régions de texte.
    5. Ensuite, vous pouvez transcrire les lignes de texte segmentées.
    6. Et vous pouvez les exporter au format ALTO XML ou PAGE XML.
  5. OU si vous souhaitez annoter les régions de texte :
    1. Vous pouvez utiliser un modèle de segmentation pour segmenter les lignes de texte et les régions de texte.
    2. Si les lignes de texte segmentées et/ou les régions de texte ne sont pas suffisamment bonnes, vous pouvez corriger les données et entraîner un nouveau modèle avec celles-ci.
    3. Étiquetez vos lignes de texte et re-entraînez un modèle avec des exemples pour que le modèle apprenne à classifier les lignes de texte et les régions de texte.
    4. Ensuite, vous pouvez transcrire les lignes de texte segmentées.
    5. Et vous pouvez les exporter au format ALTO XML ou PAGE XML.

Et maintenant, passons à l’étape 5 : la reconnaissance de texte et correction post-ATR !

Références

Coquenet, Denis, Clément Chatelain, and Thierry Paquet. 2023. “DAN: A Segmentation-Free Document Attention Network for Handwritten Document Recognition.” IEEE Transactions on Pattern Analysis and Machine Intelligence 1–17. doi: 10.1109/TPAMI.2023.3235826.

Pletschacher, Stefan, and Apostolos Antonacopoulos. 2010. “The PAGE (Page Analysis and Ground-Truth Elements) Format Framework.” Pp. 257–60 in 2010 20th International Conference on Pattern Recognition. Istanbul, Turkey: IEEE.

Scheithauer, Hugo, Alix Chagué, and Laurent Romary. 2022. “Which TEI Representation for the Output of Automatic Transcriptions and Their Metadata? An Illustrated Proposition.


Citer cet article : Alix Chagué, Hugo Scheithauer, “ATR étape 4 : Analyse de mise en page”. In: Anne Baillot, Mareike König (ed.): Automatic Text Recognition. Harmonising ATR Workflows, 10.05.2024, https://harmoniseatr.hypotheses.org/3487.

  1. Guillaume Apollinaire, Le Pont Mirabeau, ca. 1912, Bibliothèque nationale de France (BnF). https://gallica.bnf.fr/ark:/12148/btv1b525056707/f33/ []

OpenEdition suggests that you cite this post as follows:
Hugo Scheithauer (May 10, 2024). ATR étape 4 : analyse de mise en page. Automatic Text Recognition. Retrieved July 13, 2024 from https://doi.org/10.58079/11nrs


You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Search OpenEdition Search

You will be redirected to OpenEdition Search