Вы находитесь на странице: 1из 87

Table des matières

Table des matières i

Liste des figures iii

Liste des tableaux v

1 Etat de l’art sur l’apprentissage automatique 5


1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Différents type d’algorithme de classification . . . . . . . . . . . . . . . . . . 13
1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2 Apprentissage profond 27
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2 Généralité sur l’apprentissage profond . . . . . . . . . . . . . . . . . . . . . . 28
2.3 Réseaux de neurones convolutifs (CNN) . . . . . . . . . . . . . . . . . . . . . 31
2.4 Exemple réel de model de CNN célèbres . . . . . . . . . . . . . . . . . . . . . 39
2.5 Outils préférables d’apprentissage profond . . . . . . . . . . . . . . . . . . . 42
2.6 Bibliothèques d’outil adopté . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3 Reconnaissance des signes de circulation par apprentissage profond 47


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2 Panneaux de signalisation routière . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.3 Implémentation d’algorithme d’apprentissage et de classification . . . . . . 53
3.4 Simulation et résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.5 Modèle proposé : LeNet-5 amélioré . . . . . . . . . . . . . . . . . . . . . . . . 67
3.6 Modèl VGG-Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.7 Etude comparative avec SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Conclusion générale 75

Bibliographie 77

i
TABLE DES MATIÈRES

ii
Liste des figures

1.1 Processus typique du ML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2 Fonction de prédiction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3 Différentes méthodes d’apprentissage et de classification . . . . . . . . . . . 9

1.4 Apprentissage supervisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.5 Différences entre clustring, classification et régression . . . . . . . . . . . . . 11

1.6 Plongeurs du succès de Machine Learning dans l’industrie . . . . . . . . . . 12

1.7 Classification par KNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.8 Exemple d’un hyperplan séparateur . . . . . . . . . . . . . . . . . . . . . . . . 15

1.9 Séparateurs linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.10 Optimisation de la marge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.11 Variable de relâchement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.12 Exemple de plongement non-linéaire . . . . . . . . . . . . . . . . . . . . . . . 18

1.13 Principe du passage à l’espace de re-description . . . . . . . . . . . . . . . . . 19

1.14 Neurone avec son arborisation dendritique . . . . . . . . . . . . . . . . . . . 20

1.15 Mise en correspondance neurone biologique/neurone artificiel . . . . . . . 21

1.16 Fonctions d’activation couramment utilisées dans les réseaux de neurones . 22

1.17 Perceptron multicouche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.18 Descente du gradient : Minimum global et local . . . . . . . . . . . . . . . . . 25

2.1 Relation entre Intelligence artificielle, Machine Learning et Deep Learning . 28

2.2 Différence de performance entre le Deep Learning et la plupart des algo-


rithmes de Machine Learning en fonction de la quantité de données . . . . 29

2.3 Procède du ML classique comparé à celui du Deep Learning . . . . . . . . . 30

2.4 Trois dimensions d’un CNN (largeur, hauteur, profondeur) . . . . . . . . . . 33

2.5 Activations d’un exemple d’architecture CNN. . . . . . . . . . . . . . . . . . . 34

2.6 Max-Pooling avec un filtre 2x2 et un pas de 2 . . . . . . . . . . . . . . . . . . . 35

2.7 Average-Pooling avec un filtre 2x2 et un pas de 2. . . . . . . . . . . . . . . . . 35

2.8 Architecture de LeNet-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.9 Architecture d’AlexNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.10 Architecture de ZFNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

iii
LISTE DES FIGURES

2.11 Architecture de GoogleNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41


2.12 Architecture de VGGNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.13 Architecture de ResNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.1 Catégoriques des panneaux de la signalisation routière . . . . . . . . . . . . 50


3.2 Différents obstacles des panneaux de signalisation . . . . . . . . . . . . . . . 51
3.3 Installation python 3.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4 Installation du bibliothèque pandas . . . . . . . . . . . . . . . . . . . . . . . . 53
3.5 Architecture LeNet-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.6 Couche de convolution initiale C1 . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.7 Couche de Pooling S2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.8 Couche de convolution C3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.9 Couche de Pooling S4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.10 Couche entièrement connectée . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.11 Couche entièrement connectée avec 84 unités . . . . . . . . . . . . . . . . . . 58
3.12 Couche de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.13 Etapes d’apprentissage et de classification basées sur le model LeNet-5 . . . 60
3.14 Caractéristiques de la base de données . . . . . . . . . . . . . . . . . . . . . . 61
3.15 Exemples des classes d’images d’ensemble de données . . . . . . . . . . . . 61
3.16 Histogramme de classes relatives dans l’ensemble de données . . . . . . . . 62
3.17 Exemples d’images de l’ensemble d’apprentissage en niveaux de gris, avec
étiquettes ci-dessus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.18 Exemple d’images testés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.19 Ensemble d’images de mauvais conditions . . . . . . . . . . . . . . . . . . . . 67
3.20 Ensemble d’images de mauvais conditions testés . . . . . . . . . . . . . . . . 67
3.21 Architecture du modèle proposé . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.22 Architecture VGG-Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.23 Architecture VGG-Net modifiée . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.24 Etapes d’apprentissage et de classification basées sur le model VGG-Net . . 72

iv
Liste des tableaux

2.1 Comparaison entre les types de bibliothèques . . . . . . . . . . . . . . . . . . 45

3.1 Récapitulatif de l’architecture LeNet-5 . . . . . . . . . . . . . . . . . . . . . . 59


3.2 Variation des hyper paramètres du model LeNet-5 . . . . . . . . . . . . . . . 64
3.3 Variation de dropout du model LeNet-5 . . . . . . . . . . . . . . . . . . . . . . 65
3.4 Variation des hyper paramètres du model LeNet-5 avec des images en ni-
veau de gris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.5 Récapitulatif de l’architecture LeNet-5 amélioré . . . . . . . . . . . . . . . . . 68
3.6 Comparaison du modèle proposé avec le modèle LeNet-5 classique . . . . . 69
3.7 Récapitulatif de l’architecture VGG-Net modifiée . . . . . . . . . . . . . . . . 71
3.8 Comparaison du performance de deep learning avec SVM . . . . . . . . . . 73

v
LISTE DES TABLEAUX

vi
Introduction générale

Contexte

Cette mémoire s’inscrit dans le cadre d’un projet de recherche autour du thème de la
sécurité routière et de la conduite intelligente. Les perspectives de ce projet sont, entre
autres, de développer un Framework proposant une large panoplie de fonctions liées au
traitement et à l’analyse des images numériques utilisées pour l’interprétation des objets
d’une scène routière et pour la détection des panneaux de signalisation.

La conduite intelligente a fait l’objet de thèmes de recherche très soutenus depuis


quelques années. Cela est dû à la croissance considérable des performances de calcul
des processeurs des systèmes embarqués dans l’automobile. La détection des obstacles
et la conduite automobile assistée au moyen de systèmes embarqués (radar, caméra, so-
nar,. . . ) sont devenues d’un grand intérêt pour les constructeurs automobiles. Ces sys-
tèmes doivent être capables d’aider et de voir de palier les défauts du conducteur dans le
cas d’un manque de concentration ou dans des conditions de conduite difficile (brouillard,
pluie, nuit, etc.).

Dans le cas de la détection des panneaux routiers de signalisation, le système embar-


qué doit être en mesure d’analyser des scènes routières et de les interpréter [Aly 2004]. La
richesse du contenu de ces scènes routières est très variable selon qu’il s’agisse de scènes
dans le milieu urbain ou dans le milieu rural. En effet, une scène du milieu urbain est
beaucoup plus riche en information à cause de la diversité des nombreux objets de la
scène, d’où la difficile tâche de détection des panneaux routiers de signalisation dans un
tel décor. La difficulté de détection des panneaux routiers réside aussi dans les problèmes
liés aux conditions d’acquisition des scènes et aux effets de dégradation subis par les pan-
neaux de signalisation. La reconnaissance des panneaux routiers doit donc tenir compte
de plusieurs difficultés et les contourner.

Les systèmes d’aide à la conduite assistée utilisent des méthodes qui analysent les
scènes restituées à l’aide d’un capteur, et décident automatiquement de leur contenu.
La plupart de ces méthodes privilégient d’analyser la scène sous forme d’une séquence
d’images prises dans de petites intervalles [Escalera 2004]. Ces méthodes réalisent un
traitement sur les images capturées afin d’identifier les panneaux routiers en passant,

1
CHAPITRE 0. INTRODUCTION GÉNÉRALE

dans un premier temps, par une étape de détection et, dans un deuxième temps, par une
étape de reconnaissance. Les algorithmes de détection de panneaux dans une image fixe
peuvent être classifiés selon les trois catégories suivantes :

• La modélisation colorimétrique dont la segmentation en composantes connexes


fondée sur un modèle de couleur est opérée. Les régions d’intérêt sont ensuite va-
lidées par un algorithme de reconnaissance ou un modèle d’apparence. Ces mé-
thodes sont les plus rapides mais aussi les moins robustes aux variations des condi-
tions d’éclairage.

• La modélisation géométrique où les contours de l’image sont analysés par une ap-
proche structurelle ou globale. En générale ces méthodes sont plus robustes que
celles photométriques car elles traitent le gradient de l’image, et peuvent traiter des
images en niveaux de gris ;

• Les méthodes avec apprentissage : un classifieur (réseaux de neurones, SVM) est


entraîné sur une base d’exemples. Il est appliqué sur une fenêtre glissante qui par-
court l’image à plusieurs échelles. Ces méthodes combinent géométrie et photomé-
trie par contre peuvent être une étape coûteuse en temps de calcul. Elles nécessitent
la constitution d’une base d’apprentissage par type de panneaux, étape fastidieuse
lorsque le nombre d’objets à reconnaitre est grand.

Organisation du mémoire

Le présent rapport est organisé en trois chapitres :


Le premier chapitre sera consacré pour donner une vue générale. Nous présentons les no-
tions relatives du Machine Learning , les types d’algorithmes d’apprend et les méthodes
existantes appliquées dans l’apprentissage automatique.
Le deuxième chapitre est réservé pour expliquer et détailler l’apprentissage profond
(Deep learning). Nous allons présenter essentiellement les différentes architectures des
réseaux convolutifs (CNN) existantes.
Le troisième chapitre présente notre contribution. Il s’agit de concevoir un système
complet pour la détection et la reconnaissance des panneaux routiers par apprentissage

2
CHAPITRE 0. INTRODUCTION GÉNÉRALE

en profondeur. Nous commençons avec un état de l’art spécifique à la reconnaissance


de panneaux routiers. Ensuite, nous allons présenter les différentes approches à utiliser
pour achever chaque phase de notre application. Une comparaison des résultats obtenus
en adoptant notre approche basée sur l’apprentissage en profondeur avec les résultats
obtenus en utilisant un autre algorithme de classification classique comme SVM (Sup-
port Vectore Machine) est présentée pour mettre en évidence les performances de notre
approche.
Nous allons finir ce mémoire par une conclusion générale et quelques perspectives
visant à améliorer les résultats obtenus.

3
CHAPITRE 0. INTRODUCTION GÉNÉRALE

4
C HAPITRE 1

Etat de l’art sur l’apprentissage


automatique

Sommaire
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2 Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2.1 Principe et domaines d’application . . . . . . . . . . . . . . . . . . . 6

1.2.2 Méthodes d’apprentissage automatique . . . . . . . . . . . . . . . . 8

1.3 Différents type d’algorithme de classification . . . . . . . . . . . . . . . . 13

1.3.1 K plus proches voisin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.3.2 Fuzzy c-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.3.3 Machine à vecteurs supports . . . . . . . . . . . . . . . . . . . . . . . 14

1.3.4 Les réseaux de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

1.1 Introduction

Le Deep Learning (apprentissage profond) est une forme d’intelligence artificielle dé-
rivée du Machine Learning (apprentissage automatique). Cette branche est largement uti-
lisée ces dernières années dans plusieurs domaines de classification et de reconnaissance.
Dans ce chapitre nous allons tout d’abord détaille les notions relatives du Machine Lear-
ning , les types d’algorithmes d’apprend et les méthodes existantes appliquées dans l’ap-
prentissage automatique.

1.2 Machine Learning

1.2.1 Principe et domaines d’application

Les machines d’apprentissages, en englais (Machine Learning) est un type d’intelli-


gence artificielle (IA) qui permet aux ordinateurs d’apprendre à partir de données sans
être explicitement programmés. En d’autres termes, le but du ML est de concevoir des
méthodes qui réalisent automatiquement un apprentissage en utilisant des observations
du monde réel (appelées "training data"), sans définition explicite de règles ou de logique
par les humains (“trainer”/“supervisor”).
En ce sens, ML peut être considérée comme une programmation par échantillons de don-
nées, d’où l’apprentissage par machine consiste à apprendre à faire mieux à l’avenir, en se
basant sur l’expérience vécue dans le passé.En effet, il offre aux ordinateurs la possibilité
d’apprendre sur la base d’un ensemble d’observations que l’on appelle ensemble d’ap-
prentissage.
L’idée est que l’algorithme construise une "représentation interne" tout seul afin de pou-
voir effectuer la tâche qui lui est demandée (prédiction, identification, etc). Pour cela, il
va d’abord falloir lui entrer un jeu de données d’exemples afin qu’il puisse s’entraîner et
s’améliorer, d’où le mot apprentissage. Ce jeu de données s’appelle le training set. On peut
appeler une entrée dans le jeu de données une instance ou une observation.
Chaque observation, comme par exemple « j’ai conduit une voiture sans reconnaissance
les panneaux de signalisation routières à tel moment de la journée pendant telle période
ce qui a causé un accident » est décrite au moyen de deux types de variables :

• Les variables initiales sont appelées les variables prédictives ou attributs ou ca-
ractéristiques, dans notre exemple mon âge, mon permis de conduite,... Ce sont

6
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

les variables à partir desquelles on espère pouvoir faire des prédictions. Les n va-
riables prédictives associées à une observation seront notées comme un vecteur
X = (x 1 ..., x n ) à n composantes. Un ensemble de M observations sera constitué de
M vecteurs X (1) ...X (M) .

• Une variable cible dont on souhaite prédire la valeur pour des événements non en-
core observés. Dans notre exemple, il s’agirait de l’accident mortel. on notera y cette
variable cible.

F IGURE 1.1 – Processus typique du ML

En résumé, le travail du développeur en Machine Learning consiste à sélectionner les


bonnes données test, choisir et entraîner le bon algorithme en vérifiant grâce à l’ana-
lyse d’erreurs que le modèle devient de plus en plus performant et robuste. Si les perfor-
mances s’améliorent lorsqu’on lui fournit les données d’entraînement, on dit alors que la
machine "apprend".
Une fois le modèle correctement paramétré sur les données d’entraînement, on peut
ensuite le déployer dans l’intention qu’il traite de nouvelles données, pour accomplir
la tâche spécifique pour suivie (décision, prédiction, recommandation,...). Un problème
d’apprentissage comporte ainsi différents éléments spécifiques, comme on peut le voir
sur la figure 1.1 :

• Les données.

• La tâche spécifique.

• L’algorithme d’apprentissage.

7
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

• L’analyse d’erreur (ou mesure des performances du modèle).

Le but d’un modèle de ML est d’obtenir la meilleure approximation possible de F à partir


des observations disponibles. Cette approximation sera notée f , on l’appelle la fonction
de prédiction ( figure 1.2).
Bien F que ε ne seront jamais connues, le modèle de Machine Learning essaye d’obtenir
la meilleure approximation possible de F

F IGURE 1.2 – Fonction de prédiction

Les domaines d’application du Machine Learning sont très vastes dans divers exemples.
On cite :

• Détection de fraude [Chan, 1998] [Chan, 1999].

