Comparaison des outils de reconnaissance optique de caractères pour les documents à forte densité de texte et les textes provenant de scènes

Par : Sayema Mashhadi, Statistique Canada

La reconnaissance optique de caractères (ROC) est utilisée pour saisir du texte à partir de photos contenant certains renseignements textuels, ainsi qu'à partir de documents numérisés, tels que des formulaires, des factures ou des rapports. Le texte peut être composé de toute combinaison de caractères imprimés ou manuscrits et peut comprendre des symboles, des chiffres, des signes de ponctuation, etc. Il existe de nombreux outils de ROC de source libre dans divers langages de programmation qui peuvent être utilisés sans aucune formation préalable en données ou en apprentissage automatique. Cet article compare deux outils de ROC de source libre couramment utilisés pour reconnaître les textes imprimés dans les projets d'extraction d'information de la Division de la science des données de Statistique Canada : Tesseract, le moteur de ROC de Google (le contenu de cette page est en anglais), et CRAFT, l'outil de ROC de Clova AI (le contenu de cette page est en anglais). Tesseract a été développé par Hewlett-Packard (HP) dans les années 1980 en tant que logiciel propriétaire, puis rendu ouvert en 2005. Depuis, Google a continué à le développer et publie des versions améliorées gratuites à quelques années d'intervalles. Grâce aux mises à jour régulières et majeures du code source, Tesseract est très populaire dans la communauté de source libre. CRAFT est un outil de ROC de pointe destiné à la détection de texte de scène (images avec des zones de texte à différents angles dans un arrière-plan complexe) avec le score le plus élevé de moyenne harmonique (le contenu de cette page est en anglais) sur de multiples ensembles de données publiques par rapport à d'autres outils de source libre de ROC utilisés pour la détection de texte de scène. Pour voir d'autres scores de moyenne harmonique, visitez le site Character Region Awareness for Text Detection (le contenu de cette page est en anglais).

Motivation

L'extraction d'information est le processus qui consiste à extraire des informations structurées utiles à partir de données non structurées sous forme de fichiers texte, d'images, de vidéos, de clips audio, etc. L'information extraite est utilisée pour préparer les données à une analyse. Habituellement, l'information provenant de données non structurées est obtenue en la parcourant manuellement, ce qui prend du temps et est susceptible d'entraîner des erreurs. Les outils d'extraction d'information permettent de réduire les efforts manuels, de gagner du temps et de réduire le risque d'erreurs humaines.

Les outils de ROC sont nécessaires pour l'extraction d'information lorsqu'on traite des images ou des documents numérisés. Dans le cadre de projets antérieurs, nous avons travaillé avec des images numérisées de produits de santé naturels, des formulaires numérisés et des états financiers numérisés qui nécessitent, entre autres, la détection et la reconnaissance de texte dans le but de convertir des données non structurées en données structurées utilisables. Pour en savoir plus sur l'un de nos projets concernant l'intelligence documentaire, consultez notre récent article du Réseau de la science des données Intelligence documentaire : L'art de l'extraction d'information à partir des PDF.

Qualité de l'image

La performance de la ROC, quel que soit l'algorithme ou la technologie exploitée, dépend fortement de la qualité de l'image. Si la qualité de l'image est nette et claire pour l'œil humain, un outil de ROC a plus de chances de convertir l'image en une chaîne de texte avec une grande précision. D'autre part, des images de mauvaise qualité peuvent rapidement dégrader la performance des outils de ROC. Certaines techniques de prétraitement des images peuvent être appliquées pour améliorer la visibilité de l'information textuelle dans les images ou les données numérisées. Ces techniques peuvent inclure la binarisation, la suppression du bruit et l'augmentation du contraste et de la netteté afin d'améliorer la visibilité du texte. Les documents numérisés peuvent également contenir des problèmes d'alignement qui doivent être corrigés par le rajustement de l'image et la correction de la perspective ou de la courbure. Apprenez-en plus sur les techniques typiques de prétraitement des images utilisées avant la ROC (le contenu de cette page est en anglais).

Détection et reconnaissance de texte

La reconnaissance n'est qu'une partie de la solution. Bien qu'elle soit souvent appelée simplement ROC, la ROC comporte deux parties : la détection et la reconnaissance. L'outil doit d'abord détecter où se trouve le texte dans l'image, puis reconnaître ce texte ou le convertir en une chaîne de caractères simple. Une image peut contenir des espaces vides, des objets, des figures, des dessins, des graphiques et d'autres éléments qui ne peuvent pas être convertis en une chaîne de caractères simple. Par conséquent, un modèle de détection identifie et isole d'abord les zones de texte, puis les transmet au modèle de reconnaissance pour la conversion.

Il existe de nombreux outils de ROC disponibles pour des types spécifiques d’image. Les deux plus populaires sont la détection/reconnaissance de texte de scène et la détection/reconnaissance de documents. Les outils de ROC entraînés sur des images de scène sont plus aptes à détecter les zones de texte sur des fonds complexes et reconnaissent mieux les textes courbes que les outils de ROC entraînés sur des documents numérisés contenant du texte sur des fonds unis. Il est important de choisir des modèles qui ont été formés pour les tâches similaires à notre cas d'utilisation. En outre, nous avons observé que l'utilisation d'un modèle de détection d'un outil et d'un modèle de reconnaissance d'un autre outil peut également aboutir à une amélioration de la performance.

