Tous les Projets
Vision par OrdinateurNLP

Reconnaissance de Noms Manuscrits

Benchmark OCR sur 66K images. TrOCR (ViT+GPT-2, 334M) meilleur : CER=0,0481, 80% de correspondance exacte. CRNN-ResNet34 : CER=0,0502. Optimisations AMP + torch.compile + accumulation de gradients.

0.0481
TrOCR CER
80%
Exact-Match Accuracy
0.0502
CRNN-ResNet34 CER
334M
TrOCR params
Jeu de Données

66K images d'écriture manuscrite, 64×256px, vocabulaire de 44 caractères

Approche

Variantes CRNN (CNN+BiLSTM+CTC) vs TrOCR (ViT+GPT2) avec AMP + torch.compile

Stack Technique
PythonPyTorchTrOCR (HuggingFace)CRNNResNet34BiLSTMCTC
Mots-clés
TrOCRCRNNCTC LossBiLSTMResNet34OCRHuggingFace
Visualisations4 Graphiques
Analyse Approfondie

Comparaison multi-modèles OCR pour la reconnaissance de noms manuscrits non contraints.

Jeu de données

  • 66K entraînement / 8,2K validation / 41K test (niveaux de gris 64×256)
  • Vocabulaire de 44 caractères (alphanumérique + caractères spéciaux)
  • Sous-ensemble de 20% utilisé pour les expériences

Comparaison des Architectures

ModèleCER ↓Correspondance ExacteVitesse
CRNN-EfficientNet0,1235Plus rapide
CRNN-ResNet18~105s/ép.
CRNN-ResNet340,0502~251s/ép.
TrOCR0,048180%34,9 min total

CRNN (CNN + BiLSTM + CTC)

Backbone ResNet34 → BiLSTM(2×256) → Perte CTC
→ Décodage glouton / Beam search (4 faisceaux)

TrOCR (ViT + GPT-2, 334M paramètres) Fine-tuné via HuggingFace Trainer, 10 époques, sous-ensemble 20%.

Optimisations d'Entraînement

TechniqueImpact
Précision mixte (AMP)2× accélération, -50% mémoire
torch.compile+30% accélération
Accumulation de gradients (4 étapes)-75% mémoire de batch effective
Cache d'images (memmap 1 Go)3× vitesse de chargement

CER vs Correspondance Exacte CER=0,0481 traduit par 80% de précision de correspondance exacte — le nom complet doit correspondre caractère par caractère. Même un seul caractère erroné compte comme un échec, raison pour laquelle la correspondance exacte est bien inférieure à ce que suggère le CER.