Đăng ký Đăng nhập
Trang chủ Mise en œuvre d’un ocr par machine learning mise à disposition via api et intégr...

Tài liệu Mise en œuvre d’un ocr par machine learning mise à disposition via api et intégration dans la solution tessi lab document reader

.PDF
53
3
84

Mô tả:

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 -

Tài liệu liên quan