Ressources numériques en sciences humaines et sociales OpenEdition Nos plateformes OpenEdition Books OpenEdition Journals Hypothèses Calenda Bibliothèques OpenEdition Freemium Suivez-nous

Cahier de laboratoire : Publication d’un modèle de HTR TrOCR – Manicule – Latin 2026

Modèle de reconnaissance de texte manuscrit (HTR) basé sur microsoft/trocr-base-handwritten, affiné sur des lignes de manuscrits médiévaux (latin et ancien français).

Ce modèle permet de transcrire des lignes de texte manuscrit issues de documents historiques, tels que des actes notariés, cartulaires, registres ou manuscrits de la fin du Moyen Âge. 


Download

Le modèle est mis à disposition sur la plateforme Hugging-Face

Pour citer ce modèle

@misc{pierre_brochard_(https://orcid.org/0000-0003-1955-556x)_2026, author = { Pierre Brochard (https://orcid.org/0000-0003-1955-556X) }, title = { TrOCR_Manicule_2026_Latin_Medieval (Revision 08e146d) }, year = 2026, url = { https://huggingface.co/LaMOP/TrOCR_Manicule_2026_Latin_Medieval }, doi = { 10.57967/hf/10359 }, publisher = { Hugging Face } }

Utilisation

Voici un exemple de code pour utiliser ce modèle avec la bibliothèque transformers de Hugging Face :

import torch
from PIL import Image
from transformers import TrOCRProcessor, VisionEncoderDecoderModel

# Identifiant du modèle sur Hugging Face Hub
model_id = "LaMOP/TrOCR_Manicule_2026_Latin_Medieval"

# Chargement du processeur et du modèle
processor = TrOCRProcessor.from_pretrained(model_id)
model = VisionEncoderDecoderModel.from_pretrained(model_id)

# Déplacement du modèle sur GPU si disponible, sinon CPU
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
model.eval() # Mode évaluation (désactive le dropout et le batch norm)

# Chargement et prétraitement de l'image
image = Image.open("line.png").convert("RGB") # L'image doit contenir une ligne de texte manuscrit
pixel_values = processor(images=image, return_tensors="pt").pixel_values.to(device)

# Inférence
with torch.inference_mode(): # Désactive le calcul des gradients pour l'inférence
generated_ids = model.generate(pixel_values, max_new_tokens=128)

# Décodage de la sortie
text = processor.batch_decode(
generated_ids,
skip_special_tokens=True,
clean_up_tokenization_spaces=False,
)[0].strip()

print("Texte transcrit :", text)


Détails techniques

Élement Description
Modèle de base microsoft/trocr-base-handwritten
Architecture TrOCR (encodeur visuel ViT + décodeur RoBERTa)
Résolution d’entrée 384 × 384 pixels (redimensionnement automatique si nécessaire)
Frameworks PyTorch, Hugging Face Transformers
Inférence Accélération CUDA (GPU) si disponible, sinon CPU
Langues supportées Latin médiéval, ancien français
Cas d’usage Transcription de lignes isolées (pas de pages complètes)

Licence

MIT – Ce modèle est ouvert et peut être utilisé librement, sous réserve de citer les sources et de respecter les conditions de la licence.


Remerciements

Nous remercions l’Institut Jacques Monod pour avoir fourni les ressources de calcul et de traitement des données nécessaires à la réalisation de ce travail. 


À noter

  • Ce modèle est optimisé pour des lignes de texte et non pour des documents entiers. Pour traiter un document complet, il est recommandé de le découper en lignes avant l’inférence.
  • Les performances peuvent varier selon la qualité de l’image (contraste, résolution, netteté)


OpenEdition vous propose de citer ce billet de la manière suivante :
_ (11 septembre 2026). Cahier de laboratoire : Publication d’un modèle de HTR TrOCR – Manicule – Latin 2026. Les carnets du LaMOP. Consulté le 10 octobre 2026 à l’adresse https://doi.org/10.58079/16re6


Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

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