Cet article explore l’OCR (Reconnaissance Optique de Caractères), technologie d’extraction de données depuis des images. Des outils tels que Google Cloud Vision, Amazon Textract, et Tesseract sont comparés. Les solutions Cloud dominent, Tesseract, bien que gratuit, peut être moins performant pour du texte manuscrit ou des documents de basse qualité.
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 :
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 :
A moins de vouloir une solution 100% gratuite, les fournisseurs Cloud sont probablement les leaders du marché actuel.
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.
Exemples d’utilisation :
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.