1. Trang chủ
  2. » Luận Văn - Báo Cáo

Améliorations d’un algorithme de détection de mobilier urbain utilisant des approches de deep learning pour la navigation autonome de véhicules

73 13 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 73
Dung lượng 3,53 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

UNIVERSITE 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 2

UNIVERSITE 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 3

Attestation 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 4

au 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 5

Liste 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 6

Abstract

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 7

Table 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 8

4.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 9

Table 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 10

Fig 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 11

Table 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 12

Chapitre 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 13

Notre 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 14

ISAE-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 15

2.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 16

Voyons 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 18

Fig 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 19

Fig.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 21

Fig 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 22

Fig 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 23

Fig 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 26

Cette 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 27

Opé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 28

Fig.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 29

algorithmes 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 30

2 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 31

Fig 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 32

Flux 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 33

Flux 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 34

Fig 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 35

Mé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 36

2.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

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm