Auteurs : Vincent Gargasson, Matthieu Maso
Qu’est-ce que l’OCR ?
Les technologies d’Optical Character Recognition, ou OCR, ou Reconnaissance Optique de Caractères, sont des méthodes d’extraction de données à partir de documents non structurés de type Image. Elles s’inscrivent dans la grande famille des algorithmes de Computer Vision et sont présentes tout autour de nous au quotidien. L’OCR va par exemple permettre d’effectuer l’identification visuelle de carte bleue, de chèques bancaires, de factures ou de notes de frais.
Les outils d’OCR sont devenus très performants et offrent un gain de temps et de qualité. De fait, leur utilisation est croissante dans tous les secteurs économiques.
Dans cet article, nous dressons un comparatif de 3 outils d’OCR que nous avons pu tester lors des missions chez Aqsone et qui sont :
Etat de l’art
La Reconnaissance Optique de Caractères n’est pas un sujet récent et les premières applications voient le jour dès le début du 20e siècle. Les cas d’utilisation d’OCR avaient par exemple pour but la détection du morse, du braille ou de caractères dactylographiés.
Au fil des années, et avec l’apparition des premiers CPU, des projets à plus large échelle voient le jour dans des domaines tels que les services postaux, douaniers, l’armée.
En 2005, Hewlett Packard et l’Université du Nevada publient le module OCR Open Source Tesseract élargissant ainsi l’utilisation de ces technologies.
En 2013 est publiée la base de donnée MNIST qui regroupe 60000 images de chiffres manuscrits en noir et blanc. Un jeu de données très utilisé en Machine Learning sur des sujets Computer Vision.
Enfin, ces dernières années ont vu apparaître les modèles d’OCR Cloud tels que Google Cloud Vision ou Amazon Textract.
L’état de l’art actuel est ainsi composé principalement :
- De logiciels payants très spécifiques à certaines tâches (notes de frais, courrier, documents techniques). Il est compliqué d’estimer leurs performances et de les généraliser à d’autres tâches.
- Des solutions open source, comme Tesseract, une solution toujours assez populaire qui offre l’avantage d’être complètement gratuite pour des performances relativement bonnes.
- De modèles OCR Cloud avec les deux principaux acteurs que sont Google Cloud Vision et Amazon Textract. Ils offrent :
- de meilleures performances sur la reconnaissance de caractère et de langue,
- une variété de modèles complexes,
- la possibilité d’entraîner ces modèles sur un volume très important de données,
- la possibilité d’être couplées à d’autres briques de Natural Language Processing (NLP) intéressantes et propres aux environnements GCP et AWS.
A moins de vouloir une solution 100% gratuite, les fournisseurs Cloud sont probablement les leaders du marché actuel.
Comparatif des solutions d’OCR
Le tableau ci-dessous synthétise la comparaison des différentes solutions d’OCR. Les critères que nous mettons en avant sont basés sur les cas d’usage métier que nous avons pu rencontrer, et ont généralement été décisifs pour la sélection d’une solution d’OCR plutôt qu’une autre.
Critères | Amazon Textract | Google Cloud Vision | Tesseract |
---|---|---|---|
Détection de texte brut | X API Detect Document Text | X DOCUMENT_TEXT_DETECTION ou TEXT_DETECTION | X IMAGE_TO_STRING ou IMAGE_TO_DATA |
Détection d’écriture manuscrite | X | X | |
Détection du texte d’un tableau ou formulaire et extraction | X API Analyze Document | ||
Extraction d’information des factures, tickets, reçus | X API d'analyse des dépenses pour les factures et les reçus | ||
Gestion des photos avec texte retourné | Automatique | Automatique | Manuel IMAGE_TO_OSD |
Méthode de détection de langue | Automatique | Automatique | Manuelle |
Nombres de langues acceptées et lues | 6 (anglais, espagnol, italien, portugais, français et allemand) | > 100 | 130 |
Extraction des Bounding Boxes autour des caractères | X | X | X uniquement sur la fonction IMAGE_TO_DATA |
Affichage d’un score de confiance | X | X | |
Mode offline | X | ||
Tarif | Payant | Payant | Gratuit |
Exemples d’utilisation :
Conclusion
En conclusion, Amazon Textract et Google Cloud Vision sont deux solutions qui proposent des possibilités et offrent des performances très similaires. Leurs tarifs sont également très proches puisqu’il faudra compter 1.5$ pour 1000 unités pour utiliser la fonctionnalité d’OCR de base, au delta des réductions à partir d’un grand nombre d’unités.
Google Cloud Vision sera particulièrement facile à utiliser pour des utilisateurs de GCP et présente également l’avantage de pouvoir s’intégrer à d’autres services Cloud Google. Sa configuration peut en revanche être complexe pour des novices de la plateforme. Amazon Textract met à disposition une interface Drag & Drop qui en facilite encore plus l’usage.
Côté performances, GCV semble plus performant que Textract pour la détection de texte manuscrit. En revanche, GCV pêche sur sur l’extraction de table puisque le texte est détecté normalement et non sous forme de table.
Tesseract présente l’avantage d’être gratuit et de ne pas nécessiter de configuration particulière. Il est facile à utiliser, en ligne de commande ou via la librairie Python pytesseract.
En termes de performances, Tesseract est efficace sur des données de bonne résolution. Ses performances s’amoindrissent sur des données de basse qualité ou du texte manuscrit. L’extraction de table est possible, mais peut s’avérer complexe à implémenter et sera également très sensible à la qualité des documents.
C’est une solution qui reste intéressante par son accessibilité et son efficacité sur certains formats précis de données.
______________________________________________________
Chez Aqsone, nous utilisons régulièrement des solutions OCR chez nos clients.
Vous voulez identifier avec nous des use cases Data Science dans votre entreprise ?
______________________________________________________