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-FacePour 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 torchfrom PIL import Imagefrom transformers import TrOCRProcessor, VisionEncoderDecoderModel
# Identifiant du modèle sur Hugging Face Hubmodel_id = "LaMOP/TrOCR_Manicule_2026_Latin_Medieval"
# Chargement du processeur et du modèleprocessor = TrOCRProcessor.from_pretrained(model_id)model = VisionEncoderDecoderModel.from_pretrained(model_id)
# Déplacement du modèle sur GPU si disponible, sinon CPUdevice = 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'imageimage = Image.open("line.png").convert("RGB") # L'image doit contenir une ligne de texte manuscritpixel_values = processor(images=image, return_tensors="pt").pixel_values.to(device)
# Inférencewith torch.inference_mode(): # Désactive le calcul des gradients pour l'inférencegenerated_ids = model.generate(pixel_values, max_new_tokens=128)
# Décodage de la sortietext = 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