• Classification (image, texte, vidéo, son, ...).[llavata, 2004] [Li, 2000]

• Diagnostic médical [Kononenko, 2001] [Kukar, 2001] .

• Computer Vision [Bradski, 2005] [Viola, 2001] .

1.2.2 Méthodes d’apprentissage automatique

Un ensemble divers d’algorithmes d’apprentissage automatique a été proposé pour


couvrir la grande variété de donnés et de types de problèmes. Ces méthodes d’apprentis-
sage peuvent être principalement classés en trois approches principales : supervisé, semi-
supervisé, non supervisé, apprentissage par renforcement et apprentissage par transfert
(figure 1.3).

8
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

F IGURE 1.3 – Différentes méthodes d’apprentissage et de classification

Méthodes supervisées

La majorité des méthodes d’apprentissage automatique pratiques sont actuellement


des méthodes d’apprentissage supervisé, en raison de leurs performances supérieures à
celles des autres homologues.
L’apprentissage supervisé se dispose d’un ensemble de données étiquetées, ou d’exemples
qui se sont vus associés une classe par un professeur ou un expert. Cet ensemble d’exemples
constitue la base d’apprentissage.
Dans le cas des méthodes d’apprentissage supervisé, ces derniers se donnent alors comme
objectif général de construire à partir de la base d’apprentissage, ou fonctions de classe-
ment. À partir de la description d’un objet, Une telle fonction permet de reconnaître un
attribut particulier, la classe comme illustre la figure 1.4 [BORGI, 2011] .
Les méthodes d’apprentissage supervisé se rapprochent d’une fonction de mappage f (x)
qui permet de prédire les variables de sortie y pour un échantillon d’entrée x donné. Il
existe différentes formes de fonction de cartographie f (.), Notamment des arbres de déci-

9
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

sion, des forêts de décision aléatoires (RDF), une régression logistique (LR), des machines
à vecteurs de support (SVM), des réseaux de neurones (NN), des machines à noyau et des
classeurs Bayésiens. Un large éventail d’algorithmes d’apprentissage a également été pro-
posé pour estimer ces différents types de cartographie.

F IGURE 1.4 – Apprentissage supervisé

L’apprentissage supervisé possède divers problèmes, Ces problèmes peuvent être prin-
cipalement divisés en deux approches principales : classification et régression.

• La classification : est un modèle de Machine Learning dans lequel les sorties y ap-
partiennent à un ensemble fini de valeurs [Malfante, 2017].

• Régression : Les modèles de régression sont classés parmi les modèles de Machine
Learning, ils décrivent la relation entre une variable de réponse (sortie) et une ou
plusieurs variables de prédiction (entrée) dont les sorties y sont des nombres.[Chierchia,
2017].

Méthodes non-supervisées

Dans le domaine de l’intelligence artificielle, l’apprentissage non supervisé est un


problème d’apprentissage automatique.Il s’agit de trouver des structures sous-jacentes
à partir de données non étiquetées. L’objectif de l’apprentissage non supervisé est de mo-
déliser la structure / distribution sous-jacente des données afin de découvrir une struc-
ture intéressante dans les données. La méthode d’apprentissage non supervisée la plus
courante est l’approche de regroupement, telle que le regroupement hiérarchique, le re-
groupement de k-moyennes, les modèles de mélange gaussien (GMM) et les cartes auto-
organisées (SOM) [Cleuziou, 2006].
L’apprentissage non-supervisé possède deux approches : clustering et Réduction de di-
mension.

• Le Clustering : est une approche d’apprentissage non supervisée dans laquelle les
réseaux de neurones peuvent être utilisés pour une analyse exploratoire des don-

10
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

nées afin de trouver des modèles ou des regroupements cachés dans les données.
Ce processus implique le regroupement des données par similarité. Les applica-
tions pour l’analyse par grappe incluent l’analyse de la séquence des gènes, les
études de marché et la reconnaissance d’objets [Alelyani, 2013].

• La réduction de dimension : est une série de techniques d’apprentissage automa-


tique et de statistiques visant à réduire le nombre de variables aléatoires à considé-
rer. Il comprend la sélection des caractéristiques et l’extraction des caractéristiques.
La réduction de la dimensionnalité rend l’analyse des données beaucoup plus fa-
cile et plus rapide pour les algorithmes d’apprentissage automatique sans variables
étrangères à traiter, rendant les algorithmes d’apprentissage automatique plus ra-
pides et plus simples à leur tour [Zhao, 2016].

F IGURE 1.5 – Différences entre clustring, classification et régression

Méthodes semi-supervisées

Les méthodes d’apprentissage semi-supervisées se situent entre l’apprentissage su-


pervisé et l’apprentissage non supervisé. Ces méthodes d’apprentissage sont utilisées lors-
qu’une grande quantité de données d’entrée est disponible et que seules certaines don-
nées sont étiquetées. Un bon exemple est une archive de photos où seules certaines images
sont étiquetées (par exemple, chien, chat, personne) et la majorité sont non étiquetées.[Basu,
2006]

Méthodes par renforcement

En intelligence artificielle,L’apprentissage par renforcement correspond au cas où l’al-


gorithme apprend un comportement étant donnée une observation. L’action de l’algo-

11
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

rithme sur l’environnement produit une valeur de retour qui guide l’algorithme d’appren-
tissage [François, 2017].

Méthodes par transfert

L’apprentissage par transfert est une méthode d’apprentissage automatique où un


modèle développé pour une tâche est réutilisé comme point de départ pour un modèle
pour une deuxième tâche. Il diffère de l’apprentissage automatique traditionnel en ce
sens qu’il s’agit de l’utilisation de modèles préentraînés qui ont été utilisés pour une autre
tâche afin de lancer le processus de développement sur une nouvelle tâche ou un nou-
veau problème.
Généralement, Les algorithmes d’apprentissage automatique sont conçus pour traiter
des tâches isolées. Via à l’apprentissage par transfert, des méthodes sont élaborées pour
transférer les connaissances d’une ou de nombreuses de ces tâches sources afin d’amé-
liorer l’apprentissage dans une tâche cible connexe. L’objectif de ce transfert de stratégies
d’apprentissage est d’aider à faire évoluer l’apprentissage automatique dans le but de le
rendre également efficace que l’apprentissage humain [Meunier, 2017].

F IGURE 1.6 – Plongeurs du succès de Machine Learning dans l’industrie

Les avantages de l’apprentissage par transfert sont qu’il peut accélérer le temps qu’il
faut pour former et développer un modèle en réutilisant ces modules ou morceaux de mo-
dèles déjà développés. Ceci permet d’accélérer le processus d’apprentissage du modèle et
d’accélérer les résultats.

12
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

1.3 Différents type d’algorithme de classification

L’algorithme d’apprentissage constitue la méthode avec laquelle le modèle statistique


va se paramétrer à partir des données d’exemple (data set). Il existe de nombreux algo-
rithmes différents. On choisira un type d’algorithme particulier en fonction du type de
tâche que l’on souhaite accomplir et du type de données dont on dispose. Parmi les algo-
rithmes de Machine Learning, on cite :

• K-nn

• Fuzzy c-means

• Les Support Vector Machine (SVM)

• Les réseaux de neurones

1.3.1 K plus proches voisin

L’algorithme K plus proches voisins (K-Nearest Neighbors (KNN)) est un algorithme de


classification supervisé. Dans un cadre de classification d’une nouvelle observation x, le
concept fondateur simple est de faire voter les plus proches voisins de cette observation.
La classe de x est calculée en fonction de la classe majoritaire parmi les k plus proches
voisins de l’observation x. Alors, la méthode du plus proche voisin est une méthode non
paramétrique dont une nouvelle observation est classée dans la classe d’appartenance
de l’observation de l’échantillon d’apprentissage qui lui est la plus proche, au regard des
covariables utilisées. La détermination de leur similarité est basée sur des mesures de dis-
tance [Attouch, 2017].

F IGURE 1.7 – Classification par KNN

Pour k = 3 la classe majoritaire du point central est la classe B, mais si on change la


valeur du voisinage k = 6 la classe majoritaire devient la classe A(figure 1.7).

13
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

1.3.2 Fuzzy c-means

L’algorithme Fuzzy C-Means (FCM) est un algorithme de de regroupement (dévelop-


pée par Dunn en 1973 et améliorée par Bezdek en 1981). Issu de l’algorithme des C-
moyennes (C-means), il introduit la notion d’ensemble flou dans la définition des classes :
chaque point dans l’ensemble des données appartient à chaque cluster avec un certain
degré, et tous les clusters sont caractérisés par leur centre de gravité. De même les autres
algorithmes de classification non supervisée, il utilise un critère de maximisation des dis-
tances interclasse et de minimisation des distances intra-classe, par contre en donnant un
certain degré d’appartenance à chaque classe pour chaque pixel. Cet algorithme génère
les classes par un processus itératif en minimisant une fonction objective et nécessite la
connaissance préalable du nombre de clusters.
Cependant, il permet d’obtenir une partition floue de l’image en donnant à chaque pixel
un degré d’appartenance (compris entre 0 et 1) à une classe donnée. Le cluster auquel est
associé un pixel est celui où le degré d’appartenance sera le plus grand.

1.3.3 Machine à vecteurs supports

La machine à vecteurs de support (SVM) est une méthode de classification par ap-
prentissage supervisé introduite par Vladimir Vapnik en 1995 [Vapnik 1995]. Cette mé-
thode, à partir d’un ensemble d’entée x, produit une sortie y telle y = f (x), où le but est
de retrouver f à partir de l’observation d’un certain nombre de couples entrée/sortie [Be-
nyahia 2011] .
Dans le domaine de la classification, l’utilisation de la plupart des algorithmes dévelop-
pés jusqu’ à présent nécessite que les données soient complétement disponibles dans un
ensemble de cardinalité finie. Certains de ces algorithmes ont pour objectif de construire
des classes en connaissant a priori les étiquettes d’appartenance des données aux classes :
On parle de classification supervisée [Boubacar 2006] .

Principe

Son principe consiste à établir une classe d’algorithmes basée sur le principe de mini-
misation du ‘’ Risque structurel ‘’ qui est décrit par la théorie de l’apprentissage statistique
qui utilise la séparation linéaire. Pour un ensemble de points linéairement séparables, il
existe une infinité d’hyperplans séparateurs comme nous montre la figure 1.8 :

14
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

F IGURE 1.8 – Exemple d’un hyperplan séparateur

Nous cherchons ici à obtenir l’hyperplan ayant la marge maximale (distance entre les
échantillons de classes différents) afin de maximiser la distance entre les deux classes
et de réduire l’erreur sue les données non vues. Il s’agit de séparer des individus par un
hyperplan de dimension égale au nombre de caractéristique. Les individus étant alors sé-
parés en deux classes mais cela n’est possible que dans le cas où les données à classer
seraient linéairement séparables.
Dans d’autre situations, les données seront projetées sur un espace de plus grandes di-
mensions afin qu’elles deviennent linéairement séparables [Vanik, 1995] .

Les Séparateurs à Vaste Marges pour la classification

Les Séparateurs à Vaste Marge est un algorithme de séparation de régions avec des
hyperplans optimaux dans un espace de données multidimensionnelles [Zidi, 2007] . Les
SVM se basent sur le principe de minimisation de risque formalisé par Vapnik dans le
cadre général de la théorie de l’apprentissage statistique. Les SVM ont d’excellentes ca-
pacités de généralisation prouvées dans [Vapnik 1998] . Initialement utilisées pour l’ap-
prentissage supervisé, les SVM et les méthodes à noyau sont aujourd’hui utilisés dans une
grande variété de problèmes allant jusqu’à la classification en ligne.
Dans cette partie, nous abordons les séparateurs à vaste marge. Nous nous intéressons
sur le fondement mathématique de cette théorie, nous allons commencer par le cas de
séparation linéaire ensuite le cas non linéairement séparable et nous finissons par l’étude
du cas non linéaire.

15
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

• Cas linéairement séparable :


Pour bien décrire la technique de construction de l’hyperplan optimal séparant des
données appartenant à deux classes déférentes, supposons que nous avons les don-
nées empiriques :

(x 1 , y 2 ) . . . (x i , y i ) ∈ R (1.1)

L’objectif des SVMs dans le cas linéaire est de calculer un hyperplan qui sépare au
mieux les échantillons de deux classes. Dans ce cas, la fonction f est linéaire en x i et
elle prend la forme générale suivante :

f (x i ) =< w x i > +b (1.2)

Il existe une infinité d’hyperplan capable de séparer parfaitement ces deux classes
(figure 1.9) :

F IGURE 1.9 – Séparateurs linéaires

Pour toutes les formes xi de classe yi de la base d’apprentissage, on a :



 < w x i > +b ≥ 1 pour y i = 1
(1.3)
 < w x > +b ≤ 1 poure y = −1
i i

Ce qui est équivalent à :

y i (< w x i > +b) ≥ 1poure i = 1 . . . m (1.4)

Lorsqu’il existe un séparateur linéaire entre les points d’apprentissage, il en existe


une infinité. En outre nous allons chercher parmi les hyperplans valides, celui qui

16
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

passe ”au milieu” des points des deux classes d’exemples. Intuitivement, cela re-
vient à chercher l’hyperplan le ”plus sur”. La figure 1.10 donne une représentation
visuelle de l’hyperplan optimal dans le cas des données linéairement séparables.

F IGURE 1.10 – Optimisation de la marge

La méthode utilisée dans les SVM est de trouver l’unique hyperplan qui maximise
la marge entre les deux classes, c’est à dire qui maximise :

2
M= (1.5)
kwk

En fait, la distance entre un point xi et l’hyperplan est :

| < w, x > +b|


D(x, H) = (1.6)
kwk2

Donc maximiserMéquivaut à minimiser kwk2 .


Notre hyperplan optimal est alors paramètre par le couple w, btels que :

 mi n w,b 1 kwk2
2
(1.7)
 y (< w x > +b) ≥ 1
i i

Nous nous retrouvons ainsi face à un problème d’optimisation quadratique convexe


sous contraintes linéaires, les m´méthodes classiques de programmation mathé-
matique peuvent être utilisées. On va chercher par la suite à calculer le poids w et
l’offset b.

17
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

• Cas linéairement non séparable : Idée de relaxation :

F IGURE 1.11 – Variable de relâchement

Comme nous l’avons déjà mentionné, l’hypothèse que S soit linéairement sépa-
rable conditionne beaucoup la résolution du problème. En effet, il suffit qu’une ob-
servation des deux classes viole la contrainte y i (w x i +b) pour que ce problème n’ait
plus de solution. La figure 1.11 montre une telle situation.
Pour tenter de résoudre ce problème, l’idée consiste à relâcher les contraintes dans
le but d’autoriser quelques erreurs de classification. Cette généralisation de l’hyper-
plan à marge maximale a été proposée par Cortes and Vapnik 1995 en introduisant
les variables d’écart à la marge ξ1<i <L .

• SVM non-linéaires :
Dans le cas linéairement non séparable, le classifieur à marge maximale ne peut pas
être utilisé et aucun hyperplan séparateur optimal ne peut être trouvé.

F IGURE 1.12 – Exemple de plongement non-linéaire

L’astuce consiste à trouver un espace de plus grande dimension dans lequel on


projette les exemples et ou‘ ils sont séparables linéairement comme montre la fi-
gure 1.12.
On remarque que les SVM peuvent être étendues pour traiter le cas non linéaire.

18
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

La ruse qui fait vraiment la force des SVM repose sur les noyaux autoreproduisants.
L’idée de [Boser, 1992] fut alors de plonger les observations dans un espace de Hil-
bert T de dimension q plus élevée quep, voire infinie, à l’aide d’une fonction non
linéaire choisie à priori. L’espace T ainsi obtenu est appelé espace des caractéris-
tiques, ou aussi espace transforme1. La figure 1.13 illustre le principe de ce passage.

