# Atelier HTR : eScriptorium

Ariane Pinche

► To cite this version:

Ariane Pinche. Atelier HTR : eScriptorium. Master. Université d'Avignon, France. 2023. [hal-04309133](https://hal.science/hal-04309133v1)

HAL Id: hal-04309133

https://hal.science/hal-04309133v1

Submitted on 27 Nov 2023

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
# Atelier HTR : eScriptorium

Ariane Pinche ¹

¹CNRS, ²CIHAM ■ UMR 5648

30 novembre 2023, Université d'Avignon

<figure><img src="image_2.png" /></figure>
# Table of Contents

1 ATR : définition

2 Les étapes de l'HTR

3 Présentation de Kraken et eScriptorium

4 Pour aller plus loin...

5 Références

<figure><img src="image_3.png" /></figure>
# Qu'est-que l'ATR ?

<figure><img src="image_4.png" /><figcaption>Figure: Prédiction HTR</figcaption></figure>

* Prédiction d'un contenu texte

* à partir d'une image de la source par une

* intelligence artificielle (deep learning) entraînée par un humain

* dans un processus alternant

* phases d'interventions humaines

* et phases de calcul

<figure><img src="image_5.png" /></figure>
* Pour accélérer la phase d'acquisition du texte. La prédiction peut servir :

* de base à une édition : niveau de précision haut, supérieur à 95 % d'accuracy

* à de la mise à disposition de texte brut : niveau de précision moyen, entre 90 % et 95 %

* de base à des analyses quantitatives : niveau de précision faible, supérieur à 80 % (voir EDER, Maciej, « Mind your corpus: systematic errors in authorship attribution », *Literary and Linguistic Computing*, vol. 28 / 4, décembre 2013, p. 603-614.)

<figure><img src="image_6.png" /></figure>
# Table of Contents

1. ATR : définition

2. Les étapes de l'HTR

3. Présentation de Kraken et eScriptorium

4. Pour aller plus loin...

5. Références

<figure><img src="image_7.png" /></figure>
* Chargement des images

* Chargement d'une collection d'image en JPG ou tif en local

* Chargement depuis un manifeste iiif (e.g collections issues de Gallica ou de e-Codices)

* Traitement des images (facultatif)

* résolution 300dpi

* couleur ou niveau de gris

* possible binarisation pour réduire le bruit

* imagerie multispectrale (dans le cas de documents très abimés)

<figure><img src="image_8.png" /></figure>
* Segmentation des zones de l'image

<figure><img src="image_9.png" /><figcaption>Figure: Bnf, fr. 412, fol.10r</figcaption></figure>

<figure><img src="image_10.png" /></figure>
* Segmentation des lignes contenant du texte

<figure><img src="image_11.png" /><figcaption>Figure: Bnf, fr. 1728, fol.8v</figcaption></figure>

<figure><img src="image_12.png" /></figure>
# Les étapes de l'HTR

## • Prédiction du texte qui se trouve sur l'image

<figure><img src="image_13.png" /></figure>

1. ucones gant se pront p
2. qut ke fe
3. Aucuns beauches dix et
4. qut ke lour enpy
5. Et de ditter dient que
6. A
7. Ma bauke seuf tout le pas se le ne saunye
8. lay le grace
9. False beauches dix et ne bens, ma bauke toudoupt
10. Puu que pere men ont de ke lour bate
11. Parle y et prenyt combien auquell ouye
12. Pour acomplir ke lour bounne udouerte
13. Ma l in ay pas seijant ne espace
14. De fe dix, de seujes ne de loye
15. Car se duolour quu toules aduces seise
16. Man seintoury ouydo du tout drouyse
17. Ma l gant duol quu ke lour mors seuye
18. Puu tlen parler asse et sappente
19. Quoy dlay udouerte seuf plus feulye
20. 6209
21. Pour acomplir ke lour bounne udouerte
22. Et qut udouerte seuf pouuruyse effice
23. Dout tout men tien, udouerte seuf duoye
24. Ce fe l bont ay fel tien sames merce
25. Celluit de qui restost mon tien auyse
26. Laquele mort nui pui met en uoye
27. Desepeor ne puu ke lour sante
28. De ke fenyes dix quu qoun men poyte
29. Pour acomplir ke lour bounne udouerte
30. Princes preont en gie se faillaye
31. Car ke ditter ke lour hert
32. Ma l mert men ont gie 16 houtyse
33. Pour acomplir ke lour bounne udouerte
34. U temps telle en ke cité de l'ome
35. O
36. U
37. Ung en yst. Tel fu que quant il n'ome
38. Orem l'omeine mait nolit 1 tel usage

