Retour au Laboratoire

OCR & Extraction Documentaire

Recherche sur les techniques d'OCR avancé et d'extraction de données depuis des documents complexes.

2026-06Recherche

Introduction

L'extraction automatisée de données depuis des documents complexes constitue l'un des défis les plus persistants du traitement documentaire. Factures aux formats hétérogènes, contrats juridiques denses, formulaires administratifs, rapports techniques, documents manuscrits — la variété des supports, des mises en page et des qualités de numérisation rend chaque document unique. Les solutions OCR traditionnelles, conçues pour du texte noir sur fond blanc bien formaté, échouent face à cette diversité. Ce projet de recherche explore une nouvelle génération de pipelines OCR où la vision par ordinateur, la compréhension de layout et les modèles de langage se combinent pour atteindre des taux de précision inaccessibles aux approches classiques.

Moteurs OCR

L'écosystème des moteurs OCR a connu une transformation radicale au cours des dernières années. Tesseract, longtemps la référence open source, a posé les fondations avec son architecture LSTM entraînée sur des centaines de langues. PaddleOCR, développé par Baidu, a introduit une approche modulaire découplant détection et reconnaissance, avec des modèles spécialisés par type de texte. EasyOCR a démocratisé l'accès à l'OCR avec son API simple et sa prise en charge de plus de 80 langues. Ces trois moteurs offrent des compromis différents entre précision, rapidité, couverture linguistique et facilité d'intégration, et leur évaluation systématique sur des corpus métier est un prérequis pour la conception d'un pipeline fiable.

Tesseract reste le moteur OCR le plus déployé dans les projets open source. Son évolution de Tesseract 3 (basé sur des modèles de caractères) à Tesseract 4/5 (basé sur LSTM) a considérablement amélioré la qualité de reconnaissance. Tesseract excelle sur les documents imprimés bien formatés avec un contraste élevé. Sa force réside dans sa maturité : des décennies d'optimisation, une large communauté, des bindings dans tous les langages. Ses faiblesses sont connues : difficulté avec les mises en page complexes (tableaux, colonnes, zones de texte imbriquées), sensibilité au bruit et à l'inclinaison, et une gestion limitée des écritures manuscrites. L'intégration de Tesseract dans un pipeline moderne nécessite un prétraitement d'image soigné et une configuration fine des paramètres de segmentation de page.

PaddleOCR représente une avancée significative dans l'architecture des moteurs OCR. Contrairement à Tesseract qui traite la détection et la reconnaissance comme des étapes séparées mais rigides, PaddleOCR propose un framework modulaire où chaque composant — détection de boîtes de texte, reconnaissance de caractères, classification de l'orientation — peut être remplacé, fine-tuné ou optimisé indépendamment. Le modèle de détection s'appuie sur DB (Differentiable Binarization) pour localiser précisément les zones de texte, y compris celles inclinées ou incurvées. Le modèle de reconnaissance utilise un encodeur CRNN (Convolutional Recurrent Neural Network) avec un mécanisme d'attention pour la transcription. PaddleOCR se distingue par sa précision sur les documents multilingues et les textes de petite taille, surpassant régulièrement Tesseract sur des benchmarks. Sa force est aussi sa faiblesse : la modularité accrue complexifie le déploiement et la configuration.

EasyOCR se positionne comme l'alternative la plus accessible. Sa philosophie est simple : une API uniforme pour tous les modèles, une installation en une commande, une prise en charge de 80+ langues sans configuration. Sous le capot, EasyOCR utilise un détecteur CRAFT (Character Region Awareness for Text Detection) combiné à un reconnaisseur CRNN, le tout pré-entraîné sur un large corpus multilingue. EasyOCR est particulièrement efficace pour les textes de taille moyenne à grande et les documents bien contrastés. Sa performance sur les textes minuscules ou les documents dégradés est inférieure à celle de PaddleOCR. EasyOCR brille par sa simplicité d'utilisation et sa communauté active, ce qui en fait un excellent choix pour le prototypage rapide et les projets avec des contraintes de temps de développement.

La limitation fondamentale des moteurs OCR traditionnels est leur incapacité à comprendre la structure sémantique d'un document. Reconnaître les caractères ne suffit pas : il faut comprendre qu'une zone de texte est un titre, une autre est un tableau, une troisième est une signature. C'est là qu'intervient LayoutLM, un modèle de la famille Transformer spécifiquement conçu pour la compréhension de documents. LayoutLM intègre dans son architecture les informations visuelles (position des mots, taille, police), textuelles (le contenu reconnu) et de layout (relations spatiales entre les éléments). En combinant ces trois modalités, LayoutLM peut classifier les zones d'un document avec une précision inégalée : identifier les en-têtes, les lignes de tableau, les champs de formulaire, les notes de bas de page. Le modèle est pré-entraîné sur des millions de documents et peut être fine-tuné sur des types de documents spécifiques avec un nombre réduit d'exemples.

Le prétraitement d'image est une étape souvent sous-estimée pourtant déterminante dans la qualité finale de l'extraction. Un document numérisé présente presque systématiquement des défauts : inclinaison (skew) due à une numérisation manuelle, bruit de fond du papier ou du scanner, variations de luminosité, texture du support, transparence au verso, plis et taches. Chaque défaut dégrade la performance des modèles de détection et de reconnaissance. Le projet explore une chaîne de prétraitement systématique via OpenCV : correction de l'inclinaison par transformée de Hough et rotation affine, débruitage par filtrage non-local means et ouverture morphologique, binarisation adaptative (Otsu, Sauvola) pour séparer le texte du fond, normalisation du contraste par CLAHE (Contrast Limited Adaptive Histogram Equalization), et redimensionnement à une résolution standard. Chaque étape est paramétrable et évaluée indépendamment sur le corpus de test.

Post-traitement LLM

Le post-traitement par LLM (Large Language Model) constitue l'innovation majeure de ce projet. Même le meilleur moteur OCR produit des erreurs : confusion entre des caractères visuellement proches (O/0, l/1/I, rn/m), mauvaise interprétation de polices ornementales, textes fondus dans des images d'arrière-plan, zones de texte superposées. Un LLM comme Mistral, fine-tuné sur des paires texte OCRisé / texte corrigé, peut corriger ces erreurs avec un taux de succès impressionnant. Le processus est le suivant : le texte brut issu de l'OCR est envoyé au LLM avec un prompt structuré qui demande une correction orthographique et typographique sans modification du contenu sémantique. Le LLM identifie les incohérences, les mots impossibles, les formats de date ou de nombre aberrants, et propose des corrections contextualisées. Cette approche réduit le taux d'erreur résiduel de 30 à 60 % selon les corpus, avec un impact particulièrement fort sur les documents dégradés.

Défis Techniques

Les documents dégradés représentent le cas le plus difficile et le plus fréquent dans un contexte professionnel. Factures originales tachées, contrats imprimés sur du papier carbone, formulaires remplis au stylo puis numérisés plusieurs fois, documents thermiques dont l'encre s'est fanée, fax de mauvaise qualité — la réalité des archives d'entreprise est bien éloignée des documents tests parfaitement formatés. Le projet consacre une attention particulière à ces cas limites. La stratégie combine plusieurs niveaux d'intervention : prétraitement d'image agressif mais paramétré pour ne pas détruire l'information (filtrage adaptatif, inpainting pour les taches), détection multi-échelle pour capturer les textes de tailles variables, reconnaissance avec plusieurs moteurs en parallèle et vote majoritaire, et post-traitement LLM renforcé avec un contexte métier spécifique (lexiques de facturation, nomenclatures produits, base de données de clients).

Les factures et les contrats sont les deux types de documents les plus ciblés par les projets d'extraction documentaire, et pour cause : ils contiennent des informations hautement structurées et à forte valeur métier. Une facture typique comporte un en-tête (émetteur, destinataire, date, numéro), un corps (lignes de produits/services, quantités, prix unitaires, montants), un pied (totaux, TVA, conditions de paiement, coordonnées bancaires). La difficulté réside dans la variabilité des mises en page : chaque entreprise utilise son propre template. Le pipeline combine la détection de layout par LayoutLM pour identifier les zones fonctionnelles, l'OCR sur chaque zone avec des modèles spécialisés (texte imprimé, chiffres, dates), et une couche de règles métier qui valide la cohérence des données extraites (total = somme des lignes, date dans un format valide, numéro de TVA conforme). Pour les contrats, l'enjeu est l'extraction de clauses spécifiques : durée, conditions de résiliation, pénalités, montants, signatures. L'approche mêle extraction de zones, reconnaissance d'entités nommées par LLM, et validation juridique supervisée.

Le multilinguisme est un défi technique et scientifique à part entière. Un moteur OCR entraîné principalement sur du texte anglais ou chinois performe mal sur des langues aux systèmes d'écriture radicalement différents — arabe, cyrillique, devanagari, caractères chinois complexes. PaddleOCR est le moteur le plus performant pour le chinois et le japonais. Tesseract offre la plus large couverture avec plus de 100 langues supportées. EasyOCR couvre 80+ langues avec un bon équilibre. Le projet évalue systématiquement chaque moteur sur un corpus multilingue incluant le français, l'anglais, l'allemand, le néerlandais, l'espagnol, l'arabe et le chinois. Les métriques incluent le Character Error Rate (CER), le Word Error Rate (WER) et la précision de l'extraction structurée. Les résultats montrent que la combinaison de plusieurs moteurs avec un vote pondéré par langue permet d'atteindre une précision de 95 à 99 % selon la qualité du document source.