F IGURE 1.13 – Principe du passage à l’espace de re-description

SVM Multi classe (MSVM)

Dans la littérature, plusieurs techniques ont été développées pour étendre la m´méthode
SVM à des situations de classes multiples. Chacune de ces techniques a pour but d’effec-
tuer une généralisation des aptitudes du SVM binaire à un domaine multi classes. Les
SVM multiclasses les plus connus sont :

• Un contre un (One vs one classifier)

• Un contre tous (One vs all classifier)

• Arbre binaire (Binary Tree)

1.3.4 Les réseaux de neurones

Les réseaux neuronaux s’inspirent du travail du cortex cérébral chez les mammifères.
Il est toutefois important de noter que ces modèles ne ressemblent pas beaucoup au fonc-
tionnement, à l’échelle et à la complexité du cerveau humain. Ils proposent une simula-
tion du fonctionnement de la cellule nerveuse à l’aide d’un automate : le neurone formel.
Ils sont constitués d’un ensemble de neurones (nœuds) connectés entre eux par des liens
qui permettent de propager les signaux de neurone à neurone.
Les réseaux neuronaux permettent de découvrir des relations complexes non-linéaires
entre un grand nombre de variables à l’aide de leur capacité d’apprentissage, sans inter-
vention externe. Pour cette raison, ils sont largement utilisés dans des divers problèmes de

19
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

classification (traitement de signal, ciblage marketing, reconnaissance de formes,. . . ) de


prévision (bourse, ventes,. . . ) et estimation (modélisation de phénomènes complexes,. . . ).
Il existe nombreux types de réseaux neurones, chaque type étant développe pour un ob-
jectif particulier.
Avant d’entrer dans les détails des CNN (chapitre 2), nous proposons dans cette section
une introduction aux réseaux neuronaux artificiels, à leur mécanisme de calcul et à leur
contexte historique.

Le neurone biologique

Avant de décrire le neurone artificiel, nous allons très brièvement décrire le neurone
biologique et la règle de Hebb.
Le neurone est une cellule fondamentale du système nerveux des êtres vivants. Le cer-
veau humain en contient plusieurs dizaines de milliards. En effet, le neurone est défini
comme une cellule composée d’un corps cellulaire et d’un noyau. Quant au corps cellu-
laire, il se ramifie dans le but de former ce que nous appelons les dendrites. Celles-ci sont
parfois si importantes que nous parlons alors de chevelure dendritique ou d’arborisation
dendritique. En fait, il existe un espace intercellulaire de quelques dizaines d’Angströms
(10- 9m) entre l’axone du neurone afférent et les dendrites du neurone efférent.
Ainsi, la jonction entre deux neurones est appelée la synapse (figure 1.14).

F IGURE 1.14 – Neurone avec son arborisation dendritique

Chaque neurone reçoit alors en entrée des signaux en provenance d’autres neurones,
transmis par les dendrites jusqu’au corps cellulaire où ils s’additionnent. L’importance
de chaque signal reçu est modulée à la fois par la longueur de la dendrite lui permettant
d’atteindre le corps cellulaire et par l’efficacité de la liaison synaptique entre l’axone pré-

20
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

synaptique et la dendrite post-synaptique. S’il dépasse un certain seuil, le signal résultant


au niveau du corps cellulaire peut alors donner lieu à un potentiel d’action, ce qui veut
dire un pic de potentiel électrique qui se propage à travers l’axone jusqu’aux autres neu-
rones dont les dendrites sont connectées à cet axone : on dit que ce neurone décharge.

Le neurone artificiel

Généralement, les réseaux neurones biologiques établissent facilement un certain nombre


d’application telles que la reconnaissance de formes, l’apprentissage par exemple, le trai-
tement du signal/image, la normalisation, la généralisation. Ces dernières applications
sont à la limite des possibilités actuelles, malgré tous les efforts déployés en algorithmique
et en intelligence artificielle. En effet, à travers l’hypothèse que le comportement intelli-
gent émerge de la structure et du comportement des éléments de base du cerveau que les
réseaux de neurones artificiels se sont développés. Les modèles de réseau de neurones ar-
tificiels peuvent être compris comme un ensemble d’unités de traitement de base, étroi-
tement interconnectées et fonctionnant sur les entrées données pour traiter les informa-
tions et générer les sorties souhaitées.
Quant à la figure 1.15, elle met en valeur la structure d’un neurone artificiel. Chaque neu-
rone artificiel est un processeur élémentaire. D’où il peut avoir un nombre variable d’en-
trées en provenance de neurones amont. Pour chacune de ces entrées est associé un poids
w abréviation de (weigt en anglais) représentatif de la force de connexion. Chaque proces-
seur élémentaire est accordé d’une sortie unique, qui se ramifie, ensuite, pour alimenter
un nombre variable de neurones avals. Pour chaque connexion est associé un poids.

F IGURE 1.15 – Mise en correspondance neurone biologique/neurone artificiel

En 1943, Walter Pitts et Warren McCulloch proposent un modèle mathématique très

21
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

simple du neurone biologique [15]. Il s’agit du modèle initial de neurone formel.


Étant donnés un ensemble d’entrées x ∈ Rn , le neurone formel de McCulloch et Pitts as-
socie pour chaque entrée x i un poids w i et calcule la somme pondérée des entrées par
leurs poids respectifs à laquelle s’ajoute un biais b. Le résultat est donc transformé par
une fonction d’activation non linéaire σ :