Figure: Bnf, fr. 12779, fol.9r

<figure><img src="image_14.png" /></figure>
## Export des données (txt, alto, page)

```xml
<Layout>
    <Page WIDTH="4648" HEIGHT="3407" PHYSICALImg HR="8" ID="e5c.dummypage">.
        <PrintSpace HPOS="0" VPOS="0" WIDTH="4648" HEIGHT="3407"/>
    </Page>
    <TextBlock HPOS="693" VPOS="321" WIDTH="1701" HEIGHT="2451" ID="e5c.textblock_0809F915" TAGREFS="BT3852">
        <Shape>
            <Polygon
                POINTS="693 413 693 2772 2394 2772 2254 321"/>
        </Shape>
    </TextBlock>
    <Textline ID="e5c_line_d939506F" TAGREFS="LT1299" BASELINE="746 476 2143 428" HPOS="743" VPOS="352" WIDTH="1400" HEIGHT="156">
        <Shape>
            <Polygon
                POINTS="2078 388 2050 388 2821 386 1993 383 1964 383 1936 380 1908 377 1876 374 1848 374 1820 371 1811"
        </Shape>
        <String>
            CONTENT="fors de la uille. Tant fut lassault merveilleux et"
            HPOS="743" VPOS="352" WIDTH="1400" HEIGHT="156"/>
        </String>
    </Textline>
```

Figure: Exemple de fichier Alto
# Table of Contents

1 ATR : définition

2 Les étapes de l'HTR

3 Présentation de Kraken et eScriptorium

4 Pour aller plus loin...

5 Références

<figure><img src="image_15.png" /></figure>
<figure><img src="image_16.png" /></figure>

## Kraken

* Outil d'analyse de mise en page et d'HTR

* fondé sur de l'apprentissage profond

* développé par Ben Kiessling dans le projet Scripta (PSL);

* Module Python, https://github.com/mittagessen/kraken;

* Doc: https://kraken.re/master/index.html

* Il peut être utilisé directement en ligne de commande ou via l'interface d'eScriptorium

<figure><img src="image_17.png" /></figure>
## eScriptorium

* logiciel libre qui permet de segmenter un document, de détecter les lignes, de transcrire, d'entraîner un modèle HTR et de l'appliquer à ses sources

* développé dans le cadre du projet Scripta (PSL);

* se branche sur Kraken pour l'analyse de mise en page et HTR;

* nécessite d'être déployé sur un serveur par une institution;

* Code: https://gitlab.inria.fr/scripta/escriptorium;

* Video demos: https://escripta.hypotheses.org/escriptorium-video-gallery.

* Tutoriel en ligne https://openiti.org/assets/documents/escriptorium-Tutorial.pdf

<figure><img src="image_18.png" /></figure>
Utiliser eScriptorium nécessite :

* D'ouvrir un compte sur une instance d'eScriptorium ou d'installer une instance locale d'eScriptorium

* D'avoir accès aux fichiers images de ses sources : des fichiers locaux ou téléchargés directement depuis un site institutionnel en utilisant un manifeste IIIF :
  https://gallica.bnf.fr/iiif/ark:/12148/btv1b84259980/manifest.json

