Final Project [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

République Tunisienne Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université de Gabès Faculté des Sciences de Gabès Département Informatique

Année Universitaire 2019-2020

P ROJET DE F IN D ’É TUDES Présenté à :

L A FACULTÉ DES S CIENCES DE G ABÈS D ÉPARTEMENT I NFORMATIQUE en vue de l’obtention du diplôme de LICENCE FONDAMENTALE EN SCIENCES DE L’INFORMATIQUE

Une application OCR pour scanner des algorithmes Scratch Réalisé par : B RAHIM H AROUN H ASSAN ET

C HOUEB M AHAMAT I SSA Soutenu le 09 Juillet 2020 Devant le jury composé de :

M. Nasreddine Hajlaoui

Président

Mme. Imen Tounsi

Rapporteuse

M. Amine Lamine

Encadrant

Remerciements Nous devons satisfaire à un agréable devoir, celui de témoigner notre gratitude à tous ceux qui de près ou de loin ont participé à l’élaboration de cette œuvre. Nous voudrions témoigner notre gratitude, notamment : A Allah le tout puissant qui nous a accordé la santé, nous a guidé et donné la force, la patience et le courage pour accomplir ce travail. Sans sa volonté, tous ça n’aurait pas lieu. Nous lui rendons grâce pour toutes ses bienfaisances. Nos remerciements les plus sincères vont en grande partie à notre cher encadreur M. Amine Lamine pour nous avoir proposé ce projet de fin d’étude. Il a une personnalité distincte et nous a poussé à aller au-delà de nos limites sans omettre son soutien indéfectible tout au long de ce projet, malgré ses multiples responsabilités. Il est très difficile de rencontrer un encadrant souciant plus que lui envers ces étudiants. Nous lui serons à jamais reconnaissants. Nous tenons également à adresser nos vifs remerciements à notre chef de département M. Ridha Ejbali qui était présent à nos différentes préoccupations et s’est personnellement présenté pour nous assurer un stage à l’unité de recherche RTIM (Research Team in Intelligent Machine) de l’ENIG. Sans pour autant oublier le président

du jury et la rapporteuse,

respectivement en la personne de M. Nasreddine Hajlaoui et Mme Imen Tounsi qui ont accepté à bras ouvert d’examiner ce projet. Ce qui relève de leurs compétences et de l’intérêt qu’ils portent à la réussite de leurs étudiants. Une fois de plus merci. Enfin, à nos compatriotes et à nos camarades de Licence promotion 20172020, recevez nos sincères remerciements.

i

Dédicaces Je dédie ce modeste travail :

A mon très cher père Haroun Hassan, homme de rigueur, de justesse et de foi, dont la profonde tendresse et la patiente sollicitude ont été pour moi une source inépuisable de réconfort et un soutien efficace tout au long de mes études. Je ne cesserai jamais de le remercier de l’amour et de la protection dont il a fait preuve à mon égard, son soutien, ses prières, ses encouragements et ses conseils ne m’ont jamais fait défaut tout au long de ma formation. Qu’il reçoit ma profonde gratitude et qu’Allah le tout puissant l’accorde la longévité et j’espère être aujourd’hui comme dans ma vie future une fierté pour lui. Puisse ce travail se trouver à la hauteur de ses espérances, pour avoir toujours cru à ses enfants dont j’en fais partie. A la mémoire de ma mère Mariam Mahamat Mahamoudi (paix à son âme). Femme brave, d’une très grande générosité, digne qui nous a appris le respect et l’amour du prochain, la droiture et l’honnêteté. Nous ne saurons oublier ses longues nuits de prières en faveur de ses enfants que nous sommes. Elle nous a quitté très tôt. Notre joie aurait été plus intense, si elle est parmi nous en ce moment, mais Allah a décidé de la rappeler auprès de Lui. Qu’Allah veille à jamais sur elle. A tous mes aimables frères et soeurs notamment ma grande Fatimé Zara Haroun, mon espoir de vie, qui depuis mon enfance continue à veiller sur moi. Je me sentirais coupable de ne pas penser à son amour sans limite.

Brahim Haroun Hassan

ii

De ma part, je dédie ce fruit de labeur partagé à ma chère maman Aicha Adam Barka qui n’a aucun qualificatif, son amour immesurable et son soutien durant toute ma vie. Sa présence à mes côtés plus qu’une bénédiction a forgé la personne dont je suis.

A mon cher papa Mahamat Issa Alhadj qui par son amour parental m’a toujours guidé, soutenu et des fois sans me rendre compte. Une ombre dans ma vie dont je n’oublierai jamais ses bienfaits.

A mon grand frère Abdelhadi Mahamat Issa qui m’a toujours compris et soutenu et dont je suis fier de l’avoir à mes côtés. Mes soeurs et frères qui ont cru en moi.

A mes oncles , tantes , cousins, cousines, neveux, nièces, amis

Choueb Mahamat Issa

iii

Table des matières

Remerciements

i

Dédicaces

ii

Introduction générale

1

1 Concepts de base

3

1.1 Introduction

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.2 La Reconnaissance Optique de Caractères . . . . . . . . . . . . . . .

3

1.2.1 Fonctionnement de l’OCR . . . . . . . . . . . . . . . . . . . . .

4

1.2.2 Différentes applications OCR existantes . . . . . . . . . . . .

5

1.3 L’apprentissage approfondi . . . . . . . . . . . . . . . . . . . . . . . .

8

1.4 Approche adoptée . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

1.5 Les différents outils de traitement

. . . . . . . . . . . . . . . . . . .

10

1.5.1 Le langage Scratch . . . . . . . . . . . . . . . . . . . . . . . . .

10

1.5.2 OpenCV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

1.5.3 Détection de texte : EAST

12

. . . . . . . . . . . . . . . . . . . .

1.5.4 Extraction de texte : Tesseract-ocr

iv

. . . . . . . . . . . . . . .

13

1.5.5 Le Mask R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

1.5.6 Google Colaboratory . . . . . . . . . . . . . . . . . . . . . . . .

15

1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

2 OCR pour le Scratch 2.1 Introduction

16

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

2.2 Principe de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

2.3 Première phase : la segmentation . . . . . . . . . . . . . . . . . . . .

17

2.3.1 La segmentation suivant les contours des blocs . . . . . . . .

19

2.3.2 La segmentation Via le Mask R-CNN . . . . . . . . . . . . . .

20

2.4 Deuxième phase : le traitement OCR . . . . . . . . . . . . . . . . . .

26

2.4.1 La détection de texte avec EAST . . . . . . . . . . . . . . . . .

27

2.4.2 L’extraction de texte par le moteur Tesseract-ocr . . . . . . .

28

2.5 Post-traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

2.5.1 Génération du graphe . . . . . . . . . . . . . . . . . . . . . . .

32

2.5.2 Génération de l’exécutable . . . . . . . . . . . . . . . . . . . .

34

2.6 Test et statistiques de comparaison . . . . . . . . . . . . . . . . . . .

35

2.6.1 Cas de la segmentation . . . . . . . . . . . . . . . . . . . . . .

35

2.6.2 Cas de la détection et d’extraction de texte . . . . . . . . . . .

37

2.7 Application de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . .

38

2.7.1 Domaine éducatif

. . . . . . . . . . . . . . . . . . . . . . . . .

2.7.2 Domaine d’automatisme

38

. . . . . . . . . . . . . . . . . . . . .

39

2.7.3 Domaine d’entreprise . . . . . . . . . . . . . . . . . . . . . . .

40

v

2.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

Conlusion générale

42

Références

44

vi

Table des figures 1.1 Fonctionnement superficiel d’un système OCR . . . . . . . . . . . .

5

1.2 Exemple d’algorithmes Scratch. . . . . . . . . . . . . . . . . . . . . .

11

1.3 Comparaison de détecteurs de texte de scène sur ICDAR 1 2015 . .

13

2.1 Les étapes (processus) d’exécution. . . . . . . . . . . . . . . . . . . .

17

2.2 Étapes de traitement d’images pour la détection des contours. . . .

21

2.3 Segmentation de blocs après détection des contours.

. . . . . . . .

21

2.4 Le fichier de configuration. . . . . . . . . . . . . . . . . . . . . . . . .

24

2.5 Le processus de l’apprentissage. . . . . . . . . . . . . . . . . . . . . .

24

2.6 L’historique des fonctions de pertes. . . . . . . . . . . . . . . . . . .

25

2.7 Exemple 1 : Résultat de la détection des blocs en mode inférence avec génération des masques. . . . . . . . . . . . . . . . . . . . . . .

25

2.8 Exemple 2 : Résultat de la détection des blocs en mode inférence avec génération des masques. . . . . . . . . . . . . . . . . . . . . . .

26

2.9 Exemple 3 : Résultat de la détection des blocs en mode inférence avec génération des masques. . . . . . . . . . . . . . . . . . . . . . .

26

2.10 Traitement d’image : binarization et binarization inverse. . . . . . .

31

2.11 Processus d’extraction par le Tesseract-ocr. . . . . . . . . . . . . . .

32

vii

2.12 Graphe résultant après extraction de texte . . . . . . . . . . . . . . .

34

2.13 Statistiques des résultats basés sur la segmentation des blocs.

37

viii

. .

Acronymes DFS Depth-First Search. 35 EAST An Efficient and Accurate Scene Text Detector. 8, 12 GPU Graphics Processing Unit. 15, 23 IA Intelligence Artificielle. 1, 4 ICDAR Inter-national Conference on Document Analysis and Recognition. 4 LSTM Long Short-Term Memory. 13, 31 OCR Optical Character Recognition. 3, 4 OpenCV Open Computer Vision. 11 R-CNN Region-based Convolutional Neural Networks. 14 ROC Reconnaissance Optique de Caractères. 3

ix

Juillet 2020

Introduction générale

L

ES

progrès en matière de technologies ne cessent d’impressionner

le monde depuis des années. Résultant des travaux scientifiques du

domaine informatique en particulier, parfois titanesque faisant preuve de l’invention

suscitant

un

formidable

potentiel

de

croissance

en

terme

d’innovation. Un véritable domaine en plein essor, l’informatique constitue un centre phare d’attraction et d’enjeux éducatif, scientifique, économique voire futuriste. Couvrant ainsi diverses branches dont notamment : l’Intelligence Artificielle (IA), qui est une branche de l’informatique dont le but est de créer des systèmes intelligents qui opèrent par le raisonnement humaine. Celle-ci est de nos jours en plein apogée et le regard du monde moderne est rivé sur son apport pléthorique intégrant la révolution numérique. Un domaine inévitable impactant aujourd’hui tous les secteurs ou du moins dans un futur proche, l’Intelligence

Artificielle

principalement

deux

englobe

en

partie

sous-disciplines

dont

la

science

des

l’apprentissage

données,

et

automatique

(Machine Learning) et l’apprentissage en profondeur (Deep Learning). Ainsi, dans les larges domaines d’études de l’Intelligence Artificielle, il y a un axe clé qu’est la vision par ordinateur ; une autre branche de l’IA dont l’objet est de faire assimiler à une machine la capacité de percevoir, de comprendre afin d’analyser et de traiter des images. C’est dans cette perspective que naquit l’idée principale de notre projet, celle de pouvoir développer un programme premier du genre, portant sur le scannage des

algorithmes

Scratch.

Celui-ci

n’est

tout

autre

qu’un

langage

de

programmation destiné aux débutants, en particulier des enfants pour leur ;A