w i x i ) = σ(w T x + b)
X
y = (σ (1.8)
i

Dans la première version, la fonction d’activation est la fonction de Heaviside :



 1 si x ≥ 0
H(x) = (1.9)
 0 si non

Pourtant, d’autres fonctions ont été largement utilisées, comme la fonction sigmoïde :
1
σ(x) = (1.10)
1 + e−x
En outre, de nombreux modèles de neurones formels ont été développés pour servir de
brique de base à la conception d’algorithmes d’intelligence artificielle. Les plus simples
sont des prolongements du modèle de McCulloch et Pitts [McCulloch, 1943] en rempla-
çant la fonction de Heaviside par une autre fonction non-linéaire, comme une tangente
hyperbolique ou une sigmoïde. Plus récemment, des fonctions comme le “softplus”, la
fonction linéaire rectifiée, ou le maximum ont été l’objet d’un intérêt soutenu [Glorot,
2011] .

F IGURE 1.16 – Fonctions d’activation couramment utilisées dans les réseaux de neurones

La figure 1.16 illustre les fonctions les plus utilisés. La philosophie de ces modèles
permet à identifier la valeur de sortie de ces neurones au taux de décharge d’un neurone
biologique.

22
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

Perceptron multicouches

Le perceptron multicouche (multi layer perceptron MLP) est un classifier linéaire de


type réseau neuronal formel organisé en plusieurs couches au sein desquelles une infor-
mation circule de la couche d’entrée vers la couche de sortie uniquement. Chaque couche
est constituée d’un nombre variable de neurones, les neurones de la couche de sortie cor-
respondant toujours aux sorties du système. Après qu’on va décrire l’architecture de ces
réseaux on va aborder leur principe, et le concept de rétropropagation de l’erreur.

• Architecture :
En 1958, Frank Rosenblatt propose de doter les réseaux de neurones d’une règle
d’apprentissage supervisé inspirée de l’apprentissage Hebbien, avec cela près que
l’activité post-synaptique est remplacée par l’erreur entre l’activité post-synaptique
souhaitée y et celle ŷ obtenue en sortie du réseau :

∆w i ≈ (y − ŷ)x i (1.11)

En empilant de nombreux perceptrons, on obtient un perceptron multi couches


(multi layer perceptron MLP) [Minsky, 1969] . Chaque neurone de chaque couche
se comporte habituellement comme un classifieur linéaire de type réseau neuro-
nal formel organisé en plusieurs couches comme illustré la figure 1.17, par contre
l’utilisation de couches intermédiaires permet de créer des partitions complexes de
l’espace. Celui permet de projeter les données fournies en entrée dans de nouveaux
espaces, dans lesquels la première tâche non linéaire peut devenir linéaire.

F IGURE 1.17 – Perceptron multicouche

23
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

En effet, l’utilisation de couches intermédiaires rend impossible d’entraîner ces ré-


seaux en utilisant la règle d’apprentissage du perceptron. Pour cela il a fallu attendre
la publication des techniques de rétropropagation du gradient [Rumelhart, 1985]
pour que ces réseaux soient plus largement utilisés. Egalement nous le verrons par
la suite, ces techniques en particulier nécessitent que les fonctions d’activation uti-
lisées soit dérivables. Àpartir de ce moment-là, la fonction de Heaviside a donc été
généralement remplacée par la fonction sigmoïde. En effet, les caractéristiques du
modèle sont :

• Il contenu une seule couche d’entrée et une seule couche de sortie.

• Il peut comporter une ou plusieurs couches cachées.

• Chaque neurone est relié uniquement à tous les neurones de la couche sui-
vante.

• Chaque lien de la couchei vers la couche suivante j sert à propager l’activation


a i de i jusqu’à j et qui possède un poids w i j qui détermine l’intensité du signal
de la connexion.

• Rétropropagation du gradient :
La technique de rétropropagation du gradient est considérée comme une méthode
qui consiste à déterminer l’erreur du gradient pour chaque neurone, de la dernière
couche vers la première. D’autres manière, on appelle souvent technique de rétro-
propagation du gradient, l’algorithme classique de correction des erreurs basé sur
le calcul du gradient.
Cette méthode permet de corriger les erreurs d’après l’importance des éléments
qui ont justement participé à la réalisation de ces erreurs. Les poids synaptiques
qui contribuent à engendrer une erreur importante dans des réseaux de neurones
se verront modifiés de façon plus significative que les poids qui ont engendré une
erreur petite[krose, 1993].
Dans le cas des réseaux de neurones, les poids sont aux préalables initialisés avec
des valeurs aléatoires. Ensuite on constate un ensemble de données qui va servir à
l’apprentissage. Chaque échantillon possède ses valeurs cibles qui sont celles que
le réseau de neurones doit à terme prédire si on lui présente le même échantillon.
L’algorithme se présente comme suit :
Soit un échantillon ~
x que l’on met à l’entrée du réseau de neurones et la sortie re-
cherchée pour cet échantillon ~t .

24
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

Dans les couches du réseau de neurones, on propage le signal en avant : x kn−1 → (→


)x nj .
La fonction d’activation g (),w j k indique bien de poids dek vers j se calcule la pro-
pagation vers l’avant.
x nj = g n ( w njk ∗ x kn−1 )[t i − y i ]
X
(1.12)
k
Une fois la propagation vers l’avant est terminée, on obtient à la sortie le résultat ~
y
y donnée à l’aide du réseau et le vecteur ~t dé-
On calcule alors l’erreur entre la sortie~
siré à la sortie pour cet échantillon. Pour chaque neurone dans la couche de sortie,
on calcule :
esortie = g 0 ( w njk ∗ x kn−1 )[t i − y i ]
X
i (1.13)
k

Pour la propagation de l’erreur vers l’arrière eni → en−1


j
on utilise à la formule sui-
vante :
en−1 = g 0n−1 ( w n−1 n−2
w i j eni
X X
i j k ∗ xk ) (1.14)
k i
Dans toutes les couches, on met à jour les poids :

∆w inj = ∆w inj + γ ∗ eni x n−1


j (1.15)

Où γreprésente le taux d’apprentissage (de faible magnitude et inférieur à 1).


On ajoute un terme d’inertie (momentum) dans le but d’éviter les problèmes liés
à une stabilisation dans un minimum local (figure 1.18) où il permet de sortir des
minimums locaux dans la mesure de poursuivre la descente de la fonction d’erreur.
L’algorithme mémorise les informations du changement de poids à chaque itéra-
tion. Cet effet de mémoire permet d’accélère l’optimisation du réseau et éviter les
oscillations. Alors, la nouvelle formule de modification des poids se traduit par :

∆w inj (t ) = γeni x n−1


j + α∆w inj (t − 1) (1.16)

Avec α un paramètre compris entre 0 et 1.

F IGURE 1.18 – Descente du gradient : Minimum global et local

25
CHAPITRE 1. ETAT DE L’ART SUR L’APPRENTISSAGE AUTOMATIQUE

1.4 Conclusion

Dans ce chapitre, on a introduit la notion de l’apprentissage automatique et on a


donné une vision générale sur les méthodes ou approches de la classification supervi-
sées et non supervisées. Dans ce chapitre on a présenté aussi quelques algorithmes ou
méthodes de classification (kNN, Machine à Vecteur Support, Fuzzy c-means, K-means,
Réseaux de neurones). Dans le prochain chapitre, nous allons voir le principe de l’appren-
tissage profond (Deep learning) et détailler les réseaux de neurones convolutifs (CNNs)
qui représente un modèle très reconnu dans l’apprentissage profond.

26
C HAPITRE 2

Apprentissage profond

Sommaire
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.2 Généralité sur l’apprentissage profond . . . . . . . . . . . . . . . . . . . . 28

2.3 Réseaux de neurones convolutifs (CNN) . . . . . . . . . . . . . . . . . . . . 31

2.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.3.2 Opération de convolution . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.3.3 Architecture d’un CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.3.4 Choix des hyperparamétres . . . . . . . . . . . . . . . . . . . . . . . . 36

2.3.5 Paramètres d’un CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.4 Exemple réel de model de CNN célèbres . . . . . . . . . . . . . . . . . . . . 39

2.4.1 LeNet (1998) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.4.2 AlexNet (2012) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.4.3 ZFNet (2013) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.4.4 GoogleNet/Inception (2014) [Zeiler 2014] . . . . . . . . . . . . . . . 40

2.4.5 VGGNet(2014) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2.4.6 ResNet (2015) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

2.5 Outils préférables d’apprentissage profond . . . . . . . . . . . . . . . . . 42

2.6 Bibliothèques d’outil adopté . . . . . . . . . . . . . . . . . . . . . . . . . . 43

2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

27
CHAPITRE 2. APPRENTISSAGE PROFOND

2.1 Introduction

L’apprentissage en profondeur en anglais "deep learning" est un type d’apprentissage


automatique dans lequel un modèle apprend à effectuer des tâches de classification di-
rectement à partir d’images, de texte ou de sons. L’apprentissage en profondeur est géné-
ralement mis en œuvre à l’aide d’une architecture de réseau neuronal.
Dans ce chapitre nous allons présenter tout d’abord les notions en relation avec l’appren-
tissage profond. Nous allons présenter les réseaux de neurones convolutifs (CNNs).

2.2 Généralité sur l’apprentissage profond

L’apprentissage profond est un ensemble de méthodes d’apprentissage automatique


utilisables pour modéliser à un haut niveau d’abstraction des données et avec lesquelles
la machine apprend par elle-même à réaliser une tâche donnée. Par exemple, lorsque l’on
parle de reconnaissance d’images, le système apprend automatiquement à classifier les
images en différentes catégories selon le jeu de données qui lui est fourni pour recon-
naître, par exemple, une automobile ou une motocyclette sur une image.

F IGURE 2.1 – Relation entre Intelligence artificielle, Machine Learning et Deep Learning

Le Deep Learning est fondé sur le concept des réseaux de neurones artificiels et il est
taillé pour gérer de nombreuses quantités de données en ajoutant des couches au réseau.
Un modèle d’apprentissage profond a la capacité d’extraire des caractéristiques par des
données brutes grâce aux multiples couches de traitement composé de multiples trans-
formations linéaires et non linéaires et apprendre sur ces caractéristiques petit à petit à

28
CHAPITRE 2. APPRENTISSAGE PROFOND

travers chaque couche avec une intervention humaine minime [Bengio, 2013] .
Un apprentissage profond offre trois avantages clés :

• Simplicité : Au lieu d’ajustements spécifiques aux problèmes et des détecteurs de


caractéristiques sur mesure, les réseaux profonds offrent des blocs architecturaux
de base, des couches de réseau, qui sont répétés plusieurs fois afin de générer des
réseaux de grande taille.

• Évolutivité : les modèles d’apprentissage profond sont facilement adaptables à d’énormes


jeux de données. D’autres méthodes concurrentes, telles que les machines du noyau,
rencontrent de graves problèmes de calcul si les jeux de données sont énormes.

• Transfert de domaine : un modèle appris sur une tâche est applicable à d’autres
tâches connexes et les fonctionnalités apprises sont suffisamment générales pour
permettre de traiter une variété de tâches pour lesquelles des données rares sont
parfois disponibles.

F IGURE 2.2 – Différence de performance entre le Deep Learning et la plupart des algorithmes de

Machine Learning en fonction de la quantité de données

En raison du succès retentissant dans l’apprentissage de ces réseaux de neurones pro-


fonds, les techniques de Deep Learning sont actuellement à la pointe de la technolo-
gie pour la détection, la segmentation, la classification et la reconnaissance (c’est à-dire
l’identification et la vérification) d’objets dans des images. Les chercheurs s’efforcent main-
tenant d’appliquer ces succès en matière de reconnaissance de formes à des tâches plus
complexes telles que les diagnostics médicaux et la traduction automatique de la langue.
La différence entre l’apprentissage automatique et l’apprentissage profond réside dans

29
CHAPITRE 2. APPRENTISSAGE PROFOND

l’étape de l’extraction des caractéristiques,Comme montre la figure 2.3.

F IGURE 2.3 – Procède du ML classique comparé à celui du Deep Learning

La phase d’apprentissage par ML est formée par deux étapes. La première etape consistent
à extraire les caractéristiques de chaque image du jeu de données. La deuxieme phase
consiste à entraîner un classifieur sur ces caractéristiques. Ces techniques d’apprentis-
sage peuvent fournir de très bons résultats, et leur performance dépend fortement de la
qualité des caractéristiques préalablement trouvées. Il existe plusieurs méthodes d’ex-
traction et de description de caractéristiques. En pratique, l’erreur de classification n’est
jamais nulle. Les résultats peuvent alors être améliorés en créant de nouvelles méthodes
d’extraction de caractéristiques, plus adaptées aux images étudiées, ou en utilisant un
"meilleur" classifieur.
L’apprentissage en profondeur nécessite souvent des centaines de milliers ou des millions
d’images pour obtenir les meilleurs résultats. Il nécessite également beaucoup de calculs
et requiert un processeur graphique hautes performances.
Les réseaux de neurones convolutifs ont une méthodologie similaire à celle des méthodes
traditionnelles d’apprentissage supervisé : ils reçoivent des images en entrée, détectent
les features de chacune d’entre elles, puis entraînent un classifieur dessus.
Cependant, les caractéristiques sont apprises automatiquement . Les CNN réalisent eux-
mêmes tout le boulot fastidieux d’extraction et description de caractéristiques : lors de la
phase d’entraînement, l’erreur de classification est minimisée afin d’optimiser les para-
mètres du classifieur eT les caractéristiques. De plus, l’architecture spécifique du réseau
permet d’extraire des caractéristiques de différentes complexités, des plus simples au
plus sophistiquées. L’extraction et la hiérarchisation automatiques des caractéristiques,
qui s’adaptent au problème donné, constituent une des forces des réseaux de neurones

30
CHAPITRE 2. APPRENTISSAGE PROFOND

convolutifs.

2.3 Réseaux de neurones convolutifs (CNN)

2.3.1 Introduction

Convolutional Neural Network (CNN) est le plus largement utilisé dans les applica-
tions de vision par ordinateur. Il a été introduit par Kunihiko Fukushima en 1980 [Fuku-
shima 1980] et amélioré par Yann et al. [Yann, 1998] en 1998. Dans Machine Learning les
CNN sont des réseaux de feedforward en plusieurs étapes pouvant être formés.
CNN est une des catégories les plus populaires de réseaux neuraux, particulièrement pour
des données hautes-dimensionnelles (par exemple, des images et des vidéos). Il fonc-
tionne dans un chemin qui est très semblable aux réseaux neuraux standard. Ils per-
mettent des avancées dans la détection et la reconnaissance d’objets, ils fournissent une
architecture optimale pour la reconnaissance d’images et modèle la détection. Combiné
avec des avances dans GPUS et le calcul parallèle, CNN est une technologie-clé étant à la
base de nouveaux développements dans la conduite automatisée et la reconnaissance fa-
ciale. Il est particulièrement utile pour trouver des modèles dans des images pour recon-
naître des objets, des visages et des scènes. Il apprend directement de données d’image,
utilisant des modèles à classifier des images et éliminant le besoin de l’extraction de ca-
ractéristique manuelle.
Les réseaux neuronaux convolutionnels sont composés de neurones qui ont des poids
et des biais apprenants. Chaque neurone reçoit quelques entrées, exécute un produit
point et le suit optionnellement avec une non-linéarité. L’ensemble du réseau exprime
encore une seule fonction de partition différentiable : des pixels d’image brute d’un bout
aux partitions de classe de l’autre. Et ils ont toujours une fonction de perte (par exemple
SVM/Softmax) sur la dernière couche (entièrement connecté).
Dans cette section nous allons tout d’abord explique l’opération de convolution, détaille
l’ architecure d’un CNN, donne quelques exemples réel existantes de CNN célèbres et
présente finalement leurs notions.

31
CHAPITRE 2. APPRENTISSAGE PROFOND

2.3.2 Opération de convolution

Le nom « réseau de neurones convolutif » indique que le réseau emploie une opéra-
tion mathématique appelée convolution où elle est une opération linéaire spéciale. Les
réseaux convolutifs sont simplement des réseaux de neurones qui utilisent la convolu-
tion à la place de la multiplication matricielle dans au moins une de leurs couches.
La convolution est généralement une opération sur deux fonctions d’argument réel. Dans
le but de comprendre la motivation derrière la convolution, nous commençons par des
exemples de deux fonctions f (t ) et g (t ) qu’on pourrait utiliser. L’opération de convolution
écrite sous la forme suivant :

Z +∞
s(t ) = f (t ) ∗ g (t ) = h(a)g (t − a)da (2.1)
−∞

La sommation sous l’intégrale s’effectue sur la variable a ce qui signifie que le signal alors
obtenu est une fonction de t et non pas un nombre comme c’est le cas si on effectue un
produit scalaire.
Pour déterminer un produit de convolution, il faut conserver le premier signal puis trou-
ver le symétrique du second par rapport à l’axe des ordonnées ensuite décaler ce signal
du temps t puis multiplier les deux signales obtenus et enfin intégrer le résultat.
En effet, cette opération de convolution est généralement désignée par un astérisque :

s(t ) = ( f ∗ g )t (2.2)

Habituellement, si nous travaillons avec des données sur l’ordinateur, le temps sera dis-
crétisé (numérisé), on peut définir la convolution discrète sous la forme suivant :


X
s(t ) = f (a)g (t − a)da (2.3)
a=−∞

Nous utilisons finalement souvent des convolutions sur plus d’un axe à la fois. Par exemple,
lorsque nous utilisons une image bidimensionnelle f comme entrée :

XX
s(i , j ) = ( f ∗ g )(i , j ) = f (m, n)g (i − m, j − n) (2.4)
m n

Dans la terminologie d’un CNN, l’argument initial (dans cet exemple, la fonction f ) de
la convolution est souvent appelé l’entrée (input) et le deuxième argument (dans cet
exemple, la fonction f ) comme noyau (kernel). La sortie est parfois nommée feature map.

32
CHAPITRE 2. APPRENTISSAGE PROFOND

2.3.3 Architecture d’un CNN

Comme nous l’avons vu dans le chapitre précédent, Neural Networks reçoit une en-
trée (un seul vecteur) et la transforme à travers une série de couches cachées. Chaque
couche cachée est composée d’un ensemble de neurones, où chaque neurone est entiè-
rement connecté à tous les neurones de la couche précédente, et où les neurones dans
une seule couche fonctionnent complètement indépendamment et ne partagent aucune
connexion. La dernière couche entièrement connectée est appelée « couche de sortie »
et, dans les paramètres de classification, elle représente les scores de classe. Ainsi que Les
réseaux neuronaux convolutionnels tirent profit du fait que l’entrée se compose d’images
et qu’elle limite l’architecture d’une manière plus sensée. En particulier, contrairement à
un réseau neuronal régulier, les couches d’un réseau ConvNet ont des neurones dispo-
sées en 3 dimensions : largeur, hauteur, profondeur. (Notez que le mot profondeur ici fait
référence à la troisième dimension d’un volume d’activation, pas à la profondeur d’un ré-
seau neural complet, qui peut se référer au nombre total de couches dans un réseau.)
Comme visualisé dans l’une des couches ( figure 2.4). Chaque couche d’un CNN trans-
forme le volume d’entrée 3D en un volume de sortie 3D d’activations neuronales. Dans
cet exemple, la couche d’entrée rouge tient l’image, donc sa largeur et sa hauteur seraient
les dimensions de l’image, et la profondeur serait de 3 (Rouge, Vert, Canaux Bleus).

F IGURE 2.4 – Trois dimensions d’un CNN (largeur, hauteur, profondeur)

Un simple CNN est une séquence de couches, et chaque couche d’un CNN transforme
un volume d’activations à un autre par une fonction différenciable. Nous utilisons trois
principaux types de couches pour construire des architectures CNN : couche convolutive,
couche de mise en commun (pooling) et couche entièrement connectée. Nous allons em-
piler ces couches pour former une architecture CNN complète (figure 2.5).

33
CHAPITRE 2. APPRENTISSAGE PROFOND

F IGURE 2.5 – Activations d’un exemple d’architecture CNN.

De cette façon, CNNs transforme l’image originale couche par couche des valeurs de
pixel originales aux scores de classe finaux. On note que certaines couches contiennent
des paramètres et d’autres non. En particulier, les couches CONV/FC effectuent des trans-
formations qui sont fonction non seulement des activations dans le volume d’entrée, mais
aussi des paramètres (poids et biais des neurones). En revanche, les couches RELU/POOL
implémenteront une fonction fixe. Les paramètres des couches CONV/FC seront formés
à la descente par gradient afin que les calculs de classe que CNN calcule correspondent
aux étiquettes de l’ensemble de formation pour chaque image.

Couche convolutif

La couche de convolution est le bloc de base d’un réseau convolutive qui fait la plupart
du travail de calcul lourd dans laquelle la convolutionrepérer la présence d’un ensemble
de features dans les images reçues en entrée. Pour cela, on réalise un filtrage par convo-
lution où le principe est de faire "glisser" une fenêtre représentant la feature sur l’image,
et de calculer le produit de convolution entre la feature et chaque portion de l’image ba-
layée. Une feature est alors vue comme un filtre.
La couche de convolution reçoit donc en entrée plusieurs images, et calcule la convolu-
tion de chacune d’entre elles avec chaque filtre. Les filtres correspondent exactement aux
features que l’on souhaite retrouver dans les images.
On obtient pour chaque paire (image, filtre) une carte d’activation, ou feature map, qui
nous indique où se situent les features dans l’image : plus la valeur est élevée, plus l’en-
droit correspondant dans l’image ressemble à la feature.

34
CHAPITRE 2. APPRENTISSAGE PROFOND

Couche de correction (ReLU)

L’unité linéaire rectifiée (ReLU) permet un entraînement plus rapide et plus efficace
en mappant les valeurs négatives à zéro et en maintenant des valeurs positives. Cela est
parfois appelé activation, car seules les fonctionnalités activées sont reportées dans la
couche suivante.

Couche de pooling

La couche de pooling permet de simplifier la sortie en effectuant un sous-échantillonnage


non linéaire, réduisant ainsi le nombre de paramètres que le réseau doit apprendre. Elle
est donc afin de réduire la quantité de paramètres et de calcul dans le réseau permet
de réduire progressivement la taille des représentations et, par conséquent, de contrôler
aussi le sur-apprentissage. L’opération de pooling créait encore une forme d’invariance
par translation.
En outre, ona plusieurs type de pooling diffèrent telle que MAX pooling est la forme la
plus courante et comme valeur de sortie la valeur maximale en entrée comme illustre la
figure 2.6.

F IGURE 2.6 – Max-Pooling avec un filtre 2x2 et un pas de 2

Autrement, il est possible d’utiliser d’autres fonctions de pooling que le maximum. On


peut utiliser un «AVG pooling » dans la qelle la sortie est la moyenne des valeurs d’entrée
comme montre la figure 2.7.

F IGURE 2.7 – Average-Pooling avec un filtre 2x2 et un pas de 2.

35
CHAPITRE 2. APPRENTISSAGE PROFOND

Couche entièrement connectée(FC)

Les neurones dans une couche entièrement connectée ont des connexions complètes
à toutes les activations dans la couche précédente, comme on le voit dans les réseaux
neuraux réguliers. Leurs activations peuvent donc être calculées avec une multiplication
matricielle suivie d’un décalage de biais. Voir la section Réseau neuronal des notes pour
plus d’information.

Couche de perte (LOSS)

La couche de perte précise comment l’entrainement du réseau pénalise l’écart entre le


signal prévu et réel. Elle est normalement la couche finale dans le réseau. Plusieurs fonc-
tions de perte adaptées à différentes tâches peuvent y être utilisées. L’objectif d’utiliser la
perte « Soft max »est pour prédire une seule classe parmi K classes mutuellement exclu-
sives. En outre, la perte par entropie croisée sigmoïde est utilisée dans le but de prédire K
valeurs de probabilité indépendante dans [0,1] et pour régresser vers des valeurs réelles
utiliser par la perte euclidienne

2.3.4 Choix des hyperparamétres

Les réseaux des neurones convolutifs utilisent plus d’hyperparamètres qu’un MLP
standard. Même lorsque les règles habituelles pour des constantes de régularisation et
les taux d’apprentissage s’appliquent toujours, il faut prendre en considération les no-
tions de forme de filtres, leur nombre et la forme du max pooling.

Forme de filtres

Les formes de filtre varient grandement dans la littérature. Généralement, ils sont
choisis en fonction de l’ensemble de données. Les meilleurs résultats sur les images de
MNIST (28x28) sont toujours dans la gamme de 5x5 sur la couche initiale, alors même
que les ensembles de données d’images naturelles (souvent avec des centaines de pixels
dans chaque dimension) ont tendance à utiliser de plus grands filtres de la couche initiale
de 12x12, voire 15x15. Le défi est alors de trouver le bon niveau de granularité de façon à
créer des abstractions à l’échelle appropriée et adaptée à chaque cas.

36
CHAPITRE 2. APPRENTISSAGE PROFOND

Nombre de filtres

La taille des images intermédiaires diminue avec la profondeur du traitement, éga-


lement les couches proches de l’entrée ont tendance à avoir moins de filtres cependant
que les couches plus proches de la sortie peuvent en avoir davantage. Dans le but d’éga-
liser le calcul à chaque couche, le produit du nombre de caractéristiques et le nombre de
pixels traités généralement est choisi pour être à peu près constant à travers les couches.
Pour préserver l’information en entrée, il faudrait maintenir le nombre de sorties inter-
médiaires (le nombre de positions de pixel multiplié par nombre d’images intermédiaire)
pour être croissante (au sens large) d’une couche à l’autre.
La puissance du système est contrôlé directement par le nombre d’images intermédiaires,
dépend du la complexité du traitement et le nombre d’exemples disponibles.

2.3.5 Paramètres d’un CNN

Avant d’expliquer l’entraînement d’un réseau de neurones convolutif (chapitre 3), d’abord
il faut décrire les paramètres de la couche convolutive pour pouvoir calculer les dimen-
sions spatiales de sortie de chaque couche.
On note :

• N : La dimension des entrées.

• F : La dimension du filtre.

• s : Le stride où le pas.

La formule de la sortie d’une couche convolutive est déterminée comme suit :

N−F
out put = +1 (2.5)
s
Comme exemple d’image d’entrée est de dimension N = 7 et nous supposons que un
noyau (filtre) de taille F = 3. Lorsqu’ on utilise un pas s = 1 nous aurons une image de
sortie.
out put = 7−3
1
+1 = 5
Donc l’image en sortie sera de dimension 5x5.
Pour être tout à fait complet sur comment calculer les dimensions spatiales des sorties,
prenons l’exemple de la figure 22 mais avec s = 3. D’après la formule 2.5 :
out put = 7−3
3
+ 1 = 2.33

37
CHAPITRE 2. APPRENTISSAGE PROFOND

Nous obtenons une image en sortie de dimension 2.33x2.33 (n’est pas possible).
Généralement dans le terme pratique on applique ce qu’on nommer un Zero pad p aux
bordures des entrées. La formule suivante pour déterminer le Zero pad :

F−1
p= (2.6)
2

D’après la formule 2.6 :


p = 3−1
2 =1

C’est à dire nous ajouterons des pixels d’intensité nulle sur tout le long de la bordure de
l’image sur un seul niveau. La nouvelle dimension de l’image sera de 9x9.
Ensuite nous allons pouvoir déterminer le volume des sorties de même que le nombre de
paramètres par couche convolutive.
Nous prenons par exemple une image en entrée de dimension 32x32x3 (3pour le canal
RGB). On décide d’appliquer une couche convolutive avec :

• de dimension F = 5.

• un nombre de filtres k = 10.

• un stride s = 1.

D’abord on applique le Zero padding :


p = 5−1
2
=2
La nouvelle dimension de l’image est de 32 + 2 ∗ 2 = 36.
Par la suite on calcule la dimension des sorties avec la formule 2.5 :
out put = 36−5
1
+ 1 = 32
Vu que nous avons 10 filtres dans la couche donc nous obtenons 32x32x10.
Maintenant dans le but de calculer le nombre de paramètre de la couche : 5∗5∗3+1 = 76
On note :

• 5 ∗ 5 pour la dimension du filtre F = 5,

• 3 pour le nombre de canal de l’entrée,

• 1pour le biais,

• et on a la couche possède 10 filtres donc : le nombre de paramètres de la couche


est : 76 ∗ 10 = 760.

38
CHAPITRE 2. APPRENTISSAGE PROFOND

2.4 Exemple réel de model de CNN célèbres

2.4.1 LeNet (1998)

Les premières applications réussies des réseaux convolutionnels ont été développées
par Yann LeCun en 1990. Parmi celles-ci, la plus connue est l’architecture LeNet [LeCun,
1998] qui a été utilisée pour lire des codes postaux, des chiffres, etc.

F IGURE 2.8 – Architecture de LeNet-5

2.4.2 AlexNet (2012)

AlexNet [Krizhevsky, 2012] est le premier travail qui a popularisé les réseaux convolu-
tifs dans la vision par ordinateur, développé par Alex Krizhevsky, Il ya Sutskever et Geoff
Hinton. Il a été soumis au défi ImageNet ILSVRC [Zeiler, 2014] en 2012 et a clairement sur-
passé ses concurrents. Le réseau avait une architecture très similaire à LeNet, par contre
était plus grand, plus profond et comportait des couches convolutives empilées les unes
sur les autres (précédemment, il était commun de ne disposer que d’une seule couche
convolutifs habituellement suivie d’une couche de pooling).

39
CHAPITRE 2. APPRENTISSAGE PROFOND

F IGURE 2.9 – Architecture d’AlexNet

2.4.3 ZFNet (2013)

Le finaliste d’ILSVRC 2013 était aussi un réseau convolutive de Matthew Zeiler et Rob
Fergus. Il est devenu sous le nom de ZFNet (abréviation de Zeiler et Fergus Net) [Russa-
kovsky, 2015] . C’était une amélioration de AlexNet en améliorant les hyper-paramètres
de l’architecture, particulièrement en élargissant la taille des couches convolutifs et en
diminuant la taille du noyau sur la couche initial.

F IGURE 2.10 – Architecture de ZFNet

2.4.4 GoogleNet/Inception (2014) [Zeiler 2014]

Le gagnant du concours ILSVRC challenge 2014 était un CNN de Szegedy et al. De


Google. Sa fondamentale contribution a été le développement d’un module inception qui
a considérablement réduit le nombre de paramètres dans le réseau (4M, par rapport à
AlexNet avec 60M). De plus, ce module utilise le global AVG pooling au lieu du PMC à la
fin des réseaux, ce qui élimine une grande quantité de paramètres. Il existe aussi certaines

40
CHAPITRE 2. APPRENTISSAGE PROFOND

versions de GoogLeNet, parmi elles, on cite Inception-v4 [Szegedy, 2016].

F IGURE 2.11 – Architecture de GoogleNet

2.4.5 VGGNet(2014)

Le vainqueur de ILSVRC 2014 est appelé VGGNet [Zhang, 2016] par la communauté et
a été développé par Simonyan et Zisserman. VGGNet se compose de 16 couches convo-
lutifs et est attrayant en raison de son architecture très uniforme. Semblable à AlexNet,
uniquement 3x3 convolutions, par contre plusieurs de filtres. . Aujourd’hui, c’est le choix
le plus préféré dans la communauté pour extraire des images. La configuration de poids
du VGGNet est accessible au public et a été utilisée dans de plusieurs autres applications
et défis comme un extracteur de fonctionnalité de base. Mais, VGGNet se compose de 138
millions de paramètres, ce qui peut être un peu difficile à gérer.
VGG utilisait de grandes tailles de fonctionnalités dans de plusieurs couches et alors l’in-
férence était assez coûteuse à la course-temps. Réduire le nombre de fonctions, comme
dans les goulets d’encombrement, permettra d’économiser une partie du coût des cal-
culs.

41
CHAPITRE 2. APPRENTISSAGE PROFOND

F IGURE 2.12 – Architecture de VGGNet

2.4.6 ResNet (2015)

Enfin, à l’ILSVRC 2015, Residual network développé par Kaiming He et al. a été le ga-
gnant [Zhang, 2016]. Il a introduit une architecture inédite avec des « connexions sauts » et
une forte utilisation de la batch normalisation. Il utilise egalement le global AVG pooling
au lieu du PMC à la fin.

F IGURE 2.13 – Architecture de ResNet

2.5 Outils préférables d’apprentissage profond

De nombreux développeurs se lancent progressivement dans le développement d’ap-


plications pour l’apprentissage profond. D’un programme sophistiqué à un autre pro-
gramme sophistiqué, on peut repérer en arrière-plan l’utilisation répétée des langages de
programmation plus utilisés tels que : Python, R et Matlab.

Python

Python est un type de langage de programmation. L’implémentation la plus courante


de ce langage de programmation est celle en C (également appelé CPython). Python est

42
CHAPITRE 2. APPRENTISSAGE PROFOND

non seulement un langage de programmation, mais il consiste en une grande biblio-


thèque standard. Cette bibliothèque est structurée de manière à être centrée sur la pro-
grammation générale et contient des modules pour les systèmes d’exploitation, la mise
en réseau et les bases de données.

R est le langage que les scientifiques de données aiment. Cependant, d’autres pro-
grammeurs trouvent R un peu confus quand ils le rencontrent pour la première fois, en
raison de son approche centrée sur les données. Pour un groupe dédié de développeurs
R, il peut être judicieux d’utiliser les intégrations avec TensorFlow, Keras ou H2O pour la
recherche, le prototypage et l’expérimentation.

MATLAB

MATLAB rend les parties difficiles de l’apprentissage automatique faciles avec des ap-
plications « pointer-cliquer » pour former et comparer des modèles, des techniques avan-
cées de traitement du signal et d’extraction de caractéristiques, sélection des fonctionna-
lités pour optimiser les performances d’un modèle, la possibilité d’utiliser le même code
pour étendre le traitement aux big data et aux clusters, etc.
Les algorithmes d’apprentissage automatique eux-mêmes sont des constructions théo-
riques complètement indépendantes du langage dans lequel nous les implémentons. Dans
la pratique, certains langages de programmations sont certainement plus appropriés que
d’autres pour l’apprentissage automatique (par exemple, PHP, JavaScript ou C me semblent,
pour diverses raisons, de mauvais choix), mais Python, Matlab et R sont certainement des
options raisonnables. Nous aurons tendance à préférer Python, plus utilisé en deep lear-
ning (et avec les outils techiques adaptés), plus propre en tant que langage de program-
mation et globalement plus populaire et développé à l’heure actuelle.

2.6 Bibliothèques d’outil adopté

Un grands nombre suffisamment de bibliothèques disponibles en Python. NumPy


pour les opérations de tenseurs. Pour le traitement du langage naturel (NLP en anglais),
les bibliothèques NLTK et SpaCy sont disponibles. Pour l’apprentissage automatique, il
y a Scikit-learn. Quand il s’agit de l’apprentissage profond, toutes les bibliothèques ac-

43
CHAPITRE 2. APPRENTISSAGE PROFOND

tuelles (TensorFlow, PyTorch, Chainer, Apache MXNet, Theano, etc.) sont effectivement
des projets Python. En effet, la communauté Python travaille d’arrache-pied pour rendre
l’utilisabilité du langage très flexible avec des bibliothèques bien fournies.
Nous détaillons dans cette partie une liste non exhaustive de quelques bibliothèques.

Theano

Theano est une bibliothèque Python crier par Frédéric Bastien et l’équipe de recherche,
le laboratoire de l’Université de Montréal, MILA qui nous permet de définir, d’optimiser et
d’évaluer efficacement les expressions mathématiques impliquant des tableaux multidi-
mensionnels. Il peut utiliser des GPU et effectuer une différenciation symbolique efficace.

TensorFlow

TensorFlow est une bibliothèque de logiciels open source développée par l’équipe
Google Brain au sein de l’organisation d’intelligence artificielle de Google pour le calcul
numérique haute performance. Elle implémente des méthodes d’apprentissage automa-
tique basées sur le principe des réseaux de neurones profonds (deep learning). Nous pou-
vons l’exploiter directement dans un programme rédigé en Python. En outre, son archi-
tecture flexible permet un déploiement aisé des calculs sur diverses plates-formes (pro-
cesseurs, GPU, TPU).

Keras

Keras est une librairie Python, capable de s’exécuter sur plusieurs librairies de ma-
chine learning comme TensorFlow, CNTK ou Theano. Il a été développé pour permettre
une expérimentation rapide. En outre, il permet un prototypage simple et rapide (modu-
larité, convivialité, et extensibilité) et prend en charge les réseaux convolutionnels et les
réseaux récurrents, ainsi que leurs combinaisons.

PyTorch

PyTorch est une bibliothèque logicielle Python open source machine d’apprentissage
qui soutenu par l’équipe de recherche en intelligence artificielle de Facebook. Il permet le
traitement des entrées et des sorties de longueur variable (dynamic computation graphs),
ce qui est utile si on travaille avec des Recurrent Neural Network (RNN). Une caractéris-

44
CHAPITRE 2. APPRENTISSAGE PROFOND

tique absente de TensorFlow et Theano.


Dans ce cadre, le tableau 2.1 résume les avantages et les inconvénients de ces biblio-
thèques présentés.

TABLEAU 2.1 – Comparaison entre les types de bibliothèques

Bibliothèques Les avantages Les inconvénients

Theano Performant lorsque il est API bas niveau.


utilisé correctement. Le supporte du Multi GPU nécessite une
solution de contournement.
Les grands modèles peuvent nécessiter un
long temps de compilation.

TensorFlow Supporté par Google. Le soutien des RNN est encore surclassé
Le support du multi-GPU. par Theano.
Une très grande communauté. Plus lent que les autres bibliothèques dans de
plusieurs benchmarks.

Keras Le backend par excellence Moins flexible que les autres API.
pour Theano ouTensorFlow.
Interface haut niveau, intuitive.

PyTorch Soutenu par Facebook. Beaucoup moins mûr que ses concurrents.
Mélange d’API de haut niveau Ressources/ Références ressources
et de bas niveau. limitées en dehors de la documentation
Support des graphes dynamiques. officielle.
Il semblerait que c’est le meilleur
outil pour les chercheurs.

Autres frameworks

• CNTK : par Microsoft

• Caffe : par Berkeley Vision and Learning Center

• Deep learning 4j : Il supporte le langage java

• Neon : par Nervana Systems.

45
CHAPITRE 2. APPRENTISSAGE PROFOND

2.7 Conclusion

Dans cette partie, nous avons vu qu’est-ce que le Deep Learning et comment il se
différencie des algorithmes de ML traditionnelles et on a donné quelques méthodes utili-
sées par la communauté du Deep Learning et nous avons expliqué le principe de chacun.
Nous avons aussi parlé d’une vision générale des réseaux convolutifs, et on a présenté
également les outils d’apprentissage tel que le software et le hardware.

46
C HAPITRE 3

Reconnaissance des signes de circulation


par apprentissage profond

Sommaire
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.2 Panneaux de signalisation routière . . . . . . . . . . . . . . . . . . . . . . 48

3.2.1 Propriétés des panneaux de signalisation routière . . . . . . . . . . 48

3.2.2 Difficultés potentielles . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.2.3 Méthodes de détection . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.3 Implémentation d’algorithme d’apprentissage et de classification . . . . 53

3.3.1 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.3.2 Modèl LeNet-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.4 Simulation et résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3.4.1 Préparation de la base de données . . . . . . . . . . . . . . . . . . . . 60

3.4.2 Etapes de prétraitement . . . . . . . . . . . . . . . . . . . . . . . . . . 62

3.4.3 Mélange des données . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.4.4 Etape d’apprentissage, validation et test du modèle . . . . . . . . . . 63

3.4.5 Etape de test sur des nouvelles images . . . . . . . . . . . . . . . . . 66

3.5 Modèle proposé : LeNet-5 amélioré . . . . . . . . . . . . . . . . . . . . . . 67

3.6 Modèl VGG-Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

3.7 Etude comparative avec SVM . . . . . . . . . . . . . . . . . . . . . . . . . . 72

3.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

47
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

3.1 Introduction

Nous allons préciser dans la troisième partie de ce mémoire les différentes approches
à utiliser pour achever chaque phase de notre application. Ce chapitre est consacré pour
donner une description détaillée de notre système proposé pour la détection et la recon-
naissance des panneaux routiers par apprentissage en profondeur à l’aide des modèles de
réseaux convolutifs. Cependant, notre application fait partie du domaine de la vision par
ordinateur, elle engendre les phases primordiales et communes pour tous les systèmes de
détection des panneaux de signalisation, chaque phase a sa propre approche que nous al-
lons introduire tout au long de ce chapitre.
Nous commençons ce chapitre avec un état de l’art spécifique à la reconnaissance de pan-
neaux routiers. Ensuite, nous présentons une vue générale de notre base de données et
nous nous proposons notre système de détection et reconnaissance des panneaux de si-
gnalisation basé sur le réseau LeNet-5 et le réseau VGG-Net. La dernière partie sera consa-
cré à la description de notre idée d’améliorer le model LeNet-5.

3.2 Panneaux de signalisation routière

Ces dernières années la détection des panneaux routiers a attiré l’attention considé-
rable de recherches due à sa nature provocante comme problème de vision d’ordinateur.
Alors, il existe divers systèmes de signalisation routière utilisée dans le monde. Ces sys-
tèmes sont établis sur la base de principes généraux et ont les mêmes objectifs.
Cela se traduit par des normes internationales. Il existe des variations propres à chaque
pays à l’intérieur d’un système. Pourtant elles ne sont pas fondamentales dans la mesure
où les formes et les couleurs de base employées sont les mêmes.

3.2.1 Propriétés des panneaux de signalisation routière

Les panneaux de signalisation de la route ont été conçus pour être principalement
distinguables des contextes naturels et/ou artificiels. Ils sont caractérisés par plusieurs
caractéristiques les rendent reconnaissables en ce qui concerne l’environnement. Les
panneaux routiers sont conçus, fabriqués et installés selon des règlements serrés. Ils sont
conçus en formes 2D fixes comme des triangles, des cercles, des octogones, ou des rec-
tangles. Les couleurs des signes sont choisies pour être loin de l’environnement, qui les

48
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

rend facilement reconnaissables par les conducteurs.


Les informations sur le panneau de signalisation ont une couleur et le reste du signe à
une autre couleur et la teinte de la peinture qui couvre le panneau devrait correspondre
à une longueur d’ondes spécifique dans le spectre visible. Les panneaux sont situés à des
emplacements bien définis par rapport à la route, de sorte que le conducteur peut plus
ou moins s’attendre à l’emplacement de ces panneaux. Ils peuvent contenir un picto-
gramme, une chaîne de caractères ou les deux.
Les panneaux de signalisation sont caractérisés par l’utilisation de polices de texte fixes
et de hauteurs de caractères. Ils peuvent apparaître dans divers conditions, notamment
partiellement déformées, occultées, endommagées et regroupées dans un groupe de plu-
sieurs signes. Ils ont un impact direct sur la vie quotidienne que ce soit comme un conduc-
teur, cycliste ou comme un piéton en tant que menaces possibles de la vie peut être dû
facilement formé à leur ignorance.
Généralement les panneaux routiers possèdent trois propriétés ; premièrement, ils sont
représentés par des couleurs telles que vert, rouge, et bleu. Deuxièmement, ils se com-
posent d’une forme particulière telle que octogonal, triangulaire, circulaire, octogonal,
carré etc. Le contenu intérieur des panneaux routiers représente la troisième propriété,
qui peut varier selon l’application du panneau routier [Vitabile, 2002] .
La figure 3.1 ci-dessous montre différentes divisions catégoriques de la signalisation rou-
tière selon leurs informations de couleur et de forme.

49
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

F IGURE 3.1 – Catégoriques des panneaux de la signalisation routière

3.2.2 Difficultés potentielles

En raison de l’environnement complexe des routes et des scènes qui les entourent, les
panneaux de signalisation peuvent se trouver dans différentes conditions, comme illustré
à la figure 3.2. Par conséquent, la détection et la reconnaissance de ces panneaux peuvent
être confrontées à l’une ou plusieurs des difficultés suivantes.
La visibilité des panneaux de signalisation est affectée par les conditions climatiques telles
que les nuages, le brouillard, la pluie et la neige, ainsi que d’autres paramètres tels que les
variations locales de la lumière, comme la direction de la lumière, l’intensité de la lumière
en fonction de l’heure du jour et de la saison, ainsi que les ombres générées par d’autres
objets [Vitabile, 2002] . La couleur de l’enseigne s’estompe avec le temps en raison de la
longue exposition au soleil et de la réaction de la peinture avec les polluants en suspen-
sion dans l’air [Miura, 2000] .
La visibilité des panneaux peut être affectée aussi par la présence d’obstacles dans la
scène, tels que des arbres, des bâtiments, des véhicules et des piétons [Vitabile, 2001].
La présence d’objets de couleur et / ou de formes similaires aux panneaux de signalisa-
tion de la scène considérée, tels que des bâtiments ou des véhicules. Ils pourraient res-
sembler au panneau de signalisation par leur couleur, leur forme ou même les deux. Les

50
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

signes peuvent être désorientés, endommagés ou obstrués. La taille du signe dépend de


la distance entre la caméra et le signe lui-même. Les panneaux de signalisation peuvent
sembler pivotés en raison de l’orientation de l’image. Lorsque l’image est acquise à partir
d’une voiture en mouvement, elle est souvent affectée par le flou de mouvement et les
vibrations de la voiture [Paclik, 2000].

F IGURE 3.2 – Différents obstacles des panneaux de signalisation

La figure 3.2 présente des divers obstacles telle que :

• La mauvaise qualité des images disponibles à cause d’une basse résolution, de va-
riations d’illumination ou de mauvaises conditions météorologiques,

• La rotation, détérioration ou occlusion des panneaux,

• Les contraintes en mémoire et capacités de calcul imposées dans les systèmes em-
barqués,

• Les variations en taille, type et couleur de panneaux entre les différents pays.

3.2.3 Méthodes de détection

La recherche sur la détection et la reconnaissance des panneaux de signalisation s’est


développée rapidement au cours de la dernière décennie. Les méthodes de détection de
trafic précédentes peuvent être divisées en trois catégories principales :

• Des méthodes basées sur la couleur.

• Des méthodes basées sur la forme.

• Des méthodes basées sur la fenêtre glissante.

Les méthodes basées sur les couleurs sont couramment utilisées car généralement les
panneaux de signalisation sont jaunes, rouges et bleus. Vu que ces méthodes sont sen-
sibles aux modifications de l’éclairage, plusieurs espaces colorimétriques sont souvent

51
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

utilisés, tels que RVB normalisé [Escalera, 1997] et HSI[Escalera, 2003] .


Les méthodes basées sur les formes exploitent la forme des panneaux de signalisation,
tels que les carrés, les cercles, les triangles et pour détecter les panneaux de signalisa-
tion, qui sont plus robustes aux changements d’éclairage. La transformation de Hough
est couramment utilisée pour détecter les panneaux de signalisation tels que les cercles
et les triangles [García-Garrido 2005] .
Cependant, ces méthodes prennent beaucoup de temps. Motivé par cela, dans [Loy, 2004]
a proposé un détecteur de symétrie radiale pour diminuer le temps de traitement. Cepen-
dant, ils sont souvent sensibles au bruit dans un environnement encombré et certaines
parties des panneaux de signalisation peuvent être obstruées, ce qui rend la détection
plus difficile. Profitant des avantages des méthodes ci-dessus, certaines méthodes de fu-
sion de fonctions associent couleur et forme pour détecter les panneaux de signalisation
[Z hou, 2016] ].
Malheureusement, toutes les méthodes ci-dessus risquent de manquer des panneaux de
signalisation pour diverses raisons. Pour résoudre ce problème, des méthodes basées sur
des fenêtres glissantes utilisant HOG [Creusen, 2010] et Viola-Jones [Baró 2009] ont été
proposées pour détecter les panneaux de signalisation et obtenir de bons résultats. Ces
méthodes considèrent les régions dans l’ensemble de l’image de sorte que le nombre de
candidats est énorme. Depuis l’exigence de détection et de reconnaissance des panneaux
de signalisation en temps réel, ces méthodes sont loin d’être pratiques.
Il existe un certain nombre de méthodes de reconnaissance de panneaux de signalisa-
tion populaires utilisant différents classificateurs tels que le voisin le plus proche[Escalera
1997], les forêts aléatoires, les réseaux de neurones [Garcia-Garrido, 2006] [Cireşan, 2012],
CNN [Sun 2014] , les machines à vecteurs de support [Maldonado-Bascón, 2007], etc.
Dans ce cadre, nous avons proposé un système d’aide à la décision exploite une nouvelle
méthode d’intelligence artificielle dite apprentissage en profondeur.

