Dans ce document, nous proposons la mise en place d’un modèle de détectiond’objets personnalisé spécialement pour la détection des composants MOV défectueux et des BSN Base Station Name
Trang 1Thierno Mamoudou BARRY
Research and build model for detecting anomaly images, apply for business of lacking board station name and
anomalies MOV alarm of base station
Nghiên cứu và xây dựng mơ hình để phát hiện các hình ảnh báo động MOV bất thường và thiếu tên trạm gốc
Spécialité : Systèmes Intelligents et Multimédia
Code : 8480201.02
MÉMOIRE DE FIN D’ÉTUDES DU MASTER
INFORMATIQUE
HANỌ - 2020
Trang 2UNIVERSITÉ NATIONALE DU VIETNAM, HANỌ
INSTITUT FRANCOPHONE INTERNATIONAL
Thierno Mamoudou BARRY
Research and build model for detecting anomaly images, apply for business of lacking board station name and
anomalies MOV alarm of base station
Nghiên cứu và xây dựng mơ hình để phát hiện các hình ảnh báo động MOV bất thường và thiếu tên trạm gốc
Spécialité : Systèmes Intelligents et Multimédia
Code : 8480201.02
MÉMOIRE DE FIN D’ÉTUDES DU MASTER
INFORMATIQUE
Sous la direction de :
Dr NGUYEN Hong Quang, Responsable du marter 1 - IFI
M Lưu Đức Phong, MBA, Chef de l’équipe BPMS - Viettel Network
HANỌ - 2020
Trang 3et les résultats qui y sont présentés sont exacts et n’ont jamais été publiés ailleurs Lasource des informations citées dans ce mémoire a été bien précisée.
LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêutrong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ côngtrình nào khác Các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồngốc
Signature de l’étudiant
Thierno Mamoudou BARRY
Trang 4Ce travail est le résultat de plusieurs années d’études et le concours de plusieurs sonnes qui ont décidé de m’accompagner résolument dans ce grand parcours Je voudrais profiter de cette occasion pour leur exprimer toute ma reconnaissance et ma gratitude.
per-Je souhaite tout d’abord remercier Dieu le TOUT PUISSANT de m’avoir doté d’une telligence et maintenu en bonne santé pour réaliser mes rêves Je lui remercie également
in-de m’avoir accordé in-des parents exceptionnels qui m’ont tout donné et montré le chemin
de l’école.
Je voudrais par ces mots, remercier mes encadrants M LUU Duc Phong de l’équipe BPMS (Business Process Management Software) et Dr NGUYEN Hong Quang respon- sable du master 1 (IFI), pour avoir accepté de diriger ce stage Vos disponibilités et vos conseils judicieux m’ont été très bénéfiques dans la réalisation de ce projet.
Mes remerciements vont particulièrement à M NGUYEN Anh Tuan Directeur des sources humaines de Viettel Networks pour son soutien constant et la confiance qu’il m’a porté Je remercie également tous les membres du département digital (BPMS) pour l’accueil chaleureux au sein entreprise, vos conseils et vos contributions essentielles ont conduit au succès de ce travail.
res-Je saisis cette occasion pour remercier l’administration de l’institut Francophone ternational (IFI) pour sa bonne collaboration et ses interventions pour la résolution des certaines difficultés rencontrées au cours de ma formation et plus particulièrement à notre directeur d’études M HO Tuong Vinh qui nous a toujours apporté son aide à travers des pertinentes remarques malgré son agenda très chargé Je tiens à remercier également tout le corps enseignant de l’Institut Francophone International (IFI) pour la formation que nous avons reçue durant ces deux années académiques.
In-Je ne saurais terminer sans adresser mes vives remerciements à ma très chère Famille (frères, sœurs, oncles ), vos encouragements, votre soutient et surtout la confiance que vous me portez tous les jours m’ont permis de surmonter des obstacles incroyables pour persévérer.
Trang 6La relation étroite de la détection d’objets et la compréhension d’images a attirébeaucoup d’attention de la recherche ces dernières années Les méthodes classiques(traditionnelles) de détection d’objets sont construites sur des fonctionnalités artisa-nales et des architectures peu formables Mais avec le développement rapide de l’ap-prentissage en profondeur, des outils plus puissants, capables d’apprendre des fonc-tionnalités sémantiques, de haut niveau et plus profondes, sont introduits pour ré-soudre les problèmes existant dans les architectures classiques Ces modèles se com-portent différemment dans l’architecture de réseau, la stratégie de formation et la fonc-tion d’optimisation, etc
Dans ce document, nous proposons la mise en place d’un modèle de détectiond’objets personnalisé spécialement pour la détection des composants MOV défectueux
et des BSN (Base Station Name ou Nom de Station de Base) en se basant sur les velles architectures des réseaux de neurones convolutifs CNN Ce projet a été proposépar l’entreprise Viettel Networks afin que les techniciens de terrains puissent avoir unoutil d’assistance rapide et moderne lors des différentes opérations de maintenance.D’abord, nous faisons une étude théorique dans laquelle nous développons les tra-vaux connexes sur les différents modèles existants de détection d’objets à savoir : FastR-CNN, Faster R-CNN, YOLO et SSD puis effectuons une étude comparative entre cesmodèles Ensuite, à l’issue de cette étude, proposons une solution adéquate pouvantnous permettre d’atteindre les objectifs de ce projet Enfin, nous implémentons deuxmodèles : le Faster R-CNN et le SSD et présentons les résultats obtenus par chaquemodèle, 94% et 72% de précision respectivement sur notre ensemble de données
nou-Mots clés : Contexte d’image, Reconnaissance d’objets, Détection d’objets, prentissage en profondeur, Apprentissage par transfert, Réseaux de neurones convo- lutifs, Proposition de régions, Détection des composants MOV défectueux et BSN (Base Station Name).
Trang 7Ap-a lot of reseAp-arch Ap-attention in recent yeAp-ars ClAp-assicAp-al (trAp-aditionAp-al) object detection thods are built on artisanal functionalities and poorly formable architectures But withthe rapid development of deep learning, more powerful tools capable of learning se-mantic, high-level and deeper functionality are being introduced to solve the problemsexisting in classical architectures These models behave differently in network architec-ture, training strategy and optimization function, etc.
me-In this document, we propose the implementation of a personalized object tion model especially for the detection of MOV alarm components anomalies and BSNplates (Base Station Name) based on the new architectures of the CNN convolutionalneural networks This project was proposed by Viettel Networks so that field techni-cians can have a quick and modern support tool during various maintenance opera-tions First, we do a theoretical study in which we develop the related work on the dif-ferent existing models of object detection namely : Fast R-CNN, Faster R-CNN, YOLOand SSD then carry out a comparative study between these models Then, at the end
detec-of this study, propose an adequate solution that can allow us to achieve the objectives
of this project Finally, we implement two models : the Faster R-CNN and the SSD andpresent the results obtained by each model, 94 % and 72 % precision respectively onour data set
Keywords : Image Context, Image Classification, Object Detection, Deep ning, Transfer Learning, Convolutional Neural Networks, Region Proposal, Detec- tion of Defective MOV Components and BSN (Base Station Name).
Trang 8Lear-Table des matières
1.1 Présentation de l’établissement d’accueil 3
1.1.1 Viettel 3
1.2 Contexte-objectifs-problématiques 4
1.2.1 Contexte 4
1.2.1.1 Description des composants MOV et BSN 4
1.2.2 Problématiques 5
1.2.3 Objectifs 5
1.2.3.1 Travaux à réaliser : 5
1.2.4 Organisation du manuscrit : 6
2 État de l’art 7 2.1 Notions de base d’image 7
2.1.1 Définition 7
2.1.2 Les types de format d’image 8
2.1.3 Caractéristiques d’une image 8
2.2 Méthodes de détection d’objets basées sur les CNNs 10
2.2.1 Les réseaux de neurones convolutifs (CNNs ou ConvNets) 10
2.2.1.1 Architecture CNN 10
2.2.1.2 Fonctionnement d’un CNN 11
2.2.1.3 Conception des CNNs 13
2.2.1.4 Autres architectures CNNs 15
2.2.2 Quelques algorithmes de détection d’objets 17
2.2.2.1 Fast R-CNN 17
2.2.2.2 Faster R-CNN 17
Trang 92.2.2.3 SSD (Single Shot Detector) 18
2.2.2.4 YOLO (You Only Look Once) 19
2.2.2.5 Comparaison des modèles de détection moderne 20
2.3 Détails des modèles utilisées 21
2.3.1 Faster R-CNN 21
2.3.1.1 Présentation et architecture 21
2.3.1.2 Extracteurs de caractéristiques 22
2.3.2 SSD(Single Shot Detector) 22
2.3.2.1 Présentation et architecture 22
2.3.2.2 Extracteurs de caractéristiques 23
3 Solutions proposées & Contributions 24 3.1 Les algorithmes de Tensorflow object detection model zoo 24
3.2 Principaux points de notre solution 25
3.3 Apprentissage par transfert 25
3.4 Architecture générale de la solution 26
3.5 Contribution 27
3.6 Mise en œuvre de la solution 28
3.6.1 Environnement de travail 28
3.6.1.1 Environnement matériel 28
3.6.1.2 Environnement logiciel 28
3.6.2 Préparation du jeu de données (VTNSET) 30
3.6.3 Téléchargement des modèles préformé de Tensorflow 32
3.6.4 Création d’une carte d’étiquettes et configuration de la formation 33 3.6.4.1 Carte d’étiquettes (label map) : 33
3.6.4.2 Configuration du fichier de formation 33
3.6.5 Hyperparamètres 34
4 Expérimentations & Résultats 35 4.1 Expérimentations 35
4.1.1 Apprentissage et exportation 35
4.1.2 Exportation du modèle final 36
4.1.3 Algorithme d’optimisation et fonction de perte 37
4.1.4 Mesure d’évaluation 37
4.2 Résultats 39
4.2.1 Résultats graphiques de l’apprentissage 39
4.2.2 Résultats comparatifs sur les nouvelles données 40
4.2.2.1 Analyses des résultats : 41
4.2.2.2 Quelques résultats du modèle Faster-RCNN 41
4.3 Problèmes rencontrés 43
5 Conclusion & Perspectives 44 5.1 Conclusion générale 44
5.2 Perspectives 45
Trang 10Table des figures
1.1 Logo Viettel 3
1.2 Plaque BSN à gauche et Composants MOV à droite 4
2.1 Architecture CNN 10
2.2 Descente de gradient (source : https ://www.simplilearn.com/deep-learning-interview-questions-and-answers-article) 12
2.3 Rétro-propagation (source : https ://www.simplilearn.com/deep-learning-interview-questions-and-answers-article) 12
2.4 Couche de convolution avec un filtre de 3 x 3 13
2.5 couche de regroupement (pooling) avec un filtre 2 × 2 14
2.6 Fonction d’activation ReLU 14
2.7 Couche entièrement connectée (FC) 15
2.8 Architecture Faster-RCNN 18
2.9 Fonctionnement de YOLO 19
2.10 Tableau comparatif des modèle de détection 20
2.11 Architecture simplifiée Faster R-CNN 21
2.12 Architecture SSD 23
3.1 Apprentissage par transfert 26
3.2 Architecture de la solution 27
3.3 Tableau des technologies utilisées 29
3.4 Annotation avec LabelImg 31
3.5 Pipeline de préparation de données 32
3.6 Carte d’étiquettes (labelmap) 33
4.1 Début d’entraînement sur le serveur et en local 36
4.2 Graphe de précision et de perte global du modèle SSD 39
4.3 Graphe de précision et de perte global du modèle Faster-RCNN 39
4.4 Résultats comparatifs entre le Faster-RCNN et le SSD 40
4.5 Image entrée à gauche et sortie à droite 41
4.6 Image entrée à gauche et sortie à droite 42
Trang 114.7 Image entrée à gauche et sortie à droite 42
4.8 Image entrée à gauche et sortie à droite 43
Trang 12Liste des tableaux
3.1 Importants paramètres 34
4.1 Tableau comparatif des résultats 40
Trang 13AI Artificial Intelligence
NN Neural Network
CNN Convolution Neural Network
R-CNN Region-based Convolutional Neural Networks
Fast R-CNN Fast Region-based Convolutional Neural Networks Faster R-CNN Faster Region-based Convolutional Neural Networks
RPN Region Proposal Network
SSD Single Shot MultiBox Detector
YOLO You Only Look Once
SGD Stochastic Gradient Descent
NLP Naturel Language Processing
BPMS Business Process Management Software
Trang 14Chapitre 1
Introduction générale
La capacité du système visuel humain pour détecter et reconnaỵtre les objets quil’entourent est très puissante Il est rapide et précis pour effectuer des tâches com-plexes en temps réel, comme l’identification de plusieurs objets, détecter des anoma-lies liés à un objet avec très peu d’effort Ce qui n’était pas possible de reproduire avantavec l’outil informatique par faute de ressources Mais aujourd’hui, avec la disponibi-lité de grandes quantités de données, des serveurs, des ordinateurs puissants avec desGPU de haut niveau ainsi que de meilleurs algorithmes d’intelligence artificielle (clas-siques, modernes), nous pouvons désormais les réalisé facilement en formant des ordi-nateurs pour reproduire, penser à notre place Cette technologie est appelé « vision parordinateur » que l’on pourrait appeler un sous-domaine de l’intelligence artificielle et
de l’apprentissage machine, qui peut impliquer l’utilisation de méthodes spécialisées
et l’utilisation d’algorithmes d’apprentissage général Il est défini comme un domained’étude qui cherche à développer des techniques pour aider les ordinateurs à « voir »
et à comprendre le contenu des images numériques telles que les photographies et lesvidéos
Détecter une anomalie ou un objet quelconque dans une image, nous emmène àune compréhension complète de l’image, nous devons non seulement nous concen-trer sur la classification des différentes images, mais également essayer d’estimer avecprécision les emplacements des objets contenus dans chaque image cette tâche estappelée « détection d’objets » En tant que l’un des problèmes fondamentaux de vi-sion par ordinateur, la détection d’objets est en mesure de fournir des informationsprécieuses pour la compréhension sémantique des images et des vidéos, et est liée à
de nombreuses applications, y compris la classification d’images [1] et [2], sance faciale [3], conduite autonome [4] et [5] etc Cependant, en raison de grandesvariations dans les points de vue, les poses, les occlusions et les conditions d’éclairage,
reconnais-il est difficreconnais-ile de réaliser parfaitement la détection d’objets avec une tâche de sation d’objet supplémentaire Beaucoup d’attention a été attirée sur ce domaine cesdernières années [6], [7], [8] La définition du problème de la détection d’objet est dedéterminer ó se trouvent les objets dans une image donnée (localisation d’objet) et
locali-à quelle catégorie chaque objet appartient (classification d’objet) Ainsi, le pipeline de
Trang 15modèles de détection d’objets traditionnels peut être principalement divisé en troisétapes : la sélection informative des régions, l’extraction des caractéristiques et la clas-sification [9].
Dans ce projet, notre travail s’inscrit dans le sens de proposer un outil d’aide à ladétection des composants MOV défectueux et le nom des stations de base dans lesimages qui appliquerait des techniques de l’état de l’art, d’apprentissage en profon-deur et de vision par ordinateur basés notamment sur les architectures des réseaux deneurones convolutifs (CNN) Nous allons explorer dans ce rapport des termes tels queles images, la détection d’objets, la localisation, la classification d’image, la fonction deperte pour la détection et la localisation d’objets, et enfin explorer des algorithmes dedétection d’objets
Trang 16CHAPITRE 1 INTRODUCTION GÉNÉRALE
1.1 Présentation de l’établissement d’accueil
Ce stage s’est déroulé au sein de l’entreprise Viettel Network dans le département
digital(BPMS), entre plusieurs équipes de recherche et développement précisément
dans l’équipe Computer vision Une équipe très dynamique qui, en générale travaille
dans le développement des applications d’intelligence artificielle et en particulier letraitement d’images numériques Elle est composée d’une dizaine de membre y com-pris les techniciens sur le terrain
1.1.1 Viettel
Fondé en 1989, Viettel est une Société vietnamienne de type publique ayant une
capacité de plus de 10 000 employés Sise dans la capitale vietnamienne à Hanoi, elleest spécialisée dans plusieurs différents domaines entre autres :
• La télécommunication
• L’informatique
• Le développement immobilier
• La communication médias et publicité
Viettel est parmi l’une des plus grandes sociétés de télécommunications au monde
en terme de clients Elle a une présence significative dans 11 pays et une base de clientsqui comprend plus de 110 millions d’accès à travers le monde en Asie, en Afrique et enAmérique1 Outre les télécommunications, Viettel participe également à la recherche,
à la production des technologies de pointe et à d’autres catégories telles que les postes,
la construction, le commerce, l’importation et l’exportation
La filiale informatique de Viettel est principalement spécialisée dans les axes vants :
sui-— Développement d’applications mobiles ;
— Développement d’applications Web (front-end et back-end) ;
— Développement de logiciels embarqués ;
— Test logiciel (test manuel et automatisé) ;
Trang 171.2 Contexte-objectifs-problématiques
1.2.1 Contexte
C’est dans le cadre du développement et de l’extension de ses activités à l’échellenationale et internationale ainsi que l’amélioration de la qualité de service que l’entre-prise Viettel Network à travers ce projet souhaite proposer des solutions d’intelligenceartificielle (IA) permettant la détection des composants MOV défectueux et des plaques(BSN) qui identifient les stations de base dudit entreprise Ce projet constitue l’une desplus importantes parties de la plate-forme d’IA Vsmart-Service encours de développe-ment par les différentes équipes de l’entreprise
Ce travail s’inscrit en général dans un contexte de détection et d’identification jets dans les images Il constitue un outil d’aide, d’assistance rapide aux technicienssur le terrain lors des différentes activités de réparations et leurs permettra égalementd’anticiper les éventuels problèmes avenir
d’ob-1.2.1.1 Description des composants MOV et BSN
Les composants MOV (voir Figure1.2) sont des dispositifs connectés en série avec
la charge électrique dans un appareil communément appelé parafoudre qui est un
sys-tème de protection contre les surtensions (surcharges) brusques dues à la transmission
du courant électrique (forme d’onde) vers le sol
Ces composants effectuent une technique de filtrage pour limiter l’amplitude de latension de surcharge électrique à une certaine valeur qui n’endommagera pas les ins-tallations, les interrupteurs électriques et les dispositifs de contrôle Grâce à ces com-posants, les équipements électroniques sensibles de télécommunications sont proté-gés Ils deviennent anormaux (défectueux) lorsque l’on constate une couleur rouge auniveau de leurs en-tête
Les plaques BSN (Base Name Station en anglais) sont des plaques de nom des tions de base De couleur rouge, elles sont accrochées à l’entrée de chaque station
sta-FIGURE1.2 – Plaque BSN à gauche et Composants MOV à droite
Trang 18CHAPITRE 1 INTRODUCTION GÉNÉRALE
1.2.2 Problématiques
Comme indiqué ci-haut, notre travail s’inscrit dans un problème de détection etd’identification d’objets dans les images appliquant les méthodes d’apprentissage enprofondeur Pour cela, il faut nécessairement un grand volume de données bien struc-turé ou non structuré utilisant des algorithmes complexes pour entraîner des réseaux
de neurones (CNN) Comme nous l’avons mentionné dans les objectifs (1.2.3) du jet, le travail final consiste à développer un modèle fonctionnel qui doit être hébergédans docker pour une utilisation finale
pro-Alors, afin de mieux affiner notre travail, nous nous posons les questions suivantes :
— Les données sont-elles disponibles ? Sinon, comment allons-nous faire pour lesacquérir ?
— Quels seront les traitements après acquisition ?
— Quel algorithme de détections est-il le mieux adapté pour résoudre notre blème ?
pro-— Quelles architectures de CNN utilisées pour l’extraction des caractéristiques ?
— Existe-t-il des ressources matérielles suffisantes pour l’entraînement de notremodèle ?
— Sur quelle base doit se faire le choix du modèle à déployer ?
1.2.3 Objectifs
Les objectifs de ce stage consistent premièrement, à faire une étude bibliographiquedes modèles récents de détection d’objets en temps réel, une étude des travaux exis-tants pour mieux connaître ce qui existe afin d’éviter la répétition et gagner en temps.Deuxièmement, sur la base de cette étude bibliographique, proposer une solution adé-quate à notre problème tout en se basant sur les CNNs Enfin troisièmement, implé-menter notre solution en utilisant tous les outils nécessaires
L’objectif principal de ce projet, est de former un modèle personnalisé de détection
et d’identification des composants MOV défectueux et des plaques BSN (nom des tions de base en français) dans les images numériques appliquant les méthodes d’ap-prentissage en profondeur
sta-1.2.3.1 Travaux à réaliser :
Le travail à réaliser durant notre stage est à la fois d’ordre théorique et pratique :
1 Sur le plan théorique : Dans le cadre théorique, notre travail consiste à faire uneétude plus approfondie de l’état de l’art et des travaux existants sur les différentsmodèles de détection d’objets Ensuite à partir de cette étude, proposer une so-lution plus adapté à nos données pour résoudre notre problème de détection
Trang 192 Sur le plan pratique : Le travail à réaliser dans cette étape consiste à tation des solutions proposées conformément à l’objectif visé par le stage Notretravail pratique se divise en des étapes qui sont interdépendantes entre autres :
l’implémen-— La mise en place de l’environnement de travail qui consiste à l’installation
de tous les outils nécessaires qui permettront la réussite de ce projet ;
— Collection des données nécessaires et préparation de l’ensemble de nées (nettoyage, annotation, etc.) ;
don-— Implémentation du modèle choisi avec les données préparées (Dataset) ;
— Entraînement, évaluation et test du modèle sur les nouvelles données ;
— Déploiement du modèle final sur Docker pour permettre son utilisation sur
le terrain (qui sera fait par un autre membre de l’équipe BPMS)
pro-2 Le second chapitre qui parle de l’état de l’art, présente les principaux travaux etméthodes existantes lors de l’étude bibliographique, c’est le lieu pour nous aprèsune longue recherche et lecture des travaux connexes réaliser dans les différentsdomaines du sujet de présenter les travaux qui nous ont servis de références pourl’atteinte de nos objectifs
3 Le troisième chapitre intitulé Solution proposée, présente notre solution pouratteindre les objectifs de notre travail, les techniques mises en place pour l’im-plémentation de cette solution et les outils ou environnement de travail choisiepour son implémentation
4 Le quatrième et avant-dernier chapitre de notre manuscrit intitulé tation et Résultats, présente les résultats obtenus de notre travail et les commen-taires sur ceux-ci
Expérimen-5 Le cinquième et dernier chapitre conclusion générale et perspectives
Trang 20Chapitre 2
État de l’art
Étant l’un des problèmes fondamentaux de vision par ordinateur, la détection jets dans les images est un sujet dans lequel beaucoup de travails ont été effectué cesdernières années Il consiste à déterminer ó se trouvent les objets dans une imagedonnée en dessinant un cadre de délimitation autour de leur emplacement (localisa-tion d’objet) et à prédire la catégorie/classe à laquelle chaque objet appartient (classi-fication d’objet) Ainsi, le pipeline de modèles de détection d’objets peut être princi-palement divisé en trois étapes : la sélection informative des régions, l’extraction descaractéristiques et la classification
d’ob-Dans ce chapitre, nous abordons la notion de l’image et faisons une étude fondie sur les différentes techniques et modèles existant de détection d’objets tout enfaisant ressortir les avantages et désavantages de chaque partie qui nous permettrad’en tirer une conclusion afin de proposer une solution meilleure dans le cadre denotre travail
appro-2.1 Notions de base d’image
2.1.1 Définition
Une image est une représentation planaire d’une scène ou d’un objet situé en néral dans un espace tridimensionnel, elle est issue du contact des rayons lumineuxprovenant des objets formant la scène avec un capteur (caméra, scanner, rayons X, )
gé-Il ne s’agit en réalité que d’une représentation spatiale de la lumière
L’image est considérée comme un ensemble de points auquel est affectée une deur physique (luminance, couleur) Ces grandeurs peuvent être continues (image ana-logique) ou bien discrètes (images digitales) Mathématiquement, l’image représenteune fonction continue IF, appelée fonction image, de deux variables spatiales repré-sentée par IF(x, y) mesurant la nuance du niveau de gris de l’image aux coordonnées(x, y) [10]
gran-La fonction Image peut se représenter sous la forme suivante :
Trang 21IF : R² –> R avec R : ensemble des réelles(x,y) –> IF(x,y) x et y : deux variables réelles
2.1.2 Les types de format d’image
1 Image couleur RVB : L’œil humain analyse la couleur à l’aide de trois types de
cellules photo « les cône » Ces cellules sont sensibles aux basses, moyennes, ouhautes fréquences (rouge, vert, bleu) Pour représenter la couleur d’un pixel, ilfaut donc donner trois nombres, qui correspondent au dosage de trois couleurs
de base : Rouge, Vert, Bleu On peut ainsi représenter une image couleur par troismatrices chacune correspondant à une couleur de base
2 Image d’intensités : C’est une matrice dans laquelle chaque élément est un réel
compris entre 0 (noir) et 1 (blanc) On parle aussi d’image en niveaux de gris, carles valeurs comprises entre 0 et 1 représentent les différents niveaux de gris
3 Image binaire : Une image binaire est une matrice rectangulaire dans l’élément
valent 0 ou 1 Lorsque l’on visualise une telle image, les 0 sont représentés par dunoir et les 1 par du blanc [10]
2.1.3 Caractéristiques d’une image
L’image est un ensemble structuré d’information caractérisé par les paramètres vants :
sui-• Pixel : Le pixel est l’abréviation du mot « Picture élément », est une unité de
surface permettant de définir la base d’une image numérique Il matérialise unpoint donné (x, y) du plan de l’image L’information présentée par le pixel est
le niveau de gris (ou la couleur) prélevée à l’emplacement correspondant dansl’image réelle La différence entre image monochrome et image couleur résidedans la quantité d’informations contenue dans chaque pixel, par exemple dansune image couleur (RVB : Rouge, Vert, Bleu) la valeur d’un pixel est représentéesur trois octets pour chaque couleur
• Dimension et Résolution : La dimension est la taille de l’image Elle se présente
sous forme d’une matrice dont les éléments sont des valeurs numériques sentatives des intensités lumineuses (pixels) Le nombre de lignes de cette ma-trice multiplié par le nombre de colonnes nous donne le nombre total de pixelsdans une image
repré-Par contre, la résolution est la clarté ou la finesse de détails atteinte par un niteur ou une imprimante dans la production d’images Sur les moniteurs d’or-dinateur, la résolution est exprimée en nombre de pixels par unité de mesure(pouce ou centimètre) On utilise aussi le mot résolution pour désigner le nombretotal de pixels horizontaux et verticaux sur un moniteur Plus ce nombre est grand,plus la résolution est meilleure
Trang 22mo-CHAPITRE 2 ÉTAT DE L’ART
• Niveau de gris : C’est la valeur d’intensité lumineuse d’un pixel Cette valeur peut
aller du noir (0) jusqu’au blanc (255) en passant par les nuances qui sont nues dans l’intervalle [0, 255] Elle correspond en fait à la quantité de la lumièreréfléchie
conte-Pour 8 bits, on dispose de 256 niveaux de gris dont 40 sont reconnus à l’œil nue.Plus le nombre de bit est grand plus les niveaux sont nombreux et plus la repré-sentation est fidèle [11]
• Contraste : C’est l’opposition marquée entre deux régions d’une image Une image
contrastée présente une bonne dynamique de la distribution des valeurs de grissur tout l’intervalle des valeurs possibles, avec des blancs bien clairs et des noirsprofonds Au contraire une image peu contrastée a une faible dynamique, la plu-part des pixels ayant des valeurs de gris très proches
Si L1 et L2 sont les degrés de luminosité respectivement de deux zones voisinesA1 et A2 d’une image, le contraste est défini par le rapport : C=L1-L2/L1+L2
• Luminance : C’est le degré de luminosité des points de l’image Elle est définie
aussi comme étant le quotient de l’intensité lumineuse d’une surface par l’aireapparente de cette surface, pour un observateur lointain, le mot luminance estsubstitué au mot brillance, qui correspond à l’éclat d’un objet
Une bonne luminance se caractérise par :
— Des images lumineuses (brillantes) ;
— Un bon contraste : il faut éviter les images ó la gamme de contraste tendvers le blanc ou le noir ; ces images entraỵnent des pertes de détails dans leszones sombres ou lumineuses ;
— L’absence de bruits (parasites)
• Bruit (parasite) : Un bruit dans une image est considéré comme un phénomène
de brusque variation de l’intensité d’un pixel par rapport à ses voisins, il provient
de l’éclairage des dispositifs optiques et électroniques du capteur C’est un site qui représente certains défauts (poussière, petits nuages, baisse momenta-née de l’intensité électrique sur les capteurs, etc.) Il se traduit par des taches
para-de faible dimension et dont la distribution sur l’image est aléatoire [12]
• Contour : Les contours représentent la frontière entre les objets de l’image, ou
la limite entre deux pixels dont les niveaux de gris représentant une différencesignificative Dans une image numérique, les contours se situent entre les pixelsappartenant à des régions ayant des intensités moyennes différentes ; il s’agit decontours de type « saut d’amplitude»
Un contour peut également correspondre à une variation locale d’intensité sentant un maximum ou un minimum ; il s’agit alors de contour « en toit »
Trang 23pré-2.2 Méthodes de détection d’objets basées sur les CNNs
Actuellement, les techniques basées sur les CNNs restent les plus utilisées car ellesprésentent des résultats très promettant lors des différentes expérimentations Les pro-grès dans le domaine des réseaux neuronaux notamment dans la détection d’objets ontconnu beaucoup d’évolution au cours des dernières décennies et ce, grâce à de nom-breux facteurs et efforts dans le milieu universitaire mais également dans le monde réelavec des applications telles que :
— La vision robotique ;
— La détection de visages ;
— La détection des mouvements ;
— la conduite autonome des véhicules, etc
Tout ce progrès a été possible grâce au large développement de divers CNNs, à la ponibilité des masses de données et aussi à la forte puissance de calcul des GPU
dis-2.2.1 Les réseaux de neurones convolutifs (CNNs ou ConvNets)
Les CNNs sont constitués de neurones qui ont des poids et des biais apprenants.Chaque neurone reçoit des entrées, effectue un produit scalaire et le suit éventuelle-ment avec une non-linéarité1 L’ensemble du réseau exprime toujours une seule fonc-tion de score différenciable : des pixels d’image bruts d’un cơté aux scores de classe del’autre Et ils ont toujours une fonction de perte (par exemple SVM, Softmax, Sigmọde)sur la dernière couche entièrement connectée
Les architectures CNNs font l’hypothèse explicite que les entrées sont des images,
ce qui permet d’encoder certaines propriétés dans l’architecture Celles-ci rendent alors
la fonction directe plus efficace à mettre en œuvre et réduisent considérablement laquantité de paramètres dans le réseau
2.2.1.1 Architecture CNN
FIGURE2.1 – Architecture CNN
(source : http ://cs231n.github.io/convolutional-networks/#pool)
1 http ://cs231n.github.io/convolutional-networks/
Trang 24CHAPITRE 2 ÉTAT DE L’ART
Dans la Figure2.9à gauche : un réseau neuronal à 3 couches A Droite : Un CNN ganise ses neurones en trois dimensions (largeur, hauteur, profondeur), comme visua-lisé dans l’une des couches Chaque couche d’un CNN transforme le volume d’entrée3D en un volume de sortie 3D d’activations neuronales2
or-On dira qu’un simple CNN est une séquence de couches, et chaque couche forme un volume d’activations en un autre grâce à une fonction différenciable Onutilise généralement trois principaux types de couches pour construire des architec-
trans-tures CNNs : la couche convolutif (Convolutional Layer), la couche de mise en mun (Pooling Layer) et la couche entièrement connectée (Fully-Connected Layer) À la
com-fin, on empilera ces couches pour former une architecture CNN complète
2.2.1.2 Fonctionnement d’un CNN
Couches d’entrée (Input Layer) : c’est la couche dans laquelle nous donnons une
entrée à notre modèle Le nombre de neurones dans cette couche est égal au nombretotal de caractéristiques de nos données (nombre de pixels dans le cas d’une image)
Couche cachée (Hiden Layer) : L’entrée de la couche d’entrée est ensuite
intro-duite dans la couche cachée Il peut y avoir de nombreuses couches cachées en tion de notre modèle et de la taille des données Chaque couche cachée peut avoirdifférents nombres de neurones qui sont généralement supérieurs au nombre de ca-ractéristiques La sortie de chaque couche est calculée par multiplication matricielle
fonc-de la sortie fonc-de la couche précéfonc-dente avec les poids apprenants fonc-de cette couche, puispar addition de biais apprenants suivis d’une fonction d’activation qui rend le réseaunon linéaire
Couche de sortie (Output Layer) : La sortie de la couche cachée est ensuite
intro-duite dans une fonction logistique comme sigmọde ou softmax qui convertit la sortie
de chaque classe en score de probabilité de chaque classe
Les données sont ensuite introduites dans le modèle et la sortie de chaque coucheest obtenue, cette étape est appelée feedforward, on calcule ensuite l’erreur à l’aided’une fonction d’erreur, certaines fonctions d’erreur courantes sont l’entropie croisée,l’erreur de perte carrée3, etc Après cela, on rétropropage dans le modèle en calculantles dérivées Cette étape est appelée rétropropagation, qui est essentiellement utiliséepour minimiser la fonction perte
Apprentissage du réseau :
— La descente de gradient (voir Figure 2.2) est un algorithme optimal pour miser la fonction de cỏt ou minimiser une erreur Le but est de trouver les mi-nima local-globaux d’une fonction Cela détermine la direction que le modèledoit prendre pour réduire l’erreur4
mini-2 http ://cs231n.github.io/convolutional-networks/#pool
3 https ://www.geeksforgeeks.org/introduction-convolution-neural-network/#
4 https ://www.simplilearn.com/deep-learning-interview-questions-and-answers-article
Trang 25FIGURE2.2 – Descente de gradient (source :
https ://www.simplilearn.com/deep-learning-interview-questions-and-answers-article)
— La rétro-propagation (voir Figure2.3) est une technique pour améliorer les formances du réseau Il rétropropage l’erreur et met à jour les poids pour réduirel’erreur5)
per-FIGURE2.3 – Rétro-propagation (source :
https ://www.simplilearn.com/deep-learning-interview-questions-and-answers-article)
L’apprentissage du réseau se fait en calculant le gradient par lots (batch) de
l’en-5 https ://www.simplilearn.com/deep-learning-interview-questions-and-answers-article
Trang 26CHAPITRE 2 ÉTAT DE L’ART
semble de données entier, cette façon de faire rend l’apprentissage très lent et prend
du temps pour converger car le volume de données est énorme et les pondérations semettent à jour lentement Ce qui amène à introduire le gradient stochastique qui cal-cule le gradient à l’aide d’un seul échantillon Il converge beaucoup plus rapidementque le gradient de lot car il met à jour le poids plus fréquemment
2.2.1.3 Conception des CNNs
La couche de convolution (voir Figure2.4) est la composante clé des CNNs et tue toujours la première couche du réseau Elle permet de repérer la présence d’un en-semble de caractéristiques dans l’image d’entrée Pour cela, elle réalise un filtrage parconvolution : le principe est de faire "glisser" une fenêtre sur l’image et de calculer leproduit de convolution entre chaque portion de l’image balayée
consti-FIGURE2.4 – Couche de convolution avec un filtre de 3 x 3
(source : https ://socs.binus.ac.id/2017/02/27/convolutional-neural-network/)
La couche de regroupement (pooling ou POOL) (voir Figure 2.5) réduit la taillespatiale d’une image intermédiaire, réduisant ainsi la quantité de paramètres et decalcul dans le réseau6 Il est donc fréquent d’insérer périodiquement une couche depooling entre deux couches convolutives successives d’une architecture de réseau deneurones convolutifs pour réduire le sur-apprentissage L’opération de pooling créeaussi une forme d’invariance par translation
La couche de pooling fonctionne indépendamment sur chaque tranche de deur de l’entrée et la redimensionne uniquement au niveau de la surface La forme laplus courante est une couche de mise en commun avec des tuiles de taille 2 × 2 (lar-geur/hauteur) et comme valeur de sortie la valeur maximale en entrée On parle dans
profon-ce cas de « Max-Pool 2x2 »
6 https ://fr.wikipedia.org/wiki/R%C3%A9seaun eur onal c onvol ut i f
Trang 27FIGURE2.5 – couche de regroupement (pooling) avec un filtre 2 × 2
(source : https ://fr.wikipedia.org/wiki/R%C3%A9seau n eur onal c onvol ut i f )
Couches de correction (ReLU) (voir Figure 2.6) abrégé (Unité Linéaire Rectifiée),ReLU est une couche qui laisse toutes les valeurs positives passer inchangées et at-tribue simplement 0 aux valeurs négatives7 Elle permet d’améliorer l’efficacité dutraitement en intercalant entre les couches de traitement une couche qui va opérer
une fonction mathématique (fonction d’activation) sur les signaux de sortie : f (x) =
Trang 28CHAPITRE 2 ÉTAT DE L’ART
propriétés non linéaires de la fonction de décision et de l’ensemble du réseau sans fecter les champs récepteurs de la couche de convolution
af-Couche entièrement connectée (FC) (voir Figure2.7) après plusieurs couches deconvolution et de max-pooling, le raisonnement de haut niveau dans le réseau neu-ronal se fait via des couches entièrement connectées Les neurones dans une coucheentièrement connectée ont des connexions vers toutes les sorties de la couche précé-dente Leurs fonctions d’activations peuvent donc être calculées avec une multiplica-tion matricielle suivie d’un décalage de polarisation
FIGURE2.7 – Couche entièrement connectée (FC)
(source : http ://cs231n.github.io/convolutional-networks/#pool)
Ainsi, cette couche prend les données de la couche précédente et calcule les scores
de classe et génère le tableau 1D de taille égale au nombre de classes
2.2.1.4 Autres architectures CNNs
Il existe plusieurs architectures dans le domaine des réseaux convolutifs Les pluscourants sont8:
LeNet : Les premières applications réussies des réseaux convolutifs ont été
déve-loppées par Yann LeCun dans les années 1990 Parmi celles-ci, la plus connue est chitecture LeNet qui a été utilisée pour lire les codes postaux, les chiffres, etc
l’ar-AlexNet : Le premier ouvrage qui a popularisé les réseaux convolutifs en vision par
ordinateur a été l’AlexNet, développé par Alex Krizhevsky, Ilya Sutskever et Geoff ton [2] L’AlexNet a été soumis au défi ImageNet ILSVRC en 2012 et a surpassé de ma-nière significative le deuxième finaliste (erreur 5% supérieure de 16% par rapport à la
Hin-8 http ://cs231n.stanford.edu/
Trang 29deuxième place avec erreur 26%) Le réseau avait une architecture très similaire à Net, mais était plus profond, plus grand et comportait des couches convolutionnellesempilées les unes sur les autres (auparavant, il était courant de n’avoir qu’une seulecouche CONV toujours immédiatement suivie d’une couche POOL).
Le-VGGNet : Le finaliste de l’ILSVRC 2014 était le réseau de Karen Simonyan et Andrew
Zisserman qui est devenu connu sous le nom de VGGNet [13] Sa principale bution a été de montrer que la profondeur du réseau est un élément critique pour debonnes performances Leur meilleur réseau final contient 16 couches CONV / FC et,
contri-de façon attrayante, présente une architecture extrêmement homogène qui n’effectueque des convolutions 3x3 et un pool 2x2 du début à la fin Leur modèle pré-formé estdisponible pour une utilisation plug and play dans Caffe Un inconvénient du VGGNetest qu’il est plus cher à évaluer et utilise beaucoup plus de mémoire et de paramètres(140M) La plupart de ces paramètres se trouvent dans la première couche entière-ment connectée, et il a été constaté depuis que ces couches FC peuvent être suppri-mées sans dégradation des performances, ce qui réduit considérablement le nombre
de paramètres nécessaires
ResNet : Réseau résiduel développé par Kaiming He et al [14] a été le gagnant
de l’ILSVRC 2015 Il présente des connexions spéciales et une utilisation intensive de
la normalisation par lots L’architecture manque également de couches entièrementconnectées à la fin du réseau
Trang 30CHAPITRE 2 ÉTAT DE L’ART
2.2.2 Quelques algorithmes de détection d’objets
Nous étudions dans cette section quelques algorithmes de détection et suivi jets qui ont fait leur preuves dans la littérature
pi-le régresseur de la boỵte englobante dans un modèpi-le unique Là ó auparavant nousavions différents modèles pour extraire les caractéristiques de l’image (CNN), classer(SVM) et resserrer les boỵtes englobantes (régresseur), Fast R-CNN [7] a plutơt utilisé
un seul réseau pour calculer les trois Fast R-CNN a remplacé le classificateur SVM parune couche softmax au-dessus du CNN pour produire une classification Il a égalementajouté une couche de régression linéaire parallèle à la couche softmax pour sortir lescoordonnées du cadre de délimitation De cette façon, toutes les sorties nécessairesprovenaient d’un seul réseau
2.2.2.2 Faster R-CNN
La toute première étape pour détecter les emplacements des objets est de générer
un tas de boỵtes de délimitation potentielles ou de régions d’intérêt à tester Dans FastR-CNN, ces propositions ont été créées à l’aide de la recherche sélective, un processusassez lent qui s’est avéré être le goulot d’étranglement du processus global Le FasterR-CNN [8] a trouvé un moyen de rendre l’étape de proposition de région presque gra-tuite Le point de vue de Faster R-CNN était que les propositions de région dépendaientdes caractéristiques de l’image qui étaient déjà calculées avec la passe avant du CNN