Cas d'utilisation : documents à forte densité de texte

Les documents sont généralement denses en zones de texte, et l'outil de ROC choisi doit être entraîné sur des données similaires : texte foncé sur fond clair, paragraphes, polices de tailles différentes, souvent avec des espaces blancs, ou figures, tableaux, graphiques et diagrammes occupant une partie de la page.

En comparant les performances de Tesseract et de CRAFT, on peut voir que Tesseract reconnaît mieux le texte complet dans un image alors que CRAFT fait quelques erreurs. Nos expériences nous ont également permis de constater que Tesseract est plus performant pour la reconnaissance des caractères alphabétiques et de la ponctuation. Cependant, CRAFT est meilleur que Tesseract pour reconnaître les chiffres et les codes (une combinaison de chiffres et de lettres), y compris dans les documents à forte densité de texte. Au cours de nos tests, nous avons observé que CRAFT confond le caractère « O » avec le chiffre zéro. Cela indique que le modèle CRAFT n'est pas biaisé pour la prédiction des caractères alphabétiques lorsqu'il traite des paragraphes de texte.

Cas d'utilisation : texte de scène

Le texte de scène est une image avec des zones de texte à différents angles sur un fond complexe. Les images d'un marché animé, d'une rue avec des panneaux de signalisation ou de produits commerciaux peuvent entrer dans cette catégorie. Dans l'exemple ci-dessous, un produit de santé naturel est illustré. Il peut être assez difficile de détecter du texte dans différents alignements, polices et couleurs, et aucun des deux outils de ROC n'a atteint une précision parfaite. On peut toutefois noter que CRAFT a détecté plus de zones de texte que Tesseract. Cela s'explique surtout par le fait que CRAFT est un modèle de détection et de reconnaissance de texte de scène et qu'il est entraîné à repérer avec précision une variété de zones de texte sur des fonds complexes. Nos expériences ont permis de constater que CRAFT est plus performant pour détecter même les plus petites zones de texte sur une image et qu'il surpasse les autres modèles de détection de texte de scène disponibles.

Image

Photo d'un produit de santé naturel, la crème pour bébé Zincofax
Description - Figure 2

Photo d'un produit de santé naturel, la crème pour bébé Zincofax. La photo représente la face avant de la boîte avec les mots « Recommandé par les médecins » en haut à gauche et « Utilisé par les parents depuis des générations » en haut à droite. Un bébé heureux, placé sur le ventre, se trouve au centre de l'image. Le mot Zincofax est inscrit en gros caractères au centre de l'image, partiellement recouvert par la tête du bébé. Une petite description du produit en bas de l'image indique « Prévient et traite l'érythème fessier ». En bas à gauche, le poids de 130 g est indiqué.


Résultat Tesseract

Utilisé par les
parents depuis
des générations
| Recommandé
NON PA
£
130 g


Résultat CRAFT

Recommandé
Utilisé par
par les médecins
No
parents depuis
des générations

Outil de ROC personnalisé

En plus de la variété des outils disponibles selon le cas d'utilisation, il est possible de créer un outil ROC unique en utilisant le modèle de détection de texte d'un outil et le modèle de reconnaissance d'un autre outil. Cette méthode a été employée avec succès dans l'un de nos projets d'extraction d'information portant sur des formulaires numérisés, où CRAFT a été utilisé pour la détection et Tesseract pour la reconnaissance. La combinaison a bien fonctionné, car CRAFT est plus performant pour détecter toutes les zones de texte (tailles de police beaucoup plus petites pour les titres des champs de formulaire) et Tesseract est plus performant pour convertir les zones de texte individuelles détectées en chaînes de caractères simples.

Conclusion

Les outils de ROC de source libre sont un excellent moyen d'extraire des informations à partir d'images ou de documents numérisés. De nombreux outils de ROC de pointe sont entraînés pour un cas d'utilisation spécifique et peuvent être utilisés sans aucune formation préalable. La performance dépend fortement de la qualité de l'image, mais certaines techniques de prétraitement de l'image peuvent être mises à profit pour améliorer les résultats. Dans nos tests, Tesseract, le moteur de ROC de Google, a produit de meilleurs résultats sur les documents à forte densité de texte, et CRAFT, de Clova AI, a produit de meilleurs résultats sur les données de textes de scène. Une fois les outils combinés, nous avons pu utiliser les points forts des deux outils pour effectuer une extraction d'information plus précise à partir d'ensembles plus complexes d'images contenant une variété de textes.

Veuillez s'il vous plaît prendre 2 minutes pour répondre à notre sondage

Nous sollicitons votre aide afin d'améliorer le Réseau de la science des données. Veuillez s'il vous plaît prendre 2 minutes pour répondre à quelques questions rapides. Nous sommes impatients de recevoir vos commentaires et les apprécions. C'est votre dernière chance de compléter le Sondage sur le bulletin d'information du Réseau de la science des données. Merci à tous ceux qui l'ont déjà rempli !

Date de modification :