52
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

3.3 Implémentation d’algorithme d’apprentissage et de clas-

sification

3.3.1 Environnement logiciel

Avant de commencer l’implémentation de notre application avec python, il faut, tout


d’abord, installer les logiciels nécessaires. Une solution consiste à installer « Anaconda »,
c’est un environnement simple à utiliser et ouvert pour ajouter facilement tous les librai-
ries nécessaires pour implanter un programme python.
Une fois Anaconda est installé, il faut installer Visual Studio. Puis, on vérifions si la biblio-
thèque Tensorflow est installée ou non. Parmi les problèmes contournés avec la version
de python installé, c’est que transorflow est incompatible avec la version python 3.7. Pour
cela, il faut lancer anaconda Promp et taper la commande ‘’ conda install python = 3.6”
comme montre la figure 3.3.

F IGURE 3.3 – Installation python 3.6

Ensuite, nous allons utiliser Anaconda environnement pour ajouter par exemble la
bibliothèque pandas (figure 3.4). Cette étape sera répétée à chaque fois qu’on a besoin de
l’une des bibliothèques .

F IGURE 3.4 – Installation du bibliothèque pandas

3.3.2 Modèl LeNet-5

Pour implémenté notre algorithme d’apprentissage, nous avons adopté l’architecture


LeNet-5 comme modèle de base. Cette architecture se comporte de deux ensembles de
couches de convolution et de pooling, suivies d’une couche convolutive aplatie, puis de

