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

53 26 0
Mise en œuvre d’un ocr par machine learning mise à disposition via api et intégration dans la solution tessi lab document reader

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 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 et 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 entrnable 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 reconnt-on est moins cỏ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 entrnable 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 and 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 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 É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 entrnable de bout en bout 2.5 Conclusion 10 10 11 12 12 12 12 15 16 18 19 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 Implémentations 4.1 Introduction 4.2 Ressources matérielles et logicielles 4.3 Données utilisées 4.4 Entrnements 4.5 Conclusion d’image 2 2 3 4 20 20 20 21 23 23 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 39 I ANNEXE - Rapport de mémoire par : Dr Ho Tung Vinh, rapporteur 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 7 8 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’entrnement 26 Perte du modèle au cours de la validation 27 Perte du modèle au cours de l’entrnement 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 et la distance entre les séquences prédites et les étiquettes de vérité au sol augmente Cependant, signalons que sur la figure 5.2 nous pouvons observer déjà qu’entre les 120K et 135K epochs il y a une augmentation de la perte, ce qui entrne aussi une baisse en accuracy normalement, mais ce n’est pas un cas de surapprentissage parce que par la suite, la perte de notre modèle va recommencer diminuer Cela peutêtre dû au comportement de la CTC qui rappelons-le, pour calculer la perte doit marginaliser sur l’ensemble des alignements valides et calculer la probabilité d’un seul alignement pas pas, voir la figure 3.10 Alors, dépendamment que l’alignement rapproche ou éloigne la prédiction de l’étiquette de vérité au sol, une diminution ou une augmentation de la perte correspondant une augmentation ou une baisse en accuracy du modèle devient évidente Sans oublier aussi que nous avons implémenté une structure conditionnelle permettant l’arrêt automatique de l’apprentissage du modèle au bout d’un certain nombre d’epochs s’il n’y a plus d’amélioration de la perte, cela empêche de poursuivre inutilement l’entrnement du modèle 5.5 Conclusion Dans ce dernier chapitre, nous avons vu les résultats obtenus sur nos modèles après test et certains difficultés liés au modèle de reconnaissance de texte particulièrement Les chiffres présentés donnent une idée de la performance de nos modèles, dans le cas de la reconnaissance de texte, notre modèle CRNN peut s’en sortir encore mieux en ajoutant plus de données cohérentes pour son entrnement K : ici représente le nombre mille (1000), ex :120000 devient 120K On parle de surapprentissage lorsqu’un modèle tente d’apprendre les données d’apprentissage si précisément qu’il ne généralise pas correctement sur les nouvelles données 28 Conclusion Ce travail sur la mise en oeuvre de cet OCR a été l’occasion d’expérimenter certaines approches récentes de la vision par ordinateur et a permis de découvrir quelques limites techniques lies soit aux logiciels, soit aux matériels qui peuvent nuire l’application de certaines approches basées sur l’apprentissage profond La segmentation de texte est incontournable la tâche d’OCR c’est l’une des évidences démontrées au cours des travaux menés pendant le stage, car en fonction de l’approche faite d’une solution d’OCR implique l’approche de segmentation compatible adopter L’approche faite de la reconnaissance de texte dans notre travail nous a conduit travailler avec les images de mot étiquetées et un lexique composé de ces mots Comme nous l’avons vu, l’architecture qui a été implémentée consistait en un réseau de neurones convolutifs combinés un réseau neuronal récurent Nous avons choisi d’indexer les mots dans notre lexique et ensuite travailler sur ses indexes pour encoder et décoder nos étiquettes mais nous aurions pu utiliser directement les étiquettes sans passer par l’indexation Au fait, le comble du travail a été d’entrner le modèle CRNN, c’est-à-dire trouver les meilleurs hyperparamètres qui convenaient au modèle et ajuster au mieux notre jeu de données mixte Néanmoins, en comparaison avec d’autres moteurs d’OCR connus comme Tesseract, notre moteur d’OCR en terme de résultats, ne les rivalise pas Car, son niveau actuel, notre modèle d’OCR ne peut pas reconntre les caractères manuscrits avec une bonne précision Et, pour son niveau de performance réel il se trompe quelques fois sur certains caractères morphologiquement proche, son temps d’inférence peut être amélioré et peut-être qu’il pourrait ne pas avoir la même précision dans la reconnaissance de certaines polices de caractères un peu moins courantes Nous croyons que mieux pourrait-être fait mais sur une durée de moins que six mois avec toutes les pressions habituelles et inhabituelles surtout au tout début, nous nous sommes quand même approché de l’essentiel Mais reste que les travaux qui peut-être vont suivre pourraient être entamés de manière plus confiante partir de cette base 29 Bibliographie [1] Nafiz Arica and Fatos Yarman Vural An overview of character recognition focused on off-line handwriting Systems, Man, and Cybernetics, Part C : Applications and Reviews, IEEE Transactions on, 31 :216 – 233, 06 2001 [2] Christian Bartz, Haojin Yang, and Christoph Meinel STN-OCR : A single neural network for text detection and text recognition CoRR, abs/1707.08831, 2017 [3] Maïtine Bergounioux Quelques méthodes de filtrage en Traitement d’Image Cours donné dans le cadre d’une école CIMPA - en attente de publication dans les actes, August 2010 [4] WROBEL Brigitte and Olivier MONGA Segmentation d’images naturelles : Coopération entre un détecteur-contour et un détecteur-région [5] Navneet Dalal and Bill Triggs Histograms of Oriented Gradients for Human Detection In Cordelia Schmid, Stefano Soatto, and Carlo Tomasi, editors, International Conference on Computer Vision & Pattern Recognition (CVPR ’05), volume 1, pages 886–893, San Diego, United States, June 2005 IEEE Computer Society [6] Ross Girshick, Ilija Radosavovic, Georgia Gkioxari, Piotr Dollár, and Kaiming He Detectron https ://github.com/facebookresearch/detectron, 2018 [7] Ross B Girshick Fast R-CNN CoRR, abs/1504.08083, 2015 [8] Ross B Girshick, Jeff Donahue, Trevor Darrell, and Jitendra Malik Rich feature hierarchies for accurate object detection and semantic segmentation CoRR, abs/1311.2524, 2013 [9] Ian Goodfellow, Yaroslav Bulatov, Julian Ibarz, Sacha Arnoud, and Vinay Shet Multi-digit number recognition from street view imagery using deep convolutional neural networks In ICLR2014, 2014 [10] Kaiming He, Georgia Gkioxari, Piotr Dollár, and Ross B Girshick Mask RCNN CoRR, abs/1703.06870(2), 2017 [11] Gao Huang, Zhuang Liu, and Kilian Q Weinberger Densely connected convolutional networks CoRR, abs/1608.06993, 2016 [12] Max Jaderberg, Karen Simonyan, Andrea Vedaldi, and Andrew Zisserman Reading text in the wild with convolutional neural networks CoRR, abs/1412.1842, 2014 [13] Max Jaderberg, Karen Simonyan, Andrea Vedaldi, and Andrew Zisserman Synthetic data and artificial neural networks for natural scene text recognition In Workshop on Deep Learning, NIPS, 2014 [14] Abderahmane Kefali, Toufik Sari, and Mokhtar Sellami Implémentation de plusieurs techniques de seuillage d’images de documents arabes anciens, 05 2009 30 [15] Zachary Chase Lipton A critical review of recurrent neural networks for sequence learning CoRR, abs/1506.00019, 2015 [16] Sofiène MOUINE Traitement morphologique des images de feuilles 2009 [17] Joseph Redmon, Santosh Kumar Divvala, Ross B Girshick, and Ali Farhadi You only look once : Unified, real-time object detection CoRR, abs/1506.02640, 2015 [18] Shaoqing Ren, Kaiming He, Ross B Girshick, and Jian Sun Faster R-CNN : towards real-time object detection with region proposal networks CoRR, abs/1506.01497, 2015 [19] Mohammad Reza Sarshogh and Keegan E Hines A multitask network for localization and recognition of text in images CoRR, abs/1906.09266, 2019 [20] Baoguang Shi, Xiang Bai, and Cong Yao An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition CoRR, abs/1507.05717, 2015 [21] Bolan Su and Shijian Lu Accurate scene text recognition based on recurrent neural network In ACCV, 2014 [22] Matthew Zeiler Adadelta : An adaptive learning rate method 1212, 12 2012 [23] Djemel Ziou Edge detection in grey level images : design and selection of detectors Theses, Institut National Polytechnique de Lorraine - INPL, October 1991 31 Annexe A ANNEXE - Architecture type de Mask RCNN 32 Annexe B ANNEXE - Architecture du réseau inspirée de Mask RCNN 33 Annexe C ANNEXE - Architecture détaillée de DenseNet 121 34 Annexe D ANNEXE - Architecture Mask RCNN 35 Annexe E ANNEXE - Architecture Mask RCNN modifié 36 Annexe F ANNEXE - Exemple de segmentation réalisée sur document avec le modèle Mask RCNN modifié 37 Annexe G ANNEXE - Curriculum Vitae 38 Annexe H ANNEXE - Rapport de mémoire par : Dr Nicolas Sidere, rapporteur 39 Annexe I ANNEXE - Rapport de mémoire par : Dr Ho Tung Vinh, rapporteur 40 Annexe J ANNEXE - Décision du jury 41 Annexe K ANNEXE - Attestation de correction 42 ... 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. .. 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. .. 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

Ngày đăng: 01/04/2021, 15:55

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan