On y trouve les définitions et une présentation de ce en quoi consistent la détection d’objets et les différents algorithmes d’extraction de caractéristiques, d’apprentissage automatiqu
Trang 1UNIVERSITE NATIONALE DU VIETNAM, HANOI
INSTITUT FRANCOPHONE INTERNATIONAL
JOHN BENSON LOUIS
Améliorations d’un algorithme de détection de mobilier urbain utilisant des approches de Deep Learning pour la navigation autonome de
véhicules
Cải tiến thuật toán phát hiện đồ nội thất đường phố bằng cách sử dụng phương pháp Deep Learning để điều hướng phương tiện tư
động
MÉMOIRE DE FIN D’ÉTUDES DU MASTER INFORMATIQUE
Je, soussigné Dr Damien Vivet, donne accord à John Benson Louis,
Pour présenter ce manuscrit et soutenir son stage
HANOI – 2019
Trang 2UNIVERSITE NATIONALE DU VIETNAM, HANOI
INSTITUT FRANCOPHONE INTERNATIONAL
JOHN BENSON LOUIS
Améliorations d’un algorithme de détection de mobilier urbain utilisant des approches de Deep Learning pour la navigation autonome de
véhicules
Cải tiến thuật toán phát hiện đồ nội thất đường phố bằng cách sử dụng phương pháp Deep Learning để điều hướng phương tiện tư
động
Spécialité : Systèmes Intelligents et Multimédia
Code : Programme pilote
MÉMOIRE DE FIN D’ÉTUDES DU MASTER INFORMATIQUE
Sous la direction de :
Dr Damien VIVET, ingénieur chercheur à l’ISAE-SUPAERO Emir HRUSTIC, Doctorant à l’ISAE-SUPAERO
Trang 3Attestation sur l’honneur
J’atteste sur l’honneur que ce mémoire a été réalisé par moi-même et que les données et les résultats qui y sont présentés sont exacts et n’ont jamais été publiés ailleurs La source des informations citées dans ce mémoire a bien été précisée
Signature de l’étudiant
JOHN BENSON LOUIS
Trang 4au sein l’équipe du Laboratoire de recherche de L’ISAE-SUPAERO, ainsi que pour leur patience et leurs précieux conseils Ils m’ont beaucoup appris sur les défis qu’un encadrant doit relever au quotidien
Je désire aussi remercier les professeurs de l‘Institut Francophone International et de l’Université de La Rochelle, qui m’ont fourni les outils nécessaires au bon déroulement de mon stage Je tiens particulièrement à remercier M Ho Tuong Vinh, enseignant-chercheur, Institut Francophone International, Université Nationale du Vietnam qui fut le premier à me soutenir dans ma démarche de recherche de stage
Un grand merci à ma mère Mme Aline O LOUIS et mon père Rebert LOUIS, pour leurs conseils, ainsi que pour leur soutien inconditionnel, à la fois moral et économique Pour finir, je voudrais remercier tous mes amis proches, pour ses conseils avisés sur la rédaction de ce rapport de stage et aussi remercier tous les autres personnes qui m’ont bien supporté durant ce long parcours
Trang 5Liste des abréviations
IA : intelligence Artificielle
CNN : Convolutional Neural Network = réseau de neurones convolutif GTSDB: German Traffic Sign Detection Database
BTSDN: Belgian Traffic Sign Detection Network
MAP: Mean Average Precision
FPN: Feature Pyramid Networks
OD: Object Detection
IUO: Intersection over Union
TP: True Positive
FP: False Positive
MAP: Mean average Precision
Trang 6Abstract
The work presented in the remainder of this manuscript deals with the implementation
of an object detection algorithms, specifically for urban traffic signs, in real time using algorithms from computer vision and the architectures of Deeplearning The latter, thus allowing the detection and recognition of road signs, with the ultimate goal of using its information for the purpose of tracking for a self-contained car
We begin with a study of the state of the art, the existing approaches and techniques related to object detection by looking at on algorithms for extracting features ranging from the less recent such as Histograms of Oriented Gradients through the algorithms
of Convolutional neural Network
The approach adopted at the end of this work consists in using neural networks
Convolutional, precisely, the Retinanet architecture with the resnet50 backbone, for the detection of road signs This is a solution that is justified largely by the low resources available in terms of computing capacity, data for automatic and time learning of the detection process
The results obtained with the implanted platform prototype are promising since they testify to the effectiveness of the architecture chosen The results can be further improved in terms of detection particularly by building a more suitable database
Trang 7Table des matières
Remerciements
Résumé
CHAPITRE I
1 Introduction Générale ……… 11
1.1 Contexte et cadre d’étude ……… 11
1.2 Objectifs du stage ……… 11
1.3 ISAE-SUPAERO ……….… 11
CHAPITRE II 2 Etat de l’art ……….… 13
2.1 Introduction ……… ………13
2.2 Spécification technologique……… 14
2.3 Intelligence Artificielle … ……… 14
2.4 Apprentissage Automatique ……… 14
2.5 Réseaux de Neurones ……… 17
2.5.1 Apprentissage profond ……… 18
2.6 Méthodes d’extraction de caractéristiques et de classification ………… 20
2.6.1 Algorithmes d’extraction de caractéristiques ……… 20
2.6.2 Méthodes de classification ………24
2.7 Approche détection ……… 28
2.5.1 Détection sans apprentissage profond ……… 28
2.5.2 Détection avec apprentissage profond ……… 28
2.8 Méthodes de recherche et de localisation d’objets……….… 35
CHAPITRE III 3 Méthodes et approche retenue ……….… 37
3.1 Introduction ……….……… 37
3.2 Architecture retenu et justification de choix ……… 37
3.3 Justification de choix ……… 37
CHAPITRE IV 4 Expérimentations et Résultats ……… ……… 40
4.1 Introduction … ……… 40
4.2 Dataset utilisé ……… ……… … 40
Trang 84.2.1 GTSDB …… ……… 40
4.2.2 BTSDN ……… … 41
4.3 Préparation de données ……… 41
4.3.1 Visualisation des données ……… 42
4.3.2 Fusionner les deux Datasets …… ……… 42
4.4 Matériels Informatique utilisés ……… 48
4.5 Architecture et paramètres utilisé ……… 48
4.5.1 Spécification Architectural……… 48
4.5.2 Backbone ……… 49
4.5.3 Perte Focal (Focal Loss (FL)) ……… 49
4.5.4 paramètres utilisés ……… 50
4.6 Resultats obtenues ……… 51
4.7 Analyse des résultats ……….… 58
CHAPITRE V 4.8 Conclusion ……… ……… 60
Conclusion et perspective
Bibliographie
Trang 9Table des figures
Fig 1 : Spécification Technologique ……… 13
Fig 2 : Apprentissage Automatique ……… ………… 13
Fig 3 Modèle ……… …… 14
Fig 4 : Apprentissage supervisé ……… 14
Fig.5 : Apprentissage non-supervisé……… …… 15
Fig.6 : Apprentissage Par renforcement……….……… ….…… 15
Fig 7: Classifieur / Régresseur ……… 16
Fig.8 : Représentation d’un Réseau de neurone ……….……… 17
Fig 9 Processus générique de détection automatique d’objets ……….……… 19
Fig 10 : Caractéristiques pseudo-Haar ……….……… 20
Fig 11: Algorithme SIFT (Source=http://www.cs.ubc.ca/~lowe/keypoints) ……… ……21
Fig 12: Structure HOG (Histograms of Oriented Gradients) ……… 22
Fig 13 : Représentation de vecteurs caractéristiques et l’ensemble des classes Associées……… …… ……… ……….…… 24
Fig 14 : (MLP) Multi Layer Perceptron ……….……… 25
Fig 15 : Réseaux de Neurones profonds ……… 25
Fig 16 Illustration de l'application d'un noyau sur la carte de caractéristiques en entrée pour générer la sortie ……… 25
Fig.17 : Architecture classique d’un réseau de neurone ……… 26
Fig 18 The architecture of R-CNN (Image source: Girshick et al 2014) … 27
Fig 19 : Illustration de la transformation entre les boîtes englobant la vérité prédite et la vérité terrain ……… ……… 28
Fig 20 : L'architecture de Fast R-CNN (Source de l'image: Girshick, 2015) …….… … 29
Fig 21: Architecture of Fast RCNN ….……….………… 30
Fig 22 Architecture Framework Yolo ……….……….…… ……… 31
Fig 23 Architecture Retinanet … 32
Fig 24: Selective search……… 32
Fig 25 Resultats comparative d’architecture avec MS COCO ……….… … 37
Fig 26 Graph comparative (Time/Precision) Avec COCO……….…………. … 37
Fig 28 Figure de capture ……… 40
Trang 10Fig 30 Représentative des panneaux GTSDB ……….……….…… 46
Fig 31 Format représentative des panneaux GTSD ……… … 46
Fig 32 : Exemple de visualisation ……….… 41
Fig 33 Exemple 1 : Classe groupée ……… ……… 42
Fig 34 Exemple 2 : Classe groupée ……….……… 42
Fig.35 Exemple 3 : Classe groupée……….… 42
Fig 36 Exemple 4 : Classe groupée……… 42
Fig 37 : Fonction Traitment et conversion images en JP2 to JPG……… 44
Fig 38 : Fonction Chargement, traitement annotations ……… 44
Fig.39 Architecture du système ……… 48
Fig.40 Paramètres d’Ancre ….……….…… 49
Fig.41 Résultat entrainement sur PANDO ……….… … 50
Fig.42 Detection exemple 1 ……… 50
Fig 43 Detection exemple 2 ……… 51
Fig.44 Detection exemple 3 …….……….…… 51
Fig 45 Detection exemple 4 … ……… 52
Fig 44.1 Detection example 5 …… ……… 53
Fig 45 Intersection over Union ……… .54
Fig 46 Calcule True Positive (Vrai Positive) and False Positive (Faux Positive) Exp1… 55 Fig 47 Courbe Precision / Recall Exp1 ……… 55
Fig 48 Courbe mAP avec 11 points interpolées 68.415% Exp1 ……… 55
Fig 49 Calcule True Positive (Vrai Positive) and False Positive (Faux Positive) Exp2 56
Fig 50 Courbe Precision / Recall Exp2 ……… 57
Fig 51 Courbe mAP avec 11 points interpolées 70.897% Exp2 …… ……… 57
Fig 52 Exemple de detection, Expérimentation 2 ……… ………60
Fig 53 WBS : Work Breakdown Structure ……… … 66
Fig 54 Gantt Planification project ……… ……….67
Fig 55 Ecran Principal Matlab ……… ………….67
Fig 56 Description ecran Principal de l’application……….…… 68
Fig 57 Click sur le menu d’entrée ……….……… ……… ….69
Trang 11Table des figures
Tab.1 : Tableau comparaison d’algorithme d’extraction de caractéristique ………… … 24 Tab 2 Tableau comparatif des algorithmes de classification ……… 27 Tableau 3 : Tableau comparatif des approches de détection abordées ……… 34
Structure du mémoire
Chapitre I : Le chapitre I, est une introduction générale du travail de recherche
réalisé, le contexte dans lequel a été réalisé le travail ainsi qu’une présentation plus claire de l’institution à travers laquelle la réalisation de ce travail a été rendu possible
Chapitre II : Le chapitre II aborde les travaux existant dans l’état de l’art On y trouve
les définitions et une présentation de ce en quoi consistent la détection d’objets et les différents algorithmes d’extraction de caractéristiques, d’apprentissage automatique
et les approches de détection répertoriées dans la littérature
Chapitre III : Le chapitre III concerne les approches retenues et les choix en termes
d’algorithmes détection suite à l’étude effectuée dans le chapitre de l’état de l’art
Chapitre IV : Dans ce chapitre, l’on peut le processus de préparation des données,
consulter les différents scénarios de test, le protocole d’expérimentation et observer les résultats de ces expérimentations effectuées avec les systèmes réalisés
Chapitre V : Dans ce dernier chapitre, il est autour du développement d’un logiciel
de labellisation adapté à tout type de labélisation en vue de la préparation de données type image pour les différents modèles, architecture d’entrainement.
Trang 12Chapitre 1
1 Introduction Général
1.1 Contexte et cadre d’étude
La conception et le développement de véhicules autonomes tout en leur dotant un niveau d’autonomie de plus en plus élevé posent de formidables défis technologiques
et scientifiques Les mathématiques, le génie logiciel ainsi que l’intelligence artificielle sont parmi les principaux domaines des sciences du numérique impliqués L’un des aspects les plus importants pour un véhicule autonome reste la sécurité de son milieu immédiat Ainsi la notion de sécurité du véhicule fait aussi bien référence à la bonne
sa bonne capacité à perception son environnement et à se protéger contre lui tant bien qu’à protéger son milieu extérieur
Grace à l’intelligence artificielle et ces méthodes d’application de plus en plus divers,
en utilisant des capteurs (Sensor) de différent type, comme le LIDAR1, le RADAR2,
le capteur GPS3, la CAMERA et bien d’autre, on rendu ce prouesse possible S’orienter est devenu pour la navigation des voitures autonomes et bien d’autre domaine des notions plus faciles à appréhender
Les panneaux de signalisation routière sont des amers visuels cruciaux pour la navigation dans nos environnements urbains Dans ce chapitre d’innovation est souligné le sujet de notre stage : « AMELIORATION D’UN ALGORITHME DE DETECTION DE MOBILER URBAIN UTILISANT DES APPROCHES DE DEEP LEARNING POUR LA NAVIGATION AUTONOME DE VEHICULES » effectué
au LAB de ISAE-SUPAERO
1.2 Objectifs du stage
Pouvoir se repérer dans l’espace, prendre en compte les éléments environnants pour pouvoir s’orienter est une faculté que toute entité doué de mobilité en particulier des voitures autonomes doivent avoir comme capacité Ainsi, doter une voiture dite autonome de ces capacités s’avère l’une des fonctionnalités les plus importantes pour
la navigation
Trang 13Notre objectif dans ce travail de mémoire est d’utiliser des algorithmes de Deep Learning pour détecter les panneaux urbains, en utilisant deux bases de dataset image sur deux pays différents, à savoir la base de panneaux de trafique routier de la Germany(Allemagne) et celui de la Belgique Ainsi créer un modèle d’algorithme efficace pour la navigation d’un véhicule autonome
du ministère des Armées, l'Institut issu de la fusion entre l'ENSICA et Supaero délivre jusqu'en 2017 deux diplômes d’ingénieur distincts : « Ingénieur Supaero diplômé de l’institut supérieur de l’aéronautique et de l’espace » et « Ingénieur ENSICA, diplômé
de l’institut supérieur de l’aéronautique et de l’espace » L'Institut délivre également des mastères spécialisés, masters of science et le diplôme de doctorat
L'ISAE-SUPAERO recrute ses élèves ingénieurs sur le concours commun Mines-Ponts
et les forme depuis 2015 au sein d'un nouveau cursus ingénieur unique SUPAERO Le recrutement précédemment ouvert sur le concours CCP n'est plus proposé (le cursus ingénieur ISAE-ENSMA recrute toujours sur ce concours) L'Institut délivrera à partir de 2018 le diplôme unique d'ingénieur ISAE-SUPAERO aux promotions admises en 2015
Trang 14ISAE-CHAPITRE 2
2 Etat de l’Art
2.1 Introduction
La détection d'objets est l'une des facultés les plus impressionnantes et les plus précises
de l'être humain En effet, il ne faut que quelques millisecondes pour identifier et localiser un objet dans une scène, interpréter et détecter des situations anormales ou dangereuses Comme le système visuel humain, dans le domaine de la vision par ordinateur, nous aimerions construire des systèmes artificiels capables de reproduire les mêmes performances et d'effectuer les mêmes tâches que celui-ci Ainsi, la détection d'objets est un processus primordial et connaît une effervescence et un fort intérêt Elle consiste à identifier un objet et à déterminer son emplacement avec précision Ces concepts constituent la principale base et le cœur même des domaines d'application tels que la vidéo surveillance ou l'industrie automobile dans le contexte
de la sécurité routière en particulier Parmi les tâches associées à ce champ, la détection les piétons et les véhicules font l'objet de recherches actives
Avec les progrès continus dans chaque domaine, plusieurs époques et périodes suivent Elles sont caractérisées par différents paradigmes et façons de concevoir et de résoudre
le problème de la détection automatique d’objets Dans cette partie de la thèse la plus récente, nous présentons les différentes méthodes et propositions couramment utilisées dans le processus de détection automatique
Nous discutons d’abord des algorithmes d’extraction de caractéristiques Dans un second temps, nous présentons les algorithmes de classification couramment utilisés Les solutions et les architectures de détection d'objets sont discutées
Trang 152.2 Spécifications des technologies
Fig1 : Spécification Technologique
2.3 Intelligence Artificielle (IA) est le nom d’un champ de connaissances complet,
similaire à la biologie ou à la chimie Un ensemble de théories et de techniques utilisées
pour produire des machines permettant de simuler l’intelligence
Cette notion voit le jour dans les années 1950 grâce à Alan Turing (mathématicien et
logicien) “Computing Machinery and intelligence” est un livre d’Alan Turing dans
lequel il a élaboré des arguments contre les objections qui font croire que l’intelligence
demeure une qualité purement humaine
2.4 Apprentissage Automatique (ou Machine Learning en anglais) est un sous
domaine de l’IA qui a pour objectif de comprendre la structure des données, créer de
la connaissance de manière automatique à partir de données brutes Cette connaissance
(ou modèle) peut alors être exploitée pour prendre des décisions
Fig 2 : Apprentissage Automatique
Trang 16Voyons plus en détail le schéma ci-dessus de l’apprentissage automatique
• Données
Quand on parle de données, en apprentissage automatique, on parle d’échantillons notés sous forme de vecteur :
x = (x1, x2, … xn)
n est le nombre de coordonnées (attributs/dimensions/caractéristiques)
Les données sont divisées en deux catégories :
– données labellisées : elles comprennent une ou plusieurs caractéristiques (feature : x)
et une étiquette (label : y) Le label y permet de prédire la décision pour un échantillon donné
– données non-labellisées: contrairement aux données labellisées, celles-ci ne sont pas associées à des étiquettes (y)
• Modèle C’est une fonction (f) qui prend un échantillon (x) en entrée, et qui renvoie une décision (y)
Les paramètres de la fonction f peuvent être déterminés à l’aide des échantillons, d’ó viennent l’étape de l’apprentissage ou l’entraỵnement du modèle
Cette dernière peut se catégoriser selon le type d’apprentissage :
– Apprentissage supervisé : C’est lorsque les échantillons sont étiquetés Le réseau
apprend à classifier des entrées en s’appuyant sur l’ensemble des exemples avec les réponses correctes associées
Trang 17– Apprentissage non-supervisé : les échantillons ne sont pas étiquetés (plus difficile
d’extraire les informations pertinentes) Le réseau classifie les entrées en s’appuyant sur la similarité entre différentes entrées (plus généralement il s’agit de clustering automatique)
Fig.5 : Apprentissage non-supervisé
– Apprentissage par renforcement : l’agent apprend à se rapprocher d’une stratégie
comportementale optimale par des interactions répétitives avec l’environnement
Fig.6 : Apprentissage Par renforcement
Selon la nature du résultat (catégorisé ou non), il existe deux types de modèles:
– Classifieur Si les résultats sont catégorisés (on dit que le modèle effectue une
Classification) (Fig 7)
– Régresseur Si les résultats ne sont pas catégorisés (on dit que le modèle régresse)
Trang 18Fig 7 : Classifieur / Régresseur
• Décision Elle consiste à prédire une valeur t à partir d’une observation x
t = y(x, w)
Si t est continue (régression), le nombre de valeurs que peut prendre y est infini y € R
Si t est discret (Classification), le nombre de valeurs que peut prendre y est fini y € {1,
Il s’agit d’une variété de technologies d’apprentissage profond, qui fait elle-même partie de la sous-catégorie de l’apprentissage automatique
Les réseaux de neurones artificiels sont efficaces pour faire des prédictions et apprendre tout seul
• Mode de Fonctionnement d’un réseau de neurones
Trang 19Fig.8 : Représentation d’un Réseau de neurone
En principe, un réseau de neurones est basé sur un grand nombre de processeurs fonctionnant en parallèle et organisés en couches La première couche reçoit les informations brutes, tout comme les nerfs optiques humains lors du traitement des signaux visuels
Ensuite, chaque couche reçoit les informations de la couche précédente Le même processus est observé chez l’homme, lorsque les neurones reçoivent des signaux de neurones z utilise l’opération "forward" : il s’agit de calculer la sortie du réseau de neurones en fonction de l’entrée, en appliquant couche par couche les fonctions des
neurones (Fig 8)
– Récurrent, réseaux bouclés, l’information peut se propager dans les deux sens – Convolution, utilise un système comparable au perceptron multicouche, mais conçu
pour réduire le nombre de calculs La structure d’un CNN consiste en une succession
de couches : une couche d’entrée, une couche de sortie et une couche cachée composée
de nombreuses couches convolutives, couches de regroupement, couches entièrement connectées et couches de normalisation
2.5.1 Apprentissage profond (ou Deep Learning en anglais), est une forme
d’intelligence artificielle qui découle du Machine Learning, ce dernier se repose sur les algorithmes des réseaux de neurones artificiels et aussi sur des technologies comme la reconnaissance d’images Les réseaux de neurones artificiels sont inspirés par les neurones du cerveau humain Ils sont constitués de plusieurs neurones artificiels reliés entre eux Plus les neurones sont nombreux, plus le réseau est profond
Trang 20• Fonctionnement Le réseau de neurones attribue un certain poids aux différents
neurones Un neurone qui reçoit plus de charge aura plus de répercussions sur les neurones voisins La dernière couche de neurones transmet une réponse à ces signaux
1.2 Detection automatique
La detection automatique d’un objet dans une scène, est un procéder qui consiste à identifier la classe (ou catégorie) à laquelle appartient un objet (Les Panneaux routiers par exemple) en arrivant également à le localiser précisément dans cette scène en le délimitant soit par un cadre (boîte englobante ou Bounding box), soit par ses contours dans l’image Plusieurs méthodes ont été proposées pour effectuer cette tâche : certaines sont des méthodes classiques plus anciennes de l’état de l’art [1] [4], d’autres s’appuient sur des méthodes plus récentes comme les réseaux de neurones profonds [6] [7] [8]
De manière générale, le processus générique de détection consiste dans un premier temps à extraire des caractéristiques les plus robustes, représentatives et discriminantes possibles concernant l’image d’entrée et à utiliser par la suite un classifieurs issu d’algorithmes d’apprentissage automatique ou un localiseur afin d’identifier et localiser l’objet
Nous allons vous faire dans les très prochaines lignes, une démonstration de quelque uns les plus utilisés et leur architecture appropriés
SIFT [3], HOG [4] et les caractéristiques issus d’une opération de convolution d’un filtre (ou kernel) avec l’image (feature maps) [5] sont des méthodes très populaires utilisées dans l’état de l’art pour l’extraction de caractéristiques En ce qui concerne les classifieurs l’on retrouve des algorithmes issus de l’apprentissage automatique tels que
le SVM [4] ou l’apprentissage profond dont le CNN [6] est le plus représentatif De plus, deux techniques sont principalement utilisées afin d’effectuer de manière conjointe ces deux étapes : celle de la fenêtre glissante sur toute l’image (Sliding Windows) [4] et celle des propositions de régions (Region Proposal) [10] susceptibles
de contenir des objets d’intérêt dans l’image
Trang 21Fig 9 Processus générique de détection automatique d’objets
La figure 9 illustre le processus générique entrepris lors de la tâche de détection automatique d’objets L’on peut y remarquer trois principales étapes à savoir celles de l’Extraction de caractéristiques (en rouge), d’Apprentissage Automatique (en noir) et de Détection (en jaune) qui seront présentées dans la suite de ce l’état de l’art
2.6 Méthodes d’extraction de caractéristiques et de classification
réel, celui de la méthode de Viola et Jones [2] Ces caractéristiques peuvent également
être utilisées pour la détection de personnes Elles peuvent être aussi utilisés pour la detection de bien d’autre sujet comme De rétine de l’œil, de personne Etc
La figure.10 ci-dessous montre a quoi peuvent ressembler visuellement les
caractéristiques de Haar Les caractéristiques de Haar sont essentiellement des
"Templates " (approximation des ondelettes de Haar) recherchant des motifs basés sur des différences de contraste selon une certaine direction et une certaine disposition dans une région de l’image Les motifs et caractéristiques recherchés pouvant être des Contours, des lignes ou des motifs plus complexes (rectangulaires par exemple) En somme, ces caractéristiques agissent essentiellement comme des filtres sur l’image
Trang 22Fig 10 : – Caractéristiques pseudo-Haar
Source=https://docs.opencv.org/3.3.0/d7/d8b/tutorial_py_face_detection.html
SIFT
SIFT [3] est un descripteur de points d’intérêt C’est en ce sens un descripteur local, donc robuste à l’occlusion permettant d’identifier les zones d’intérêt dans l’image Les avantages de cet algorithme sont nombreux En effet, SIFT produit des caractéristiques invariantes à la mise à l’échelle, à la translation, à la rotation et partiellement invariantes aux changements d’illumination (conditions d’éclairage) et à la projection 3D Ces atouts de l’algorithme le rendent très performant pour la description d’image
et l’un des algorithmes les plus utilisés en vision par ordinateur Pour une image Donnée, on obtient un ensemble de vecteurs avec attributs La figure1.3 illustre les principales étapes et les traitements effectués par l’algorithme SIFT
Les principales étapes intervenant dans le processus d’extraction de caractéristiques à partir de l’algorithme SIFT sont :
1 Sélection des pics dans l’espace d’échelles :
Cette étape permet de construire une pyramide de ré-échantillonnage entre chaque niveau (octave), rendre l’image flou à l’intérieur de chaque octave en appliquant des filtres gaussiens avec des valeurs de σ (paramètre contrôlant le niveau ou l’importance de flou) différentes Ensuite, des Différences de Gaussienes (DOG) sont appliquées aux images obtenues; les résultats obtenus étant des images résultant de
Trang 23Fig 11 : Algorithme SIFT Source=http://www.cs.ubc.ca/~lowe/keypoints
2 Localisation des points d’intérêts :
Cette étape consiste à éliminer les points instables obtenus suite à la différence de gaussienne En effet, après avoir détecté des extrema pour une même échelle on vérifie leur stabilité sur plusieurs échelles Les points d’intérêt ou extrema qui se répètent le plus dans les autres espaces d’échelle sont gardés alors que les autres sont ignorés
3 Calcul de l’orientation :
Le calcul de l’orientation c’est la différence de Gaussiennes (DOG) basée sur une zone autour du point d’intérêt En d’autres termes il s’agit d’extraire des gradients (taille et direction) pour chaque pixel Ensuite pour chaque point d’intérêt (même position), on calcule une orientation unique Cette orientation est calculée par le pic dans l’histogramme des directions locales du gradient
4 Description du point d’intérêt :
Finalement le descripteur de points d’intérêt résultant est basé sur les gradients locaux autour du point d’intérêt
Trang 24(direction) et les orientations des contours ou bords pour tous les pixels de la cellule en question La concaténation finale de ces histogrammes est le descripteur résultant Les caractéristiques HOG présentent l’avantage d’être invariants à certaines transformations géométriques puisque l’algorithme s’applique sur des cellules localisées La figure 1.4 illustre le fonctionnement de l’algorithme
Source=N Dalal and B Triggs Histograms of Oriented Gradients for Human Detection CVPR, 2005
Fig 12 : Structure HOG (Histograms of Oriented Gradients)
Méthodes Description Avantages Désavantages
Haar-features
Caractéristiques inspirées par les onde-
lettes de Haar
- Très simples
- Rapides à calculer
- Non robustes à la rotation
- Détection de caractéristiques trop simples (lignes, contours, )Descripteur local
Basé sur les points d’intérêt
Invariant à :
- la rotation
- au point de vue
- Plus difficile à calculer et plus compliqué qu’un descripteur global
Trang 25- Besoin d’une patente afin de l’utiliser
HOG
Descripteur global basé sur la distribution et l’orientation des gradients de
l’image
- Descripteur facile
à calculer
- S’applique à l’image entière (bien que l’on puisse l’appliquer (de manière locale) à des régions de l’image)
Tab.1 : Tableau comparaison d’algorithme d’extraction de caractéristique
2.6.2 Méthodes de classification
L’étape d’extraction de caractéristiques est essentielle parce qu’elle permet d’obtenir des représentations simples et plus abstraites de nos images Ces représentations ou caractéristiques idéalement doivent être robustes par rapport aux transformations (géométriques et photométriques) que pourrait subir l’image
Celles-ci sont souvent des vecteurs de caractéristiques x de dimension d A partir de ces représentations, on aimerait pouvoir classer ou regrouper les images appartenant à une même catégorie
Des algorithmes de classification et de localisation d’images sont utilisés afin d’identifier les classes d’objets dans l’espace des caractéristiques De nombreux algorithmes existent et peuvent accomplir la tâche Nous présentons ci-dessous quelques-uns des algorithmes les plus utilisés
Formellement, soit X l’ensemble des caractéristiques des images de départ constituant la base d’apprentissage et Y l’ensemble des classes cibles associées aux différentes catégories L’objectif est de trouver une fonction f faisant la correspondance entre X et Y, capable de trouver la catégorie d’une nouvelle image
Fig 13 : – Représentation de vecteurs caractéristiques et l’ensemble des classes associées
Trang 26Cette section de l’état de l’art est consacrée aux algorithmes d’apprentissage automatique
permettant d’estimer cette fonction f :
- SVM :
SVM [11] est mis pour "Séparateurs à vastes marges" Il s’agit d’un algorithme
d’apprentissage automatique supervisé qui peut être employé à la fois pour traiter des
problèmes de classification et de régression La classification étant cependant l’utilisation
la plus courante L’idée principale est de trouver ou déterminer un hyperplan séparant au
mieux le jeu de données selon deux classes (classification binaire) comme c’est illustré à
la figure 1.9 Les vecteurs de support sont les points les plus proches de l’hyperplan Ce
sont des points critiques du jeu de données parce qu’ils permettent d’ajuster l’hyperplan
trouvé En ajoutant des données de test, la classe attribuée est celle correspondante au côté
de l’hyperplan dans lequel se situe le nouveau point
- Réseaux de Neurones
Les réseaux de neurones [12] constituent l’état de l’art actuel en vision par ordinateur Un
réseau de neurones artificiels, est un système dont la conception est à l’origine
schématiquement inspirée Opération de convolution du fonctionnement des neurones
biologiques Les réseaux de neurones sont généralement optimisés par des méthodes
d’apprentissage de type probabiliste, en particulier bayésien Ils sont placés d’une part dans
la famille des applications statistiques, qu’ils enrichissent avec un ensemble de paradigmes
Permettant de créer des classifications rapides (réseaux de Kohonen en particulier), et
d’autre part dans la famille des méthodes de l’intelligence artificielle
Trang 27Opération Convolution
Je recommande fortement ce guide d’arithmétique de convolution, qui fournit une explication nette et solide avec des tonalités de visualisations et d’exemples Ici, concentrons-nous sur la convolution à deux dimensions alors que nous travaillons avec des images dans ce post
En bref, l’opération de convolution fait glisser un noyau prédéfini (également appelé "filtre") sur la matrice de pixels de l’image, en multipliant et en ajoutant les valeurs du noyau et les entités partielles en entrée pour générer la sortie Les valeurs forment une matrice de sortie, comme d'habitude, le noyau est beaucoup plus petit que l'image d'entrée
Fig 16 Illustration de l'application d'un noyau sur la carte de caractéristiques en entrée pour générer la sortie
Trang 28Fig.17 : Architecture classique d’un réseau de neurone
— Peut être plus efficace parce qu’il utilise un sous- ensemble de points de la base d’apprentissage
— N’est pas adapté à de grandes bases puisque
le temps d’apprentissage augmente drastiquement
— Moins efficace sur des bases bruitées avec des classes se chevauchant
— Grande capacité de calcul
—Temps d’apprentissage long
Tab 2 Tableau comparatif des algorithmes de classification
2.7 Approche détection
2.7.1 Detection sans apprentissage profond
Trang 29algorithmes n’est donc pas possible ici Dans cette section nous présenterons l’approche que nous jugeons la plus significative dans notre cadre d’étude
Cette approche [4] consiste à extraire des caractéristiques de l’image à l’aide du descripteur HOG et à appliquer un modèle de classification SVM sur le vecteur obtenu afin de détecter un objet dans une image
2.7.2 Detection avec Apprentissage profond
En général, il existe deux approches différentes pour cette tâche: vous pouvez soit
effectuer un nombre fixe de prévisions sur la grille, One stage (une étape), soit utiliser
un réseau de propositions pour rechercher des objets, puis utiliser un second réseau
pour affiner ces propositions et générer une version finale Prediction, two stage (deux
étapes)
R-CNN
R-CNN (Girshick et al., 2014) is short for “Region-based Convolutional Neural Networks” The main idea is composed of two steps First, using selective search, it identifies a manageable number of bounding-box object region candidates (“region of interest” or “RoI”) And then it extracts CNN features from each region independently for classification
Fig 18 The architecture of R-CNN (Image source: Girshick et al., 2014)
Flux de travail du modèle
Le fonctionnement de R-CNN peut être résumé comme suit:
1 Pré-entrainé un réseau CNN aux tâches de classification des images; par exemple, VGG ou ResNet ont été formés à l’ensemble de données ImageNet La tâche de classification implique N classes
Trang 302 Proposez des régions d’intérêt indépendantes de la catégorie par recherche sélective (environ 2 000 candidats par image) Ces régions peuvent contenir des objets cibles
et sont de tailles différentes
3 Les candidats de région sont déformés pour avoir une taille fixe comme l'exige CNN
4 Continuer à affiner le CNN sur les régions de proposition déformées pour les classes K + 1; La classe supplémentaire se réfère à l'arrière-plan (pas d'objet d'intérêt) Au stade de la mise au point, nous devrions utiliser un taux d’apprentissage beaucoup plus petit et le mini-lot sur échantillonnera les cas positifs, car la plupart des régions proposées ne sont que des bases
5 Pour chaque région d'image, une propagation en avant via le CNN génère un vecteur de caractéristiques Ce vecteur de caractéristiques est ensuite consommé par un SVM binaire formé indépendamment pour chaque classe
6 Les échantillons positifs sont des régions proposées avec un seuil de chevauchement IoU (intersection sur l'union)> = 0,3, et les échantillons négatifs ne sont pas pertinents
7 Pour réduire les erreurs de localisation, un modèle de régression est formé pour corriger la fenêtre de détection prévue sur le décalage de correction du cadre de sélection à l'aide des fonctions CNN
Régression Bounding Box
À partir d'une coordonnée prédite du cadre de sélection [erreur de traitement mathématique] (coordonnée centrale, largeur, hauteur) et de ses coordonnées de boîte
de vérité du sol correspondantes [erreur de traitement mathématique], le régresseur est configuré pour apprendre une transformation invariante à l'échelle entre deux centres
et une transformation log-scale entre largeurs et hauteurs Toutes les fonctions de transformation prennent [Erreur de traitement mathématique] en entrée
Trang 31Fig 19 : Illustration de la transformation entre les boîtes englobant la vérité prédite et la
vérité terrain
FAST- RCNN
Pour accélérer R-CNN, Girshick (2015) a amélioré la procédure de formation en unifiant trois modèles indépendants dans un cadre formé conjointement et en augmentant les résultats de calcul partagé, nommée Fast R-CNN Au lieu d'extraire les vecteurs de caractéristiques CNN indépendamment pour chaque proposition de région,
ce modèle les regroupe en un seul passage direct de CNN sur l'image entière et les propositions de région partagent cette matrice de caractéristiques Ensuite, la même matrice de caractéristiques est dérivée pour être utilisée pour l'apprentissage du classifieur d'objets et du Régresseur de la boîte englobante En conclusion, le partage des calculs accélère R-CNN
Fig 20 : L'architecture de Fast R-CNN (Source de l'image: Girshick, 2015)
Trang 32Flux de travail du modèle
La rapidité avec laquelle R-CNN fonctionne est résumée comme suit de nombreuses étapes sont les mêmes que dans R-CNN:
1 Tout d’abord, pré-formez un réseau de neurones convolutifs aux tâches de classification des images
Proposez des régions par recherche sélective (~ 2k candidats par image)
Modifier le CNN pré-formé:
2 Remplacez la dernière couche de mise en commun maximale du CNN formé par une couche de mise en commun RoI La couche de regroupement RoI génère des vecteurs d'entités de longueur fixe des propositions de région Partager le calcul de CNN a beaucoup de sens, car de nombreuses propositions
pré-de régions pré-des mêmes images se chevauchent fortement
3 Remplacez la dernière couche entièrement connectée et la dernière couche softmax (classes K) par une couche entièrement connectée et la classe softmax sur K + 1
4 Enfin, le modèle se divise en deux couches de sortie:
5 Un estimateur softmax de K + 1 classes (comme dans R-CNN, +1 est la classe
«d'arrière-plan»), générant une distribution de probabilité discrète par RoI
6 Un modèle de régression à champ englobant qui prédit les décalages par rapport
au RoI d'origine pour chacune des K classes
Faster-RCNN
Une solution intuitive d'accélération consiste à intégrer l'algorithme de proposition
de région dans le modèle CNN Faster R-CNN (Ren et al 2016) fait exactement cela: construisez un modèle unique et unifié composé de RPN (réseau de propositions de région) et de R-CNN rapide avec des couches d'entités convolutives partagées
Trang 33Flux de travail du modèle
1 Pré-former un réseau CNN aux tâches de classification des images
2 Réglez finement le RPN (réseau de propositions de région) pour la tâche de proposition de région, qui est initialisée par le classifieur d'images de pré-train Les échantillons positifs ont une IoU (intersection sur union)> 0,7, tandis que les échantillons négatifs ont une IoU <0,3
• Faites glisser une petite fenêtre spatiale n x n sur la carte des caractéristiques
de l'image complète
• Au centre de chaque fenêtre glissante, nous prédisons simultanément plusieurs régions d'échelles et de ratios différents Une ancre est une combinaison de (centre de la fenêtre coulissante, échelle, rapport) Par exemple, 3 échelles + 3 rapports => k = 9 ancres à chaque position de glissement
1 Former un modèle de détection d'objet rapide R-CNN en utilisant les propositions générées par le RPN actuel
2 Ensuite, utilisez le réseau Fast R-CNN pour initialiser la formation RPN Tout
en conservant les couches convolutives partagées, réglez uniquement les couches spécifiques à RPN A ce stade, RPN et le réseau de détection partagent des couches convolutives!
3 Enfin, ajustez les couches uniques de Fast R-CNN
4 Les étapes 4-5 peuvent être répétées pour former RPN et Fast R-CNN alternativement si nécessaire
YOLO
Contrairement aux approches basées sur la détection à partir d’une fenêtre glissante (sliding Window) ou utilisant en amont un algorithme de proposition de régions (selective search) dans l’image susceptibles de contenir des objets, YOLO est un Framework qui traite l’image d’un seul coup en divisant l’image d’entrée en grille YOLO utilise donc un seul réseau de neurones convolutif à la fois pour la
"classification" et la localisation de l’objet en utilisant une boite délimitante De plus, YOLO est une approche qui traite la détection comme un problème de régression et non comme un problème de classification à des boîtes englobantes spatialement séparées et probabilités de classe associées Un unique réseau de neurones prédit donc les boîtes englobantes et les probabilités de ces classes directement à partir des images entières en une seule évaluation, ce qui permet une optimisation de la performance
Trang 34Fig 22 Architecture Framework Yolo
Avec ResNet + FPN (Feature Pyramid Networks) comme colonne vertébrale pour
l’extraction d’entités, plus deux sous-réseaux spécifiques à la tâche pour la classification et la régression du cadre de sélection, formant le Retinanet, qui offre des performances de pointe, surpasse Faster R-CNN, le bien connu détecteurs de scène
Fig 23 Architecture Retinanet
Trang 35Méthodes Avantages Désavantages
HOG + SVM - Rapidité
- Simplicité
- Temps d’apprentissage acceptable
- Grande performance et précision comparativement aux méthodes sans
apprentissage profond
- Données d’apprentissage importantes
- Lenteur par rapport à d’autres approches dérivées
- Utilisation d’un réseau de neurones pour chaque région proposée
- Puissance matérielle conséquente
Fast-RCNN
- Plus rapide que RCNN
- Utilisation d’un réseau de neurones unique
- Détection de régions d’intérêt avec Sélective Search appliquée sur les cartes de caractéristiques produites
- Temps d’apprentissage
- Données d’apprentissage importantes
- Puissance matérielle conséquente
- Temps d’apprentissage
- Données d’apprentissage importantes
- Puissance matérielle conséquent
YOLO
- Architecture simple
- Traite le problème de détection comme un problème de régression
- Rapidité d’exécution en temps réel comparative mentaux solutions précédemment couvertes
- Plus d’erreurs de localisation que d’autres méthodes comme R-CNN
- Difficultés à détecter des objets de petite taille
- Puissance matérielle conséquent
Retinanet
- Augmente le temps de détection que les Faster R-CNN notamment pour les bases de dataset complexe
- Detection amélioré par la perte focale en utilisant resnet
Trang 362.8 Méthodes de recherche et de localisation d’objets
Nous venons de voir plusieurs méthodes permettant d’extraire des caractéristiques
de nos images, de manipuler ensuite ces caractéristiques et les traiter avec des algorithmes d’apprentissage automatique Enfin nous avons vu des approches et systèmes de détection utilisant ces caractéristiques et ces algorithmes d’apprentissage Pour procéder de manière effective à la détection d’objets dans l’image, ces algorithmes utilisent généralement deux approches de recherche (mentionnées à plusieurs reprises tout au cours de ce mémoire) et de localisation d’objets dans l’image originale :
— Sliding Window (Fenêtre Glissante) : La technique du Sliding Window joue un
rôle important puisqu’elle permet de localiser exactement dans l’image la position de l’objet recherché En vision par ordinateur donc, comme son nom l’indique, une fenêtre glissante est une région rectangulaire avec une hauteur et largeur fixes, parcourant l’image A chaque position de la fenêtre sur l’image, on applique un classifieur sur la région courante afin de déterminer si la fenêtre contient un objet particulier qui nous intéresse
— Region Proposal () Au cours des sections précédentes nous avons beaucoup
évoqué un algorithme de proposition de régions dénommé Selective Search 15 L’algorithme de Recherche Sélective est un algorithme de proposition de régions développée par J.R.R Uijlings et al (2012) et est utilisé notamment par les architectures et systèmes de détection vu précédemment comme R-CNN et Fast-RCNN C’est une alternative à la recherche exhaustive dans une image pour capturer l’emplacement de l’objet Il initialise les petites régions d’une image et les fusionne avec un regroupement hiérarchique Ainsi, le groupe final est une boîte contenant l’image entière Les régions détectées sont fusionnées selon une variété d’espaces de couleur et de mesures de similarité La sortie est un nombre de régions proposées pouvant contenir un objet en fusionnant de petites régions FIGURE 1.19 – Résultat
de l’algorithme Selective Search