Pipeline d'Extraction

L'architecture complète du pipeline se décompose en cinq étapes distinctes, chacune optimisée indépendamment. La première étape est le prétraitement d'image via OpenCV et des modèles de restauration : deskew, denoising, redressement des perspectives, amélioration du contraste, et inpainting des zones obstruées. La deuxième étape est la détection de layout par LayoutLM (fine-tuné sur des documents métier) et YOLO (pour la localisation rapide des zones d'intérêt comme les logos, les signatures, les cachets). La troisième étape est la reconnaissance OCR par PaddleOCR en moteur principal, avec Tesseract et EasyOCR en bascule ou en parallèle pour les cas difficiles. La quatrième étape est le post-traitement par LLM Mistral : correction orthographique et typographique, normalisation des formats (dates, montants, numéros), résolution des ambiguïtés. La cinquième étape est la structuration des données extraites selon un schéma métier défini, avec validation automatique par règles de cohérence et interface de correction humaine pour l'amélioration continue. Chaque étape expose des métriques de qualité qui permettent d'identifier les goulots d'étranglement et de prioriser les optimisations.

Les résultats préliminaires suggèrent une supériorité des pipelines combinant OCR moderne et post-traitement LLM. Sur un corpus de 500 factures réelles issues de six secteurs d'activité différents, le pipeline complet atteint une précision d'extraction de 96,2 % au niveau champ (contre 82,5 % pour Tesseract seul et 88,1 % pour PaddleOCR seul). Le post-traitement LLM réduit le taux d'erreur résiduel de 55 %, avec des gains particulièrement marqués sur les montants et les dates. La détection de layout par LayoutLM améliore de 30 % la localisation correcte des zones d'intérêt par rapport à une approche par règles heuristiques. Sur les documents dégradés (qualité de numérisation médiocre, texte fané, bruit important), le pipeline maintient une précision de 89,4 %, contre 61,2 % pour Tesseract et 72,8 % pour PaddleOCR seuls. Ces résultats suggèrent la validité de l.approche combinatoire et ouvrent des perspectives pour le déploiement industriel.

Perspectives

Les perspectives de ce projet sont ambitieuses. L'intégration de modèles de vision fondation (SAM, DINOv2) pour la segmentation fine des documents pourrait améliorer encore la détection des zones complexes. L'utilisation de modèles multimodaux de dernière génération capables de lire et comprendre un document en une seule passe — à l'image de GPT-4V ou Qwen-VL — représente une évolution naturelle, même si leur coût d'inférence reste prohibitif pour des volumes industriels. L'extension à la reconnaissance d'écriture manuscrite (HTR) via des modèles comme TrOCR ou des CRNN spécialisés est un axe de recherche prioritaire. Le projet ambitionne également de publier un jeu de données annoté de documents métier pour faciliter la recherche et la comparaison des approches. L'objectif final est de construire une plateforme d'extraction documentaire industrialisable, capable de traiter des millions de documents par mois avec un taux de précision supérieur à 97 %, tout en maintenant un coût d'inférence compatible avec les budgets des PME et des ETI.

Objectifs

  • 1Comparer les moteurs OCR (Tesseract, PaddleOCR, EasyOCR) sur des documents réels
  • 2Évaluer LayoutLM pour la compréhension de structures documentaires complexes
  • 3Développer des pipelines de post-traitement avec LLM pour la correction d'erreurs
  • 4Optimiser le prétraitement d'image pour les documents dégradés
  • 5Mesurer la précision d'extraction sur des corpus multilingues

Architecture Technique

Pipeline modulaire : prétraitement d'image (OpenCV) → détection de layout (LayoutLM / YOLO) → OCR (PaddleOCR / Tesseract) → post-traitement (LLM) → structuration (règles métier + LLM). Interface de validation humaine pour l'amélioration continue.

Technologies

PaddleOCR

Moteur OCR multilingue haute précision

LayoutLM

Modèle de compréhension de documents

OpenCV

Prétraitement d'image et optimisation

YOLO

Détection de zones d'intérêt dans les documents

Mistral

LLM pour post-traitement et structuration

Historique des Évolutions

2026-01
Définition du corpus de test et des métriques
2026-02
Intégration des moteurs OCR et premiers benchmarks
2026-03
Développement du pipeline de post-traitement LLM
2026-04
Tests sur documents réels (factures, contrats)
2026-05
Optimisation du prétraitement pour documents dégradés
v1.6preprod