TrOCR French Handwriting V5 - Expert Vision & Robustesse

Modèle TrOCR fine-tuné pour la reconnaissance de texte manuscrit français avec stratégie "Expert Vision & Robustesse" - Transfer Learning depuis V4.

📋 Description

Ce modèle est une version fine-tunée de microsoft/trocr-base-handwritten spécialement optimisée pour la reconnaissance de texte manuscrit français. La version V5 implémente une stratégie "Expert Vision & Robustesse" avec transfer learning depuis V4, augmentations "Hard" (ombres, grain, salt & pepper, flou de mouvement, warping) et gel du décodeur pour éviter les hallucinations.

Caractéristiques principales

  • Base: Transfer Learning depuis V4 (checkpoint-7250)
  • Dataset: RIMES-2011-line + données custom (oversampling x3)
  • Stratégie: Augmentations "Hard" + gel du décodeur + grayscale
  • Objectif: Robustesse maximale aux dégradations physiques (ombres, grain, courbure)

🎯 Performance

  • Best Eval Loss: 2.1727

Métriques de Performance (Validation Set)

  • CER (Character Error Rate): 0.20%
  • WER (Word Error Rate): 1.04%

🚀 Utilisation

Installation

pip install transformers torch pillow

Code d'exemple

from transformers import TrOCRProcessor, VisionEncoderDecoderModel
from PIL import Image

# Charger le modèle et le processeur
processor = TrOCRProcessor.from_pretrained("dj0w/trocr-french-handwriting-v5")
model = VisionEncoderDecoderModel.from_pretrained("dj0w/trocr-french-handwriting-v5")

# Charger une image
image = Image.open("path/to/handwritten_text.png").convert("RGB")

# Prétraiter et générer
pixel_values = processor(image, return_tensors="pt").pixel_values
generated_ids = model.generate(pixel_values, max_length=256, num_beams=5)
generated_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]

print(generated_text)

Paramètres de génération recommandés

generate_kwargs = {
    'max_length': 256,
    'num_beams': 5,
    'early_stopping': True,
    'no_repeat_ngram_size': 3,
    'length_penalty': 1.0,
    'repetition_penalty': 1.5,
}

📊 Entraînement

Hyperparamètres V5

  • Learning Rate: 1e-5 (fine-tuning depuis V4)
  • Label Smoothing: 0.1
  • Weight Decay: 0.05
  • Batch Size: 4 (effectif 16 avec gradient accumulation)
  • Epochs: 15 (avec Early Stopping, patience=3)
  • Early Stopping: Patience 3, threshold 0.005

Augmentations de données (Hard)

  • Grille Seyès réaliste (70%)
  • Ombres portées (30%)
  • Grain et bruit (25%)
  • Salt & Pepper (20%)
  • Flou de mouvement (15%)
  • Warping/courbure (15%)
  • Encre qui bave (30%)
  • Cutout (15%)
  • Flou léger (20%)
  • Conversion en niveaux de gris (toujours)

Dataset

  • Train: ~10,000 images RIMES + 5,700 images custom (oversampling x3)
  • Validation: ~1,000 images RIMES
  • Ratio RIMES/Custom: ~1.75:1

⚠️ Limitations

  • Optimisé pour le texte manuscrit français
  • Performance variable selon la qualité de l'image
  • Décodeur gelé : ne peut pas apprendre de nouvelles phrases, mais évite les hallucinations

📚 Références

📝 Citation

@misc{trocr-french-handwriting-v5,
  title={TrOCR French Handwriting V5 - Expert Vision & Robustesse},
  author={dj0w},
  year={2025},
  publisher={Hugging Face},
  howpublished={\url{https://huggingface.co/dj0w/trocr-french-handwriting-v5}}
}

📄 Licence

MIT License

Downloads last month
109
Safetensors
Model size
0.3B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for dj0w/trocr-french-handwriting-v5