Vous êtes sur la page 1sur 25

Développement d'une

application OCR en
utilisant Deep Learning

Réalisé par :
OUKIL Kawtar
CHIKI zaid
HAKIM Mouhcine
Liste des figures
Figure 1 : Redressement d'image............................................................................................................5
Figure 2 : Binarisation............................................................................................................................6
Figure 3 : Zonage...................................................................................................................................6
Figure 4 : Normalisation.........................................................................................................................7
Figure 5 : Détection des lignes et des mots de texte...............................................................................7
Figure 6 : Reconnaissance de script........................................................................................................8
Figure 7 : La mise en correspondance de matrices.................................................................................8
Figure 8 : Un exemple de la phase de post-traitement de l’OCR, où la sortie est fixée..........................9
Figure 9 : Exemple de lecture d'une plaque d’immatriculation.............................................................10
Figure 10 : Exemple de reconnaissance du marquage routiers.............................................................11
Figure 11 : Exemple d'utilisation de OpenCV......................................................................................13
Figure 12 : Architecture de Tesseract...................................................................................................14
Figure 13 : Architecture d'un exemple de Keras OCR..........................................................................15
Figure 14 : Architecture de Kraken......................................................................................................16
Figure 15 : Resultat de prediction avec Arbre de decision....................................................................17
Figure 16 : Resultat de prediction avec SVM.......................................................................................17

1
Table des matières

Chapitre 1 : Généralité sur les images....................................................................................................3


1. Introduction..............................................................................................................................3
2. L'image numérique...................................................................................................................3
3. Caractéristique d'une image numérique.................................................................................4
3. Résolution..................................................................................................................................4
4. Type des images........................................................................................................................5
5. Les differents modes Colorimetriques....................................................................................6
Chapitre 1 : OCR ( Optical Character Recognition )........................................................................9
1. Historique d’OCR......................................................................................................................10
2. Fonctionnement d’OCR.............................................................................................................11
Étape 1 : Pré-traitement de l’image..........................................................................................11
Étape 2 : Segmentation...............................................................................................................13
Étape 3 : Reconnaissance de caractères....................................................................................14
Étape 4 : Post-traitement du résultat........................................................................................15
3. Cas d’utilisation d’OCR.............................................................................................................16
4. Limites de l’OCR.......................................................................................................................17
Dépendance à la qualité de l’entrée...........................................................................................17
Dépendance à l’égard des modèles et des règles.......................................................................18
Manque d’automatisation..........................................................................................................18
Coûteux.......................................................................................................................................18
Mauvaise adaptation à une grande variété de documents.......................................................18
5. OCR en python...........................................................................................................................18
Chapitre 2 : OCR ( Optical Character Recognition )......................................................................24
References...........................................................................................................................................24

2
Chapitre 1 : Généralité sur les images

1. Introduction

Le stockage physique des documents de plus en plus problématique car ce stockage


consomme de l'espace physique il nécessite un certain nombre de conditions de
conservation qui peuvent être très couteuse.
Les organisation et sociétés se tournent de plus en plus vers le stockage numérique des
documents qui est entre autre moins coûteux que son équivalent physique.
Pour cela les documents doivent être numérisé et enregistré sous forme d'image numérique,
ces images seront ensuite traité par des OCR pour extraire les informations qu'il
contiennent.
Notre projet traite de différentes notions liées à l'imagerie numérique. Nous allons donc
détailler certaines de ces notions dans le chapitre ci-dessous.

2. L'image numérique

Le terme image numérique dans son sens le plus général fait référence à toute
.image qui a été acquise, traitée et stockée sous forme binaire.

La numérisation est le processus qui permet de changer l'état d'une image


physique (par exemple une image optique) à l'état d’image numérique.
C'est cette forme numérique qui permet une exploitation ultérieure par des outils
logiciels informatiques.

3
3. Caractéristique d'une image numérique

L'image est un ensemble structuré d'informations caractérisé par les paramètres suivants:
1. Pixel

Les images numériques sont constituées de collections de points appelés pixels (abréviation de
PICture Element) pour former une image.
Un pixel représente le plus petit élément constituant une image numérique.

2. Dimension
On appelle dimension, le nombre de points (pixel) constituant l'image, c'est à dire sa
(dimension informatique). Cette dernière se présente sous forme de matrice dont les éléments
sont des valeurs numériques représentatives des intensités lumineuses (pixels). Le nombre de
lignes de cette matrice multiplié par le nombre de colonnes nous donne le nombre total de
pixels dans une image.
3. Résolution