53
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

deux couches entièrement connectées et enfin d’un classifieur softmax. Cette architec-
ture est illustré dans la figure 3.5.

F IGURE 3.5 – Architecture LeNet-5

Dans un réseau de neurones convolutionnels, une couche est composée de trois étapes :
la convolution, l’application d’une fonction d’activation et enfin le pooling. Le résultat de
ces trois étapes est appelé une "feature map".
En effet lors de la convolution, l’image résultante de cette convolution est la somme de
K (l −1) convolutions, avec K (l −1) le nombre de sorties de la couchel − 1 ,sa fonction de
convolution et est définie comme :

 i = K (l −1)
σ(lk ) = P (3.1)
 x (l ) ∗ w (l ) + b (l )
i =1 k,i k,i k

Avec σ(lk ) la valeur du neuronek de la couche l , les x k,i


(l ) (l )
sont les entrées du neurone k etw k,i
les noyaux de convolution et b kl le bias.
Une fois la convolution effectuée, une fonction d’activation est appliquée sur toutes les
valeurs de l’image filtrée. Dans le modèle Lenet-5, cette fonction définie comme la fonc-
tion tanh() [Nguyen, 1990]
La valeur de sortie s kl d’un neurone k de la couche l dépend donc de sa fonction d’activa-
tion qui est défini dans équation 3.2.

s kl = f (σ(lk ) ), (3.2)

avec f la fonction d’activation et σ(lk ) la valeur de neurone k.


La troisième étape de la couche convoltutive définit comme étape de regroupent pour
gagner le temps de calculs. Après cette étape de sous-échantillonnage nous obtenons une
carte caractéristiques qui est définie comme :

Ilk = pool (s k(l ) ), (3.3)

54
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

Avec Ilk une carte caractéristiques de la couche l , pool () l’opération de pooling et s kl la


valeur de sortie du neurone k de la couche l .

Etude détaillée de l’architecture LeNet-5 adopté

• Couche initiale C1 :
La première couche est considèrée comme une couche de convolution dans la-
quelle une image en niveaux de gris de taille 32 x32 qui traverse cette couche avec
6 cartes de caractéristiques ou filtres ayant une taille de 5x5 et un stride s = 1. La
sortie de cette couche initiale sera réduite à 28x28x6 et le nombre de paramètre en
sortie est égale à 122304.

F IGURE 3.6 – Couche de convolution initiale C1

• Couche de Pooling S2 :
Ensuite, il existe une couche de Pooling, elle est définie comme une couche de re-
groupement ou une couche de sous-échantillonnage avec une taille de filtre 2x2 et
un nombre de stride s = 2. Les dimensions de l’image de sortie résultante seront
réduites à 14x14x6.

55
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

F IGURE 3.7 – Couche de Pooling S2

• Couche de convolution C3 :
La troisième couche est une deuxième couche de convolution avec 16 cartes de ca-
ractéristiques de taille 5x5 et un pas de 1. Dans cette couche, on a seulement 10
cartes de caractéristiques sur 16 sont connectées à 6 cartes de caractéristiques de
la couche précédente. La raison principale est de briser la symétrie du réseau et de
maintenir le nombre de connexions dans des limites raisonnables. C’est pourquoi
le nombre de paramètres d’entraînement dans cette couche est de 1516 au lieu de
2400 et de la même manière, le nombre de connexions est de 151600 au lieu de
240000.

F IGURE 3.8 – Couche de convolution C3

• Couche de Pooling S4 :
Par la suite, le LeNet-5 applique une nouvelle couche de regroupement avec un filtre
2x2 et un nombre de stride s = 2. Cette couche est identique à la deuxième couche

56
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

(S2), à la différence qu’elle possède 16 cartes de caractéristiques. Les dimensions de


l’image passent de 14x14x6 à 5x5x16.

F IGURE 3.9 – Couche de Pooling S4

• Couche entièrement connectée C5 :


La couche convolutive entièrement connectée est la cinquième couche (C5) de LeNet-
5 avec 120 cartes de caractéristiques de taille 1x1. Chacune des 120 unités de cette
couche est connectée à tous les 400 nœuds (5x5x16) de la quatrième couche S4.

F IGURE 3.10 – Couche entièrement connectée

57
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

• Couche entièrement connectée (F6) :


La sixième couche est une couche entièrement connectée (F6) avec 84 unités.

F IGURE 3.11 – Couche entièrement connectée avec 84 unités

• Couche de sortie :
Enfin, LeNet-5 applique une couche de sortie softmax entièrement connectée pro-
duisant 43 résultats (le nombre total d’étiquettes possibles) calculés à l’aide de la
fonction d’activation SoftMax.
Cette fonction est utilisée pour produire une distribution de probabilité entre les
différentes classes (chaque classe aura une valeur réelle comprise dans l’intervalle
[0, 1]) qui est définie comme une généralisation de la fonction logistique.

 
 p1 
 .. 
p =
 . 
 (3.4)
 
pn

ezi
p i (z) = Pn zj
(3.5)
j =1 e

avec z ∈ Rn est un vecteur de scores et p ∈ Rn est un vecteur de probabilités.

58
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

F IGURE 3.12 – Couche de sortie

Le tableau 3.1 résume les caractéristiques de l’architecture LeNet-5 classique.

TABLEAU 3.1 – Récapitulatif de l’architecture LeNet-5

Layer Feature Map Size Kernel Size Stride Activation

Input 1 32x32 - - Tanh

Convolution 6 28x28 5x5 1 Tanh

Pooling 6 14x14 2x2 2 Tanh

Convolution 16 10x10 5x5 1 Tanh

Pooling 16 5x5 2x2 2 Tanh

Flatten - 400 - - Tanh

FC - 120 - - Tanh

FC - 84 - - Tanh

FC - 43 - - Softmax

3.4 Simulation et résultats

L’organigramme représenté par la figure 3.13 illustre les étapes nécessaire pour implé-
menter notre application. Les principales étapes sont :

• Présentation de la base de données.

• Prétraitement de l’ensemble de données.

• Mélange des données.

• Application de l’algorithme d’apprentissage du modèle adopté.

59
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

• Validation et test du modèle.

• Variation des paramètres pour améliorer la précision de la classification.

F IGURE 3.13 – Etapes d’apprentissage et de classification basées sur le model LeNet-5

3.4.1 Préparation de la base de données

Les données d’apprentissages dans notre système de détection et reconnaissance des


panneaux de signalisation sont, souvent, réparties en trois catégories :

• L’ensemble d’apprentissage ou population d’entrainement est définie comme un


ensemble des images utilisées pour générer le modèle d’apprentissage.

• L’ensemble de test est constitué des images sur lesquels sera appliqué le modèle
d’apprentissage dans le but de tester et corriger l’algorithme.

• L’ensemble de validation est défini comme sous population de l’ensemble d’ap-


prentissage peut être utilisé lors de l’apprentissage afin d’intégrer (valider) le mo-

60
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

