Cdocu-ette approche, malgré tout,allait céder la place à la Reconnaissance de Séquence Basée sur l’Image en raison deson fort cỏt de calcul, mais demeure une sérieuse option que Tessi La
Trang 1Université Nationale du Vietnam, Hanọ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
Hanọ 2020
Trang 2Université Nationale du Vietnam, Hanọ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
Trang 3Attestation sur l’honneur
J’atteste sur l’honneur que je suis l’auteur de ce mémoire et que les données et lesré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
Trang 4Je tiens à remercier toutes les âmes formidables qui ont contribuées d’une taine manière à rendre possible ce parcours de formation en master informatiquedurant ces deux exceptionnelles années qui s’achèvent par là
cer-Je remercie mes enseignants et la direction de l’Institut Francophone tional (Vietnam) et aussi ceux de l’Université de La Rochelle (France) pour leurcontribution dans ma formation durant ces deux années
Interna-Je suis reconnaissant à l’endroit de mon établissement de stage Tessi Lab pourleur 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, monpère M Martin SEMEURAND, mes deux formidables soeurs et mes frères pour leursoutien incontournable Un remerciement spécial à l’endroit de M Dieulin JOANISpour son précieux support
Enfin, je remercie les nombreux(ses) amis(es), tous ceux d’une certaine manièrequi m’ont toujours supporté et contribués à la réussite de ma formation
Trang 5Ce présent document détaille du travail de mise en œuvre d’un OCR par MachineLearning réalisé dans le cadre de mon stage de fin d’étude en Master II au sein deTessi Lab Lyon, France, entité de Tessi Il traite des approches modernes de visionpar ordinateur et d’apprentissage profond dans le cadre de la segmentation et de lareconnaissance de texte Des approches qui ont vu le jour surtout grâce aux travauxsur les réseaux de neurones artificiels (CNN, RNN), certaines, comme Region-Baseddetector pour la segmentation et la Reconnaissance de Séquence Basée sur l’Imagepour 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 unregard plus axé sur les travaux de vision par ordinateur et d’apprentissage profondexistant déjà à ce sujet Cette étape a donné lieu à l’exploration des deux pistes desolution qui se sont suivies
La deuxième et troisième étape qui sont traitées aux chapitres 3 et 4 de ce ment, parcourent la conception et l’implémentation des deux approches de solutionretenues La première, s’inspirant particulièrement de Mask-RCNN, ainsi, un réseauentraỵnable de bout en bout qui à la fois s’occupe de la localisation, la classification
docu-et la reconnaissance de texte au niveau des documents Cdocu-ette approche, malgré tout,allait céder la place à la Reconnaissance de Séquence Basée sur l’Image en raison deson fort cỏ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 cỏteux en terme de calcul et adopte plutơt une visionséparée de la segmentation et reconnaissance de texte Lors de l’implémentation decette approche, l’accent a été aussi mis sur un réseau entraỵnable de bout en boutpour 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 BidirectionalLSTM Cette solution après implémentation et expérimentation, au final montre desré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 treprises, statistiques et discussions autour de ces chiffres présentés
en-Enfin, en guise de conclusion, un regard est porté sur d’autres pistes ration du travail qui a été effectué, certaines qui pourraient servir à aboutir à demeilleurs résultats et rendre ce projet beaucoup plus utile à l’avenir à Tessi
d’amélio-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
Trang 6This document details the work of implementing an OCR by Machine Learningcarried out as part of my end of study internship in Master II within Tessi LabLyon, France, Tessi entity It covers modern approaches to computer vision anddeep learning in the context of text segmentation and recognition Approaches thathave emerged mainly thanks to work on artificial neural networks (CNN, RNN),some, such as : Region-Based detector for segmentation and Image-Based SequenceRecognition 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 morefocused look at the computer vision and deep learning work already existing on thissubject This step gave rise to the exploration of the two tracks of solution whichfollowed each other
The second and third steps, which are dealt with in chapters 3 and 4 of this ment, cover the design and implementation of the two solution approaches adopted.The first, particularly inspired by Mask RCNN Thus, a trainable network standing
docu-at the end which docu-at the same time takes care of the localizdocu-ation, classificdocu-ation andrecognition of text at document level This approach, despite everything, would giveway to Image-Based Sequence Recognition due to its high computational cost, butremains a serious option that Tessi Lab could in the future exploit for more generictext 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 separatevision 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, combinedwith a recurrent neural network of the Bidirectional LSTM type This solution afterimplementation and experimentation, in the end, shows interesting results, howeverremained open to the necessary improvements
The results section deals with the outcome of the experiments undertaken, tistics and discussions around these figures presented
sta-Finally, as a perspective, a look is taken at other avenues for improving the workthat has been done, some of which could be used to achieve better results and makethis project much more useful for Tessi in the future
Keywords : OCR, Machine learning, Computer vision, Deep learning,Text segmentation, Region based detector, CNN, RNN, BidirectionalLSTM, Sequences
Trang 7Table des matières
1.1 Contexte et cadre d’étude 2
1.2 Présentation de l’établissement d’accueil 2
1.2.1 Tessi 2
1.2.2 Tessi Lab 3
1.2.3 TLDR 3
1.3 Problématique 3
1.4 Objectif du stage 4
1.5 Structure du mémoire 4
2 État de l’art 5 2.1 Introduction 5
2.2 La segmentation de texte 5
2.2.1 Approche Region-Based detector 6
2.2.2 Approche traitement d’image 7
2.3 La reconnaissance de texte 10
2.4 Modèle entraînable de bout en bout 10
2.5 Conclusion 11
3 Conception des modèles et le module de traitement d’image 12 3.1 Introduction 12
3.2 Segmentation avec Mask RCNN 12
3.2.1 Modèle 12
3.3 Reconnaissance de séquence basée sur l’image 15
3.3.1 Modèle 16
3.4 Segmentation par traitement d’image 18
3.5 Conclusion 19
4 Implémentations 20 4.1 Introduction 20
4.2 Ressources matérielles et logicielles 20
4.3 Données utilisées 21
4.4 Entraînements 23
4.5 Conclusion 23
5 Résultats 25 5.1 Introduction 25
5.2 Modèle basé sur “Region-Based detector” 25
5.3 Modèle basé sur la “reconnaissance de séquence basée sur l’image” 26
5.4 Les difficultés du modèle 26
5.5 Conclusion 28
Trang 8A ANNEXE - Architecture type de Mask RCNN 32
B ANNEXE - Architecture du réseau inspirée de Mask RCNN 33
F ANNEXE - Exemple de segmentation réalisée sur document avec
H ANNEXE - Rapport de mémoire par : Dr Nicolas Sidere,
I ANNEXE - Rapport de mémoire par : Dr Ho Tung Vinh,
Trang 9Table des figures
2.1 Détection d’objet 6
2.2 Exemple de Segmentation d’instances dans la pratique 7
2.3 Exemple de segmentation d’instances dans Mask RCNN 7
2.4 Exemple de seuillage 8
2.5 Exemple de lissage avec un filtre de convolution 2D 8
2.6 Exemple de différents type d’opérations morphologiques 9
2.7 Exemple de détection de contour 9
3.1 Architecture du réseau inspiré de Mask RCNN pour la segmentation de texte 13
3.2 Architecture FPN (chemin ascendant, descendant et connexions laté-rales)avec un DenseNet réduit 14
3.3 DenseNet dense bloc 15
3.4 Représentation schématique de RPN 16
3.5 Exemple de VGG16 sans la partie MLP 16
3.6 Exemple d’un bloc de convolution 17
3.7 Champ réceptif 17
3.8 LSTM 18
3.9 Illustration nạve 18
3.10 Approche CTC 18
3.11 Formule de la fonction de perte CTC 19
3.12 Module de traitement d’image intégré au modèle OCR 19
4.1 Exemple d’annotation par ligne de texte sur le jeu de données pour la segmentation 21
4.2 Structure du jeu de données pour le modèle CRNN 22
4.3 Architecture du réseau CRNN 24
5.1 Prédiction sur un document après "100 epochs" d’entraỵnement 26
5.2 Perte du modèle au cours de la validation 27
5.3 Perte du modèle au cours de l’entraỵnement 27
Trang 10Liste des tableaux
4.1 Les ressources matérielles 20
4.2 Ressources logicielles 20
5.1 Pertes sur le modèle MRCNN 25
5.2 Meilleure prédiction obtenue sur un document 26
5.3 Résultats sur le modèle CRNN 27
Trang 11Liste des sigles et acronymes
OCR : Optical Character Recognition
CNN : Convolutional Neural Network
RNN : Reccurent Neural Network
MRCNN : Mask Regional Convolutional Neural NetworkVGG : 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
Trang 12Introduction Générale
Les machines d’aujourd’hui sont de plus en plus dotées d’intelligence, les grandesavancées que connaît l’informatique et l’intelligence artificielle poussent le mondevers 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âcheshumaines, abouti à l’expansion des domaines comme le traitement d’image, l’ap-prentissage automatique, la vision par ordinateur pour en rester là
Dans le monde actuel, les données numériques croissent telles qu’elles ne l’ontjamais été auparavant et constituent un défi majeur en terme de traitement de fluxpour les entreprises, débouchant alors sur la nécessité de développer ou d’améliorerconstamment 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 OCRpouvant répondre à un ou des besoin(s) particulier(s) comme de faire la reconnais-sance de texte dans les images de scène naturelle, la reconnaissance de texte dansles documents scientifiques dits des documents compliqués et autres
Dans ce schéma de pensée, les sujets comme la segmentation de texte tion, et classification), la reconnaissance de texte dans les images naturelles ou autresfont l’objet de terrain de chasse des chercheurs en traitement d’image, vision par or-dinateur 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 detextes, STN-OCR [2] une méthode basée sur les réseaux de transformation spatiale,
(localisa-a (localisa-amélioré considér(localisa-ablement l(localisa-a reconn(localisa-aiss(localisa-ance de texte d(localisa-ans les im(localisa-ages n(localisa-aturelles
et pour ne citer que ceux-là Mais alors, c’est sans oublier l’apport incontournabled’un sous domaine comme l’apprentissage profond (basé sur les réseaux de neuronesartificiels)
Mon projet de stage qui traite de la mise en oeuvre d’un OCR par machinelearning, 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èred’OCR, mais plutôt une autre brique à Tessi Lab pour la construction de leur propreOCR
Trang 13Chapitre 1
Cadre général du projet
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 œuvred’un module d’OCR propre à Tessi par apprentissage automatique Ici, l’OCR est lathématique clé abordée Elle est par définition un ensemble de procédés utilisés pourextraire ou traduire les images de texte imprimé, dactylographié ou manuscrit enfichier de texte exploitable par la machine La reconnaissance optique de caractèreest 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 parordinateur 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 unAPI
1.2.1 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 lagestion de leurs éléments vitaux : documents, moyens de paiement, transactions dedevise et marketing professionnel Ses activités et savoir-faire s’organisent autour dedeux 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 chiffred’affaires s’élève à 427.8 millions d’euros en 2018
Trang 141.2.2 Tessi Lab
Tessi Lab est la structure interne de prospective, de veille, de recherche et dedé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 étudiantsdes grandes écoles
Bientôt six années de développement, Tessi lab poursuit cet objectif en devenantpartie prenante d’une stratégie globale de recherche et d’innovation pilotée par lenouveau Centre d’Excellence Tessi en Intelligent Automation (CETIA)
Tessi a lancé en 2017 le CETIA, Centre d’Excellence Tessi en Intelligent mation, qui place l’intelligence artificielle au coeur du processus métier Sa missionest de garantir la mise en oeuvre opérationnelle de solutions du marché, aussi bien
Auto-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 ausein des différents métiers de Tessi est un atout majeur de Tessi Lab Document Rea-der (TLDR) En effet, le Machine Learning est la brique fondamentale du module declassification de la plateforme expérimentale Tessi Lab Document Reader Ce mo-dule est en évaluation en réponse à la problématique de classification de documentsbancaires, 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 documentsnon formatés dans un contexte industriel Elle est composée de modules comme :classification de documents, analyse et extraction de contenus et autres
La Reconnaissance Optique des Caractères a beaucoup évolué durant ces nières années surtout avec l’apparition des nouveaux procédés d’apprentissage au-tomatique A l’instar de Tesseract OCR1, le fameux moteur d’OCR de Google quidans sa version 4 a vu arriver un moteur OCR basé sur un réseau de neurone récur-rent LSTM, témoigne de la volonté du monde de la recherche d’exploiter désormais
der-la puissance et l’efficacité des réseaux de neurones artificiels afin de répondre auxbesoins en terme d’OCR
TLDR, exploite les services de Tesseract OCR et ABBYY2 dans les tâchesd’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 plusspécialisées Car de plus en plus, Tessi cherche à optimiser le temps de réponse dessolutions 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 ordi- nateur pour micro-ordinateurs et appareils mobiles.
Trang 15Certains défis de l’OCR comme reconnaitre les textes manuscrits avec les tères liés entre eux, savoir se repérer dans une page et s’en tenir aux textes pertinents
carac-en ignorant parfois des codes barre, des logos, etc, et prcarac-endre carac-en compte les rentes polices de caractères pour ne citer que ceux-la, sont entre autres, constammentsujets de recherche dans le monde de l’OCR actuel
L’objectif principal du stage est le développement d’un OCR basé sur les niques d’apprentissage automatique, l’identification et l’application des méthodesles plus performantes aujourd’hui en matière de reconnaissance de texte, impliquantévidemment, la recherche et l’application de bonnes méthodes de segmentation detexte
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 estdétaillée ; des données utilisées aux entraînements effectués en passant par les res-sources matérielles et logicielles
Chapitre V : Enfin, ce dernier chapitre concernera bien sûr la présentation desrésultats obtenus suite aux expérimentations menées
Trang 16Chapitre 2
État de l’art
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 recherchesqui ont été réalisés récemment concernant la segmentation et la reconnaissance detexte en apprentissage profond Alors, l’idée avant tout a été de se mettre en phaseavec les techniques les plus récentes et les plus performantes qui dernièrement ontdémontré leur potentiel
Ainsi, nous portons les regards surtout sur des approches comme les Based detector ou encore certaines méthodes de traitement d’image qui ont toujoursfait leur preuve (les contours, les transformations morphologiques, etc ) dans lecadre de la segmentation de texte
Region-Puis, l’approche de Reconnaissance de Séquence basée sur l’image a été vu endétail à travers les travaux récemment mis à la disposition du grand public Ce-pendant, le choix d’implémentation de la plupart de ces méthodes dans le cadre denotre stage a été avant tout à but expérimental
La segmentation est une thématique développée dans plusieurs travaux de tion d’image (détection d’objet, segmentation par région ou par contour) Ainsi pardéfinition, selon Olivier Monga et Brigitte Wrobel [4], l’objectif de la segmentationest l’extraction d’indices visuels dans une image Elle permet de répartir une image
détec-en détec-ensemble de zones appelées régions, homogènes ou différdétec-entes pour au moins unecaractéristique, en tenant compte bien sûr des régions voisines
Les techniques consistant à localiser un objet particulier dans une image sont jourd’hui répandues et sont appelés couramment la détection d’objet et constituent
au-un champ d’application vaste, surtout avec la montée en puissance des réseaux deneurones très profonds Ainsi, Facebook Artificial Intelligence Research FAIR [10],
au cours de ces dernières années a progressivement travaillé sur de nouveaux cédés de vision par ordinateur pour localiser et classifier différents objets dans uneimage
pro-R-CNN [8], Fast pro-R-CNN [7], Faster pro-R-CNN [18] et Mask pro-R-CNN [6] ont été cessivement développé en se basant sur des approches comme la recherche sélectivedans les deux premiers travaux (ce qui a été un fardeau pour l’informatique en terme
suc-de calcul) et Region-Based suc-detector à partir suc-de Faster R-CNN Il y a entre ces quatretravaux une logique d’évolution à chaque fois, par exemple, Mask R-CNN ajoute la
Trang 17Figure 2.1 – Détection d’objet
tête de masque binaire pixel par pixel pour la segmentation d’image (et d’ailleursabsent dans Faster R-CNN), et l’amélioration du mécanisme de regroupement (pas-sant de ROI Pooling à ROIAlign) qui ajoutera de la performance à la recherche deré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 travailavec Mask R-CNN Les détecteurs basés sur les régions sont très précis mais exigent
un cỏt élevé en terme de calcul car ils trouvent les boỵtes englobantes d’abord etprocèdent après à la classification de ces dernières Le Mask R-CNN de la FAIRest l’un des frameworks les plus réussis à ce moment qui adopte l’approche Region-Based detector, raison pour laquelle il a été l’une des sources d’inspiration dans destâ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 certainsthè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 uneimage ou une vidéo et la classe respective de celle-ci Toutefois cela impliqueune prise en charge des zones de chevauchement entre les objets Voir la figure2.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 tique, qui elle peut être considérée normalement comme une suite de la classi-fication 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 sonobjet dépendamment de sa zone de délimitation Par contre, la segmentationd’instance elle, va jusqu’à discerner les limites des objets au niveau détaillé
séman-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 figure2.2
Revenons maintenant à la structure de Mask RCNN, c’est un réseau de neuronesprofond dont l’objectif est de résoudre les problèmes de segmentation d’instances,
Trang 18Figure 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 unevidéo S’il reçoit en entrée une image, à la sortie il est capable de donner la boỵte dedé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 propositionssur les régions ó 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 quiest 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éris-tiques 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 connexionslatérales quant à elles, ce sont en principe les convolutions et des opérations qui sontajouté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 surtoutmoins cỏteuse en calcul en comparaison avec les méthodes d’apprentissage profondpour les travaux de traitement sur les images Ainsi, un Framework assez puissant
Trang 19Figure 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 entreautres 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 lapartie concernant la segmentation par traitement d’image Voyons plus en détailsles méthodes de traitement d’images utilisées :
1 Seuillage : il a la réputation d’être la méthode de segmentation la plussimple, il a pour but de réduire la quantité d’informations présente dans uneimage [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 endeux catégories Une première ó 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’imagepour faire allusion ici au seuillage global, et une seconde dite seuillage local,i-e là ó les valeurs de seuils sont définies localement, pixel par pixel ou encorerégion par région Dans [1], une troisième dite hybride est d’ailleurs ajoutéepour représenter la combinaison des deux catégories vue plus haut, consistantparticulièrement à agir sur les informations locales et globales combinées afind’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 lioration de l’image En général, les filtres (de traitement ou esthétiques) fonc-tionnent à la base sous le même principe Pour chaque pixel, afin de calculer
l’amé-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 sesvoisins 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éessur la forme de l’image, normalement binaire L’idée fondamentale de la mor-phologie mathématique c’est de comparer l’ensemble à analyser avec un en-semble géométrique appelé élément structurant SE, d’ó l’intérêt de faire
Trang 20Figure 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 imaged’é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 etest 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 tés structurelles de l’image Un contour est un lieu de variation significative
proprié-de l’information niveau proprié-de gris Alors, “niveau proprié-de gris” parce que les travauxsur les contours sont généralement réalisés sur des images non couleur Pourmieux comprendre la situation, disons qu’une rupture d’intensité dans uneimage 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
Trang 212.3 La reconnaissance de texte
La reconnaissance de texte du point de vue qu’elle a été abordée dans notretravail vise à prendre une image recadrée d’un mot et à reconnaître ce mot [12].Alors précisons que cette approche a été conçue à la base pour la reconnaissance detexte dans les images de scène naturelle, mais depuis, a été adaptée à plus grandeéchelle au niveau des images de documents dans plusieurs travaux Selon [12], lesméthodes de reconnaissance de texte dans les images de scène naturelle peuvent êtredivisées en deux catégories : la reconnaissance basée sur les caractères et celle baséesur le mot entier La reconnaissance basée sur les caractères est reposée sur un clas-sificateur de caractère unique pour la reconnaissance par caractère sur l’image demot afin de générer la reconnaissance complète du mot Et la reconnaissance baséesur le mot entier utilise un modèle de classification par dictionnaire précédé d’unréseau de neurones profond qui prend en entrée l’image de mot à reconnaître Ainsi,
la reconnaissance est obtenue en faisant une classification multidimensionnelle surl’ensemble du dictionnaire de mots potentiels
Approche de reconnaissance de séquence basée sur l’image :
La reconnaissance de séquence basée sur l’image est un problème classique de visionpar ordinateur Dans [20], il a été expliquée que le texte d’images de scène naturelle,l’écriture manuscrite ou encore la partition musicale ont plutôt tendance à se pré-senter sous forme de séquences et non de manière isolée Cependant, une propriétéunique des objets de type séquence est la variation de leur longueur, ce qui empêchedonc aux réseaux de neurones profonds (DCNN) [9] de faire des prédictions direc-tement dessus, car ces derniers ont la particularité de prendre en entrée des images
de dimension fixe [20]
Par conséquent, l’utilisation de réseaux de neurones récurrents[15] reste tournable car l’un des avantages des RNN est qu’ils n’ont pas besoin de l’emplace-ment de chaque élément dans une entrée de type séquence à la fois pour l’entraîne-ment et le test [20] Donc, imaginons-nous que nous avons un réseau de neurones àconvolution qui dans un premier temps extrait les caractéristiques de l’image de mot(objet visuel de type séquence), puis nécessiterait une étape intermédiaire [20] pourconvertir cette image d’objet en une séquence de caractéristiques d’image avant de
incon-la passer à un LSTM par exemple pour faire incon-la prédiction
Dans [21], les auteurs applique une conversion de l’image de mot en une séquence
de caractéristiques HOG [5] Mais cette étape de prétraitement est indépendante desautres composants dans le pipeline
Comme avec le Mask RCNN [10], YOLO [17] et autres, la tendance depuisquelques temps s’est tournée en faveur des réseaux (dans la plupart des cas : multi-tâche) entraînables de bout en bout pour effectuer des tâches de vision par ordina-teur Et oui, tout ça, grâce à la puissance de calcul des GPU et à l’expansion biensûr des réseaux de neurones profonds (parfois même très profonds) Au niveau deMask RCNN, déjà au début de ce document nous avons parlé de son usage dans nostravaux de segmentation effectués au cours de la première étape du stage, plusieursmodules (modèles) ont été associés pour être entraînés de bout en bout
Mais alors, il est intéressant de préciser que Mask RCNN a été démontré commeétant l’un des Framework les plus performants pour les tâches de détection d’objet
Trang 22dont inclut la segmentation Par contre, dans notre travail, il a été complètementabordé sous un angle de détection de texte C’est-à-dire, dans ce cas précis l’objetest notre texte à détecter et tout le reste est le fond Mais alors, nous en reviendronsdans les détails dans la section consacrée spécialement à la présentation de nosmodèles.
Un réseau entraỵnable de bout en bout [19] [10] est un ensemble composé deplusieurs modèles différents liés entre eux et soumissent à un apprentissage basé surles principes de descente de gradient Où lors de l’entraỵnement chacun des modèlespeut gagner en précision à partir de l’apprentissage de l’autre
Dans [19], un réseau multitâche pour la localisation et la reconnaissance d’image
de texte a été mis en œuvre en s’inspirant de l’approche de détection d’objet deMask RCNN [10] en ajoutant à cela une tête de reconnaissance de texte tout enécartant la partie de masque binaire initiale
Selon les travaux de [20], leur modèle de bout en bout quant à lui a été conçudans le but de reconnaỵtre du texte dans les images de séquence pour une application
à la reconnaissance de texte de scène
Maintenant que nous avons vu l’état de l’art des techniques et méthodes récentes
de vision par ordinateur appliquée surtout à la segmentation et la reconnaissance detexte, nous sommes donc prêts à passer dans les détails de l’étape suivante de notrestage ayant pour objectif la mise en oeuvre d’un OCR par apprentissage automa-tique
Trang 23Cependant, à une autre étape du travail nous avons vu qu’il serait mieux deconcevoir une nouvelle approche qui ne concernerait que la reconnaissance de texte
et qui s’appuierait sur de nouveaux modules de segmentation de texte existant déjà
au sein du laboratoire Et ce, pour pallier aux difficultés en terme de ressourcesmatérielles insuffisantes pour entraîner jusqu’au bout le réseau multitâche inspiré deMask RCNN
Alors, c’est à propos de ces approches de vision par ordinateur et de traitementd’image que nous allons apporter les explications nécessaires dans ce chapitre
Comme il a été avancé plus haut dans l’introduction de ce chapitre, l’idée liser notre premier modèle seulement à une fin de segmentation est venue à l’issuedes difficultés rencontrés déjà lors de son entraînement uniquement pour la tâche desegmentation de texte Voir la figure 3.1
d’uti-Cependant les résultats (à voir dans le chapitre consacré aux résultats) obtenusprématurément, déjà laissaient entrevoir que cette approche pourrait bien contribuer
à résoudre le problème de segmentation de texte à un niveau plus générique parrapport à ce qu’on arrive à faire maintenant avec les méthodes les plus avancées detraitement d’images [Annexe B 33]
3.2.1 Modèle
Maintenant allons voir la conception de cette approche dans ses moindres détails.D’abord concentrons-nous sur la localisation de texte dans les image de documents
Trang 24Figure 3.1 – Architecture du réseau inspiré de Mask RCNN pour la segmentation
de texte
Dans [19] ils ont considéré le problème de la segmentation de texte comme un blème identique à celui de la détection d’objet dans [10] C’est de là que nous estvenue l’idée d’utiliser le Mask RCNN, ce Framework de détection d’objet, pour l’ap-pliquer à notre problème de détection de texte Cependant, nous l’avons modifié àcertains niveaux :
pro-1 Notre épine dorsale (backbone)
L’épine dorsale dans [10] est un ConvNet du genre : Features Pyramid work FPN, constitué de deux chemins (ascendant et descendant) et desconnexions latérales Le chemin ascendant dans [10], initialement est un re-sNet 50 ou 101 [22] Et dans la plupart des autres cas de sa réutilisation,VGG1 est le remplaçant de resNet généralement Par contre, dans notre cas,nous avons choisi le DenseNet [11], mais dans une architecture réduite deseulement trois blocs dense Alors que DenseNet a été implémenté comme lapartie ascendante de notre FPN remplaçant le resNet initial de Mask RCNN,l’une des raisons de ce choix est parce que DenseNet ressemble beaucoup
Net-à resNet dans son architecture mais résout mieux certains problèmes Enterme d’avantage, DenseNet renforce la propagation des fonctionnalités, rend
le problème du gradient disparaissant moins grave, pousse à la réutilisationdes fonctionnalités et démontre une diminution efficace du nombre de para-mètres A noter que l’utilisation de DenseNet réduit a permis á notre modèleMask RCNN de gagner en temps d’inférence par rapport á resNet Voir lafigure 3.2
1 VGG est le nom d’une architecture de réseaux de neurone profond très populaire et réputée pour sa bonne performance dans les taches d’extraction de caractéristiques et de classification d’image.
2 La convolution est le processus consistant à ajouter chaque élément de l’image à ses voisins immédiats, pondéré par les éléments du noyau.
3 Le regroupement ou la mise en commun est une forme de sous-échantillonnage de l’image.
Trang 25Figure 3.2 – Architecture FPN (chemin ascendant, descendant et connexions rales)avec un DenseNet réduit
laté-de l’activation ReLU4 et de la normalisation par lot5 tandis qu’un bloc denseest normalement constitué d’une convolution comme décrite préalablement,suivi de la normalisation par lot, de regroupement et de dropout6 [Annexe C,34]
Tandis que notre DenseNet réduit est lui composé de trois étages, un étagedans notre cas est un ensemble constitué d’une convolution 2D et d’une couche
de regroupement, le cas du premier étage par exemple Puis, les autres deuxétages suivent le pareil ordre : bloc dense suivi d’une couche de transition.Jusque-là nous n’avons pas parlé de la couche de transition, maintenant allonsvoir les fondements sur lesquels se basent ce mécanisme appelé : “bottlenecklayer” faisant partie de la conception de l’architecture des réseaux DenseNet.L’un des problèmes avec resNet et DenseNet (sans la couche de transition) estque le regroupement des cartes de caractéristiques ne peut pas aboutir lorsqueles tailles sont différentes Et, ajoutons que dans resNet le regroupement
de ces cartes est réalisé par addition et par concaténation dans DenseNet.Mais alors dans les deux cas, le problème posé reste le même La couche detransition elle, est utilisée dans DenseNet pour réduire la taille de ces cartes
de fonctionnalité Avec une convolution de noyau 1x1 (bottleneck layer) suivid’un regroupement moyen de noyau 2x2 avec une foulée de deux pas, la couche
de transition aide à garder les mêmes dimensions des cartes même lorsque lesfiltres changent dans un bloc Voir la figure 3.3
3 Le chemin descendant et les connexions latérales
Rappelons que nous avons réduit notre DenseNet à 3 blocs dense ce qui nousdonne (C1, C2, C3) pour le chemin ascendant D’abord, nous appliquons ànotre C3 une convolution 1x1 qui réduit sa profondeur et crée M3 (le pre-mier étage de la voie descendante) qui devient logiquement la première carte
à utiliser dans la prédiction d’objets Maintenant, en descendant notre min de haut en bas, nous suréchantillons de 2 chaque couche précédente enutilisant alors le suréchantillonnage des voisins les plus proches sauf C1 en
che-4 Le ReLU est une fonction d’activation non saturante qui augmente les propriétés non linéaires
de la fonction de décision et de l’ensemble du réseau sans affecter les champs récepteurs de la couche
Trang 26Figure 3.3 – DenseNet dense bloc
raison de sa trop grande dimension spatiale, et nous reviendrons à tion d’une convolution 1x1 à notre C2, puis nous répétons bien sûr la mêmedémarche pour M2 Notons que pour aboutir à chaque fois à notre P3 et P2nous appliquons une convolution 3x3 à toutes les couches fusionnées
l’applica-4 Région Proposal Network (RPN) dans notre FPN
RPN a deux missions dans notre cas : effectuer la classification binaire texte) et régresser le cadre de sélection D’abord, éclaircissons-le, RPN n’estpas un détecteur de texte en soi, il est utilisé comme un détecteur de carac-téristiques (qui utilise des convolutions et des ancres) et ce selon son moded’utilisation initial dans [10] que nous avons repris ici d’ailleurs N’oublionspas que nous avons fait l’extraction de plusieurs couches de cartes de carac-téristiques dans notre FPN, alors nous les introduisons dans notre RPN pourdétecter des objets RPN est composé d’une petite fenêtre coulissante dense(convolution) 3x3 qui est appliquée sur les cartes de caractéristiques suivi dedeux autres convolution 1x1 distinctes qui respectivement font la prédiction
(texte/non-de classe et la régression (texte/non-de la boîte (texte/non-de délimitation Voir la figure 3.4
Comme nous l’avons déjà vu plus haut, l’approche de la reconnaissance de quence basée sur les images a été celle conduite jusqu’au bout des résultats finaux.Ainsi, dans cette partie nous présentons les détails de sa conception, disons les pi-liers de cette dernière Au niveau de l’état de l’art, nous en avons parlé en faisantréférence aux articles publiées à ce sujet mais ici nous expliquons point par point ceque nous avons fait Nous allons voir notre modèle de bout en bout conçu