Université Nationale du Vietnam, Hanoï
Institut Francophone International
Myderson SEMEURAND
Mise en œuvre d’un OCR par machine learning
mise à disposition via API et intégration dans la
solution Tessi Lab Document Reader
MÉMOIRE DE FIN D’ÉTUDES DE MASTER
INFORMATIQUE
Hanoï 2020
Université Nationale du Vietnam, Hanoï
Institut Francophone International
Myderson SEMEURAND
Mise en œuvre d’un OCR par machine learning
mise à disposition via API et intégration dans la
solution Tessi Lab Document Reader
Filière : Système Intelligent et Multimédia
Code : Programme pilote
MÉMOIRE DE FIN D’ÉTUDES DE MASTER
INFORMATIQUE
Sous la direction de :
M. Marc Denty (TESSILAB)
Lu et approuvé
Soutenu le 15/05/2020
Hanoï 2020
Attestation sur l’honneur
J’atteste sur l’honneur que je suis l’auteur de ce mémoire et que les données et les
résultats qui y figurent sont exacts et n’ont jamais été publiés ailleurs. Les sources
citées dans ce mémoire ont clairement été précisées.
Signature de l’étudiant
Myderson SEMEURAND
Remerciements
Je tiens à remercier toutes les âmes formidables qui ont contribuées d’une certaine manière à rendre possible ce parcours de formation en master informatique
durant ces deux exceptionnelles années qui s’achèvent par là.
Je remercie mes enseignants et la direction de l’Institut Francophone International (Vietnam) et aussi ceux de l’Université de La Rochelle (France) pour leur
contribution dans ma formation durant ces deux années.
Je suis reconnaissant à l’endroit de mon établissement de stage Tessi Lab pour
leur accueil. Un remerciement spécial à M. Marc DENTY, M. Lilian NAYAGOM,
M. Khaled BESROUR et à tous ceux de Tessi Lab qui m’ont guidé durant ces mois
de stage.
Un énorme merci à ma famille, ma mère Mme Anne-Marie SEMEURAND, mon
père M. Martin SEMEURAND, mes deux formidables soeurs et mes frères pour leur
soutien incontournable. Un remerciement spécial à l’endroit de M. Dieulin JOANIS
pour son précieux support.
Enfin, je remercie les nombreux(ses) amis(es), tous ceux d’une certaine manière
qui m’ont toujours supporté et contribués à la réussite de ma formation.
i
Résumé
Ce présent document détaille du travail de mise en œuvre d’un OCR par Machine
Learning réalisé dans le cadre de mon stage de fin d’étude en Master II au sein de
Tessi Lab Lyon, France, entité de Tessi. Il traite des approches modernes de vision
par ordinateur et d’apprentissage profond dans le cadre de la segmentation et de la
reconnaissance de texte. Des approches qui ont vu le jour surtout grâce aux travaux
sur les réseaux de neurones artificiels (CNN, RNN), certaines, comme Region-Based
detector pour la segmentation et la Reconnaissance de Séquence Basée sur l’Image
pour l’OCR constituent donc la toile de fond de ce document.
À la première partie, aborde l’étape de l’état de l’art de l’OCR en 2019 sous un
regard plus axé sur les travaux de vision par ordinateur et d’apprentissage profond
existant déjà à ce sujet. Cette étape a donné lieu à l’exploration des deux pistes de
solution qui se sont suivies.
La deuxième et troisième étape qui sont traitées aux chapitres 3 et 4 de ce document, parcourent la conception et l’implémentation des deux approches de solution
retenues. La première, s’inspirant particulièrement de Mask-RCNN, ainsi, un réseau
entraînable de bout en bout qui à la fois s’occupe de la localisation, la classification
et la reconnaissance de texte au niveau des documents. Cette approche, malgré tout,
allait céder la place à la Reconnaissance de Séquence Basée sur l’Image en raison de
son fort coût de calcul, mais demeure une sérieuse option que Tessi Lab pourrait à
l’avenir exploiter pour une segmentation de texte plus générique.
La seconde approche tout aussi efficace que la première en terme d’OCR, mais
le reconnaît-on est moins coûteux en terme de calcul et adopte plutôt une vision
séparée de la segmentation et reconnaissance de texte. Lors de l’implémentation de
cette approche, l’accent a été aussi mis sur un réseau entraînable de bout en bout
pour la reconnaissance de texte. Il est composé d’un réseau de neurone à convolution
à la VGG standard, combiné à un réseau de neurone récurrent de type Bidirectional
LSTM. Cette solution après implémentation et expérimentation, au final montre des
résultats intéressants, par contre est ouverte aux améliorations nécessaires.
Dans la partie des résultats est traité l’aboutissement des expérimentations entreprises, statistiques et discussions autour de ces chiffres présentés.
Enfin, en guise de conclusion, un regard est porté sur d’autres pistes d’amélioration du travail qui a été effectué, certaines qui pourraient servir à aboutir à de
meilleurs résultats et rendre ce projet beaucoup plus utile à l’avenir à Tessi.
Mots-clés : OCR, Apprentissage automatique, Vision par ordinateur,
Apprentissage profond, Segmentation de texte, Détecteur basé sur Région, CNN, RNN, Bidirectional LSTM, Séquences
ii
Abstract
This document details the work of implementing an OCR by Machine Learning
carried out as part of my end of study internship in Master II within Tessi Lab
Lyon, France, Tessi entity. It covers modern approaches to computer vision and
deep learning in the context of text segmentation and recognition. Approaches that
have emerged mainly thanks to work on artificial neural networks (CNN, RNN),
some, such as : Region-Based detector for segmentation and Image-Based Sequence
Recognition for OCR therefore constitute the backdrop to this document.
In the first part, takes a look at the state of the art of OCR in 2019 with a more
focused look at the computer vision and deep learning work already existing on this
subject. This step gave rise to the exploration of the two tracks of solution which
followed each other.
The second and third steps, which are dealt with in chapters 3 and 4 of this document, cover the design and implementation of the two solution approaches adopted.
The first, particularly inspired by Mask RCNN. Thus, a trainable network standing
at the end which at the same time takes care of the localization, classification and
recognition of text at document level. This approach, despite everything, would give
way to Image-Based Sequence Recognition due to its high computational cost, but
remains a serious option that Tessi Lab could in the future exploit for more generic
text segmentation.
The second approach is just as effective as its predecessor in terms of OCR, but it
is recognized that it is less costly in terms of calculation and rather adopts a separate
vision of segmentation and recognition of text. When implementing this approach,
emphasis was also placed on an end-to-end trainable network for text recognition.
It is composed of a convolutional neuron network at the standard VGG, combined
with a recurrent neural network of the Bidirectional LSTM type. This solution after
implementation and experimentation, in the end, shows interesting results, however
remained open to the necessary improvements.
The results section deals with the outcome of the experiments undertaken, statistics and discussions around these figures presented.
Finally, as a perspective, a look is taken at other avenues for improving the work
that has been done, some of which could be used to achieve better results and make
this project much more useful for Tessi in the future.
Keywords : OCR, Machine learning, Computer vision, Deep learning,
Text segmentation, Region based detector, CNN, RNN, Bidirectional
LSTM, Sequences
iii
Table des matières
1 Cadre général du projet
1.1 Contexte et cadre d’étude . . . . . . . .
1.2 Présentation de l’établissement d’accueil
1.2.1 Tessi . . . . . . . . . . . . . . . .
1.2.2 Tessi Lab . . . . . . . . . . . . .
1.2.3 TLDR . . . . . . . . . . . . . . .
1.3 Problématique . . . . . . . . . . . . . . .
1.4 Objectif du stage . . . . . . . . . . . . .
1.5 Structure du mémoire . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 État de l’art
2.1 Introduction . . . . . . . . . . . . . . . .
2.2 La segmentation de texte . . . . . . . . .
2.2.1 Approche Region-Based detector
2.2.2 Approche traitement d’image . .
2.3 La reconnaissance de texte . . . . . . . .
2.4 Modèle entraînable de bout en bout . . .
2.5 Conclusion . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
. 5
. 5
. 6
. 7
. 10
. 10
. 11
.
.
.
.
.
.
.
.
.
.
.
.
.
.
12
12
12
12
15
16
18
19
3 Conception des modèles et le module de traitement
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
3.2 Segmentation avec Mask RCNN . . . . . . . . . . . .
3.2.1 Modèle . . . . . . . . . . . . . . . . . . . . . .
3.3 Reconnaissance de séquence basée sur l’image . . . .
3.3.1 Modèle . . . . . . . . . . . . . . . . . . . . . .
3.4 Segmentation par traitement d’image . . . . . . . . .
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . .
4 Implémentations
4.1 Introduction . . . . . . . . . . . . .
4.2 Ressources matérielles et logicielles
4.3 Données utilisées . . . . . . . . . .
4.4 Entraînements . . . . . . . . . . . .
4.5 Conclusion . . . . . . . . . . . . . .
d’image
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
2
2
2
2
3
3
3
4
4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
20
20
20
21
23
23
5 Résultats
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Modèle basé sur “Region-Based detector” . . . . . . . . . . . . . .
5.3 Modèle basé sur la “reconnaissance de séquence basée sur l’image”
5.4 Les difficultés du modèle . . . . . . . . . . . . . . . . . . . . . . .
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
25
25
25
26
26
28
iv
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A ANNEXE - Architecture type de Mask RCNN
32
B ANNEXE - Architecture du réseau inspirée de Mask RCNN
33
C ANNEXE - Architecture détaillée de DenseNet 121
34
D ANNEXE - Architecture Mask RCNN
35
E ANNEXE - Architecture Mask RCNN modifié
36
F ANNEXE - Exemple de segmentation réalisée sur document avec
le modèle Mask RCNN modifié
37
G ANNEXE - Curriculum Vitae
38
H ANNEXE - Rapport de mémoire par : Dr. Nicolas Sidere, rapporteur 1
39
I
ANNEXE - Rapport de mémoire par : Dr. Ho Tung Vinh, rapporteur 2
40
J ANNEXE - Décision du jury
41
K ANNEXE - Attestation de correction
42
v
Table des figures
2.1
2.2
2.3
2.4
2.5
2.6
2.7
Détection d’objet . . . . . . . . . . . . . . . . . . . . . .
Exemple de Segmentation d’instances dans la pratique .
Exemple de segmentation d’instances dans Mask RCNN .
Exemple de seuillage . . . . . . . . . . . . . . . . . . . .
Exemple de lissage avec un filtre de convolution 2D . . .
Exemple de différents type d’opérations morphologiques .
Exemple de détection de contour . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Architecture du réseau inspiré de Mask RCNN pour la segmentation
de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Architecture FPN (chemin ascendant, descendant et connexions latérales)avec un DenseNet réduit . . . . . . . . . . . . . . . . . . . . .
3.3 DenseNet dense bloc . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Représentation schématique de RPN . . . . . . . . . . . . . . . . .
3.5 Exemple de VGG16 sans la partie MLP . . . . . . . . . . . . . . . .
3.6 Exemple d’un bloc de convolution . . . . . . . . . . . . . . . . . . .
3.7 Champ réceptif . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8 LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9 Illustration naïve . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10 Approche CTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11 Formule de la fonction de perte CTC . . . . . . . . . . . . . . . . .
3.12 Module de traitement d’image intégré au modèle OCR . . . . . . .
.
.
.
.
.
.
.
6
7
7
8
8
9
9
3.1
4.1
. 13
.
.
.
.
.
.
.
.
.
.
.
14
15
16
16
17
17
18
18
18
19
19
4.2
4.3
Exemple d’annotation par ligne de texte sur le jeu de données
la segmentation . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure du jeu de données pour le modèle CRNN . . . . . .
Architecture du réseau CRNN . . . . . . . . . . . . . . . . . .
5.1
5.2
5.3
Prédiction sur un document après "100 epochs" d’entraînement . . . 26
Perte du modèle au cours de la validation . . . . . . . . . . . . . . . . 27
Perte du modèle au cours de l’entraînement . . . . . . . . . . . . . . 27
vi
pour
. . . . 21
. . . . 22
. . . . 24
Liste des tableaux
4.1
4.2
Les ressources matérielles . . . . . . . . . . . . . . . . . . . . . . . . . 20
Ressources logicielles . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.1
5.2
5.3
Pertes sur le modèle MRCNN . . . . . . . . . . . . . . . . . . . . . . 25
Meilleure prédiction obtenue sur un document . . . . . . . . . . . . . 26
Résultats sur le modèle CRNN . . . . . . . . . . . . . . . . . . . . . . 27
vii
Liste des sigles et acronymes
OCR : Optical Character Recognition
CNN : Convolutional Neural Network
RNN : Reccurent Neural Network
MRCNN : Mask Regional Convolutional Neural Network
VGG : Visual Geometry Group
LSTM : Long Short Term Memory
DCNN : Deep Convolutional Neural Network
BRNN : Bidirectional Reccurent Neural Network
lr : Learning rate
CRNN : Convolutional Reccurent Neural Network
viii
Introduction Générale
Les machines d’aujourd’hui sont de plus en plus dotées d’intelligence, les grandes
avancées que connaît l’informatique et l’intelligence artificielle poussent le monde
vers le besoin d’aller encore plus vite. La tendance à l’automatisation des tâches,
i-e donner à la machine la capacité de prendre en charge de plus en plus de tâches
humaines, abouti à l’expansion des domaines comme le traitement d’image, l’apprentissage automatique, la vision par ordinateur pour en rester là.
Dans le monde actuel, les données numériques croissent telles qu’elles ne l’ont
jamais été auparavant et constituent un défi majeur en terme de traitement de flux
pour les entreprises, débouchant alors sur la nécessité de développer ou d’améliorer
constamment des outils et technologies adéquates en guise de solutions efficaces.
Il y a des années de cela, l’OCR était vu comme un outil de reconnaissance
de caractères dans un document simple numérisé dans une ou plusieurs langue(s)
particulière(s) et ça s’arrêtait là, ce fut l’ère de l’OCR traditionnel. Mais depuis,
la tendance a évolué, l’OCR d’aujourd’hui est plus un OCR spécialisé, un OCR
pouvant répondre à un ou des besoin(s) particulier(s) comme de faire la reconnaissance de texte dans les images de scène naturelle, la reconnaissance de texte dans
les documents scientifiques dits des documents compliqués et autres.
Dans ce schéma de pensée, les sujets comme la segmentation de texte (localisation, et classification), la reconnaissance de texte dans les images naturelles ou autres
font l’objet de terrain de chasse des chercheurs en traitement d’image, vision par ordinateur et apprentissage automatique. Ainsi, des récentes publications de la FAIR
[10] sur la détection d’objet ont inspirées de nouvelles méthodes de segmentation de
textes, STN-OCR [2] une méthode basée sur les réseaux de transformation spatiale,
a amélioré considérablement la reconnaissance de texte dans les images naturelles
et pour ne citer que ceux-là. Mais alors, c’est sans oublier l’apport incontournable
d’un sous domaine comme l’apprentissage profond (basé sur les réseaux de neurones
artificiels).
Mon projet de stage qui traite de la mise en oeuvre d’un OCR par machine
learning, a été réalisé sur la base de ces approches récentes de l’apprentissage profond
et de la vision par ordinateur afin d’apporter une solution moderne et viable. Dans
ce document est présenté tous les détails de la réalisation de ce projet, lesquels ont
été répartis en trois principales étapes :
1. L’étude de l’état de l’art.
2. La conception et l’implémentation d’une approche de segmentation de texte.
3. La conception et l’implémentation d’une approche de reconnaissance de texte.
À noter que notre solution ne se veut pas à ce stade une référence en matière
d’OCR, mais plutôt une autre brique à Tessi Lab pour la construction de leur propre
OCR.
1
Chapitre 1
Cadre général du projet
1.1
Contexte et cadre d’étude
Ce projet a été réalisé dans le cadre de mon stage de fin d’étude de Master 2 :
“Système Intelligent et Multimédia” et s’inscrit dans une démarche de mise en œuvre
d’un module d’OCR propre à Tessi par apprentissage automatique. Ici, l’OCR est la
thématique clé abordée. Elle est par définition un ensemble de procédés utilisés pour
extraire ou traduire les images de texte imprimé, dactylographié ou manuscrit en
fichier de texte exploitable par la machine. La reconnaissance optique de caractère
est apparue avec les premiers travaux de l’ingénieur allemand Gustav Tauschek en
1929 et a ensuite évolué dans le temps et continue de l’être jusqu’à aujourd’hui. Dans
le cadre du stage, le focus est mis sur les méthodes révolutionnaires de la vision par
ordinateur et de l’apprentissage profond. L’objectif du stage est de mettre en œuvre
un OCR à partir de l’apprentissage automatique pour l’intégrer à TLDR via un
API.
1.2
1.2.1
Présentation de l’établissement d’accueil
Tessi
Créé en 1971, entré en 2001 sur le marché Eurolist C - Euronext Paris, a lancé
en 2019 comme marque unique Tessi, c’est un acteur majeur européen du BPS
(Business Process Services). Depuis 40 ans il accompagne les entreprises dans la
gestion de leurs éléments vitaux : documents, moyens de paiement, transactions de
devise et marketing professionnel. Ses activités et savoir-faire s’organisent autour de
deux pôles :
1. Tessi Documents Services, expert de la relation client, de l’externalisation
de processus métier et la digitalisation des flux d’informations et de paiement.
2. Tessi Marketing Services, spécialiste du marketing client, Shopper Retail,
CRM et de l’activation de campagne promotionnelles.
Tessi en quelques chiffres :
C’est une présence dans 14 pays, avec environ 12470 collaborateurs et son chiffre
d’affaires s’élève à 427.8 millions d’euros en 2018.
2
1.2.2
Tessi Lab
Tessi Lab est la structure interne de prospective, de veille, de recherche et de
développement du groupe Tessi. Créée en Février 2014, elle a un double objectif :
contribuer au pôle d’innovation de Tessi et être le point d’entré pour les étudiants
des grandes écoles.
Bientôt six années de développement, Tessi lab poursuit cet objectif en devenant
partie prenante d’une stratégie globale de recherche et d’innovation pilotée par le
nouveau Centre d’Excellence Tessi en Intelligent Automation (CETIA).
Tessi a lancé en 2017 le CETIA, Centre d’Excellence Tessi en Intelligent Automation, qui place l’intelligence artificielle au coeur du processus métier. Sa mission
est de garantir la mise en oeuvre opérationnelle de solutions du marché, aussi bien
au cœur du système d’information qu’à celui de clients de Grands Comptes (Banque,
Assurance, Télécom, Industrie, Services, Secteur Public, etc).
La maîtrise des algorithmes de Machine Learning et la capacité à les utiliser au
sein des différents métiers de Tessi est un atout majeur de Tessi Lab Document Reader (TLDR). En effet, le Machine Learning est la brique fondamentale du module de
classification de la plateforme expérimentale Tessi Lab Document Reader. Ce module est en évaluation en réponse à la problématique de classification de documents
bancaires, notamment dans des processus d’automatisation de contrôle de cohérence
de données.
1.2.3
TLDR
Tessi Lab Document Reader TLDR, est la plateforme JAVA développée par les
équipes de Tessi Lab qui permet la dématérialisation et l’analyse des documents
non formatés dans un contexte industriel. Elle est composée de modules comme :
classification de documents, analyse et extraction de contenus et autres.
1.3
Problématique
La Reconnaissance Optique des Caractères a beaucoup évolué durant ces dernières années surtout avec l’apparition des nouveaux procédés d’apprentissage automatique. A l’instar de Tesseract OCR 1 , le fameux moteur d’OCR de Google qui
dans sa version 4 a vu arriver un moteur OCR basé sur un réseau de neurone récurrent LSTM, témoigne de la volonté du monde de la recherche d’exploiter désormais
la puissance et l’efficacité des réseaux de neurones artificiels afin de répondre aux
besoins en terme d’OCR.
TLDR, exploite les services de Tesseract OCR et ABBYY 2 dans les tâches
d’OCR, ce qui marche plutôt bien jusqu’à maintenant. Mais n’a pas écarté le besoin
de développer un OCR propre à Tessi pour répondre à l’avenir à des tâches plus
spécialisées. Car de plus en plus, Tessi cherche à optimiser le temps de réponse des
solutions utilisées et en fonction de certains besoins, la tendance est plutôt favorable
au développement de ses propres outils.
1. Tesseract est un logiciel de reconnaissance optique de caractères sous licence Apache. Conçu
par les ingénieurs de Hewlett Packard de 1985 à 1995, son développement est abandonné pendant
les dix années suivantes ; en 2005, les sources du logiciel sont publiées sous licence Apache et Google
poursuit son développement.
2. ABBYY est une multinationale russe qui fournit des logiciels de reconnaissance optique de
caractères (FineReader), de capture de documents et des logiciels d’enseignement assisté par ordinateur pour micro-ordinateurs et appareils mobiles.
3
Certains défis de l’OCR comme reconnaitre les textes manuscrits avec les caractères liés entre eux, savoir se repérer dans une page et s’en tenir aux textes pertinents
en ignorant parfois des codes barre, des logos, etc, et prendre en compte les différentes polices de caractères pour ne citer que ceux-la, sont entre autres, constamment
sujets de recherche dans le monde de l’OCR actuel.
1.4
Objectif du stage
L’objectif principal du stage est le développement d’un OCR basé sur les techniques d’apprentissage automatique, l’identification et l’application des méthodes
les plus performantes aujourd’hui en matière de reconnaissance de texte, impliquant
évidemment, la recherche et l’application de bonnes méthodes de segmentation de
texte.
1.5
Structure du mémoire
Ce document est divisé en cinq chapitres qui détaillent les travaux effectués
pendant la durée du stage :
Chapitre I : Après l’introduction du document, ce chapitre traite du cadre
d’étude, la présentaion de l’établissement d’accueil et l’objectif du stage.
Chapitre II : Ce chapitre aborde l’étude de l’état de l’art sur l’OCR en 2019
du point de vue des technologies de sa mise en oeuvre.
Chapitre III : Pour faire suite à l’état de l’art, ce nouveau chapitre décortique
du point de vue conceptuel les approches sur lesquelles ont été basée notre stage.
Chapitre IV : Dans ce chapitre, la phase de l’implémentation des modèles est
détaillée ; des données utilisées aux entraînements effectués en passant par les ressources matérielles et logicielles.
Chapitre V : Enfin, ce dernier chapitre concernera bien sûr la présentation des
résultats obtenus suite aux expérimentations menées.
4
Chapitre 2
État de l’art
2.1
Introduction
Dans ce chapitre, nous introduisons ici l’étude de l’état de l’art réalisé à l’étape
1 des travaux de stage. En effet, le focus a été mis sur les travaux de recherches
qui ont été réalisés récemment concernant la segmentation et la reconnaissance de
texte en apprentissage profond. Alors, l’idée avant tout a été de se mettre en phase
avec les techniques les plus récentes et les plus performantes qui dernièrement ont
démontré leur potentiel.
Ainsi, nous portons les regards surtout sur des approches comme les RegionBased detector ou encore certaines méthodes de traitement d’image qui ont toujours
fait leur preuve (les contours, les transformations morphologiques, etc...) dans le
cadre de la segmentation de texte.
Puis, l’approche de Reconnaissance de Séquence basée sur l’image a été vu en
détail à travers les travaux récemment mis à la disposition du grand public. Cependant, le choix d’implémentation de la plupart de ces méthodes dans le cadre de
notre stage a été avant tout à but expérimental.
2.2
La segmentation de texte
La segmentation est une thématique développée dans plusieurs travaux de détection d’image (détection d’objet, segmentation par région ou par contour). Ainsi par
définition, selon Olivier Monga et Brigitte Wrobel [4], l’objectif de la segmentation
est l’extraction d’indices visuels dans une image. Elle permet de répartir une image
en ensemble de zones appelées régions, homogènes ou différentes pour au moins une
caractéristique, en tenant compte bien sûr des régions voisines.
Les techniques consistant à localiser un objet particulier dans une image sont aujourd’hui répandues et sont appelés couramment la détection d’objet et constituent
un champ d’application vaste, surtout avec la montée en puissance des réseaux de
neurones très profonds. Ainsi, Facebook Artificial Intelligence Research FAIR [10],
au cours de ces dernières années a progressivement travaillé sur de nouveaux procédés de vision par ordinateur pour localiser et classifier différents objets dans une
image.
R-CNN [8], Fast R-CNN [7], Faster R-CNN [18] et Mask R-CNN [6] ont été successivement développé en se basant sur des approches comme la recherche sélective
dans les deux premiers travaux (ce qui a été un fardeau pour l’informatique en terme
de calcul) et Region-Based detector à partir de Faster R-CNN. Il y a entre ces quatre
travaux une logique d’évolution à chaque fois, par exemple, Mask R-CNN ajoute la
5
Figure 2.1 – Détection d’objet
tête de masque binaire pixel par pixel pour la segmentation d’image (et d’ailleurs
absent dans Faster R-CNN), et l’amélioration du mécanisme de regroupement (passant de ROI Pooling à ROIAlign) qui ajoutera de la performance à la recherche de
région d’intérêt dans Mask R-CNN.
2.2.1
Approche Region-Based detector
Cette approche a été largement vue au cours de la seconde étape de ce travail
avec Mask R-CNN. Les détecteurs basés sur les régions sont très précis mais exigent
un coût élevé en terme de calcul car ils trouvent les boîtes englobantes d’abord et
procèdent après à la classification de ces dernières. Le Mask R-CNN de la FAIR
est l’un des frameworks les plus réussis à ce moment qui adopte l’approche RegionBased detector, raison pour laquelle il a été l’une des sources d’inspiration dans des
tâches de segmentation de texte menées pendant le stage.
Mask R-CNN est d’abord un travail effectué en se focalisant sur la thématique de
la segmentation d’instance. Mais alors, arrêtons-nous ici pour comprendre certains
thèmes qui sont déjà évoqués ou certains autres qui vont l’être un peu plus loin dans
ce document.
1. Détection d’objets : elle fait référence à l’exécution de deux tâches : la prise
en compte de la délimitation d’un objet (son emplacement spatial) dans une
image ou une vidéo et la classe respective de celle-ci. Toutefois cela implique
une prise en charge des zones de chevauchement entre les objets. Voir la figure
2.1
2. Classification : sans se soucier de la structure détaillée des pixels de l’image,
elle indique que celle-ci appartient à telle classe particulière. C’est une prédiction réalisée pour chaque entrée à part entière.
3. Segmentation d’instances : un peu différente de la segmentation sémantique, qui elle peut être considérée normalement comme une suite de la classification d’un objet, elle se contente de faire de prédictions denses inférant des
étiquettes pour chaque pixel. Ainsi, un pixel est étiqueté avec la classe de son
objet dépendamment de sa zone de délimitation. Par contre, la segmentation
d’instance elle, va jusqu’à discerner les limites des objets au niveau détaillé
de leurs pixels. C’est-à-dire que par la segmentation d’instances l’on arrive à
identifier chaque instance différente d’une même classe d’objet. Voir la figure
2.2
Revenons maintenant à la structure de Mask RCNN, c’est un réseau de neurones
profond dont l’objectif est de résoudre les problèmes de segmentation d’instances,
6
Figure 2.2 – Exemple de Segmentation d’instances dans la pratique
Figure 2.3 – Exemple de segmentation d’instances dans Mask RCNN
c’est-à-dire qu’il est capable de détecter chaque objet précis dans une image ou une
vidéo. S’il reçoit en entrée une image, à la sortie il est capable de donner la boîte de
délimitation, la classe et le masque de chaque objet apparaissant dans cette image.
Tout ceci est réalisé en deux étapes, dans une première, il génère des propositions
sur les régions où il est probable qu’il y ait un objet dans l’image d’entrée. Ensuite,
il prédit la classe de l’objet, donner plus de précision au cadre de sélection de celui-ci
et prédit son masque au niveau pixel de l’objet selon la proposition de la première
étape. Ces deux étapes précitées sont juste connectées à la structure de base. Voir
la figure 2.3
Mask RCNN dans sa composition architecturale est fait d’une épine dorsale qui
est un réseau de neurone profond dans le style d’un Feature Pyramid Network FPN,
composant d’un chemin ascendant, d’un autre descendant et des connexions latérales. La voie ascendante c’est n’importe quel ConvNet pour extraire les caractéristiques brutes de l’image, celle de haut en bas est un générateur de cartes de caractéristiques pyramidales de même taille que celle de la voie ascendante. Les connexions
latérales quant à elles, ce sont en principe les convolutions et des opérations qui sont
ajoutées entre deux niveaux correspondants des deux voies.[Annexe A, 32]
2.2.2
Approche traitement d’image
Le traitement d’image classique demeure encore une solution efficace mais surtout
moins coûteuse en calcul en comparaison avec les méthodes d’apprentissage profond
pour les travaux de traitement sur les images. Ainsi, un Framework assez puissant
7
Figure 2.4 – Exemple de seuillage
Figure 2.5 – Exemple de lissage avec un filtre de convolution 2D
comme OpenCV est aujourd’hui très prisé dans le milieu de la vision par ordinateur.
Dans ce travail de stage concernant la segmentation, nous avons eu à réutiliser
un module de segmentation qui a été implémentés au sein du laboratoire, basée entre
autres sur les méthodes de seuillage, de lissage, de transformations morphologiques
et de contours d’images. Alors, le but a été de segmenter les images en mots avant
de passer chaque image de mot à l’OCR. Mais nous en reviendrons dessus dans la
partie concernant la segmentation par traitement d’image. Voyons plus en détails
les méthodes de traitement d’images utilisées :
1. Seuillage : il a la réputation d’être la méthode de segmentation la plus
simple, il a pour but de réduire la quantité d’informations présente dans une
image [14] et surtout très utile dans le cas des images de documents. Dans
[14], les techniques de binarisation d’image en niveau de gris sont divisés en
deux catégories. Une première où l’image est divisée en deux parties : texte
et fond ; dans ce cas une seule valeur de seuil est utilisée dans toute l’image
pour faire allusion ici au seuillage global, et une seconde dite seuillage local,
i-e là où les valeurs de seuils sont définies localement, pixel par pixel ou encore
région par région. Dans [1], une troisième dite hybride est d’ailleurs ajoutée
pour représenter la combinaison des deux catégories vue plus haut, consistant
particulièrement à agir sur les informations locales et globales combinées afin
d’attribuer les pixels à l’une ou à l’autre. Voir la figure 2.4
2. Lissage et débruitage : sont des filtres de traitement ayant pour but l’amélioration de l’image. En général, les filtres (de traitement ou esthétiques) fonctionnent à la base sous le même principe. Pour chaque pixel, afin de calculer
sa valeur finale, il utilise les valeurs des pixels voisins. Cependant, les filtres
de flou consistent à réduire les différences entre les pixels voisins en modifiant
la valeur de chaque pixel de manière à ce qu’elle se rapproche de celle de ses
voisins. Ainsi donc, le bruit, les contours et les détails sont atténués [3]. Voir
la figure 2.5
3. Transformations morphologiques : sont des opérations simples réalisées
sur la forme de l’image, normalement binaire. L’idée fondamentale de la morphologie mathématique c’est de comparer l’ensemble à analyser avec un ensemble géométrique appelé élément structurant SE, d’où l’intérêt de faire
8
Figure 2.6 – Exemple de différents type d’opérations morphologiques
Figure 2.7 – Exemple de détection de contour
un zoom sur ce dernier. Selon [16], c’est un ensemble appliqué à une image
d’étude qui définit une relation de voisinage et de connexité dans celle-ci.
C’est-à-dire que cet ensemble a les caractéristiques suivantes : forme, taille et
est repéré généralement par son origine appartenant à l’élément structurant.
Ci-après, exemples des filtres morphologiques (érosion, dilatation, ouverture
et fermeture). Voir la figure 2.6
4. La détection de contour : a pour but de s’intéresser seulement aux propriétés structurelles de l’image. Un contour est un lieu de variation significative
de l’information niveau de gris. Alors, “niveau de gris” parce que les travaux
sur les contours sont généralement réalisés sur des images non couleur. Pour
mieux comprendre la situation, disons qu’une rupture d’intensité dans une
image suivant une direction donnée donne lieu à cette variation significative
évoquée plus haut, elle se traduit par une discontinuité dans la profondeur,
l’orientation d’une surface, etc [23]. Voir la figure 2.7
9
- Xem thêm -