OCR

Comment fonctionne un OCR (Optical Character Recognition) ?

De plus en plus, certains logiciels s’équipent de technologies de rupture pour aller plus loin dans la qualité de leurs services. L’OCR, pour optical character recognition ou reconnaissance optique de caractères (ou océrisation) en français, est l’une de ces technologies. Vous vous demandez de quoi il s’agit et comment un OCR fonctionne pour “comprendre” un texte et le traduire numériquement ? Récapitulons.

L’OCR, technologie fortement utilisée dans le cadre de la dématérialisation

Commençons par quelques définitions. Le terme d’OCR désigne les procédés informatiques qui sont utilisés pour la traduction d’images (en 2 dimensions) de textes imprimés ou dactylographiés vers des fichiers numériques de texte.

En français, on appelle cela la ROC, la reconnaissance optique des caractères… même si comme souvent, c’est la terminologie anglo-saxonne qui prime.

ABBYY, Tesseract… vous connaissez peut-être les OCR les plus populaires. En effet, cette technologie n’est pas toute récente, même si son utilisation concrète, notamment pour la conversion de factures physiques et leur saisie comptable, ne se développe réellement qu’aujourd’hui.

N’oublions pas non plus qu’au fond, l’OCR est avant tout un outil de compression de données, dont le but est de les transférer d’un format à un autre, avec le plus de précision possible.

Notez également que la méthode de compression n’est pas agnostique du destinataire des données, c’est-à-dire que plusieurs paramètres sont à prendre en compte systématiquement pour le logiciel d’OCR : le contexte, l’image, le texte lui-même, mais aussi les fichiers code sont à intégrer.

Sachant que la compression est la première étape, elle est essentielle pour la suite.

Comment l’OCR transcrit numériquement une image de caractères

Qu’est-ce qu’une image, si ce n’est une collection de pixels organisés en grille ?

Même si heureusement, de nos jours, les pixels sont devenus invisibles à nos yeux, ils restent la composante de toutes les images numériques. C’est un point important à comprendre, car c’est grâce à ce détail (qui n’en est pas un) que le principe même d’OCR est possible.

Quand nous parlons de grille d’organisation des pixels, il s’agit de cette grille en particulier :

Pour des raisons historiques, chaque pixel est un mix de Rouge, Vert et Bleu et les valeurs de couleurs varient de 0 à 255 unités d’octets (bytes) dans la mémoire vive d’un ordinateur.

La binarisation de Otsu

Accrochez-vous, cela ne va pas être simple mais on va faire notre possible pour être pédagogues : la méthode d’Otsu (de Nobuyuki Otsu ou 大津展之) permet d’effectuer un seuillage automatique à partir de la forme de l’histogramme de l’image.

Concrètement, cela se traduit par la réduction d’une image à niveaux de gris en une image binaire.

Prenons cette image, avant et après binarisation :

Au niveau des histogrammes de couleurs, cela nous donne ceci :

Comme vous l’avez constaté, binariser une image consiste donc à la réduire à 2 couleurs : ici, le blanc et le noir.

L’algorithme suppose alors que l’image à binariser ne contient que deux classes de pixels et calcule le seuil optimal qui les sépare pour limiter leur variance intra-classe.

Appliquée à une facture, cette binarisation ressemble à cela (notez que les seuils dépendent bien sûr de la facture) :

Reconstitution d’une chaîne de caractères selon une classification

Avant même de donner un sens quelconque au texte, la technologie de l’OCR cherche d’abord à comprendre de quel caractère il est question. 

Le rapprochement des mots similaires pour donner du sens

Pour retranscrire un mot, l’algorithme se base sur un dictionnaire de mots dans la langue sélectionnée et sur des algorithmes de similarités de caractères : Levenshtein, Trigram, Cosine, Jaro- Winkler…

L’OCR et la comptabilité, une grande histoire d’amour

Mais pourquoi vous parlons-nous aujourd’hui d’OCR ? Nous vous l’expliquions pourtant récemment, Chaintrust n’est pas un OCR ! Même si nous nous en rapprochons, ce n’est pas tout à fait le cas car un OCR a pour but d’extraire du texte d’une pièce comptable… ce qui n’est pas notre objectif.

Désormais, beaucoup de logiciels et de solutions dédiés aux experts-comptables sont fortement basés sur des OCR.

Nous utilisons des technologies de reconnaissance optique des caractères, mais nous estimons que ce n’est pas ce qui définit le produit.

Vous souhaitez tester Chaintrust pour automatiser votre saisie comptable grâce à notre OCR ?