dèle et d’éviter le sur apprentissage.

Étant donné que ce projet considère qu’une formation peut commencer à partir d’un mo-
dèle de réseau conventionnelle pour classifier les panneaux de signalisation à l’aide du
base de données de panneaux de signalisation allemand [GTSRB], cette base de données
est divisé en ensembles d’entraînements, de tests et de validation, ont été stockés dans
des fichiers CSV. Ces images ont les caractéristiques suivantes :

• Les images sont 32 (largeur) x 32 (hauteur) x 3 (canaux couleur RVB).

• L’ensemble des données d’apprentissage (training) est composé de 34799 images.

• L’ensemble des données de validation est composé de 4410 images.

• L’ensemble des données de tests est composé de 12630 images.

En utilisant le language python, on peut lire ces images et afficher ses caractéristiques
comme montre la figure 3.14.

F IGURE 3.14 – Caractéristiques de la base de données

L’ensemble de données était aussi composé d’images appartenant à 43 classes. Chaque


classe correspond à un panneau spécifique, par exemple, la classe avec l’étiquette 0 re-
présente des panneaux de limitation de vitesse de 20km/h, et la classe avec l’étiquette 25
représente des panneaux de travaux routiers.

F IGURE 3.15 – Exemples des classes d’images d’ensemble de données

61
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

La figure 3.15 présente un échantillon des images de l’ensemble de données, avec des
étiquettes affichées au-dessus de la rangée d’images correspondantes.
Il y a aussi un déséquilibre important entre les classes de l’ensemble de formation, comme
le montre l’histogramme ci-dessous (figure 3.16). Certaines classes ont moins de 200 images,
tandis que d’autres ont plus de 2000. Cela signifie que notre modèle pourrait être biaisé
vers des classes surreprésentées, surtout lorsqu’il est incertain dans ses prévisions.

F IGURE 3.16 – Histogramme de classes relatives dans l’ensemble de données

3.4.2 Etapes de prétraitement

• Images en niveau de gris :


Nous convertissons notre image 3 canaux en une image en niveaux de gris, comme
montre la figure 3.17.

62
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

F IGURE 3.17 – Exemples d’images de l’ensemble d’apprentissage en niveaux de gris, avec éti-

quettes ci-dessus

La conversion des images en niveaux de gris aide généralement à réduire le temps


d’entraînement, ce qui était bien quand un GPU (Graphic Processing Unit) n’était
pas disponible.

• Normalisation de l’image :
La technique de normalisation aide notre modèle à traiter les images d’une manière
uniforme. Chaque pixels d’image aura une valeur comprise entre 0 et 1, en utilisant
la transformation décrite par l’équation suivante :

Img
Img normalisé = . (3.6)
255

3.4.3 Mélange des données

Une technique dite ‘’Image shuffling ‘’ sera utilisée pour changer l’ordre des images
dans le but de diminuer le risque d’avoir un phénomène de sur-apprentissage et par
conséquent, notre modèle sera plus capable à généraliser la décision.

3.4.4 Etape d’apprentissage, validation et test du modèle

Comme mentionné précédemment, notre algorithme d’apprentissage est basé sur


l’architecture LeNet-5. Cette architecture utilise un réseau de neurones convolutionnels
(ConvNet). Le réseau doit régler plusieurs hyper paramètres, notamment le nombre d’Epochs,
le nombre d’échantillons qui seront propagés sur le réseau (Batch-size), le taux d’appren-
tissage (learning rate), les couches de pooling et les couches dropout.

63
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

Pour l’apprentissage de notre modèle sur les images RGB, les hyper paramètres de réseaux
LeNet-5 ont été initialisés comme suit :

• Epochs : 50,

• Batch size : 200,

• Learning rate : 0.002,

• mu : 0,

• sigma : 0.1.

Avec ces paramètres, nous avons obtenu :

• Précision de l’ensemble de validation est égale à 0.933.

• Précision de l’ensemble de test est égale à 0.925.

Une réalisation de plusieurs test en adoptant d’autres valeurs est nécessaire pour amélio-
rer la précision du model. Le tableau 3.2 illustre les résultats que nous avons obtenus.

TABLEAU 3.2 – Variation des hyper paramètres du model LeNet-5

Epochs 50 50 60 20 100 50 50 50

Batch-size 200 200 100 200 200 100 200 300

Sigma 0.1 0.2 0.1 0.1 0.1 0.1 0.025 0.1

Rate 0.002 0.002 0.0009 0.002 0.002 0.002 0.002 0.002

Validation Accuracy 0.933 0.923 0.943 0.922 0.937 0.941 0.918 0.933

Test Accuracy 0.925 0.918 0.929 0.909 0.939 0.924 0.915 0.927

En variant les hyper paramètres, on remarque bien que ces derniers influent sur la
précision du model. La meilleure précision est obtenue en adoptant ces valeurs :

• Epochs : 60,

• Batch size : 100,

• Learning rate : 0.0009,

• mu : 0,

• sigma : 0.1.

64
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

Les machines d’apprentissages sont confrontées à plusieurs problèmes, citons par exemple
le problème de sur apprentissage. Pour cela, nous allons étudier l’influence de ce para-
mètre de régulation dite dropout. Ce facteur de Dropout se réfère à la suppression aléa-
toire et temporaire d’une unité, soit dans une couche cachée ou visible, et toutes ses
connexions entrantes et sortantes.
Pour ajouter cette technique, nous avons recours à la commande tf.nn.dropout(x, keep-
prob=0.5), puis nous avons répété la phase d’apprentissage avec plusieurs valeurs de dro-
pout. Le tableau 3.3 ci-dessous présente les résultats que nous avons trouvés.

TABLEAU 3.3 – Variation de dropout du model LeNet-5

Epochs 60 60 60 60

Batch-size 100 100 100 100

Sigma 0.1 0.1 0.1 0.1

Rate 0.0009 0.0009 0.0009 0.0009

Keep-prob 0.5 0.15 0.75 1

Validation Accuracy 0.942 0.942 0.943 0.932

Test Accuracy 0.932 0.925 0.935 0.923

Le meilleur niveau de précision de validation et de test est obtenu lorsque ce facteur


est égale à 0.75 et il atteigne le 94%.
Pour l’apprentissage de notre modèle sur les images en niveau de gris,nous avons entrée
notre basse de donné en niveau de gris. Nous avons constaté que cette étape de prétrai-
tement à un effet remarquable sur la précision du modèle. Elle converge vers 99% qui est
un taux d’apprentissage excellent.

65
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

TABLEAU 3.4 – Variation des hyper paramètres du model LeNet-5 avec des images en niveau de gris

Epochs 60 60 60 60 60 40 100

Batch-size 100 100 150 100 100 100 100

Sigma 0.1 0.1 0.1 0.1 0.1 0.1 0.1

Rate 0.0009 0.0009 0.0009 0.0005 0.001 0.001 0.0009

Keep-prob 0.75 0.5 0.5 0.5 0.5 0.5 0.5

Validation Accuracy 0.990 0.991 0.984 0.987 0.990 0.989 0.990

Test Accuracy 0.919 0.925 0.909 0.905 0.925 0.914 0.921

3.4.5 Etape de test sur des nouvelles images

La vérification de l’exactitude est déterminée à l’aide de signnames.csv. Ce fichier a un


mappage de l’identifiant de classe (0-42) au nom du signe correspondant. Nous pouvons
donc utiliser l’identifiant de classe des sorties du modèle, rechercher le nom dans sign-
names.csv et voir s’il correspond au signe de l’image.
Nous prenons alors quelques photos de panneaux de signalisation pour tester sur le mo-
dèle adopté. Le résultat obtenu est affiche dans la figure 3.18 suivante :

F IGURE 3.18 – Exemple d’images testés

Cette algorithmes d’apprentissage permet de reconnaitre ces images sans faute.


Les signes n’ont pas toujours une forme parfaite, certains peuvent être déchirés et cer-
tains sont inclinés,certains peuvent également être regroupés et la peinture sur les pan-
neaux se détériore avec le temps. Les couleurs sur le panneau routier peuvent disparaître
après une longue exposition au soleil, la peinture sur le signe peut même écailler ou dé-
coller(figure 3.19).

66
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

Les états d’éclairage est aussi un problème très difficile à limiter et à réglementer. La force
de la lumière dépend du moment de la journée et de la saison.

F IGURE 3.19 – Ensemble d’images de mauvais conditions

Pour cela nous avons redimensionné en 32x32 puis testé cet ensemble des images des
panneaux de mauvaises conditions (fané, mal-lumineux, inclinés et groupés. . . ) comme
montre la figure 3.20.

F IGURE 3.20 – Ensemble d’images de mauvais conditions testés

Malgré que ces images dans une mauvaises forme mais l’algorithme d’apprentissage
et de classification a classé correctement ces images.

3.5 Modèle proposé : LeNet-5 amélioré

Dans le but d’améliorer le taux de classification des images RGB, nous avons propo-
sée une nouvelle architecture qui est compose de deux couches de convolution et de cinq
couches d’entièrement connecté (fully connected) comme montre la figure 3.21.

67
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

L’image en entrée de taille 32×32x3 est d’abord filtré par une première couche de convo-
lution. Cette couche est composée de 10 filtres de taille 5x5. Les images filtrées passent
ensuite à travers une couche de pooling de taille 14x14x10 par la suite et encore une fois
une deuxième couche convolutive de 25 filtre de taille 5 et une couche de pooling 5x5x25.
Les connectiques obtenus est égale à 625.

F IGURE 3.21 – Architecture du modèle proposé

Le tableau 3.5 résume les caractéristiques de l’architecture du notre modèle proposé.

TABLEAU 3.5 – Récapitulatif de l’architecture LeNet-5 amélioré

Layer Feature Map Size Kernel Size Stride Activation

Input 1 32x32 - - Tanh

Convolution 10 28x28 5x5 1 Tanh

Pooling 10 14x14 2x2 2 Tanh

Convolution 25 10x10 5x5 1 Tanh

Pooling 25 5x5 2x2 2 Tanh

Flatten - 625 - - Tanh

FC - 525 - - Tanh

FC - 350 - - Tanh

FC - 200 - - Tanh

FC - 80 - - Tanh

FC - 43 - - Softmax

68
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

D’aprés le tableau 3.6, on constate que notre algorithme devient plus performant. En
effet, la précision sur les données de validation atteigne 99.5% et elle est égale à 94% sur les
données de test après 30 epochs. Par conséquence, le nombre total d’itérations démunies
puisque il est définit comme suit :

base de donnés
Nombre d’itération par epochs = . (3.7)
batchs size

Du coup, le temps écoulé pour achever la phase d’apprentissage et de classification dé-


muni d’une façon remarquable.

TABLEAU 3.6 – Comparaison du modèle proposé avec le modèle LeNet-5 classique

modèle Type d’image Précision de validation Précision de test

LeNet-5 classique RGB 0.943 0.935


Niveau de gris 0.991 0.925

LeNet-5 amélioré RGB 0.995 0.937


Niveau de gris 0.995 0.942

On remarque qu’en adoptant notre modèle LeNet-5 amélioré, nous avons obtenu un
taux de classification très performante sur les données de validation et un taux de clas-
sification acceptable sur les données de test. Notre but dans le paragraphe suivant est
d’adopter une autre solution dans la raison d’améliore la précision sur les données de
test. Nous allons utiliser le modèle de Les réseaux de neurones convolutifs (CNN) appelé
VGG-Net.

3.6 Modèl VGG-Net

Dans cette partie, nous présentons un algorithme de reconnaissance des panneaux


de signalisation routière basé sur le modèle VGG. Le modèle VGG présente deux caracté-
ristiques : la première est que les noyaux de convolution sont petits, la plupart des tailles
ont 3 × 3 et quelques-unes sont 1 × 1. L’opération de convolution est accompagnée d’une
fonction d’activation permettant d’identifier des caractéristiques plus abondantes ; le se-
cond est le petit noyau de pooling, comparé au noyau de pooling 3 × 3 d’AlexNet, VGG n’a
qu’un noyau de pooling de taille 2 × 2, ce qui rend les couches plus profondes, la carte
des fonctionnalités peut être plus large. Alors que le noyau de convolution se concentre

69
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

sur l’augmentation du nombre de canaux, le regroupement des couches se concentre sur


le rétrécissement de la largeur et de la hauteur, rendant la structure du modèle plus pro-
fonde et plus large, tandis que l’augmentation du volume de calcul ralentit.

F IGURE 3.22 – Architecture VGG-Net

VGG-16 est l’une des versions les plus classiques, comme le montre la figure 3.22,
conv1 et conv2, chacune contenant deux couches convolutives ; conv3, conv4 et conv5,
chacune contient 3 couches convolutives ; fc1, fc2 et fc3, chacun contient une couche
entièrement connectée ; le dernier est le calque de classification des caractéristiques de
l’image, qui compte 16 couches au total. Bien que l’effet VGG-16 soit meilleur, la conver-
gence est plus rapide, mais elle a aussi quelques inconvénients. Avec l’approfondissement
du niveau du modèle, les paramètres d’entraînement deviennent de plus en plus com-
plexes, cela prendra beaucoup de temps, ce que nous faisons est de résoudre ces pro-
blèmes.
L’architecture VGG-Net d’origine comporte de 16 à 19 couches, mais nous avons implé-
menté une version modifiée de seulement 12 couches pour économiser les ressources de
calcul.

70
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

L’organigramme représenté par la figure 3.23 illustre les étapes nécessaire pour ce
ConvNet :

F IGURE 3.23 – Architecture VGG-Net modifiée

Le tableau 3.2 résume les caractéristiques de l’architecture VGG-Net modifiée.

TABLEAU 3.7 – Récapitulatif de l’architecture VGG-Net modifiée

Layer Feature Map Size Kernel Size Stride Activation

Input 1 32x32 - - Tanh

Convolution 32 32x32 3x3 1 Tanh

Convolution 32 32x32 3x3 1 Tanh

Pooling 32 16x16 2x2 2 Tanh

Convolution 64 16x16 3x3 1 Tanh

Convolution 64 16x16 3x3 1 Tanh

Pooling 64 8x8 2x2 2 Tanh

Convolution 128 8x8 3x3 1 Tanh

Convolution 128 8x8 3x3 1 Tanh

Pooling 128 4x4 2x2 2 Tanh

Flatten - 2048 - - Tanh

FC - 128 - - Tanh

FC - 128 - - Tanh

FC - 43 - - Softmax

71
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

Comme montre la figure 3.24, l’implémentation de notre application par VGG-Net se


compose de trois grandes étapes nécessaires :

• Prétraitement de l’ensemble de données.

• Application de l’algorithme d’apprentissage du modèle adopté

• Validation et test du modèle.

F IGURE 3.24 – Etapes d’apprentissage et de classification basées sur le model VGG-Net

Nous avons pu atteindre un taux de reconnaissance très élevé. En effet le taux de valida-
tion atteint une valeur de 99.3% et la précision de test atteint une valeur de 97.6% après
un nombre réduit des époques. Nous pouvons observer que les modèles saturent après
10 époques, ce qui nous permet d’économiser les ressources de calcul et de réduire le
nombre d’itérations et par conséquence le temps de calcule.

3.7 Etude comparative avec SVM

Dans cette partie, Nous comparons nos résultats de la reconnaissance obtenus avec
l’approche «Deep learning » avec des résultats obtenus dans [Zaklouta, 2011] qui utilise
un algorithme d’apprentissage classique tel que SVM (Support Vector Machine).

72
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

TABLEAU 3.8 – Comparaison du performance de deep learning avec SVM

Technique Précision de classification

CNN (LeNet-5 amélioré) 99.5%

CNN (VGG modifiée) 99.3%

SVM (HOG) 90%

K-d tree) 80%

Random Forest 97%