<figure><img src="image_19.png" /></figure>
<figure><img src="image_20.png" /><figcaption>Figure: Interface d'eScriptorium</figcaption></figure>

<figure><img src="image_21.png" /></figure>
eScriptorium est une interface web qui permet :

* de segmenter la page d'un document (zones et lignes)

* de transcrire des documents

* d'entraîner un modèle HTR

* d'appliquer un modèle de HTR ou de segmentation à un document

<figure><img src="image_22.png" /></figure>
<figure><img src="image_23.png" /><figcaption>Figure: Segmentation et transcription d'un document à l'aide d'eScriptorium</figcaption></figure>

<figure><img src="image_24.png" /></figure>
1 S'identifier sur le serveur: https://traces6.paris.inria.fr

► login : apinche_formation - mdp : training1234

2 Créer un nouveau projet, puis un nouveau document

3 Importer des images en JPEG

► Télécharger depuis Gallica 2 images :

★ Bibliothèque nationale de France. Département des Manuscrits. NAF 23686, (Vies de saint en français, https://gallica.bnf.fr/ark:/12148/btv1b8446925z)

★ Bibliothèque nationale de France. Département des Manuscrits, NAL 775 (latin, legenda aurea), https://gallica.bnf.fr/ark:/12148/btv1b52509205f/f5.item

★ Bibliothèque municipale de Metz. Ms. 399vhhttps://gallica.bnf.fr/ark:/12148/btv1b10557035g/f5.item

★ Bibliothèque nationale de France. Département des Manuscrits. Latin 5335 (latin, Vita Sancti Martini), https://gallica.bnf.fr/ark:/12148/btv1b8529515t/f14.item

★ Bibliothèque nationale de France. Département Arts du spectacle, RESERVE 4-RF-87512 (latin, legenda aurea), https://gallica.bnf.fr/ark:/12148/bpt6k1281158q
Exercice : Testaments de Poilus

* S'identifier sur le serveur: https://escriptorium.inria.fr

► login : apinche_formation - mdp : training1234

* Ouvrir un nouveau projet

* Charger les images de votre choix, parmi le corpus de testament de Poilus : https://github.com/HTR-United/CREMMA-AN-TestamentDePoilus

* Appliquer des modèles de transcription et choisir le plus adapté.

* Établissez vos normes de transcription pour la constitution d'un corpus d'entraînement

* Faites les corrections nécessaires

<figure><img src="image_25.png" /></figure>
Exercice : Légendier de saint Pétersbourg

1 S'identifier sur le serveur : https://escriptorium.inria.fr

► login : apinche_formation - mdp : training1234

2 Ouvrir un nouveau projet, créer un nouveau document

3 Téléchargez deux images de votre choix à l'adresse suivante :
https://gallica.bnf.fr/ark:/12148/btv1b8446925z

4 Appliquer des modèles de transcription et choisir le plus adapté.

5 Établissez vos normes de transcription pour la constitution d'un corpus d'entraînement

6 Faites les corrections nécessaires.

► L'édition de la *Vie de saint Benoit* est disponible au lien suivant :
https://scd-resnum.univ-lyon3.fr/out/theses/2021_out PINCHE_a.pdf (p.494).

► Un clavier avec les principaux caractères spéciaux du français médiéval est disponible au lien suivant : https://github.com/HTR-United/cremma-medieval/blob/main/CremmaLab.json

<figure><img src="image_26.png" /></figure>
# Table of Contents

1. ATR : définition

2. Les étapes de l'HTR

3. Présentation de Kraken et eScriptorium

4. Pour aller plus loin...

5. Références

<figure><img src="image_27.png" /></figure>
1. Installer une instance eScriptorium:

https://gitlab.com/scripta/escriptorium/ - Video sur le sujet : https://www.canal-u.tv/chaines/enc/21-fondue-a-lightweight-htr-infrastructure-for-geneva

2. Utiliser Kraken en ligne de commande :

https://github.com/mittagessen/kraken

* ketos train -r 0.0001 -lag 20 -s '[1,120,0,1 Cr3,13,32 Do0.1,2 Mp2,2 Cr3,13,32 Do0.1,2 Mp2,2 Cr3,9,64 Do0.1,2 Mp2,2 Cr3,9,64 Do0.1,2 S1(1x0)1,3 Lbx200 Do0.1,2 Lbx200 Do1,2 Lbx200 Do1]' -augment -device cuda:0 -preload -f alto -e val.txt -t train.txt —batch-size 16 -u NFC -o modelCremma-Medieval

3. Améliorer l'analyse de la mise en page en entraînant un modèle avec YALTAI : https://github.com/PonteIneptique/YALTAI, CLÉRICE, Thibault, « You Actually Look Twice At it (YALTAi): using an object detection approach instead of region segmentation within the Kraken engine », 2022, [En ligne : https://hal-enc.archives-ouvertes.fr/hal-03723208].
# Table of Contents

1 ATR : définition

2 Les étapes de l'HTR

3 Présentation de Kraken et eScriptorium

4 Pour aller plus loin...

5 Références

<figure><img src="image_28.png" /></figure>
CHAGUÉ, Alix, CLÉRICE, Thibault et CHIFFLEAU, Floriane. *HTR-United, a centralization effort of HTR and OCR ground-truth repositories mainly for French languages*. 2021. [En ligne: https://htr-united.github.io/index.html].

Thibault Clérice, « You Actually Look Twice At it (YALTAI): using an object detection approach instead of region recognition within the Kraken engine », 2022. // CLERICE, Thibault et PINCHE, Ariane, Choco-Mufin, a tool for controlling characters used in OCR and HTR projects, 2021, [En ligne: https://github.com/Pontelneptuechoco-mufin].

CLÉRICE, Thibault et PINCHE, Ariane, HTRVX, HTR Validation with XSD, 2021, [En ligne: https://github.com/HTR-United/HTRVX].

GABAY, Simon, CAMPS, Jean-Baptiste, PINCHE, Ariane, [et al.], « SegmOnto: common vocabulary and practices for analysing the layout of manuscripts (and more) », *16th International Conference on Document Analysis and Recognition (ICDAR 2021)*, Lausanne, Switzerland, 2021, [En ligne: https://hal.archives-ouvertes.fr/hal-03336528].

GABAY, Simon, PINCHE, Ariane, LEROY, Noé, [et al.], « Données HTR incunables du 15e siècle », éds. Alix Chagué et Thibault Clérice, *HTR United*, 2022 [En ligne: https://github.com/Gallicorpora/HTR-incunable-15e-siecle].

HODEL, Tobias, SCHOCH, David, SCHNEIDER, Christa, [et al.], « General Models for Handwritten Text Recognition: Feasibility and State-of-the Art. German Current as an Example », Journal of Open Humanities Data, vol. 7 / 0, Ubiquity Press, juillet 2021, p. 13.

KIESSLING, B., TISSOT, R., STOKES, P., [et al.], « EScriptorium: An Open Source Platform for Historical Document Analysis », *2019 International Conference on Document Analysis and Recognition Workshops (ICDARW)*, vol. 2, 2019, p. 19-19.

PINCHE, Ariane, « CREMMA Medieval, an Old French dataset for HTR and segmentation », éds. Alix Chagué et Thibault Clérice, *HTR United*, 2021, [En ligne: https://github.com/HTR-United/cremma-medieval].

PINCHE, Ariane, CREMMALAB / Constitution de corpus en ancien français pour l'HTR, 2022, [En ligne: https://cremmalab.hypotheses.org/].

WILLS, Tarrin, « The Medieval Unicode Font Initiative », *Medieval Unicode Font Initiative*, février 2016, [En ligne: https://skalcid.org//m.php].

<figure><img src="image_29.png" /></figure>