La résolution d'une image est le nombre de pixels contenus dans l'image par unité de longueur.
Elle s'exprime le plus souvent en ppp (point par pouces).
1 pouce (ou inch) = 2,54 cm.
La résolution définit la netteté et la qualité d'une image. Plus la résolution est grande (c'est-à-
dire plus il y a de pixels dans une longueur de 1 pouce), plus votre image est précise dans les
détails.

4
4. Luminosité

C'est le degré de luminosité des points de l'image. Elle est définie aussi comme étant le
quotient de l'intensité lumineuse d'une surface par l'aire apparente de cette surface, pour un
observateur lointain, le mot luminance est substitué au mot brillance, qui correspond à l'éclat
d'un objet.

4. Type des images


Il existe deux grandes familles d'images numériques matricielles (qui nous intéressent dans le cadre
de notre étude) et vectorielles.

1. Images matricielles

Les images Matricielles (ou image en mode point, en anglais bitmap sont celles que nous utilisons
généralement pour restituer des photos numériques. Elles reposent sur une grille de plusieurs pixels
formant une image avec une définition bien précise. Lorsqu'on les agrandi trop, on perd de la qualité.
Les différents formats les plus répandus associés à ce type d'images sont : BMP, GIF, JPEG, TIFF,
PNG... il existe deux type de format bitmap compressés (PNG,JPG) et non compressés (BMP,TIFF).

2. Images vectorielles

5
Une image vectorielle, en informatique, est une image numérique composée d'objets géométriques
individuels définis chacun par divers attributs de forme, de position, de couleur, ...etc.
Elle se différencie de cette manière des images matricielles, dans lesquelles on travaille sur des
pixels.
Le principe est de représenter les données de l'image par des formules géométriques qui vont
pouvoir être décrites d'un point de vue mathématique.

5. Les differents modes Colorimetriques


Il existe différentes catégories d'image selon le nombre de bit Sur lequel est codée la valeur de
chaque pixel.[

1. L'image monochrome
Le mode monochrome est le plus simple, chaque pixel y est soit allumé [Blanc], soit éteint [Noir]
l'image obtenue n'est pas très nuancée. Alors, pour convertir une image couleur en mode
monochrome il faut d' abord passer par le mode niveaux de gris.

2. L'image en niveaux du gris


Une image en niveaux de gris est une image dans laquelle on trouve diérents nuances de gris et dans
chaque élément a une intensité qui varie de 0(noire) à 255(blanc).
Comme le montre la figure suivante :

6
Une image en niveaux de gris normale a une profondeur de couleur de 8bits=256 niveaux de gris.

La figure suivante illustre les valeurs numérique de la luminance de quatre niveaux du gris :

3. L'image en couleurs

Même s'il est parfois utile de pouvoir représenter des images en noir et blanc ou en niveau de gris,
les applications multimédias utilisent le plus souvent des images en couleurs. La représentation des
couleurs s'effectue de la même manière que les images monochromes avec cependant quelques
particularités. En effet, il faut tout d'abord choisir un modelé de représentation.
Pour cela on utilise un espace de couleur à plusieurs dimensions qui consiste à donner suffisamment
de composantes numériques pour décrire une couleur. Il y a des différentes représentations des
images couleur :
La représentation en couleurs réelle sur 24 bits.
La représentation en couleurs indexées, on utilise une table appelée palette pour éviter la
redondance de couleur.
Le mode RGB est idéal pour l'affichage sur écran, une image RGB est composée de trois couches
Rouge, Vert et Bleu. Chaque pixel est dénit par une valeur possible de ces couleurs de [0 à 255]. Une
fois combinée ces couches permettent de générer toutes nuances de couleur.

7
8
Chapitre 1 : OCR ( Optical Character
Recognition )
La reconnaissance optique de caractères (ROC, ou OCR pour l'anglais optical
character recognition), ou océrisation, désigne les procédés informatiques pour
la traduction d'images de textes imprimés ou dactylographiés en fichiers de
texte.

Un ordinateur réclame pour l'exécution de cette tâche un logiciel d'OCR. Celui-


ci permet de récupérer le texte dans l'image d'un texte imprimé et de le
sauvegarder dans un fichier pouvant être exploité dans un traitement de texte
pour enrichissement, et stocké dans une base de données ou sur un autre support
exploitable par un système informatique.

9
1. Historique d’OCR
La première machine d'OCR fut créée par Gustav Tauschek, un ingénieur allemand, en 1929.
Elle contenait un détecteur photosensible qui pointait une lumière sur un mot lorsqu’il
correspondait à un gabarit contenu dans sa mémoire.

En 1950, Frank Rowlett, qui avait cassé le code diplomatique japonais PURPLE, demanda à
David Shepard, un cryptanalyste de l'AFSA (prédécesseur de la NSA américaine), de
travailler avec Louis Tordella pour faire à l'agence des propositions de procédures
d'automatisation des données. La question incluait le problème de la conversion de messages
imprimés en langage machine pour le traitement informatique. Shepard décida qu'il devait
être possible de construire une machine pour le faire, et, avec l'aide de Harvey Cook, un ami,
construisit « Gismo » dans son grenier pendant ses soirées et ses week-ends. Le fait fut
rapporté dans le Washington Daily News du 27 avril 1951 et dans le New York Times du 26
décembre 1953 après le dépôt du brevet numéro 2 663 758. Shepard fonda alors Intelligent
Machines Research Corporation (IMR), qui livra les premiers systèmes d'OCR au monde
exploités par des sociétés privées. Le premier système privé fut installé au Reader's Digest en
1955, et, de nombreuses années plus tard, fut offert par le Readers Digest au Smithsonian, où
il fut mis en exposition. Les autres systèmes vendus par IMR à la fin des années 1950
comprenaient un lecteur de bordereau de facturation à l'Ohio Bell Telephone Company et un
numériseur (scanner de documents) à l'US Air Force pour la lecture et la transmission par
télex de messages dactylographiés. IBM et d'autres utilisèrent plus tard les brevets de
Shepard.

Depuis 1965, la Poste des États-Unis utilise pour trier le courrier des machines OCR dont le
principe de fonctionnement a été imaginé par Jacob Rabinow, un inventeur prolifique. La
Poste canadienne utilise des systèmes OCR depuis 1971. Les systèmes OCR lisent le nom et
l'adresse du destinataire au premier centre de tri automatisé, et impriment sur l'enveloppe un
code-barres fondé sur le code postal. Les lettres n'ont plus qu'à être triées dans les centres
suivants par des trieuses moins coûteuses qui n'ont qu'à lire le code-barres. Pour éviter toute
interférence avec l'adresse lisible qui peut se trouver n'importe où sur la lettre, une encre
spéciale est utilisée, qui est clairement visible sous une lumière UV. Cette encre semble
orange dans des conditions d'éclairage normales.

Il fallut attendre 1974 pour qu’un scientifique rassemble ces nouvelles connaissances dans
une technologie qui permettrait aux aveugles de lire des documents enregistrés sur un support
informatique. On sort du domaine précis de la reconnaissance optique de caractère pour
l’appliquer en utilisant de nouvelles technologies. Pour cela, ce scientifique, du nom de Ray

10
Kurzweil, créa un synthétiseur vocal pour « dire » le texte et améliora les procédés de
numérisation. En 1976, le prototype fut fini, et pour l’anecdote, c’est Stevie Wonder qui
finança le projet. Le début de la commercialisation de la « reading machine » eut lieu en 1978.
Deux ans plus tard, Xerox acheta la société.

2. Fonctionnement d’OCR

L’OCR fonctionne comme la capacité humaine à lire un texte et à reconnaître des modèles et
des caractères. Normalement, l’homme lit le texte, puis extrait les informations nécessaires en
saisissant manuellement les données dans un système, un fichier de données ou une base de
données.

L’OCR procède de manière un peu différente. La technologie améliore la qualité d’un texte
ou d’une image scannée et suit plusieurs étapes pour extraire les données qui ont été
capturées. La différence est que le travail manuel prend plus de temps et est plus sujet aux
erreurs humaines.

Examinons en détail les étapes suivantes du processus d’OCR :

 Étape 1 : prétraitement de l’image


 Étape 2: Segmentation
 Étape 3 : Reconnaissance des caractères
 Étape 4 : Post-traitement de la sortie

Étape 1 : Pré-traitement de l’image

Pour que l’extraction des données soit précise, la qualité de l’image doit être améliorée. Le
processus d’amélioration des images est également connu sous le nom de phase de pré-
traitement des images. Plus l’image ou le document numérisé est clair et de bonne qualité,
plus la sortie de données est précise.

Lors de l’étape de pré-traitement, le moteur OCR recherche automatiquement les erreurs et


corrige les problèmes. Les techniques souvent utilisées pour améliorer les images ou les
documents numérisés sont les suivantes :

 Redressement – Processus par lequel une photo ou un document numérisé est


redressé et l’angle corrigé.

11
Figure 1 : Redressement d'image

 Binarisation – Processus par lequel une image ou un document numérisé est converti
en noir et blanc. La binarisation permet de séparer plus précisément le texte de
l’arrière-plan.

Figure 2 : Binarisation

 Zonage – Également connu sous le nom d’analyse de la mise en page, utilisé pour
identifier les colonnes, les rangées, les blocs, les légendes, les paragraphes, les
tableaux et autres éléments.

12
Figure 3 : Zonage

 Normalisation – Le processus de réduction du bruit en ajustant la valeur de l’intensité


des pixels aux valeurs moyennes des pixels environnants.

Figure 4 : Normalisation

Étape 2 : Segmentation

La segmentation est le processus de reconnaissance d’une ligne de texte à la fois. La


segmentation comprend les étapes suivantes :

 Détection des mots et des lignes de texte – Il s’agit de l’identification des lignes de
texte et des mots qui leur appartiennent.

13
Figure 5 : Détection des lignes et des mots de texte

 Reconnaissance du script – Processus d’identification du script à partir de


documents, de pages, de lignes de texte, de paragraphes, de mots et de caractères.

Figure 6 : Reconnaissance de script

Étape 3 : Reconnaissance de caractères

Au cours de cette étape, une image ou un document est décomposé en parties, sections ou
zones. Une fois la séparation effectuée, les caractères qui s’y trouvent sont reconnus.

Deux approches sont utilisées dans l’étape de reconnaissance des caractères :

 La mise en correspondance de matrices – Le processus dans lequel chaque caractère


est comparé à une bibliothèque de matrices de caractères. Le modèle OCR effectue
une comparaison pixel par pixel afin d’étiqueter l’image d’un caractère au caractère
correspondant.

14
Figure 7 : La mise en correspondance de matrices

 Reconnaissance des caractéristiques – Le processus de reconnaissance des modèles


de texte et des caractéristiques des caractères à partir d’images. Par exemple, la taille,
la hauteur, la forme, les lignes et la structure d’un caractère sont comparées à celles de
la bibliothèque existante.

Étape 4 : Post-traitement du résultat

Cette étape concerne les techniques et les algorithmes qui améliorent la précision de
l’extraction des données pour un résultat optimal. Tout d’abord, les données sont détectées,
puis corrigées si nécessaire.

Les données extraites sont comparées à un vocabulaire ou à une bibliothèque de caractères


pour des vérifications grammaticales et des considérations contextuelles afin de compléter la
phase de post-traitement.

Figure 8 : Un exemple de la phase de post-traitement de l’OCR, où la sortie est fixée

15
3. Cas d’utilisation d’OCR

 Lecture de plaques d'immatriculation : L'OCR est utilisé pour la


lecture des plaques d'immatriculation des voitures dans des environnements de
sécurité, tels que les parkings, les péages et les systèmes de surveillance de la
circulation.

Figure 9 : Exemple de lecture d'une plaque d’immatriculation

 La reconnaissance de panneaux de signalisation et de


marquages routiers : Les caméras montées sur les voitures autonomes
peuvent être utilisées pour capturer des images de panneaux de signalisation et de
marquages routiers, et l'OCR peut être utilisé pour convertir les caractères imprimés

16
sur ces images en format numérique. Cela permet à la voiture de comprendre les
limites de vitesse, les arrêts et les directions, entre autres informations.

Figure 10 : Exemple de reconnaissance du marquage routiers

4. Limites de l’OCR

L’OCR traditionnelle n’a jamais été conçue comme une solution dynamique d’extraction de
données. Elle a été initialement inventée pour les aveugles afin de convertir les caractères
imprimés en paroles. Plus tard, cette technologie a été utilisée pour lire et reconnaître du texte
noir sur un fond blanc. L’OCR n’est donc pas sans poser quelques problèmes.

Voici les cinq principales limites de l’OCR traditionnelle :

Dépendance à la qualité de l’entrée


La qualité de la reconnaissance et de l’extraction du texte dépend directement de la qualité de
l’image fournie au moteur. Par exemple, la précision diminue considérablement lorsque la
hauteur des caractères est inférieure à 20 pixels.

17
Dépendance à l’égard des modèles et des règles
L’OCR traditionnelle nécessite des modèles et des règles pour fonctionner. Des règles strictes
doivent être établies en programmant le moteur pour qu’il capture les données dans les
champs et les lignes appropriés. Par conséquent, elle ne peut pas faire face à la diversité des
documents et a du mal à traiter les documents non structurés.

Manque d’automatisation
En raison de sa dépendance à l’égard des modèles et des règles, l’OCR traditionnelle manque
de nombreuses possibilités d’automatisation. Par exemple, si vous souhaitez extraire des
données structurées des factures, chaque champ de données spécifique nécessitera une
nouvelle règle. Et comme vous le savez, les factures se présentent sous différents styles et
formats, ce qui entraîne de très nombreuses règles.

L’ajout de règles supplémentaires entraînerait une augmentation des données et des ressources
nécessaires à la formation du moteur d’OCR. Avec l’approche conventionnelle, il y aura
toujours plus de règles à mettre en place, ce qui peut devenir un sérieux goulot
d’étranglement.

Coûteux
Comme il faut développer davantage de règles et d’algorithmes pour augmenter la précision,
l’OCR traditionnelle peut devenir très coûteux. En outre, la création de ces règles et
algorithmes ne garantit pas toujours un résultat de haute qualité, car elle dépend également de
la qualité de l’image en entrée.

Mauvaise adaptation à une grande variété de documents


Avec l’OCR traditionnelle, le résultat est souvent très précis lorsque les documents sont
simples et comportent peu de variations. Cependant, de nombreuses entreprises doivent traiter
des documents variés dans le cadre de leurs flux de travail.

Plus la variété des documents est grande, plus la tâche devient difficile. Le moteur d’OCR
traditionnel étant entraîné à l’aide de modèles, il ne peut pas faire face à une grande variété de
documents.

En résumé, nous pouvons conclure que l’OCR traditionnelle n’est pas parfaite. Mais ne vous
laissez pas décourager. Le marché devenant chaque année plus exigeant en termes de besoins
et de fonctionnalités, l’OCR a fait de nombreux bonds en avant pour répondre à cette
demande.

5. OCR en python

En Python, il existe plusieurs bibliothèques et outils pour effectuer de la reconnaissance


optique de caractères (OCR) sur des images ou des documents numérisés. Voici quelques-uns
des outils les plus populaires :

18
 OpenCV (Open Source Computer Vision Library) :
OpenCV est une bibliothèque de traitement d'image open-source qui peut être utilisée
pour prétraiter les images avant l'OCR. Elle peut être utilisée pour supprimer le bruit,
améliorer la qualité de l'image, détecter les contours ainsi que l’inversion des couleurs
de l’image, comme affiché dans cette exemple où on a séparé le fond de l'avant-plan d'une
image en implémentant La méthode de seuillage adaptatif de Gauss en utilisant openCV :

Figure 11 : Exemple d'utilisation de OpenCV

 Tesseract :
Tesseract est une bibliothèque OCR open-source développée par Google. Elle prend en
charge plus de 100 langues et est connue pour sa précision de reconnaissance de caractères.
Elle peut être utilisée en Python à l'aide de la bibliothèque pytesseract.
La bibliothèque tesseract utilise un ensemble défini de techniques pour le traitement de la
reconnaissance optique de caractères. Tout d'abord, l'image est convertie en binaire puis une
analyse en composantes connexes a lieu, qui stocke les contours des composantes. Ces
contours sont ensuite rassemblés sous forme de gouttes. Ensuite, les blobs sont structurés en
lignes de texte qui sont ensuite décomposées en mots en fonction de l'espacement des
caractères.
Une fois les mots détectés, la phase suivante concerne la reconnaissance. La reconnaissance
est un processus en deux étapes. Dans la première étape, chaque mot est essayé pour être
reconnu, et les mots satisfaisants sont passés à un classificateur adaptatif. Lorsque tout est
analysé une fois, une seconde passe est effectuée pour reconnaître le texte qui n'a pas été
reconnu lors de la première passe.
En fin de compte, l'algorithme effectue une dernière passe pour résoudre les espaces flous et
localiser le texte en petite majuscule.

19
Figure 12 : Architecture de Tesseract

 Keras OCR :
Keras OCR est une bibliothèque OCR open-source développée en Python. Elle utilise des
réseaux de neurones convolutifs pour effectuer la reconnaissance de caractères à partir
d'images.
Plus précisément, le réseau de neurones utilisé est un réseau de neurones convolutif profond,
appelé Convolutional Recurrent Neural Network (CRNN). Ce type de réseau de neurones
utilise des couches de neurones pré-définies telles que les couches Convolution2D,
MaxPooling2D, Flatten et Dense. Il combine des couches convolutives et des couches
récurrentes pour extraire les caractéristiques des images et les modéliser dans un contexte
séquentiel.
Les couches récurrentes sont utilisées pour modéliser les séquences de caractères extraites des
images, en tenant compte des relations de dépendance entre les caractères. Enfin, les couches
de connexion sont utilisées pour combiner les caractéristiques extraites par les couches
précédentes et produire la sortie du modèle, qui est une séquence de caractères prédits.

20
Et comme on peut voir dans cet exemple, Keras peut fournir plusieurs types de RNN, tels que
LSTM et GRU, qui sont particulièrement bien adaptés à l'OCR en raison de leur capacité à
gérer les dépendances à long terme dans les données séquentielles.

Figure 13 : Architecture d'un exemple de Keras OCR

 Kraken :
Kraken est un moteur OCR écrit en Python qui utilise des techniques de deep learning pour
reconnaître le texte dans les images.
Kraken fonctionne en premier lieu en divisant l'image d'entrée en lignes ou en régions de texte
individuelles. Ensuite, il utilise un réseau de neurones pour classifier les caractères individuels
dans chaque ligne ou région. Enfin, Kraken utilise un modèle de langue pour effectuer un
post-traitement contextuel, qui peut aider à corriger les erreurs et améliorer la précision
globale de la reconnaissance.
Kraken utilise une architecture de réseau de neurones profonds qui est similaire à l'architecture
CRNN utilisée par Keras OCR. Cependant, l'architecture de Kraken comprend certaines
fonctionnalités supplémentaires spécifiquement conçues pour l'OCR, telles qu'une couche de
pooling pyramidale qui aide à gérer les variations de taille et d'orientation du texte.
Plus précisément, l'architecture utilisée par Kraken pour l'OCR comprend les éléments
suivants :
1. Une couche de convolution pour extraire des caractéristiques visuelles à partir de
l'image d'entrée.
2. Des couches récurrentes bidirectionnelles pour modéliser les dépendances entre les
caractères dans les deux directions (gauche à droite et droite à gauche).
3. Une couche de pooling pyramidale pour agréger les caractéristiques sur plusieurs
échelles, afin de mieux gérer les variations de taille du texte.

21
4. Une couche de sortie de caractères qui prédit la classe de chaque caractère dans la
séquence.

Figure 14 : Architecture de Kraken

 Scikit-learn :
Scikit-learn est une bibliothèque open source pour l'apprentissage automatique en Python. Elle
inclut des algorithmes de machine learning pour la reconnaissance de caractères telle que : Les
arbres de décision : Les arbres de décision sont des algorithmes de machine learning qui
construisent un arbre à partir des caractéristiques d'un ensemble de données d'entraînement.
Chaque nœud de l'arbre représente une décision basée sur une caractéristique de l'image du
caractère, et les feuilles de l'arbre représentent les classes de caractères possibles. Les arbres
de décision sont souvent utilisés pour des tâches de classification simples.
Dans Cet exemple on a utilisé l'ensemble de données Digits de scikit-learn qui contient des
images de chiffres manuscrits. Les images sont prétraitées à l'aide d'un pipeline qui normalise
les données d'entrée en utilisant la classe StandardScaler de scikit-learn. Ensuite, un arbre de
décision est entraîné sur les données d'entraînement prétraitées et utilisé pour prédire les
classes de caractères dans les données de test prétraitées. Enfin, la précision du modèle est
attribuée en comparant les classes prédites avec les classes réelles.
Pour tester notre modèle, nous sélectionnons une image aléatoire dans l'ensemble de test et la
transformons en un tableau 8x8. Nous prédisons ensuite la classe de l'image à l'aide du
classificateur d'arbre de décision que nous avons formé précédemment.

22
Figure 15 : Resultat de prediction avec Arbre de decision

Pour faire la difference, on pourra utiliser le classificateur de Support Vector Machine, ce qui
nous donne le résultat suivant :

Figure 16 : Resultat de prediction avec SVM

23
Chapitre 2 : OCR ( Optical Character
Recognition )

References
Kraken : https://kraken.re/master/api.html
Tesseract : https://www.projectpro.io/article/how-to-train-
tesseract-ocr-python/561
OCR : https://www.klippa.com/fr/blog/informations/ocr-
guide-ultime/
Keras OCR : https://keras-ocr.readthedocs.io/en/latest/
Decision Tree :
https://cedric.cnam.fr/vertigo/cours/ml2/tpArbresDecision.ht
ml

24

Vous aimerez peut-être aussi