Reconnaissance optique de caractères (OCR)
Remarque
Pour plus d’informations, consultez l’onglet Texte et images !
La reconnaissance optique de caractères (OCR) est une technologie qui convertit automatiquement le texte visuel dans des images , qu’il s’agisse de documents numérisés, de photographies ou de fichiers numériques , en données texte modifiables pouvant faire l’objet d’une recherche. Au lieu de transcrire manuellement les informations, l’OCR permet l’extraction automatisée des données à partir de :
- Factures et reçus analysés
- Photographies numériques de documents
- Fichiers PDF contenant des images de texte
- Captures d’écran et contenu capturé
- Formulaires et notes manuscrites
Pipeline OCR : processus pas à pas
Le pipeline OCR se compose de cinq étapes essentielles qui fonctionnent ensemble pour transformer des informations visuelles en données texte.
Les étapes du processus OCR sont les suivantes :
- Acquisition et entrée d’image.
- Prétraitement et amélioration de l’image.
- Détection de région de texte.
- Reconnaissance et classification des caractères.
- Génération de sortie et post-traitement.
Examinons chaque étape plus en détail.
Étape 1 : Acquisition et entrée d’image
Le pipeline commence lorsqu’une image contenant du texte entre dans le système. Il peut s’agir des points suivants :
- Une photo prise avec un appareil photo smartphone.
- Document numérisé à partir d’un scanneur de documents ou à plat.
- Image extraite d’un flux vidéo.
- Page PDF rendue sous forme d’image.
Conseil / Astuce
La qualité de l’image à ce stade a un impact significatif sur la précision finale de l’extraction de texte.
Étape 2 : Prétraitement et amélioration de l’image
Avant le début de la détection de texte, les techniques suivantes permettent d’optimiser l’image pour une meilleure précision de reconnaissance :
La réduction du bruit supprime les artefacts visuels, les taches de poussière et les imperfections de balayage susceptibles d’interférer avec la détection de texte. Les techniques spécifiques utilisées pour effectuer la réduction du bruit sont les suivantes :
- Algorithmes de filtrage et de traitement d’images : filtres gaussiens, filtres médians et opérations morphologiques.
- Modèles d'apprentissage automatique : autoencodeurs de débruitage et réseaux neuronaux convolutionnels (CNN) entraînés spécifiquement pour le nettoyage d'images de documents.
L’ajustement du contraste améliore la différence entre le texte et l’arrière-plan pour rendre les caractères plus distincts. Là encore, il existe plusieurs approches possibles :
- Méthodes classiques : égalisation d’histogramme, seuil adaptatif et correction gamma.
- Machine Learning : modèles Deep Learning qui apprennent des paramètres d’amélioration optimaux pour différents types de documents.
La correction d’asymétrie détecte et corrige la rotation du document, ce qui garantit que les lignes de texte sont correctement alignées horizontalement. Les techniques de correction d’asymétrie sont les suivantes :
- Techniques mathématiques : transformation Hough pour la détection de lignes, les profils de projection et l’analyse des composants connectés.
- Modèles de réseau neuronal : CNNs de régression qui prédisent des angles de rotation directement à partir des caractéristiques d'image.
L’optimisation de la résolution ajuste la résolution d’images au niveau optimal pour les algorithmes de reconnaissance de caractères. Vous pouvez optimiser la résolution d’images avec :
- Méthodes d’interpolation : Algorithmes de rééchantillonnement bicubique, biligne et Lanczos.
- Modèles de super-résolution : réseaux contradictoires générifs (GAN) et réseaux résiduels qui effectuent intelligemment une mise à l’échelle des images de texte à faible résolution.
Étape 3 : Détection de la région de texte
Le système analyse l’image prétraite pour identifier les zones qui contiennent du texte à l’aide des techniques suivantes :
L’analyse de disposition distingue les zones de texte, les images, les graphiques et les zones d’espace blanc. Les techniques d’analyse de la disposition sont les suivantes :
- Approches traditionnelles : analyse des composants connectés, encodage de longueur d’exécution et segmentation basée sur la projection.
- Modèles d’apprentissage profond : réseaux de segmentation sémantique tels que U-Net, Mask R-CNN et modèles d’analyse de disposition de documents spécialisés (par exemple, layoutLM ou modèles formés à PubLayNet).
L’identification des blocs de texte regroupe des caractères individuels en mots, lignes et paragraphes en fonction des relations spatiales. Les approches courantes sont les suivantes :
- Méthodes classiques : clustering basé sur distance, analyse des espaces blancs et opérations morphologiques
- Réseaux neuronaux : Graphiquer des réseaux neuronaux et des modèles transformateurs qui comprennent la structure du document spatial
La détermination de l’ordre de lecture établit la séquence dans laquelle le texte doit être lu (de gauche à droite, en haut à bas pour l’anglais). L’ordre correct peut être déterminé par :
- Systèmes basés sur des règles : algorithmes géométriques utilisant des coordonnées de cadre englobant et des heuristiques spatiales.
- Modèles Machine Learning : modèles de prédiction de séquence et approches basées sur des graphiques qui apprennent des modèles de lecture à partir de données d’apprentissage.
La classification des régions identifie différents types de régions de texte (en-têtes, corps de texte, légendes, tables).
- Classifieurs basés sur des caractéristiques : prendre en charge des machines vectorielles (SVMs) à l’aide de caractéristiques artisanales telles que la taille de police, la position et la mise en forme
- Modèles d’apprentissage profond : réseaux neuronaux convolutionnels et transformateurs de vision formés sur des jeux de données de documents étiquetés
Étape 4 : Reconnaissance et classification des caractères
Il s’agit du cœur du processus OCR où des caractères individuels sont identifiés :
Extraction de caractéristiques : analyse la forme, la taille et les caractéristiques distinctives de chaque caractère ou symbole.
- Méthodes traditionnelles : caractéristiques statistiques telles que les moments, les descripteurs Fourier et les caractéristiques structurelles (boucles, points de terminaison, intersections)
- Approches d’apprentissage profond : réseaux neuronaux convolutionnels qui apprennent automatiquement des fonctionnalités discriminatives à partir de données de pixels bruts
Correspondance des modèles : compare les fonctionnalités extraites par rapport aux modèles entraînés qui reconnaissent différentes polices, tailles et styles d’écriture.
- Correspondance des modèles : comparaison directe avec les modèles de caractères stockés à l’aide de techniques de corrélation
- Classifieurs statistiques : Modèles de Markov cachés (HMM), Machines à vecteurs de support et k plus proches voisins utilisant des vecteurs de caractéristiques
- Réseaux neuronaux : perceptrons multicouches, CNN et architectures spécialisées comme LeNet pour la reconnaissance numérique
- Apprentissage profond avancé : Réseaux résiduels (ResNet), Architectures DenseNet et EfficientNet pour une classification de caractères robuste
Analyse du contexte : utilise des caractères et des mots environnants pour améliorer la précision de la reconnaissance par le biais de recherches de dictionnaire et de modèles de langage.
- Modèles N-grammes : modèles de langage statistique qui prédisent des séquences de caractères en fonction des distributions de probabilité.
- Correction basée sur le dictionnaire : recherche de lexique avec des algorithmes de distance de modification (tels que la distance Levenshtein) pour la correction orthographique.
- Modèles de langage neuronal : modèles LSTM et basés sur un transformateur (comme les variantes BERT) qui comprennent les relations contextuelles.
- Mécanismes d’attention : les modèles transformateurs qui se concentrent sur les parties pertinentes de l’entrée lors de la réalisation de prédictions de caractères.
Score de confiance : attribue des scores de probabilité à chaque caractère reconnu en fonction de la certitude qu'a le système concernant son identification.
- Approches bayésiennes : modèles probabilistes qui quantifient l’incertitude dans les prédictions de caractères.
- Sorties Softmax : activations de couche finale du réseau neuronal converties en distributions de probabilités.
- Méthodes d’ensemble : combinaison de prédictions de plusieurs modèles pour améliorer les estimations de confiance.
Étape 5 : Génération de sortie et post-traitement
La dernière étape convertit les résultats de la reconnaissance en données de texte utilisables :
Compilation de texte : assemble des reconnaissances de caractères individuelles en mots et phrases complets.
- Assemblage basé sur des règles : algorithmes déterministes qui combinent des prédictions de caractères en utilisant la proximité spatiale et des seuils de confiance.
- Modèles de séquence : réseaux neuronaux récurrents (RNN) et réseaux longs Short-Term mémoire (LSTM) qui modélisent le texte en tant que données séquentielles.
- Modèles basés sur l’attention : architectures de transformateur qui peuvent gérer des séquences de longueur variable et des dispositions de texte complexes.
Conservation de la mise en forme : conserve la structure du document, y compris les paragraphes, les sauts de ligne et l’espacement.
- Algorithmes géométriques : systèmes basés sur des règles à l’aide de coordonnées de cadre englobant et d’analyse des espaces blancs.
- Modèles de compréhension de la disposition : réseaux neuronaux de graphes et modèles d'IA pour documents qui apprennent des relations structurelles.
- Transformateurs multimodaux : modèles tels que LayoutLM qui combinent des informations de texte et de disposition pour la conservation de la structure.
Mappage de coordonnées : enregistre la position exacte de chaque élément de texte dans l’image d’origine.
- Transformation des coordonnées : mappage mathématique entre les pixels d’image et les coordonnées de document.
- Indexation spatiale : structures de données telles que les arborescences R et les quad-arbres pour des requêtes spatiales efficaces.
- Modèles de régression : réseaux neuronaux entraînés pour prédire des coordonnées précises de positionnement du texte.
Validation de la qualité : applique des vérifications orthographiques et grammaticales pour identifier les erreurs de reconnaissance potentielles.
- Validation basée sur les dictionnaires : recherche sur des listes de mots complètes et des vocabulaires de domaine spécialisés.
Modèles de langage statistique : modèles de N-gramme et analyseurs probabilistes pour la validation du contexte et de la grammaire. - Modèles de langage neuronal : modèles préentraînés tels que GPT ou BERT affinés pour la détection et la correction des erreurs OCR.
- Validation d’ensemble : combinaison de plusieurs approches de validation pour améliorer la précision de la détection des erreurs.