D’après ce tableau, on remarque bien l’efficacité de nos modèles CNN proposées.

3.8 Conclusion

Dans ce chapitre, nous avons implanté un algorithme d’apprentissage profond basé


sur l’architecture LeNet-5 et l’architecture VGG-Net afin de classifier et reconnaitre les
panneaux routiers. ces architectures sont également améliorées pour répondre à nos exi-
gences en termes de précision.

73
CHAPITRE 3. RECONNAISSANCE DES SIGNES DE CIRCULATION PAR
APPRENTISSAGE PROFOND

74
Conclusion générale

La conduite assistée par ordinateur a pour objectif d’aider le conducteur à prendre les
bonnes décisions dans des circonstances difficiles (mauvaise vision, fatigue) pour mieux
pouvoir contrôler son véhicule et augmenter sa sécurité et la sécurité des autres conduc-
teurs. La vision artificielle constitue une approche prometteuse pour aborder le problème
susmentionné. Ce dans ce cadre s’intègre notre projet de master.
Le but de ce travail est de développer une méthode de détection et de reconnaissance de
panneaux routiers qui se base sur la vision par ordinateur. L’approche adoptée dans ce
travail est l’apprentissage en profondeur en se basant sur les réseaux de neurones convo-
lutionnels (CNN).
Dans le premier chapitre, nous avons effectué un état d’art sur les différentes méthodes
de classification qui exploitent les machines d’apprentissage automatique.
Dans le deuxième chapitre, nous avons expliqué l’approche « deep learning ». Nous avons,
également, présenté les modèles réelle utilisés dans la littérature. Ces modèles se basent
sur les CNNs.
Dans le troisième chapitre, nous avons détaillé les étapes et les outils que nous avons ex-
ploité pour développer notre système de détection et de reconnaisse des panneaux rou-
tiers.
Le model LeNet-5, developpé par Yann LeCun en 1998 et le model VGG-Net,developpé par
Krizhevsky, Sutskever et Hinton en 2012 sont également utilisés et améliorés. Des tests
effectués sur un ensemble d’images réelles du trafic routier montrent les performances
du notre approche adoptée. Notre model amélioré atteint une précision de 99.5% pour
LeNet-5 et 99.3% pour VGG-Net dans la classification des données de tests de la base de
donnée GTSRB disponible en ligne.
Comme perspectives, la puissance de calcul actuelle permet de construire et estimer de
très grands réseaux de neurones profonds jusqu’à des centaines de milliards paramètres.
La quantité de données d’apprentissage est cruciale pour estimer de tels réseaux. L’aug-
mentation de données est fondamentalement importante pour améliorer les performances
des réseaux, elle consiste à augmenter artificiellement la taille de la base de données
d’apprentissage en ajoutant des nouveaux exemples crées à partir de déformations des
exemples initiaux. L’objectif est que le réseau apprenne des descripteurs spécifiques aux
classes d’objets considérées plutôt que des artefacts d’images comme des différences

75
d’illuminations.
L’augmentation des données est une stratégie courante pour augmenter davantage la
taille de l’ensemble de formation et parvenir à une généralisation de modèle plus éle-
vée. Il consiste à créer de nouveaux exemples de formation synthétiques à partir de ceux
déjà disponibles, en appliquant des transformations préservant les étiquettes (aléatoires).
Dans notre cas, les transformations (aléatoires) sont échantillonnées à partir de tech-
niques standard d’augmentation de données (rotation à 90 degrés, retournement vertical
/ horizontal et transposition).

76
Bibliographie

[Alelyani, 2013] : Alelyani, Salem, Tang, Jiliang, and Liu, Huan. Feature selection for
clustering : A review. Data Clustering : Algorithms and Applications, 2013.

[Aly, 2004] : F.A. Aly and A.E. Alaa. Detection, categorization and recognition of road
signs for autonomous navigation. In Proceeding of Advanced Concepts for Intelligent Vi-
sion System, Brussels, Belgium, Aug 2004.

[Attouch, 2017] :M Attouch, A Laksaci, F Rafaa - Comptes Rendus Mathematique, ‘’ Es-


timation locale linéaire de la régression non paramétrique fonctionnelle par la méthode
des k plus proches voisins”2017.

[Basu, 2006] : Basu S., Bilenko M., Mooney R. J., « A probabilistic framework for semi-
supervised clustering », Proceedings of the tenth ACM SIGKDD international conference
on Knowledge discovery and data mining, ACM, p. 59-68, 2004.

[Boubacar, 2006] : Boubacar,H.A.(juin2006). Classification dynamique de donn´ees


non stationnaire apprentissage et suivi de classes ´evolutive. PhD thesis, Universit´e des
Sciences et technologies de Lille.

[BORGI, 2011] : BORGI A., AKDAG H. Supervised Learning and Approximate. 2001.

[Burges, 1998] : Burges, C. J. (1998). A tutorial on support vector machines for pattern
recognition, data mining and knowledge discovery. In vol 2, pp121–167.

[Bradski, 2005] : G. Bradski, A. Kaehler, and V. Pisarevsky, “Learning-based computer


vision with intel’s open source computer vision library.,” Intel Technology Journal, vol. 9,
no. 2, 2005.

[Benyahia, 2011] : S.benyahia (2011) : application de la classe d’apprentissage sta-


tistique SVM (support vector machine) pour la reconnaissance des formes dans l’image.
Université Abou Bakr Belkaid Tlemcen faculté des sciences Départemnet d’informatique
, juin (2011) http ://dspace.univ-tlemcen.dz/handle/112/2453.

[Chan, 1998] : P. K. Chan and S. J. Stolfo, “Toward scalable learning with non-uniform
class and cost distributions : A case study in credit card fraud detection.,” in KDD, vol.
1998, pp. 164–168, 1998.

[Chan, 1999] : P. K. Chan, W. Fan, A. L. Prodromidis, and S. J. Stolf, “Distributed Data


Mining in Credit Card Fraud Detection,” IEEE Intelligent Systems, pp. 67-74, November/December
1999.

77
[Chierchia, 2017] :Giovanni Chierchia, Afef Cherni, Emilie Chouzenoux, Jean-Christophe
Pesquet. Approche de Douglas Rachford aléatoire par blocs appliquée à la régression lo-
gistique parcimonieuse. GRETSI 2017, Sep 2017, Juan les Pins, France. pp.1-4, 2017, Actes
du 26e colloque GRETSI. <hal-01634525>

[Cireşan, 2012] : D. Cireşan, U. Meier, J. Masci, J. Schmidhuber, Multi-column deep


neural network for traffic sign classification, Neural Netw. 32 (2012) 333–338.

[Cleuziou, 2006] :Guillaume Cleuziou, Une méthode de classification non-supervisée


pour l’apprentissage de règles et la recherche d’information, 10 juillet 2006.

[Escalera 1997] : A. De La Escalera, L.E. Moreno, M.A. Salichs, J.M. Armingol, Road
traffic sign detection and classification, IEEE Trans. Ind. Electron. 44 (6) (1997) 848–859.

[François, 2017] :François De La Bourdonnaye, Thierry Chateau, Jochen Triesch, Cé-


line Teulière. Apprentissage par renforcement profond de la fixation binoculaire en utili-
sant de la détection d’anomalies. ORASIS 2017, Jun 2017, Colleville-sur-Mer, France. <hal-
01866766>.

[Garcia-Garrido, 2006] : M.A. Garcia-Garrido, M.A. Sotelo, E.Martm-Gorostiza, Fast


traffic sign detection and recognition under changing lighting conditions, in : 2006 IEEE
Intelligent Transportation Systems Conference, ITSC’06, IEEE, Toronto, ON, Canada, 2006,
pp. 811–816.

[GTSRB] : benchmark.ini.rub.de/ ?section=GTSRB subsection=dataset.

[llavata, 2004] : J. llavata, R. Ewerth, and B. Freisleben, “Text detection in images based
on unsupervised classification of high-frequency wavelet coefficients”, Pattern Recogni-
tion, 2004. ICPR 2004 . . . 1167 –1171.

[Kukar, 2001] : Kukar M., Estimating the reliability of classifications and cost sensitive
combining of different machine learning methods, PhD Thesis (in Slovene), University of
Ljubljana, Faculty of Computer and Information Science, Ljubljana, Slovenia, 2001.

[krose, 1993] : B Krose, P van der Smagt, P Smagt - 1993 - An introduction to neural
networks.

[Kononenko, 2001] : I. Kononenko, “Machine learning for medical diagnosis : his-


tory, state of the art and perspective,” Artificial Intelligence in medicine, vol. 23, no. 1,
pp. 89–109, 2001.

[Krizhevsky, 2012] : A. Krizhevsky, I. Sutskever, and G. E. Hinton, “Imagenet classifi-


cation with deep convolutional neural networks,” in Advances in neural information pro-
cessing systems, pp. 1097–1105, 2012.

78
[Li, 2000] : H. Li, D. Doermann and 0. Kia, “Automatic text detection and tracking in
digital video”, IEEE ’Ikans. on Image Processing, Vol9, No 1, 2000, pp147- 156.

[Loy, 2004] : G. Loy, N. Barnes, Fast shape-based road sign detection for adriver assis-
tance system, in : 2004 Proceedings of IEEE/RSJ International Conference on In- telligent
Robots and Systems (IROS 2004), vol. 1, IEEE, Sendai, Japan, 2004, pp. 70–75.

[LeCun, 1998] : Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner, “Gradient-based lear-


ning applied to document recognition,” Proceedings of the IEEE, vol. 86, no. 11, pp. 2278–2324,
1998.

[Malfante, 2017] : Marielle Malfante, Mauro Dalla Mura, Baptiste Boullay, Jean-Philippe
Métaxian, Jerome Mars. Apprentissage statistique : classification automatique de signaux
volcano-sismiques. XXVIème colloque GRETSI (GRETSI 2017), Sep 2017, Juan-Les-Pins,
France. 2017 - GRETSI - Actes de Colloque, 2017, Proceeding Actes de la conférence Gretsi
2017. <hal-01583748>

[Maldonado-Bascón, 2007] : S. Maldonado-Bascón, S. La fuente-Arroyo, P. Gil-Jimenez,


H. Gómez-Moreno, F. López-Ferreras, Road-sign detection and recognition based on sup-
port vector machines, IEEE Trans. Intell. Transp. Syst. 8 (2) (2007) 264–278.

[McCulloch, 1943] : McCulloch, Warren S et Walter Pitts (1943). A logical calculus of


the ideas immanent in nervous activity . Dans : The bulletin of mathematical biophysics
5.4, p. 115– 133 (cf. p. 57).

[Meunier, 2017] : François Meunier, Christophe Marsala, Laurent Castanié. 3DRESC-


TF : Apprentissage par transfert pour la réutilisation de connaissances en classification
d’objets 3D. Conférence Nationale sur les Applications Pratiques de l’Intelligence Arti-
ficielle, Jul 2017, Caen, France. Conférence Nationale sur les Applications Pratiques de
l’Intelligence Artificielle. <hal-01561517>

[Minsky, 1969] : M. Minsky and S. Papert, “Perceptrons.,” 1969.

[Miura, 2000] : J. Miura, T. Kanda, and Y. Shirai, "An active vision system for real-time
traffic sign recognition," presented at 2000 IEEE Intelligent Transportation Systems, Dear-
born, MI, USA, 2000.

[Nguyen, 1990] : D. Nguyen et B. Widrow. Improving the learning speed of 2-layer neu-
ral networks by choosing initial values of the adaptive weights. Dans International Joint
Conference on Neural Networks, pages 21–26 vol.3, June 1990.

[Paclik, 2000] : P. Paclik and J. Novovicova, "Road sign classification without color in-
formation," presented at Sixth Annual Conf. of the Advanced School for Computing and

79
Imaging, Lommel, Belgium, 2000.

[Ruta, 2010] : A. Ruta, Y. Li, X. Liu, Real-time traffic sign recognition from video by
class- specific discriminative features, Pattern Recognit. 43 (1) (2010) 416–430.

[Rumelhart, 1985] : D. E. Rumelhart, G. E. Hinton, and R. J. Williams, “Learning inter-


nal representations by error propagation,” tech. rep., DTIC Document, 1985.

[Russakovsky, 2015] : O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z.


Huang, A. Karpathy, A. Khosla, M. Bernstein, A. C. Berg, and L. Fei-Fei, “ImageNet Large
Scale Visual Recognition Challenge,” International Journal of Computer Vision (IJCV), vol.
115, no. 3, pp. 211–252, 2015.

[Sun 2014] : Z.-L. Sun, H. Wang, W.-S. Lau, G. Seet, D. Wang, Application of bw-elm
model on traffic sign recognition, Neurocomputing 128 (2014) 153–159.

[Szegedy, 2016] : C. Szegedy, S. Ioffe, V. Vanhoucke, and A. Alemi, ”Inception-v4, inception-


resnet and the impact of residual connections on learning,”arXiv preprint arXiv :1602.
07261, 2016.

[Vapnik, 1995] : v.vapnik 1995 : The Nature of Statistical Learning Theory. Springer-
Verlag, New York,USA , 1995.

[Vapnik, 1998] : Vapnik, V. (1998). Statistical learning theory. In Wiley, New York.

[Viola, 2001] : P. Viola and M.J Jones “Robust real-time object detection,” IEEE ICCV
Workshop on statistical and Computational Theories of Vision. Vancouver, Canada. July
13,2001

[Vitabile, 2002] : S. Vitabile, A. Gentile, and F. Sorbello, "A neural network based auto-
matic road sign recognizer," presented at The 2002 Inter. Joint Conf. on Neural Networks,
Honolulu, HI, USA, 2002.

[Vitabile, 2002] : S. Vitabile, A. Gentile, G. Dammone, and F. Sorbello, "Multi-layer per-


ceptron mapping on a SIMD architecture," presented at The 2002 IEEE Signal Processing
Society Workshop, 2002.

[Vitabile, 2001] : S. Vitabile, G. Pollaccia, G. Pilato, and F. Sorbello, "Road sign Recog-
nition using a dynamic pixel aggregation technique in the HSV color space," presented at
11th Inter. Conf. Image Analysis and Processing, Palermo, Italy, 2001.

[Yann, 1998] : L. Yann, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning


applied to document recognition. Proceedings of the IEEE, 86(11) :2278– 2324, 1998.

[Zaklouta. 2011] : Fatin Zaklouta. Multiclass object recognition for driving assistance
systems and video surveillance. Automatic. École Nationale Supérieure des Minesde Pa-

80
ris,2011. English. <NNT :2011ENMP0045>. <pastel-00657727>
[Zhao, 2016] : Wenzhi Zhao and Shihong Du ‘’Spectral–Spatial Feature Extraction for
Hyperspectral Image Classification : A Dimension Reduction and Deep Learning Approa-
ch” IEEE Transactions on Geoscience and Remote . . . , 2016.
[Zhang, 2016] : K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for image
recognition,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Re-
cognition, pp. 770–778, 2016.
[Zidi, 2007] : Zidi, S. (juillet 2007). SARR : Syst‘eme d’aide A la Régulation et la Recon-
figuration des Réseaux de transport multimodal. PhD thesis, Université des Sciences et
technologies de Lille.
[Zhang, 2016] : K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for image
recognition,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Re-
cognition, pp. 770–778, 2016.
[Zeiler, 2014] : M. D. Zeiler and R. Fergus, “Visualizing and understanding convolutio-
nal networks,” in European conference on computer vision, pp. 818–833, Springer, 2014.
[Z hou, 2016] : Y. Z hou, X. Bai, W. Liu, L. Latecki, Similarity fusion for visual tracking,
Int. J. Comput. Vis. (2016) 1–27, http ://dx.doi.org/10.1007/s11263-015-0879-9.

81

Вам также может понравиться