2020 Antoine D Acremont
2020 Antoine D Acremont
L’ENSTA B RETAGNE
É COLE D OCTORALE N O 601
Mathématiques et Sciences et Technologies
de l’Information et de la Communication
Spécialité : Signal, Image, Vision
Par
Antoine d’Acremont
Réseaux de neurones profonds pour la classification d’objets en ima-
gerie infrarouge : apports de l’apprentissage à partir de données
synthétiques et de la détection d’anomalies
Thèse présentée et soutenue à l’ENSTA Bretagne, le 7 décembre 2020
Unité de recherche : labSTICC
Composition du Jury :
Examinateurs : François ROUSSEAU Professeur, IMT Atlantique
Pierre BEAUSEROY Professeur des universités, Université de Technologie de
Troyes
Marie-Véronique SERFATY Resp. Innovation Pôle NUMérique, Agence Innovation Dé-
fense
Dir. de thèse : Alexandre BAUSSARD Professeur des universités, Université de Technologie de
Troyes
Ronan FABLET Professeur, IMT Atlantique
Encadr. de thèse : Guillaume QUIN Expert Technique, MBDA France
Invité(s) :
Thierry VALLAS Expérimentateur optronique, Section Technique de l’Armée de Terre
Remerciements
Avant de rentrer dans le vif du sujet, je tenais à réserver ces quelques lignes pour remercier tous
ceux sans qui cette thèse n’aurait pu avoir lieu. Pour commencer je voulais remercier mes deux
directeurs de thèse Alexandre et Ronan qui m’ont soutenu et suivi avec beaucoup de patience
tout au long de cette thèse et qui ont toujours trouvé le temps de m’aider, aussi bien sur le
plan technique et administratif que humain. Ce soutien a été d’autant plus important avec les
changements d’organisation et l’isolement liés à la situation sanitaire.
Merci aussi à Guillaume qui m’a suivi chez MBDA depuis mon arrivée qui m’a aidé à m’in-
tégrer au sein de l’entreprise et de l’équipe et soutenu personnellement et professionnellement
tout au long de mon passage au sein du service vision. Je souhaite aussi mentionner Lydiane et
Anne-Lise qui m’ont permis de faire cette thèse chez MBDA en m’intégrant comme un membre
à part entière de leurs équipes. Merci aussi aux autres membres anciens et actuels du service. Je
n’oublierai pas ces moments de partages de savoirs et ces discussions autour de la sacro-sainte
machine à café qui ont rythmé mes journées au Plessis-Robinson. Merci aussi au nageurs de
l’équipe, aux amateurs de soirées plaisantes et aux membres du CPNT dont les virées utopiques
ont fortement contribué au maintien du moral pendant ces trois années.
Un grand merci aussi aux rapporteurs pour leurs retours détaillés sur le manuscrit et aux
membres du jury pour avoir pris le temps de suivre ma soutenance dans un format assez atypique.
Je voulais aussi remercier ma famille qui m’a soutenu tout au long de cette thèse et sans qui
ces journées de confinement n’auraient sûrement pas été aussi agréables.
Enfin un grands merci à Chloé qui a réussi à me supporter jusque dans les dernières secondes
de cette aventure et qui a su faire preuve d’une grande patience et une grande douceur malgré
le stress et l’agitation des derniers préparatifs, perturbés par les événements de novembre.
iii
Table des matières
Remerciements iii
Introduction xvii
Introduction xix
v
vi TABLE DES MATIÈRES
Conclusion 117
Table des figures
ix
x TABLE DES FIGURES
4.1 Histogramme des scores Softmax obtenus pour les prédictions ŷ d’un cfCNN dans
les cas d’erreurs de classifications sur le jeu de données DR. . . . . . . . . . . . . 91
4.2 Principe du pré-traitement de l’entrée tel qu’utilisé dans [78] et [76]. . . . . . . . 94
4.3 Description simple du processus d’identification d’exemples anormaux. . . . . . . 95
4.4 Représentation visuelle du changement de distribution des sorties la couche f [n−1]
et de la couche Softmax d’un cfCNN pour des exemples réguliers et des anomalies. 96
4.5 Illustrations de kdist et rdist utilisées dans le calcul du LOF. . . . . . . . . . . . 97
4.6 Principe de l’approche globale pour l’utilisation du LOF. . . . . . . . . . . . . . . 99
4.7 Principe de l’approche par classe pour l’utilisation du LOF. . . . . . . . . . . . . 99
4.8 Principe simplifié du one-class-SVM. . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.9 Utilisation du 1-SVM pour la détection d’anomalies. . . . . . . . . . . . . . . . . 101
4.10 Exemples cannoniques utilisés dans C. . . . . . . . . . . . . . . . . . . . . . . . . 102
4.11 Exemples de fonds utilisés dans FS . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.12 Courbes ROC du LOF pour les différentes approches sur les ensembles combinées
VS , OS , FS et C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.13 Évolution de PRE et FPR en fonction du nombre d’éléments utilisés pour l’ap-
prentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.14 Présentation du détecteur en cascade ou CLOF. . . . . . . . . . . . . . . . . . . . 113
Liste des tableaux
3.1 Gains de performance relatifs en test pour les scores d’identification et reconnais-
sance de chaque architecture sur les images réelles (DR), par rapport à la même
architecture de référence entrainée uniquement sur TRS1. . . . . . . . . . . . . . 67
3.2 Gains de performance en identification et reconnaissance des modèles sélectionnés
sur les images réelles DR par rapport à un SVM avec descripteurs HOG entrainé
sur les mêmes jeux de données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.3 Détails de l’architecture proposée. . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.4 Moyenne du taux de classification correcte pour chaque groupe de véhicules selon
[119] et comparé au cfCNN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.5 Gains de performance relatifs en test pour les scores d’identification et reconnais-
sance de chaque architecture dont le cfCNN et sa version "fully-connected" sur
les images réelles (DR) par rapport à la même architecture de référence entrainée
uniquement sur TRS1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.6 Gains de performance en identification et reconnaissance des modèles sélectionnés
dont le cfCNN et sa version fully-connected sur les images réelles (DR) par rapport
à un SVM avec descripteurs HOG entrainé sur les mêmes jeux de données. . . . . 75
3.7 Nombre de paramètres approximatif et temps d’entrainement par lot des différents
modèles de CNN sur un GPU Nvidia Tesla P4. . . . . . . . . . . . . . . . . . . . 76
3.8 Performances relatives en identification par rapport aux résultats du cfCNN sur
DR après un entrainement sur TRS3. . . . . . . . . . . . . . . . . . . . . . . . . 78
xiii
xiv LISTE DES TABLEAUX
4.5 Résultats de détection d’anomalies sur les données MBDA du LOFg sur les en-
sembles combinées VM , OM , FM et C. . . . . . . . . . . . . . . . . . . . . . . . 109
4.6 Détails par type d’anomalie des taux de détection du LOFg . . . . . . . . . . . . . 110
4.7 Détails sur le découpage du jeu de données MBDA. . . . . . . . . . . . . . . . . . 111
4.8 Résultats de détection d’anomalies sur les données MBDA réelles, combinées aux
ensembles VM , OM , FM et C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.9 Détails par type d’anomalie des taux de détection du LOFg . . . . . . . . . . . . . 112
4.10 Résultats de détection d’anomalies sur les données MBDA réelles, combinées aux
ensembles VM , OM , FM et C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.11 Détails par type d’anomalie des taux de détection du LOFg . . . . . . . . . . . . . 114
Acronymes
xv
Introduction
xvii
Introduction
Contexte
La classification visuelle de véhicules, et plus généralement de toute cible d’intérêt tactique,
est une composante importante du renseignement militaire. Les techniques de classification des
équipements, véhicules et armements sont toujours enseignées à tous les niveaux dans les forces
armées. Classer précisément un équipement sur un champ de bataille après l’avoir détecté permet
de mieux appréhender la situation tactique et contribue fortement à améliorer les chances de
survie des personnels présents.
La classification de cibles est souvent divisée en deux étapes : reconnaissance et identification,
ou RI. Nous parlerons de reconnaissance lorsqu’il s’agira de classer les véhicules par leur type, i.e.
voiture, camion ou char d’assaut, et d’identification lorsque nous souhaitons donner le modèle
précis du véhicule. Ces deux tâches étaient historiquement traitées par des opérateurs humains et
nécessitaient des connaissances précises sur les différents éléments constitutifs des équipements à
identifier, comme le nombre de roues ou la position des différents armements. Reconnaitre mais
surtout identifier à l’œil nu ou avec une optique à fort grossissement nécessite de bonnes conditions
d’observation. De plus, la très grande majorité des cibles à classer peuvent être partiellement ou
totalement camouflées, rendant le processus encore plus compliqué. L’introduction de caméra
à intensification de lumière, puis de l’imagerie infrarouge a permis aux opérateurs chargés de
classer les cibles de travailler de nuit ou dans des conditions météorologiques dégradées.
Dans cette thèse, nous traiterons principalement de l’imagerie infrarouge ou imagerie IR.
Celle-ci permet de visualiser une partie du spectre électromagnétique correspondant à la chaleur
émise par un objet, ou rayonnement infrarouge. Tout objet dont la température est supérieure à
celle du zéro absolu émet dans l’IR. Ainsi il est possible d’observer les véhicules militaires grâce à
la chaleur émise par leurs équipements et leurs moteurs, et ce même de nuit. Contrairement aux
images visibles, en noir et blanc ou en couleur, les images infrarouges ont une dynamique plus
importante. Elles auront aussi une résolution plus faible que dans le visible à cause des limites
des technologies utilisées pour fabriquer des capteurs infrarouges.
Néanmoins, identifier ou reconnaitre un véhicule en IR ou dans le visible nécessite une grande
concentration de la part d’un opérateur humain. Cet opérateur peut être amené à surveiller une
zone de taille importante et traiter le plus rapidement possible une grande quantité d’informa-
xix
xx INTRODUCTION
tions. À cela viennent s’ajouter des conditions d’observation souvent difficiles. Un fantassin sera
parfois contraint de rester discret, voir immobile, dans des conditions de température et d’hu-
midité pénibles. Un observateur dans un véhicule devra aussi travailler dans un environnement
exigu et bruyant. De plus, ces observateurs doivent souvent travailler dans un état de fatigue
morale et physique. L’ensemble de ces éléments contribuent à rendre les tâches d’identification
et de reconnaissance difficiles pour un humain. On a donc cherché à automatiser ces tâches de
classification.
Les méthodes spécifiques à l’imagerie se basent sur des outils proches de ceux utilisés dans
le domaine visible. Elles se décomposent généralement en deux étapes : une étape d’extraction
automatique de caractéristiques dans les images suivie d’une étape de classification grâce à ces
caractéristiques. Le développement d’algorithmes de classification basés sur de l’apprentissage
supervisé a fortement contribué à améliorer les performances des systèmes automatiques de
classification en infrarouge. Les algorithmes d’apprentissage supervisé sont entrainés à effectuer
une tâche particulière, ici la classification, à l’aide de données annotées. Ce développement s’est
notamment accéléré ces dernières années avec le gain de popularité des réseaux de neurones et
plus particulièrement des réseaux de neurones convolutifs, ou CNN pour Convolutional Neural
Network, dédiés au traitement d’images.
Les CNN sont formés d’un enchainement de couches de neurones interconnectés, qui traitent
de façon simultanées les problèmes d’extraction de caractéristiques et de classification. Avec le dé-
veloppement du calcul numérique massivement parallélisé, ces CNN ont rapidement surpassé les
autres méthodes de classification d’images, notamment sur le défi ImageNet [32] qui comprends
plusieurs millions d’images réparties dans plus de 20000 classes. Le développement progressif
des réseaux de neurones, dont les CNN, a notamment mis en évidence le lien entre leurs perfor-
mances et la quantité de données utilisées pour les entrainer. Ainsi, il est nécessaire de disposer
d’un grand nombre d’images annotées pour pouvoir utiliser un CNN pour des problèmes de
classification d’image. Bien qu’il n’existe pas de règle formelle qui fixe le nombre exact d’images
nécessaires pour garantir un niveau de performance minimum pour un CNN, plusieurs observa-
tions empiriques ont mis en évidence le lien entre la complexité du problème de classification à
résoudre et la taille de la base d’image d’entrainement. Ainsi, plus le nombre de classes et leur
variabilité augmente, plus le nombre d’images annotées nécessaire sera important.
Il existe de nombreux domaines dans lesquels la communauté scientifique a mis gratuitement
à disposition des jeux de données annotés pour faciliter le développement des CNN comme
par exemple la conduite autonome. Cependant, cette abondance de ressources ne couvre pas le
domaine militaire, surtout pour l’infrarouge où le seul ensemble d’image de véhicule militaires
ne peut être acheté depuis quelques années que par des entités basées aux états-unis. En effet,
de telles données sont souvent protégées par des règles de confidentialité strictes pour préserver
leur valeur stratégique, quand elles ne sont pas tout simplement impossibles à obtenir.
De plus, pour entrainer un CNN, nous avons aussi besoin d’images qui représentent de la façon
la plus exhaustive possible les conditions rencontrées dans le contexte opérationnel. Cela implique
xxi
pas non plus de voir le réseau classer un nouveau véhicule ou un fond parmi l’une des classes
régulières. Nous n’avons donc pas choisi d’ajouter une classe "inconnue".
Par conséquent, le CNN est incapable de déterminer de lui-même si ce nouvel exemple est
différent de ceux qu’il connait. Dans le contexte militaire, une erreur de classification peur avoir
des conséquences désastreuses. Il est donc important de mettre en place des stratégies permettant
d’identifier ces erreurs de classification afin d’améliorer l’interprétation des résultats de classifi-
cation des réseaux de neurones et faciliter leur utilisation dans des applications avec de fortes
exigences de sécurité comme la reconnaissance et l’identification de véhicules militaires dans les
images infrarouges.
régulier en utilisant les sorties de la dernière couche cachée. Nous avons d’abord testé l’outil dans
un cas ou les données de test et d’entrainement appartiennent au même domaine i.e. réel-réel
ou simulé-simulé. Durant ce test, le détecteur a égalé des méthodes de détection d’anomalies
issues de l’état de l’art. Cependant, lors d’essais avec changement de domaine, i.e. simulé-réel,
ce détecteur ne permettait pas de détecter les anomalies et avait un taux de fausses alarmes trop
élevé. Nous avons donc introduit une version améliorée qui exploite un plus grand nombre de
sorties intermédiaires du réseau de neurones. Cette nouvelle approche a permis d’améliorer signi-
ficativement les performances. Il reste cependant un écart important par rapport aux résultats
obtenus sans changement de domaine.
Organisation du manuscrit
Le manuscrit est divisé en quatre chapitres :
• Le chapitre 1 présente l’état de l’art sur les réseaux de neurones et le principe de l’ap-
prentissage. Il présente ensuite les réseaux de neurones convolutifs, dédiés au traitement
d’image et la description d’un ensemble de solutions numériques permettant de faciliter
l’entrainement des réseaux de neurones. Enfin, ce chapitre se termine par une brève intro-
duction au principe du fine-tuning et de quelques un des défis posés par l’utilisation des
CNN pour la classification d’images. Nous ne couvrirons ici que les éléments nécessaires
à la compréhension des résultats des chapitres 3 et 4.
• Le chapitre 2 présente le principe de l’imagerie infrarouge et son utilisation pour les
tâches de DRI militaire. Nous commençons par présenter le rayonnement infrarouge et
les caméras thermiques qui permettent de l’observer. Nous présentons ensuite différents
exemples d’utilisation de l’imagerie infrarouge pour des applications civiles et militaires.
Puis nous introduisons les ensembles de données qui seront utilisés dans les chapitres
3 et 4. Nous terminons ce chapitre par la présentation des principaux problèmes liés à
l’utilisation de l’apprentissage profond pour des applications militaires, principalement
pour la RI en infrarouge.
• Le chapitre 3 sera consacré à notre première contribution, le cfCNN. Dans un premier
temps, nous adressons le cas de l’utilisation de modèles de CNN issus de l’état de l’art pour
la RI en infrarouge dans des images réelles après un entrainement sur données simulées.
Puis nous introduisons le cfCNN et ses performances sur des données infrarouges réelles
après avoir été entrainé sur des données simulées. Enfin, nous présentons une étude de la
robustesse du cfCNN face a des entrées perturbées.
• Le chapitre 4 se focalisera sur la détection d’anomalie de classification pour un CNN et la
présentation des deux outils utilisés. Dans un premier temps, nous traitons la détection
d’anomalies de classification dans un cas ou le CNN est entrainé et testé sur des données
simulées. Nous évaluons la réponse du détecteur face à de nouvelle classes, face à des images
de fonds sans cible ou face à des exemples adverses. Puis, dans un deuxième temps, nous
xxiv INTRODUCTION
traitons le cas ou le CNN est entrainé sur des données simulées et testé sur des données
réelles, et présentons notre approche basé sur une cascade de détecteur d’anomalies.
Chapitre 1
Ce chapitre à pour but de présenter les éléments théoriques de l’apprentissage profond qui
seront utilisés dans la suite du manuscrit. Nous avons regroupé ici de façon synthétique les
éléments clef qui permettront de comprendre les contributions de cette thèse.
Dans la section 1.1, nous nous intéresserons aux éléments de base qui constituent les réseaux
de neurones et la façon de les entrainer dans la section 1.2. Nous restreindrons nos explications
à l’application de ces réseaux aux problèmes de classification. Nous présenterons ensuite dans la
section 1.3 les réseaux de neurones convolutifs pour la classification d’images.
Dans la section 1.4 de ce chapitre, nous présenterons les méthodes permettant d’optimiser le
processus d’entrainement de ces réseaux de neurones. Nous présenterons ensuite dans la section
1.5 certaines limites des réseaux de neurones convolutifs avant de récapituler nos observations
dans la section 1.6.
1
2 CHAPITRE 1. RÉSEAUX DE NEURONES POUR LA CLASSIFICATION
f (x(t) )
1.1.2 Perceptron
L’origine des réseaux de neurones modernes se trouve dans le perceptron [91]. Cet algorithme
de classification, présenté en figure 1.2, peut se modéliser sous la forme d’une fonction de décision
f qui prends en entrée un vecteur, ou tenseur, x = [x1 , ..., xn ]> et dont la sortie sera un scalaire
ŷ dont la valeur servira à déterminer la classe d’appartenance de l’entrée x.
Cette fonction de décision f peut se décomposer en deux étapes :
• Une pré-activation a qui correspond à la combinaison linéaire de x avec un vecteur de
poids w = [w1 , ..., wn ]> , tel que a(x) = w> x.
• Une activation h qui prends en entrée la sortie de la pré-activation en lui ajoutant un
terme de biais b et dont la sortie correspondra à ŷ tel que ŷ = h(a(x)) = h(w> x + b).
Pour simplifier la notation nous désignerons par θ le vecteur des paramètres : θ = [b, w1 , ..., wn ]>
de manière a pouvoir écrire ŷ = f (x; θ) = h(a(x)) = h(w> x + b).
x1
×w1
xn ×wn θ
1
−1 si x≤0
Heavyside(x) = (1.1)
1 si x>0 −1
L’utilisation du perceptron est limitée à des problèmes de classifications binaires où l’une des
classe correspondra à ŷ = 0 et l’autre à ŷ = 1. De plus, le perceptron ne peut être utilisé que sur
des problèmes de classifications ou les variables d’entrées X sont linéairement séparables.
La forme du perceptron présente certaines similarités avec les cellules du cerveau humain,
ou neurones, et prennent donc par extension le nom de "neurones artificiels". En effet, comme
on peut le voir en comparant la figure 1.2 à la figure 1.4, les éléments du perceptron peuvent
dans une certaine mesure être assimilés à certains attributs des neurones biologiques : la couche
d’entrée par laquelle sont introduites les variables x peut s’assimiler aux dendrites, le corps du
perceptron au nucléus, et la sortie ŷ à l’axone.
Nucléus Axone
Dendrites
Comme pour les neurones du cerveau humain, la capacité du perceptron simple est limitée.
Cette capacité correspond à la variété de fonctions qu’un perceptron peut approximer. Il est
cependant possible de combiner plusieurs perceptrons entre eux pour traiter des problèmes plus
complexes.
4 CHAPITRE 1. RÉSEAUX DE NEURONES POUR LA CLASSIFICATION
x(t) f [2]
x1 f [1] h(W [2] x[1] )
y^
h(W [1] x) s(W [3] x[2] )
x2 ...
x3 W [1] ...
W [2] ... W [3] ...
... ...
x4 ...
Un MLP peut aussi être appelé réseau de neurones. Comme pour les perceptrons simples,
les MLP prennent en entrée un vecteur x(t) qui est transformé par les neurones des couches
intermédiaire, appelées couches cachées, jusqu’à la dernière couche dite couche de sortie. C’est
cette dernière couche qui servira à déterminer la classe de sortie de x(t) . Une couche cachée k ne
sera directement reliée qu’à la couche qui la précède et à la couche qui la suit dans le réseau. Les
sorties de la couche k − 1 seront les entrées de la couche k et les sorties de k seront les entrées
de k + 1. Enfin, dans chaque couche, les neurones fonctionnent comme le perceptron décrit dans
la figure 1.2. Chaque neurone d’une couche est donc connecté à l’ensemble des neurones de la
couche précédente par des liaisons pondérées par son vecteur de poids w et un terme de biais b.
Ce dernier est absent sur la figure 1.5 pour alléger la notation.
Ainsi pour un neurone quelconque dans une couche k du MLP nous pouvons exprimer sa
pré-activation comme étant :
exp xi
Softmax(xi ) = P
n (1.4)
exp xk
k=0
N
P
Cette fonction est strictement positive et Softmax(xi ) = 1.
i=0
Lorsqu’elle est appliquée aux problèmes de classification, cette fonction d’activation, rappelant
la régression logistique et le modèle LOGIT, permet de transformer les sorties des neurones de
la dernière couche en un vecteur dont chaque élément est contraint dans l’intervalle [0, 1].
On peut alors l’interpréter comme p(ŷ = c|x), soit la probabilité que l’entrée x du MLP
appartienne à la classe c. En regroupant l’ensemble des sorties de la dernière couche, on obtient
alors un vecteur regroupant l’ensemble des probabilités d’appartenance de x à l’une des nclasses
du problème :
f [n−1] (x(t) ) = [p(ŷ = 1|x), ..., p(ŷ = nclasses |x)]> (1.5)
L’intérêt du MLP réside dans sa capacité à pouvoir approximer n’importe quelle fonction
continue sur un sous ensemble compact de Rn avec seulement deux couches, une couche cachée
et une couche de sortie, possédant un nombre fini de neurones. Sa capacité est donc bien plus
importante que celle du perceptron. Il s’agit du théorème d’approximation universelle [26] [53]
6 CHAPITRE 1. RÉSEAUX DE NEURONES POUR LA CLASSIFICATION
[77]. A noter cependant que ce théorème n’est valable que si les activations des neurones de la
couche cachées respectent les conditions qui seront détaillées dans la section 1.4.2. Il est donc
théoriquement possible de modéliser une fonction de décision pour tout type de problème de
classification à l’aide d’un MLP. On parlera d’apprentissage profond ou Deep-learning pour les
modèles de réseaux de neurones possédant plus d’une couche cachée. De façon générale, on privi-
légiera les architectures profondes avec plusieurs couches cachée par rapport à des architectures
avec un faible nombre de couches cachées contenant un grand nombre de neurones [42, p. 198]
Avec :
1 X
J(x(t) , y (t) ; θ) = E(f (x(t) ; θ), y (t) ) (1.8)
Card(Xtrain ) t
L’idée de cette minimisation est d’utiliser une fonction de substitution, appelée fonction
fonction d’erreur E qui mesure l’écart entre la prédiction du réseau de neurones et le label
attendu sur les données d’entrainement. En minimisant J, nous minimisons donc E et agissons
sur f via θ pour faire tendre la prédiction ŷ de chaque x(t) de Xtrain vers le label connu y (t) .
Lorsque J atteint un minimum global, on suppose alors que f représente correctement la
relation entre les éléments de Xtrain et Ytrain . Nous supposons alors qu’elle peut être utilisée
pour classer de nouvelles entrées x 6∈ Xtrain . La minimisation de J est un procédé itératif dont
les détails seront présentés dans la section 1.2.2.
L’opération décrite dans l’équation 1.7 qui illustre le principe d’apprentissage n’affecte que
les valeurs de θ. Toute autre grandeur qui influe sur l’apprentissage sans être affectés par la
1.2. PRINCIPE DE L’APPRENTISSAGE 7
Une des façons de minimiser J couramment utilisée pour les réseaux de neurones est d’ef-
fectuer ce qu’on appelle une rétro-propagation de l’erreur. Un algorithme d’optimisation cou-
ramment utilisé pour la rétro propagation appliquée aux réseaux de neurones est la descente de
gradient ou GD [128].
Le but de la GD est de mettre à jour de façon itérative les poids du réseau en utilisant
le gradient de la fonction de coût J à partir des données d’entrainement Xtrain . Quand J est
évaluée sur des éléments de Xtrain nous l’appellerons Jtrain . Le déroulé de la GD est décrit dans
l’algoritme 1 et illustré dans la figure 1.6.
Le calcul du gradient est effectué pour l’ensemble des couples x(t) , y (t) disponibles à l’entrai-
nement. Un passage complet sur les données d’entrainement sera appelé époque. En pratique,
le nombre d’itérations de l’algorithme de la GD sera souvent appelé nombre d’époques. Il s’agit
d’un hyperparamètre.
Le coefficient est appelé taux d’apprentissage. Il détermine l’amplitude des étapes de la GD
et influe donc sur la vitesse de l’apprentissage. Il s’agit d’un hyperparamêtre fixé empiriquement
qui est généralement compris entre 1 et 10−6 [12]. Nous verrons dans la section 1.4.4 qu’il est
possible de faire varier ce taux au cours des itérations pour optimiser l’apprentissage.
Pour l’instant nous considérons simplement que chaque poids du vecteur θ est initialisé aléa-
toirement. Notons simplement qu’initialiser θ à 0 ne fonctionne pas car la valeur de ∇θ Jtrain
serait aussi nulle et l’algorithme de GD ne pourrais pas démarrer. Le choix de la distribution et
son impact sur l’apprentissage sera détaillée dans la section 1.4.3.
Nous pouvons voir pendant l’apprentissage que l’algorithme de la GD re-propage le résultat
de fonction de coût pour mettre à jour les poids du réseau. En soustrayant à chaque poids du
8 CHAPITRE 1. RÉSEAUX DE NEURONES POUR LA CLASSIFICATION
θ θ − ǫrθ J(θ)
Figure 1.6 – Principe de la rétro propagation pour l’entrainement des réseaux de neurones.
réseau la grandeur Jtrain (f (x(t) , θ), on fait tendre de façon itérative la valeur de la fonction
Jtrain vers un minimum.
J(θ)
θk
ǫrJ(θk )
θk+1
Jglobal (θ)
θ1
θ2
Intuitivement, et comme illustré dans la figure 1.7, cela revient à se déplacer sur la surface
que définit la fonction d’erreur dans l’espace de θ vers son minimum. Comme on utilise la
valeur négative du gradient, ou −∇θ Jtrain , calculé sur l’ensemble des exemples d’entrainement,
la direction du déplacement correspondra à la pente la plus forte sur la surface de Jtrain . Le
cas présenté ici est un cas simple avec θ = {θ1 , θ2 } et ou la fonction d’erreur ne présente qu’un
minimum global matérialisé par θideal dans la figure1.7.
Néanmoins, la surface Jtrain est rarement parfaitement convexe. Elle peut présenter des zones
particulières, présentées dans la figure 1.8 telles que les minimums locaux, évoqués précédemment,
mais aussi des points cols, ou des plateaux. Comme la GD progresse vers la pente la plus forte
l’apprentissage peut se retrouver entrainé vers une zone de Jtrain qui est loin du minimum global
et dont il est difficile voir impossible de s’extraire même en jouant sur le taux d’apprentissage .
1.2. PRINCIPE DE L’APPRENTISSAGE 9
Jlocal (θ)
θ1 θ1 Jglobal (θ) θ1
θ2 θ2 θ2
(a) Col. (b) Plateau. (c) Minimum local.
Figure 1.8 – Illustration des imperfections de la surface représentée par Jtrain simplifiée en
J(θ) ici.
Une alternative à la GD est d’utiliser une variante appelée descente de gradient stochastique,
ou SGD, décrite par l’algorithme 2. Contrairement à la descente de gradient standard, le gradient
nablaθ Jtrain est évalué sur un seul exemple d’entrainement et non sur la totalité de Xtrain . Par
conséquent, la direction emprunté par l’algorithme de la SGD varie à chaque itération et ne suis
pas la pente la plus forte. De plus, Jtrain est évalué pour un seul exemple et donc son aspect
change à chaque itération de SGD. Ces deux éléments donnent à la SGD un caractère aléatoire
qui peut lui permettre d’éviter les écueils décrits dans la figure 1.8 ou se sortir d’une zone de
Jtrain où la GD serait restée coincée.
Cependant, comme la SGD estime Jtrain sur un seul exemple d’entrainement, elle peut s’avé-
rer longue à converger vers une solution car il faut évaluer ∇θ Jtrain pour chaque exemple du jeu
de données Xtrain . Or, contrairement à la GD où le calcul de Etrain peut être parallélisé, la SGD
est un processus séquentiel.
Pour jeu de donnée avec un grand nombre d’exemples d’entrainement, on préférera utiliser
une descente de gradient par lots décrite dans par l’algorithme 3. L’approche par mini-lot est un
compromis entre la GD classique et sa variante stochasitque. La GD par lot permet de converger
vers une solution pour θ plus rapidement qu’avec une SGD en estimant le gradient sur un tirage
aléatoire d’éléments de Xtrain plutôt que sur un unique couple {x(t) , y (t) }. Le tirage des lots
est répété en sélectionnant des couples {x(t) , y (t) } différents pour couvrir l’ensemble de l’espace
d’apprentissage.
De plus, la GD par lot conserve en partie le caractère aléatoire de la SGD. Le gradient étant
calculé sur un sous ensemble de Xtrain , la direction de ∇θ Jtrain ainsi que l’allure de Jtrain
changera à chaque itération. Enfin, comme pour la GD, il est possible de calculer le gradient
pour chaque exemple d’un lot en parallèle ce qui peut accélérer le traitement numérique de la
descente de gradient par mini-lot si le matériel utilisé le permet.
définie autour du minimum global. Un autre point soulevé dans cet article est que cette zone
dans laquelle se trouvent les minimums locaux diminue lorsque la taille du réseau augmente. Il
y a donc une forte probabilité pour qu’en cas de convergence via une descente de gradient, le
minimum local atteint soit proche du minimum global.
Pour les réseaux de neurones appliqués aux problèmes de classification, l’usage est d’utiliser
une fonction q’erreur E qui utilise les sorties probabilistes s plutôt que la prédiction finale de la
classe. Il est plus difficile d’utiliser la prédiction finale ŷ discrète pour la descente de gradient.
Nous disposons alors d’un vecteur qui représente les distributions de probabilités d’appartenance
d’une entrée x à chacune des classes. Les classes étant supposées disjointes, y peut être interprété
comme une distribution de probabilité idéale avec p(y = c) = 1 et p(y) = 0 sinon.
Mesurer l’écart entre la prédiction du réseau de neurones et le label y pendant l’apprentissage
reviendra donc a comparer deux distributions de probabilités entre elles et faire tendre la prédic-
tion du modèle vers la distribution idéale correspondant au label. Il est donc d’usage d’utiliser
pour E l’entropie croisée qui pour deux distributions de probabilités p et q pour une variable
aléatoire X s’écrit :
H(p, q) = DKL (p k q) + H(p). (1.9)
Avec H(p) l’entropie de Shannon de la distribution p qui représente mesure la quantité d’infor-
mation contenue par la variable X lorsqu’elle suit la distribution p :
p
DKL (p k q) = Ep [− log ]. (1.11)
q
En combinant les équations 1.10 et 1.11 on peut simplifier l’équation 1.9 de la façon suivante
et en supposant que p et q sont discrètes, il est possible de simplifier l’expression de l’entropie
croisée :
p
H(p, q) = Ep [− log ] + Ep [− log p]
q
= Ep [− log q] + Ep [log p] + Ep [− log p]
= Ep [− log q] + Ep [log p] − Ep [log p] (1.12)
= Ep [− log q]
X
=− p(x) log q(x)
x∈X
12 CHAPITRE 1. RÉSEAUX DE NEURONES POUR LA CLASSIFICATION
En remplaçant dans l’équation 1.12 la distribution p par y (t) et q par s(x(t) ) on obtient l’expres-
sion finale de E :
E = H(y (t) , s(x(t) )) = −y (t) log s(x(t) ). (1.13)
J(θ)
Valid
Train
Itérations d'entrainement
Figure 1.9 – Tracé théorique idéal de l’évolution de Jtrain et Jvalid en fonction du nombre
d’itération d’apprentissage effectué.
l’apprentissage. Le sur apprentissage se manifeste par une fonction de coût Jtrain décroissante
pendant l’apprentissage mais un coût Jvalid qui stagne à sa valeur de départ ou ré-augmente
après avoir décru pendant quelques époques comme illustré dans la figure 1.10b.
Valid
Train
Valid
J(θ)
J(θ)
Train
Figure 1.10 – Tracé théorique pour les cas de sur-apprentissage et sous-apprentissage de l’évo-
lution de Jtrain et Jvalid en fonction du nombre d’itération d’apprentissage effectuées.
L’existence des deux phénomènes est directement lié à la quantité de paramêtres θ et donc
la capacité des réseaux de neurones que nous avons évoqué dans la section 1.1.3. Même si celle-
ci peut être presque illimitée en théorie, il faut pouvoir disposer des bons paramètres θ pour
approximer une fonction en particulier. Or, dans notre situation, ces paramètres θ sont déterminés
par apprentissage. La capacité réelle est donc dépendante du choix de l’algorithme d’optimisation,
qui elle-même dépend de la structure du réseau que nous cherchons à optimiser. Ainsi, la capacité
d’un réseau donné peut être insuffisante pour un problème donné et nous somme alors dans un
cas de sous-apprentissage. Pour le contrer, une première solution est d’augmenter le nombre
14 CHAPITRE 1. RÉSEAUX DE NEURONES POUR LA CLASSIFICATION
de petites images [28], ils sont difficilement utilisables sans descripteurs spécifiques en entrée du
réseau.
En effet, sans utiliser de descripteur en amont du réseau, l’image d’entrée sera simplement
étalée pour former un vecteur 1D. En procédant de la sorte nous ne conservons pas les relations
bi-dimensionelles entre les différents pixels de l’image [74]. Sans cette capacité, le réseau risque
de ne pas être capable de prendre en compte des éléments caractéristiques de l’images comme
les arrêtes, les textures ou les coins.
De plus, le nombre de paramètres nécessaires pour classer des images peut augmenter de
façon exponentielle. Pour une image de taille x × y en pixels avec b bandes, ou canaux, qui rentre
dans un MLP avec n neurones d’entrée, le nombre de paramètres pour cette couche sera de
(x × y × b × +1) × n en prenant en compte les biais de chaque neurone. Sachant que les couches
suivantes seront du même ordre de grandeur en termes de nombre de neurones, une augmentation
de la taille de l’image d’entrée entrainera une augmentation significative du nombre de paramètres
et donc la difficulté de faire converger ce modèle. Pour traiter des images à l’aide de réseaux de
réseaux de neurones, il faut donc modifier les premières couches, notamment la couche d’entrée.
Ces modifications doivent permettre de mieux prendre en compte les structures bi-dimensionelles
complexes dans l’image.
Operations de convolution
Sortie
Entree Sous-echantillonage
Comme nous pouvons le voir dans la figure 1.11, les premières couches de ces CNN com-
prennent un enchainement de couches appelées couches de convolutions. Des couches de sous-
16 CHAPITRE 1. RÉSEAUX DE NEURONES POUR LA CLASSIFICATION
échantillonnage son aussi insérées entre ces couches de convolution. Cette combinaison remplie le
même rôle que les descripteurs évoqués dans la section 1.3.1. Elles auront pour but d’extraire de
l’image des caractéristiques qui seront ensuite passées en entrée d’un MLP pour la classification
finale des images.
Entrée Sortie
C1 S2 C3 S4 FC5 FC6 O
Dimension : (6; 28; 28) (6; 14; 14) (16; 10; 10) (16; 5; 5) (120) (84) (10)
Le développement progressif des réseaux convolutifs pour les tâches de vision par ordinateur
peut être retracé jusqu’aux annés quatre-vingt-dix avec notamment les travaux de Yann LeCun
[74] et le réseau LeNet de la figure 1.12 dédié à la reconnaissance de caractères manuscrits. Il
comprends au total 7 couches cachées : deux couches de convolution, appelées ici C1 et C3, deux
couches de sous-échantillonnage, appelées S2 et S4 et deux couches denses, appelées FC5 et FC6,
combinées à une couche de sortie O pour former le MLP final.
Les performances de ces premiers réseaux convolutifs étaient limités par la puissance de calcul
des ordinateurs de l’époque, notamment pour traiter des problèmes avec un grand nombre de
classes ou des images de grande taille. Il faudra attendre 2012 avec l’arrivée de l’architecture de
réseau convolutif baptisée AlexNet [69] pour que ces réseaux convolutifs commencent réellement
à devenir la solution de référence pour les tâches de vison par ordinateur. Ce changement est
notamment dû à l’introduction d’implémentation fiables du mécanisme de rétro-propagation sur
des processeurs graphiques ou GPUs.
Ce constat est illustré par les résultats obtenus par AlexNet sur le défi Imagenet [32]. Cet
ensemble de données comprends 22 millions d’images réparties dans 15 milles classes environ,
dans sa version 2011. Les algorithmes testés sur cet ensemble sont généralement commparé via
leur erreur top-1, la classe prédite est exactement celle de l’exemple de test, et leur erreur top-5,
la classe attendue est dans les 5 classes ayant le meilleur scores en sortie du CNN. Krizhevsky et
al. indiquent ainsi un taux d’erreur de 37.5% pour le score dit top-1 et 17% pour le score top-5
[69].
À partir de des travaux sur LeNet et AlexNet, de nombreuses variantes de CNN ont vu
1.3. RÉSEAUX DE NEURONES CONVOLUTIFS 17
le jour. Ces nouveaux CNNs sont plus profonds comme VGGNet introduit par Simonyan et
Zisserman [108]. Avec l’augmentation du nombre de couches de convolution et de max-pooling,
les CNN sont capable d’extraire des caractéristiques de plus en plus complexes dans les images.
Cependant, la course à la profondeur s’est accompagné de l’apparition de nouvelles difficultés
pour faire converger des modèles de CNN qui comprennent toujours plus de paramètre et de
couches cachées. L’augmentation du nombre de couches et de paramètres entraine notamment
une augmentation du risque de sur-apprentissage décrit dans la section 1.2.4. Nous verrons dans
la section 1.4 quelques techniques pour faciliter la convergence de tels modèles.
De nouvelles formes de CNN ont aussi vu le jour pour essayer de faciliter le processus d’en-
trainement. Ces modèles s’affranchissent de l’enchainement classique de couches de convolution
et de sous échantillonage, présentés dans la figure 1.11 et introduisent chemins parallèles. Il s’agit
notamment des réseaux de la famille Inception [112] [114] [111] et ResNet [48] ou Densenet [38].
Ces modèles utilisent notamment des couches qui additionnent ou concatènent les sorties des
hautes couches pour former les entrées des couches plus profondes. A noter que ces modèles
utilisent aussi la méthode dite normalisation par lot ou batch-normalization [56] pour optimiser
leur processus d’apprentissage.
Des détails concernant ces architectures sont présentés dans l’annexe ??.
X y−1
x−1 X
C(i, j) = (I ∗ N )(i, j) = I(i − m, j − n) × N (m, n). (1.14)
m=0 n=0
Le déplacement de cette fenêtre est guidé par un pas fixé le plus souvent à 1 et matérialisé
par la flèche bleue foncée dans la figure 1.13. En se déplaçant sur l’ensemble de l’image on forme
donc une matrice 2D C résultant des additions-multiplications de N avec les éléments de I. Si
les bords de I sont complétés avec des pixels nuls via une opération de zero-padding alors la
dimension de C sera égale à celle de I.
L’utilisation de l’opération de convolution permet l’extraction de caractéristiques à un endroit
spécifique de l’image I. Chaque sortie C(i, j) correspond à la multiplication de N avec seulement
un voisinage de I(i, j) et non l’image entière. Il s’agit du principe de connectivité locale de
l’opération de convolution. De plus, le déplacement du noyau permet de répéter cette extraction
de façon similaire pour l’ensemble de l’image en conservant la référence. En effet, le noyau N
reste constant pendant l’opération de convolution. On parle alors de partage de paramètres. La
valeur d’un élément C(i, j) sera donc directement liée à la présence d’un élément ressemblant à
N au voisinage de I(i, j) comme illustré dans la figure 1.14. Contrairement au MLP avec des
18 CHAPITRE 1. RÉSEAUX DE NEURONES POUR LA CLASSIFICATION
Image I
avec zero-padding
Noyau N Sortie C
0 0 0 0 0 0 0
0 0 +1 +1 0
0 a b c 0 × -1 0 +1 P
0 d e f 0 +1 -1 0 C(2; 3)
0 g h i 0
0 0
0 0 0 0 0 0 0 C(2; 3) = a + b − d + f + g − h
couches de neurones dites denses, nous conservons dans C la relation spatiale entre les différents
pixels de l’image.
+1
−1
Figure 1.14 – Interprétation visuelle des noyaux de convolution.
Entrée I Sorties C
avec zero-padding Noyaux N
+1 +1 0
P
× -1 0 +1
+1 +1 0
façon à minimiser Jtrain . Les éléments constitutifs de cette couche sont présentés dans la figure
1.16. Nous reviendrons sur le choix de la non linéarité h dans la section 1.4.2.
Entrées I
avec zero-padding
Sorties C
Noyaux N
+1 +1 0
Activation
× -1 0 +1 P
+b h(a(I))
+1 +1 0
Pré-activation a(I)
Couche de convolution
Figure 1.16 – Principe de fonctionnement d’une couche de convolution.
1.3.4 Sous-échantillonnage
Le deuxième élément constitutif des CNN sont les couches de sous-échantillonnage. Cette
étape a deux effets : réduire la taille de l’entrée et augmenter l’invariance de la prédiction ŷ aux
translations de l’entrée [42, p. 340]. Cette robustesse est utile dans le cadre de la classification
20 CHAPITRE 1. RÉSEAUX DE NEURONES POUR LA CLASSIFICATION
d’image car elle aide les CNN à généraliser à de nouvelles entrées. La combinaison de couches
de convolutions et de couches de sous-échantillonnage permet de transiter d’information de bas
niveau, comme la texture ou les formes simples, vers des information de plus haut niveau moins
localisées au fur et à mesure de la progression dans le réseau.
Entrée Sortie
+1
−1
Dans les architectures de CNN, ce rôle est assuré par une opération de max-pooling. Une
couche de max-pooling, illustrée dans la figure 1.17, viendra sélectionner le maximum d’une
fenêtre glissante sur son entrée pour former la version sous-échantillonnée. Dans la majorité des
cas, la taille de la fenêtre est de 2 unités (ou 2 pixels) de coté, ce qui revient à diviser par deux
la taille de l’image en entrée.
Convolution 1x1
Avg.
pooling
... Softmax
Entree
La figure 1.18 présente ce type de réseau dans lequel les opérations de max-pooling sont
indiquées en rouge. Springerberg et al. ont aussi proposé d’utiliser des couches de convolution
avec un pas de 2 pour remplacer les couches de max-pooling sur l’ensemble de l’architecture. Le
1.4. SOLUTIONS NUMÉRIQUES POUR L’APPRENTISSAGE 21
choix entre une convolution à pas de 2 et les couches de max-pooling dépend de l’architecture et
du problème.
Sur ce réseau, les couches entièrement connectées ont été supprimées et remplacées par une
couche de convolution 1 × 1 avec un nombre de de noyaux correspondant au nombre de sorties
attendues. Nous obtenons ainsi un nombre de filtres égal au nombre de sorties sur lesquels on
vient calculer la moyenne des valeurs par filtre. Le vecteur de scalaires obtenu est passé dans
une couche Softmax pour obtenir le vecteur de probabilité d’appartenance à une classe finale.
Cette opération est appelée Global Average Pooling ou GAP et est illustrée dans la figure, 1.19.
Au-delà de simplifier le modèle et d’alléger le nombre de paramètres en substituant les couches
entièrement connectées par des opérations de convolution, le GAP améliorerait l’invariance des
réseau face aux transformations de l’entrée [109].
Dimensions :
l × h × nf iltres Dimensions :
l × h × nsorties
Dimensions :
1 × 1 × nsorties
P 1
× l×h Vers Softmax
1.4.1 Régularisation
Le terme de régularisation fait référence à l’ensemble des méthodes visant à favoriser la
réduction de Jvalid sans impacter Jtrain [42, p. 228].
Early-stopping
L’arrêt anticipé ou early-stopping est une solution simple pour éviter le sur-apprentissage. Le
principe est de suivre l’évolution de Jvalid et d’arrêter l’apprentissage au point où Jvalid recom-
22 CHAPITRE 1. RÉSEAUX DE NEURONES POUR LA CLASSIFICATION
mence à augmenter. L’arrêt s’effectue sans attendre que le modèle sur-apprenne si l’apprentissage
avait continué comme illustré dans la figure 1.20.
Train
Itérations d'entrainement
Pour arrêter l’apprentissage, nous conservons la valeur de Jvalid après chaque itération de
l’apprentissage et stoppons l’apprentissage si celle-ci augmente d’une itération à l’autre. En
pratique on pourra comparer chaque Jvalid à sa moyenne sur plusieurs itérations précédentes
pour éviter d’arrêter l’apprentissage trop tôt si Jvalid oscille pendant l’apprentissage. Cela peut
notamment arriver lorsqu’on utilise des lots de petite taille pour la descente de gradient par
mini-lots.
En pratiquant l’arrêt anticipé, nous libérons aussi l’utilisateur du choix de l’hyper-paramètre
niterations qui est donc déterminé par le mécanisme d’arrêt anticipé. Il est néanmoins utile de
garder une règle d’arrêt de l’entrainement en fonction du nombre d’itération dans les cas ou le
sur-apprentissage n’apparait qu’après un nombre d’itérations très élevé.
Régularisation L1 et L2
Une des formes de régularisation couramment utilisée pour optimiser l’apprentissage est de
pénaliser les poids du réseau. Cette pénalisation permet de limiter la complexité du modèle et
de réduire le risque de sur-apprentissage [14, p. 256].
Cela revient à ajouter un terme αΩ(θ) a l’équation 1.7 présentée dans la section 1.2.2 pour
pénaliser les poids du vecteur θ. L’équation 1.15 est le résultat de l’ajout de ce terme à la fonction
de coût. Le coefficient α permet de contrôler l’amplitude de la régularisation.
1X
arg min E(f (x(t) ; θ), y (t) ) + αΩ(θ) (1.15)
θ T t
Généralement les fonction de régularisation utilisées sont la régression Lasso [116] et la régres-
sion de Tikhonov, souvent appelées régularisation L1 ou la norme L2 respectivement. Le terme
1.4. SOLUTIONS NUMÉRIQUES POUR L’APPRENTISSAGE 23
et pour la régularisation L2 :
√
αΩ(θ) = α k θ k2 = α θ > θ. (1.17)
Même si les termes des équations 1.16 et 1.17 pénalisent tous deux θ, l’effet de ces deux
formes de régularisation sur l’apprentissage est différent. L’utilisation de la norme L2 aura pour
effet de réduire les poids dont la covariance avec l’entrée est faible, favorisant ainsi les poids qui
caractérisent aux mieux la variance du modèle. Cela permet de rendre la fonction de coût Jtrain
la plus convexe possible et facilite la recherche du minimum global.
Utiliser la norme L1 aura pour effet de créer un modèle parcimonieux en faisant tendre une
partie des poids du modèle vers zéro pour sélectionner uniquement une partie des neurones du
réseau dans la formulation de la réponse finale.
Drop-out
Le drop-out [110] est une autre forme de régularisation couramment utilisée, facile à utiliser et
permettant de réduire le risque de sur-apprentissage. Son principe, décrit dans la figure 1.21 est de
forcer à zéro la sortie de certains neurones choisi aléatoirement dans le réseau. Les neurones forcés
a zéro, ou éteints, changent à chaque itération. Le drop-out revient donc à entrainer plusieurs
sous-réseaux pendant l’apprentissage partageant les mêmes poids θ.
La fonction d’erreur restant inchangée, le drop-out peut être vu comme un moyen de s’assurer
que chaque neurone participe à la décision finale et que l’information qui voyage dans le modèle
ne favorise pas un unique chemin. Étant donné que certains neurones sont éteints pendant l’ap-
prentissage, il peut être nécessaire d’augmenter la taille du réseau que l’on cherche à régulariser
dans les cas où on utilise du drop-out.
24 CHAPITRE 1. RÉSEAUX DE NEURONES POUR LA CLASSIFICATION
Le drop-out peut être vu comme une forme de bagging [110]. L’utiliser pendant l’entrainement
reviendra a entrainer conjointement un ensemble de sous-réseau constitué des neurones non-
éteints. La réponse de chacun de ces sous-réseaux sera ensuite combinée pendant le test quand
l’ensemble des neurones du modèles seront "allumés". Selon Wager et al., le drop-out a aussi des
effets proches de la régularisation L2 [121].
En pratique, le drop-out reviendra à appliquer sur l’ensemble des couches cachées un masque
binaire où chaque neurone se verra attibuer une probabilité d’extinction. La valeur communément
utilisée pour cette probabilité, et suggérée par Strivastava et al., est de 0.5. Dans le cas des réseaux
convolutifs, cette valeur est généralement 0.3.
Propriétés de h
Dans les sections 1.1.2 et 1.1.3 nous avons évoqué la notion de fonction d’activation appelée h.
Deux d’entre elles ont été présentées : la fonction Softmax, généralement utilisée pour la couche
de sortie, et la fonction de Heavyside. Dans cette section, nous allons discuter des choix possibles
pour h, et ses effets sur le processus d’apprentissage.
Revenons d’abord sur la fonction de Heavyside. Comme nous l’avons vu dans la section 1.2.2,
la GD, la SGD et GD par lots nécéssite le calcul du gradient de la fonction d’erreur ∇θ Jtrain . Or
ce gradient dépend aussi des gradients des fonctions d’erreurs de chaque neurones ∇w h(w> x+b).
Or la fonction de Heavyside est constante sur l’ensemble de son espace de définition. Son gradient
est donc nul.
Pour pouvoir entrainer un réseau de neurones via une descente de gradient il faut donc
disposer d’une fonction h adaptée. Celle-ci doit être :
— Non-linéaire. En cas d’utilisation d’une fonction linéaire, les sorties du réseau ne pourront
être que des combinaisons linéaires de l’entrée. Il ne sera possible de classer que des entrées
linéairement séparables.
— Différentiable en tout point. Cette propriété est importante pour que la descente de gra-
dient puisse se dérouler convenablement.
— Monotone au sens large et croissante. Pour une seule couche, le choix d’une fonction
d’activation monotone croissante permet de s’assurer de la convexité du modèle et facilite
l’apprentissage. Dans le cas d’un MLP, la convexité n’est plus garantie. Une activation non
monotone peut être choisie mais le modèle de réseau obtenu sera plus difficile à entrainer.
— Équivalente à l’identité au voisinage de l’origine, i.e. h(x) ≈ x si x ≈ 0. Cette propriété
est liée au choix de l’initialisation des poids du réseau qui est généralement proche de 0.
Dans ce cas de figure la sortie du neurone sera directement proportionnelle aux entrées ce
qui peut aider le réseau à converger plus rapidement. Nous discuterons plus en détails de
l’initialisation des poids θ dans la section 1.4.3
1.4. SOLUTIONS NUMÉRIQUES POUR L’APPRENTISSAGE 25
Deux des premières formes de fonctions h utilisées dans les réseaux de neurones sont les
fonctions tangente hyperbolique tanh et Sigmoïde [7] [26]. Cette dernière est présentée dans
la figure 1.22 et est similaire avec la fonction tanh. Ces deux fonctions valident l’ensemble des
critères nécessaires pour une fonction d’activation. Elles présentent cependant un défaut majeur :
elles saturent aux extrémités de leur ensemble de définition i.e. vers +∞ et −∞. Sur ces deux
limites, la fonction Sigmoïde est tangente aux droites y = 1 et y = 0 et la fonction tanh est
tangente aux droites y = 1 et y = −1.
y=1
1
h(x) = (1.18)
1 + e−x
Par conséquent, pour un neurone quelconque avec une activation h de la forme Sigmoïde ou
tanh, si la pré-activation tend vers des valeurs positives ou négatives importantes, le gradient
qui en résulte sera faible et l’apprentissage sera fortement ralenti [129] [120].
Ces effets de saturation peuvent être partiellement compensés par l’ajout d’un terme de
régularisation [41][120]. Leur existence a néanmoins poussé la communauté de l’apprentissage
profond à se tourner vers d’autres fonctions d’activation.
Parmi les alternatives, la plus populaire est la fonction ReLU ou "Rectified Linear Unit" [93] :
0 si x ≤ 0
ReLU(x) = (1.19)
x si x > 0
Cette fonction répond à l’ensemble des critères sauf en x = 0 ou sa dérivée n’est pas définie.
∂ReLU(x=0)
En pratique on définira ∂x = 1 pour lever l’incertitude lors de la rétro propagation du
gradient pour un réseau qui utilise cette non-linéarité.
Elle présente deux avantages notables par rapport à une fonction comme tanh ou Sigmoïde :
un gradient constant qui simplifie le mécanisme de rétro-propagation et l’absence de saturation
pour des valeurs d’entrée x positives. Son utilisation dans des réseaux de neurones dédiés à la
26 CHAPITRE 1. RÉSEAUX DE NEURONES POUR LA CLASSIFICATION
classification d’images a montré une accélération importante de l’apprentissage par rapport aux
fonctions tanh ou Sigmoïde [69].
L’utilisation de la fonction ReLU permet aussi de combattre la disparition du gradient dans
les réseaux profonds. Ce phénomène qui touche surtout les réseaux de neurones dits récurrents
[52], que nous ne présenterons pas ici, peut aussi toucher les MLP.
En effet, choisir la fonction tanh ou Sigmoïde comme activation contraint la sortie des neu-
rones à rester dans l’intervalle [−1, 1] ou [0, 1] respectivement, et leurs dérivées diminuent en
amplitude vers +∞ et −∞. Pendant la rétro-propagation, les dérivées de chaque couche sont
multipliées en suivant le théorème de dérivation des fonction composées. Cela diminue peu à peu
l’intensité du gradient dans les réseaux profonds, ralentissant fortement l’entrainemen [47]. La
fonction ReLU étant non bornée pour des valeurs positives et son gradient constant, ce phéno-
mène est absent.
Cependant, la partie négative de la fonction ReLU a aussi une pente nulle. La valeur en sortie
de neurones ReLU sera donc toujours nulle dès que son entrée sera négative. Cela fera du réseau
de neurones concerné un modèle parcimonieux dons certains neurones vont s’éteindre pendant
l’apprentissage. Cela peut s’interpréter comme une forme de régularisation pour le modèle, et
donc comme un possible avantage pour la variance du modèle ou son interprétabilité [124].
En pratique, ce phénomène peut arriver trop tôt dans le mécanisme d’apprentissage et entrai-
ner ce qu’on appelle une mort prématurée des neurones. Causé par la rétro-propagation d’un fort
gradient au démarrage de l’apprentissage, la modification des poids du neurone peut basculer
l’entrée dans des valeurs négatives, produisant une sortie nulle pour ce neurone. Du fait de la
pente nulle de la fonction ReLU pour x < 0 ce neurone ne contribue plus à la sortie du modèle
[83].
L’utilisation d’une initialisation telle que proposée par He et al. [62] peut aussi aider à com-
battre cet effet de mort prématurée lors de l’apprentissage. Cette initialisation sera présentée
dans la section 1.4.3.
Pour réduire l’impact de la mort des neurones, il est possible d’utiliser des variantes de ReLU
comme la fonction Leaky ReLU [87] que nous noterons LReLU :
αx si x ≤ 0
LReLU(x) = (1.20)
x si x > 0
En ajoutant une pente α pour les valeurs négatives, le risque de mort prématurée est neu-
1.4. SOLUTIONS NUMÉRIQUES POUR L’APPRENTISSAGE 27
tralisé. De plus, cette fonction ne sature pas pour les valeurs négatives ce qui la rend robuste au
risque de disparition de gradient.
L fonction LReLU garde aussi une dérivée constante sur l’ensemble de son domaine de défini-
tion en appliquant l’astuce utilisée pour ReLU en zéro. Elle bénéficie donc du gain en simplicité
et vitesse de calcul du gradient de ReLU tout en étant plus performante [126]. Le coefficient α
est fixé avant l’apprentissage comme tout autre hyper-paramètre. Ce coefficient peut être aussi
appris en même temps que θ lors de l’entrainement. On parlera alors de Parametric ReLU ou
PReLU [49].
Parmi les variantes de ReLU les plus populaires nous pouvons aussi citer la Scaled Exponential
Linear Unit ou SELU, souvent abrégée en Exponential Linear Unit ou ELU [24] :
α(exp(x) − 1) si x≤0
ELU(x) = (1.21)
x si x>0
y = −α
La fonction ELU autorise les valeurs légèrement négatives mais peut toujours saturer si celles-
ci sont trop importantes. Il s’agit d’un équilibre entre le problème posé par la mort d’un nombre
trop important de neurones ReLU tout en autorisant un minimum de parcimonie dans les cas
extrêmes.
Une première forme d’initialisation dite de Xavier [125] peut être utilisée. Pour une couche k
à m entrées et n sorties : r r !
6 6
W [k] ∼ U − , (1.22)
m+n m+n
L’initialisation de Xavier permet de conserver une variance constante pour les poids et les
gradients, mêmes pour les couches profondes, d’un réseau et donc de contrôler le phénomène d’ex-
plosion des gradients. Cette initialisation est parfaitement adaptée pour l’utilisation de fonction
d’activations symétrique comme la fonction tanh ou Sigmoïde.
Pour des réseaux profonds utilisant des fonctions d’activation non-symétriques, comme la
fonction ReLU et ses variantes, l’initialisation Xavier ne garantit pas la convergence du modèle.
A cet effet, He et al. ont introduit une nouvelle façon d’initialiser θ [62]
r !
2
W [k] ∼ N 0, (1.23)
m
Cette forme d’initialisation est donc à privilégier dès que nous souhaitons entrainer des réseaux
profonds utilisant des activations ReLU.
ici uniquement à Adam [67], étant donné qu’il s’agit de l’algorithme que nous avons utilisé
pour entrainer les modèles présentés dans le chapitre 3. Pour plus d’information sur RMSprop,
Adagrad, Adadelta ainsi que des variantes de ces algorithmes se référer à leurs articles respectifs
ou le chapitre 8.5 et 8.6 du Deep Learning Book [42].
Adam est décrit dans l’algorithme 4. Contrairement aux algorithmes de GD et GD par mini-
lots, la mise à jour de θ se fait par le biais de deux moments m1 et m2 calculés à partir du
gradient de l’erreur sur un lot ∇lot . De façon simplifiée, l’ajout de ces deux moments, pondérés par
l’évolution de s, permet d’accélérer l’apprentissage dans les directions qui favorisent la diminution
de Jtrain .
Aussi, la mise à jour de θ ne dépend pas seulement du choix de mais de l’évolution de ∇lot et
des paramètres ρ1 et ρ2 qui viennent moduler le taux d’apprentissage en fonction de l’évolution
de Jtrain pendant les itérations qui précèdent.
Bien que choisir Adam comme algorithme d’optimisation implique d’ajouter deux hyper-
paramètres supplémentaires, il s’agit d’un algorithme robuste vis-à-vis du choix de ces hyper-
paramètres. Cela en fait un algorithme populaire pour l’optimisation des réseaux de neurones
modernes.
30 CHAPITRE 1. RÉSEAUX DE NEURONES POUR LA CLASSIFICATION
Normalisation
La préparation des données d’entrainement aide aussi à optimiser l’apprentissage [42, p. 455].
Parmi les pratiques couramment utilisées, il y a le centrage de la moyenne. Comme son nom
l’indique, il s’agit de soustraire à chaque entrée x(t) de Xtrain sa moyenne.
Cette étape de centrage est souvent combinée à une normalisation des entrées x(t) dans
l’intervalle [0, 1] via l’opération suivante :
(t)
(t) xi − min(x(t) )
xi = (1.24)
max(x(t) ) − min(x(t) )
Augmentation de données
Une autre pratique couramment employée pour la préparation de Xtrain est l’augmentation
de données [42, p. 240] [14, p. 265]. Il s’agit simplement de compléter Xtrain en lui ajoutant des
variantes transformées de lui-même.
Cette pratique est surtout utilisée dans le cas de la classification d’images avec les CNN décrits
dans la section 1.3. En effet, il est facile d’ajouter des nouveaux exemples d’entrainement à partir
d’images transformées de Xtrain par des rotations, des translations ou l’extraction de zones d’une
image. Ces transformations sont applicables tant qu’elles ne dénaturent pas l’entrée ou qu’elles
risquent d’introduire un biais. Ainsi, pour un problème de classification d’images où l’orienta-
tion de l’image est importante, on évitera d’utiliser certaines rotations pour l’augmentation de
données.
L’augmentation de données est surtout utilisée au même titre que la régularisation. Augmenter
Xtrain ne permettra pas de compléter un manque de données d’entrainement, mais cela aidera
un modèle à généraliser et à prévenir l’apparition de sur-apprentissage tel que décrit dans la
section 1.2.4.
classe A1
classe A2
...
Domaine A
Classifieur d'origine
classe B1
classe B2
...
Domaine B
Couche : 1 K N
classe B1
classe B2
...
Domaine B
données plus conséquent pour le domaine B. Dans les situations les plus extrêmes la totalité des
couches transférées pourront être ré-entrainées. On parle alors de full-model fine tuning.
Lors de la phase d’entrainement sur le domaine B, on choisira généralement un taux d’ap-
prentissage faible pour conserver les caractéristiques apprises par les couches transférées.
Les réseaux de neurones, et plus particulièrement les CNN, sont devenus incontournables pour
les problèmes de classification. Cependant malgré leurs bonnes performances, il est possible de
créer des entrées particulières qui peuvent modifier fortement la réponse du réseau. Les méthodes
qui permettent de générer ces exemples sont regroupées sous le terme d’attaque adverse.
Le fonctionnement d’une attaque adverse est présenté dans la figure 1.28.
Sortie nominale
Char
Attaquant Char
Voiture
...
Sortie perturbée
Génération de l'exemple adverse
Une attaque adverse se manifestera sous la forme d’une perturbation, souvent invisible à
l’oeil nu, qui peut ressembler visuellement à un bruit aléatoire comme illustré dans la figure 1.28.
Cette perturbation est ajouté aux entrées du réseau et vient perturber sa prédiction. Elle est
créée à partir des informations dont l’attaquant dispose sur le réseau comme sa structure, ses
paramètres ou ses sorties.
On qualifiera l’attaque de White-box si l’attaquant dispose de connaissances précises sur
le modèle, notamment ses paramètres et les données d’entrainement. Les attaques White-box
peuvent donc se baser sur la rétro-propagation, comme pour la Fast Gradient Sign Method [43],
ou sur un processus d’optimisation [113] [20].
À l’inverse, l’attaque sera qualifiée de Black-box si l’attaquant n’a pas accès à la structure du
modèle, ses poids θ ou ses gradients. Dans cette situation un attaquant n’aura accès qu’au flux
d’entrée et aux sorties du modèle comme sources d’informations. Dans cette famille d’attaques
nous pouvons y trouver des attaques utilisant des modèles de substitution [99] ou l’estimation des
gradients du modèle attaqué [21]. Sous certaines conditions, il est aussi possible de générer des
attaques transférables [81] ou universelles [104], ce qui augmente encore le risque de rencontrer
des exemples adverses pour des systèmes sensibles.
Au-delà d’avoir pointé du doigt l’existence de vulnérabilités, l’étude des attaques peut ap-
porter des informations sur la propagation de l’information dans les réseaux de neurones. Ainsi,
les exemples adverses pourrait s’interpréter comme une manifestation de la tendance des réseaux
de neurones à baser leur réponse sur des caractéristiques non-robustes [55]. Leur étude pourrait
apporter des précisions sur les représentations des données d’entrées X par le réseau, ainsi que
des indices pour améliorer leur robustesse.
Après avoir présenté les réseaux de neurones et le mécanisme d’apprentissage, nous nous
sommes intéressé aux réseaux de neurones dédiés à la classification d’image, les CNN. Ces réseaux
de neurones combinent un MLP avec en entrée un enchainement de couches de convolution et de
sous-échantillonnage plus adaptés au traitement des images que les couches de neurones des MLP.
Nous avons aussi introduit les réseaux de neurones entièrement convolutifs, qui se composent
uniquement de couches de convolution et de sous-échantillonnage.
Puis, nous avons présenté plusieurs méthodes permettant d’optimiser l’apprentissage pour
réduire le risque de sur-apprentissage. Nous avons notamment introduit les notions de Drop-out
et l’algorithme Adam qui seront utilisés dans la suite du manuscrit.
Enfin, nous avons terminé ce chapitre en présentant quelques difficulté supplémentaires pour
l’entrainement des CNN ainsi que certaines de leurs limites. Nous avons notamment présenté la
notion de fine-tuning, qui permet de faciliter l’entrainement des CNN avec peu de données, et
le risque présenté par les exemples adverses. Cette présentation, bien que succincte, facilitera la
compréhension des choix présentés dans les chapitre 3 et 4.
Chapitre 2
Contents
1.1 Réseaux de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Définition du problème de classification . . . . . . . . . . . . . . . . . 1
1.1.2 Perceptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.3 Perceptron multi-couches . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Principe de l’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.1 Objectif et hyperparamètres . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2 Apprentissage par rétro-propagation . . . . . . . . . . . . . . . . . . . 7
1.2.3 Choix de la fonction d’erreur . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.4 Sur-apprentissage et sous-apprentissage . . . . . . . . . . . . . . . . . 12
1.3 Réseaux de neurones convolutifs . . . . . . . . . . . . . . . . . . . . 14
1.3.1 Limite du MLP simple pour la classification d’image . . . . . . . . . . 14
1.3.2 Structure des CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.3 L’opération de convolution . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.4 Sous-échantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3.5 Réseaux entièrement convolutifs . . . . . . . . . . . . . . . . . . . . . 20
1.4 Solutions numériques pour l’apprentissage . . . . . . . . . . . . . . 21
1.4.1 Régularisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.2 Choix de la fonction d’activation . . . . . . . . . . . . . . . . . . . . . 24
1.4.3 Initialisation des poids . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.4.4 Adaptation du taux d’apprentissage . . . . . . . . . . . . . . . . . . . 28
37
38 CHAPITRE 2. IMAGERIE INFRAROUGE POUR LA CLASSIFICATION
Après avoir présenté dans le chapitre 1 les réseaux de neurones et plus particulièrement les
réseaux de neurones convolutifs, nous allons ici nous concentrer sur le principe de l’imagerie
infrarouge et son utilisation dans le domaine de la défense.
La section 2.1 se concentrera sur le principe de l’imagerie infrarouge et son utilisation pour
des applications civiles. Il s’agira d’une présentation succincte qui ne couvrira qu’une partie des
effets physiques et des interactions à l’origine du rayonnement infrarouge. La section 2.2 sera
consacrée à l’utilisation de l’infrarouge dans un contexte militaire. Puis, dans la section 2.3, nous
présentons les jeux de données d’images infrarouges qui seront utilisés dans les chapitres 3 et 4.
Enfin, nous présentons dans la section 2.4 les principaux enjeux de la classification de cibles en
infrarouge.
2hc2 1
L◦Ω,λ (λ, T ) = × hc . (2.1)
λ5 exp λkB T
−1
2.1. VISION PAR ORDINATEUR EN IMAGERIE INFRAROUGE 39
Absorption atmosphérique
Objet
Environnement
rayonnement des autres sources présentes dans la scène et les réflexions ou diffusions de ces
rayonnements dans l’environnement. Ainsi, deux objets à la même température mais avec des
émissivités différentes apparaitrons comme ayant des températures différentes. De même, deux
objets ayant des émissivités et des températures différentes peuvent avoir la même température
apparente. Comme pour la lumière visible, ce rayonnement peut être mesuré à l’aide d’une caméra
spécifique appelée simplement caméra thermique ou caméra infrarouge.
Le fonctionnement d’une caméra thermique est proche de celui d’une caméra fonctionnant
dans le visible. La structure simplifiée du dispositif est décrit dans la figure 2.3.
Capteur
Optique
Figure 2.3 – Description simplifiée d’une caméra thermique.
2.1. VISION PAR ORDINATEUR EN IMAGERIE INFRAROUGE 41
• Capteurs refroidis, ou IR-R, présenté dans la figure 2.4a : Ils sont constitués de matrices de
petits éléments, ou pixels, faits de trois couches. La première couche est une couche sensible
aux photons du rayonnement thermique qui convertit les photons reçus en électrons. La
dernière couche est un transistor de type CCD, pour Charge-Coupled Device, ou CMOS
pour Complementary Metal Oxide Semi-conductor, qui convertira un flux d’électrons en
un signal électrique qui correspondra à la réponse du pixel. La deuxième couche sera un
pont conducteur qui relie la couche sensible et le capteur. Elle est généralement constituée
de billes d’indium. Du fait de la sensibilité de la matrice du pixel, le capteur est placé sous
vide pour éviter toute perturbation lié à la convection et il est refroidi pour éviter que
l’agitation thermique ambiante masque le signal reçu. Le principal défaut des capteurs
refroidis vient de l’encombrement et la consommation supplémentaire liée au système de
refroidissement.
• Capteurs non-refroidis, ou IR-NR, présenté dans la figure 2.4b : Ils sont constitués de
pixels faits de structures de silicium monolithique appelés micros-bolomètres dont la ré-
sistance électrique varie en fonction du rayonnement thermique reçu. Ces capteurs sont
moins sensibles à l’agitation thermique ambiante et ont seulement besoins d’être placés
sous vide pour limiter les perturbations liées à la convection. Les capteurs non-refroidis
sont généralement moins encombrants et moins coûteux à produire que les versions avec
refroidissement. Cependant, ils sont limités en résolution et la qualité de l’image qu’ils
produisent peut se dégrader au fur et à mesure de l’utilisation du fait de l’échauffement
progressif du capteur.
En général, les capteurs IR-R sont utilisés pour des applications en bande 2, ou MWIR, et
les capteurs IR-NR sont utilisés pour les applications en bande 3, ou LWIR. Ces pixels refroidis
ou non-refroidis sont ensuite couplés à un circuit de lecture qui formera l’image brute en sortie
du capteur. Cette image est souvent perturbée par un bruit causé par l’environnement et les
différents éléments de la caméra comme l’optique, le filtre ou le capteur. Une série de traitements
est alors appliqué sur l’image pour corriger certaines de ces perturbations, notamment celles
causées par les éléments de la caméra. Après ces traitements, nous obtenons une image en niveaux
de gris, généralement codée sur un minimum de 14 bits. Des exemples d’images infrarouges sont
présentés dans la figure 2.5.
42 CHAPITRE 2. IMAGERIE INFRAROUGE POUR LA CLASSIFICATION
Rayonnement IR Rayonnement IR
Thermomètre
Couche sensible
Ω Mesure de résistance
électrique
Courant
Bille d'Indium
Réflecteur
Capteur CCD/CMOS
Système de refroidissement
(a) Capteur refroidi (b) Capteur non-refroidi
Au niveau de chaque pixel, la luminance reçue est convertie par la caméra qui intègre cette
luminance sur le spectre du rayonnement IR auquel il est sensible. La valeur finale en niveau
de gris dépendra des paramètres de la caméra, notamment de son gain. La grandeur codée dans
l’image finale ne correspond donc pas à une grandeur physique directement. Elle représente une
multitude de contributions en plus du rayonnement apparent de la scène. La caméra IR devra
donc être calibrée en laboratoire pour déterminer la relation entre la valeur numérique de la scène
et le rayonnement reçu si nous souhaitons l’utiliser pour mesurer un rayonnement apparent. Cette
calibration est réalisée à l’aide d’un dispositif dont le rayonnement se rapproche de celui d’un
corps noir pour pouvoir faire le lien entre la valeur numérique des pixels et une température
apparente.
(a) Exemple du jeu de données SENSIAC (b) Exemple du jeu de données FLIR ADAS
Figure 2.5 – Exemples d’images infrarouges obtenues à l’aide de caméras thermiques. Ces
images sont disponibles dans les jeux de données SENSIAC [90] et FLIR ADAS [36]
2.2. APPLICATIONS MILITAIRES DE LA CLASSIFICATION EN INFRAROUGE 43
L’imagerie infrarouge est souvent associée au monde de la défense dans l’imagination collec-
tive, non sans raison. Son utilisation militaire s’est développée pendant la guerre du Vietnam ou
les premiers systèmes dits FLIR pour Forward Looking Infrared sont venu compléter les radars
et les capteurs optiques des avions de combat des États-Unis. L’identification active était faite à
l’aide de leur radar embarqué. L’identification passive et à longue distance était effectuée à l’aide
de caméras fonctionnant dans le domaine visible combinées à des optiques à fort grossissement.
Avec l’introduction de l’imagerie infrarouge, ces systèmes pouvaient désormais permettre le suivi
de cibles de jour comme de nuit et au travers de la brume ou de la fumée.
Grâce à ses capacités, l’imagerie infrarouge s’est imposée comme un outil indispensable pour
les applications militaires. D’abord limitées au véhicules de taille importante compte tenu de
l’encombrement et de la consommation électrique de ces systèmes, les évolutions technologiques
44 CHAPITRE 2. IMAGERIE INFRAROUGE POUR LA CLASSIFICATION
successives ont permis de les utiliser sur une large gamme d’équipements, allant du porte-avion
aux lunettes pour fantassin à pied, en passant par les satellites d’observation.
La figure 2.6 présente quelques modes d’intégration de caméras thermiques, montées dans des
boules optroniques, sur nacelle pour avions ou sur hélicoptère. La caméra thermique est souvent
couplée à une voie optique ou d’autres capteurs comme un télémètre laser dans un seul et même
appareil.
Montée sur un véhicule ou portée par un fantassin, une caméra thermique aura plusieurs
rôles. Elle pourra être utilisée pour le renseignement, la surveillance de zone, la désignation et
le suivi de cibles ou le guidage du tir. Généralement, pour les applications sol-sol ou air-sol,
les dispositifs d’acquisition utilisés utiliserons les bandes MWIR et LWIR du spectre infrarouge
présenté dans la figure 2.1. Les dispositifs sol-ail utiliserons plutôt la bande IR 1.
Par rapport aux systèmes d’imagerie fonctionnant dans le domaine visible ou les dispositifs
d’intensification de lumière, une caméra thermique présente quelques avantages supplémentaires.
Un fantassin camouflé dans le visible, dans un feuillage par exemple, sera plus facilement dé-
tectable dans une image via la chaleur émise par son corps. De la même façon, les véhicules en
fonctionnement apparaitront de façon très contrastée sur une image infrarouge à cause de leurs
équipements électriques ou leurs moteurs. Ces éléments constituent la signature d’un véhicule
et aident à le repérer dans les images infrarouges. En combinant un capteur thermique avec
des optiques adaptés, il sera possible pour un fantassin ou un équipage de char d’observer en
permanence le champ de bataille.
1. Sources pour les images : figure 2.6a (CC BY-SA 3.0), figures 2.6b 2.6c A. d’Acremont
2.2. APPLICATIONS MILITAIRES DE LA CLASSIFICATION EN INFRAROUGE 45
Grâce à leurs capacités, les caméras infrarouges sont fréquemment utilisées pour les tâches
de Détection-Reconaissance-Identification, ou DRI. Présenté dans la figure 2.7, la DRI désigne
l’ensemble des opérations nécessaires à la détection et la classification de cibles dans l’infrarouge
ou d’autres formes d’images.
Détection
Position de la cible x; y
Reconaissance
Char d'assaut
Problèmes de
Classification
Identification
T-72
Image source
Automatisation de la DRI
Historiquement cette tache a toujours été effectué par un opérateur humain. Avec le déve-
loppement des traitements numériques des images et l’introduction d’algorithmes de détection
ou de classification automatiques, les fonctions de DRI ont pu commencer à être automatisées
46 CHAPITRE 2. IMAGERIE INFRAROUGE POUR LA CLASSIFICATION
Max-pool. 2×2
Max-pool. 2×2
Max-pool. 2×2
Conv. 3 ×3
Conv. 3 ×3
Conv. 3 ×3
Conv. 3 ×3
Conv. 3 ×3
Dense 256
Dense 6
Entrée Softmax
Nous présentons dans cette section les principaux jeux de données utilisés dans les chapitres
suivants. Pour des raisons de confidentialité, nous ne montrerons pas d’images infrarouges réelles
ou simulées issues des jeux de données mis à disposition par MBDA.
2.3. JEUX DE DONNÉES POUR LA DRI MILITAIRE 47
Logiciel Oktal SE
SE Physical Editor
Images
Création de la
réelles,
signature IR
mesures
et du modèle
physiques, 3D SE Scenario
modèles
3D...
Génération
de scène
SE Atmosphere
Images synthétiques
Générations
conditions at-
Données météo mosphériques Modèle du capteur
de transmis-
sion
Figure 2.9 – Présentation simplifiée des éléments de OKTAL SE utilisés pour générer des images
infrarouges.
Les bases de données peuvent contenir jusqu’à huit cibles différentes dont les références dans
le domaine visible sont illustrées dans la figure 2.10 et les labels associés sont présentés dans le
tableau 2.1. Elles sont réparties en trois ensembles d’un niveau de réalisme croissant :
DS1 : Le premier jeu de données simulées contient uniquement des signatures basiques réali-
sés à partir de modèles 3D simples. Les points chauds sont des polygones simples de valeur
aléatoires et le contraste de la scène peut sembler irréaliste. Par conséquent le réalisme de
ces images est assez limité avec des valeurs de températures peu précises. Dans ce jeu de
données six véhicules sont présents : m1, m2, c1, c2, c3 et t1. Il y a au total 17280 images
soit 2880 images par véhicule.
DS2 : Ce jeu de données est un peu plus réaliste avec des modèles 3D plus fins et des
signatures thermiques basées sur des prises de vues réelles. L’aspect global des véhicules
est donc plus proche de la réalité. Par rapport au DS1, les huit véhicules de la figure 2.10
sont présents avec un total de 23040 images soit toujours 2880 images par cible.
DS3 : Le dernier jeu de données simulées est similaire au jeu DS2 en terme de structure, de
cibles présentes et de nombre d’images. Cependant, les images générées ont été re-calibrées
par rapport à des signatures réelles faisant d’elle les images les plus proches de la réalité
dont nous disposons pour les expériences.
48 CHAPITRE 2. IMAGERIE INFRAROUGE POUR LA CLASSIFICATION
Classe Reco Identification label Img. DS1 Img. DS2 Img. DS3
AMX 30B2 m1 2880 2880 2880
Chars
AMX 10RC m2 2880 2880 2880
VAB c1 2880 2880 2880
Voitures PVP c2 2880 2880 2880
VBL c3 2880 2880 2880
TRM10000 t1 2880 2880 2880
Camions GBC180 t2 N/A 2880 2880
TRM2000 t3 N/A 2880 2880
Nombre d’images au total 17280 23040 23040
De façon générale, il n’y a qu’une seule cible par image. Il peut cependant y avoir de légers
masquages dus au terrain, aux arbres ou aux herbes hautes par exemple. Pour les données
simulées, les véhicules sont présentés à partir de points de vue et des conditions météorologiques
variés, avec différentes orientations et positions, ainsi que des états variés parmi lesquels on peut
citer : véhicule à froid, véhicule statique et moteur allumé, et véhicule en roulement. Chaque image
est accompagnée de méta-données contenant résumant l’ensemble des paramètres de l’images
comme la météo, la position du véhicule, son type et son état thermique. Elles contiennent aussi
la boite englobante du véhicule dans l’image.
La base de données SENSIAC [90] est une base de séquences d’images visibles et infrarouges,
dans la bande MWIR, de véhicules civils et militaires qui évoluent en cercles sur un champ de
manœuvre. Il y a au total 10 véhicules différents dans ces séquences.
Parmi les véhicules qui composent ce jeu de données, nous en sélectionnons huit. Leur appa-
rence en optique et en IR sont présenté dans les figures 2.11 et 2.12. Les séquences sont prises
à différentes distances qui s’échelonnent tous les 500 mètres, entre 1000 et 5000 mètres. Pour
chaque véhicule et chaque distance deux séquences vidéos sont disponibles, une prise de jour et
une prise de nuit, pour un total de 3200 images par véhicule et par distance. Le détail complet
des cibles sélectionnées dans l’ensemble est donné dans le tableau 2.2.
Comme pour les images simulées MBDA, les images de ces séquences ont une dimension
2. Sources pour les images : figure 2.10a (CC BY-SA 2.0 FR) figure 2.10b (CC BY-SA 4.0) figure 2.10f (CC
BY-SA 2.0 FR) figure 2.10h (CC BY-SA 2.0 FR) , figures 2.10c 2.10d 2.10e 2.10g domaine public (CC0 1.0)
2.3. JEUX DE DONNÉES POUR LA DRI MILITAIRE 49
Figure 2.10 – Exemples de véhicules présents dans le jeu de données MBDA et utilisé comme
références pour les images simulées 2 .
Figure 2.11 – Exemples de véhicules présents dans le dataset SENSIAC dans le domaine visible.
50 CHAPITRE 2. IMAGERIE INFRAROUGE POUR LA CLASSIFICATION
de 640×512 pixels. Elles sont en niveau de gris et codées sur 14 bits. Toutes ces séquences sont
accompagnées de méta-données qui incluent notamment la position du centre la cible dans l’image
ainsi que son orientation relative au plan de la caméra.
Au-delà de représenter un exemple réaliste d’images infrarouges militaires, les cible sont aussi
pertinentes pour faire une première évaluation des algorithmes de DRI. En effet, mis à part le
pick-up et le SUV, l’ensemble de ces véhicules sont des véhicules militaires de fabrication russe
datant de la guerre froide. Ils ont été exportés en grande quantité dans différents pays du monde
et sont encore utilisés par les forces armées de certains de ces pays.
Cependant, le jeu de données présente quelques limites. Pour commencer, il n’y a que deux
météo différentes pour l’ensemble des véhicules : jour et nuit. Ces véhicules ne sont capturés
qu’en déplacement. De fait, cela limite le nombre de variantes de signatures thermiques inclus
dans le jeu de données pour un véhicule.
Données MBDA
En complément des données MBDA simulées, nous disposons aussi d’images MWIR acquises
dans le cadre d’essais par les équipes de MBDA. Ce jeu de données comprend six véhicules sur
les huit présentés dans la section 2.3.1. Les véhicules c2 et t2 étaient absents lors de la campagne
d’essai. Le détail de ce jeu de données, que nous appelerons DR, est disponible dans le tableau
2.3.
Les images ont été capturées avec une caméra infrarouge avec une résolution de 640×512 sur
2.3. JEUX DE DONNÉES POUR LA DRI MILITAIRE 51
14bits. Comme pour le jeu de données SENSIAC, cet ensemble comprends des images prises de
jour et de nuit pour un nombre limité de conditions météorologiques différentes. Les trajets des
véhicules sont cependant plus variés. L’ensemble des éléments du jeu de données DR a été annoté
manuellement. Nous disposons donc pour chaque image de la position et des dimensions exactes
de la boite englobante pour chaque cible. Comme pour les images simulées, il peut y avoir de
légers masquages.
coefficient de 1.1 permet de s’assurer que la totalité de la cible est présente dans le carré même
dans les cas où la boîte englobante n’est pas parfaitement centrée sur la cible. Cette imagette est
ensuite re-dimensionnée à 128 × 128.
1:1 × dx
128
dy
dx
Nouvelle entrée
Imagette extraite
Image source
Figure 2.13 – Méthode de création des images utilisées dans la suite du manuscrit.
Pour les ensembles DS1, DS2 et DS3, trois sous-ensembles de test contenant 4096 images
de validation sélectionnées aléatoirement sont créés. Ils seront nommés respectivement TVS1,
TVS2, et TVS3. Les images restantes serviront à former trois jeux d’images d’entrainements
nommés respectivement TRS1, TRS2 et TRS3. Ces trois ensembles contiennent respectivement
17280, 23040 et 23040 images. Les images réelles de DR n’étant utilisées que pour tester des
algorithmes, L’ensemble DR ne sera pas découpé. La méthode ci-dessus sera utilisé pour toutes
les images de DR pour former un ensemble d’imagettes réelles centrées sur chaque cible pour
lequel nous conserverons l’appellation DR.
Nous procéderons de façon similaire pour le jeu de données SENSIAC. Cependant, contrai-
rement aux données MBDA, nous ne disposons que de la position du centre de la cible. Pour
générer les imagettes, nous avons donc découpé à partir de l’image d’origine des carrés centrés
sur la cible dont la dimension correspondait à 1.1 fois la dimension maximale en pixels de la cible
dans la séquence.
Enfin la profondeur d’origine des images de simulation et réelles de 14bits a été convertie en
float32. Seule une normalisation simple entre le maximum et le minimum de l’image et l’intervalle
[0, 1] a été effectuée.
riques. Les contextes d’utilisations peuvent varier fortement, allant de l’environnement désertique
aux steppes enneigées ce qui impose des exigences supplémentaires pour les systèmes utilisant
l’imagerie infrarouge. Ces perturbations vont en effet affecter la transmission du rayonnement
infrarouge vers le capteur et modifier la signature de la cible.
De plus, l’achat et la distribution des caméra thermiques est réglementé en France par l’article
R311-2 du code de la sécurité intérieure, et en Europe par le règlement de la commission euro-
péenne no 428/2009. Certains dispositifs d’acquisition IR peuvent être ainsi catégorisés comme
du matériel militaire. Cela rend difficile l’acquisition de caméras thermiques par les acteurs aca-
démiques surtout pour des dispositifs dont la résolution ou la fréquence d’image se rapproche de
celles de dispositifs militaires.
À cela s’ajoute le fait que les conditions d’observation sont rarement optimales. Les véhicules
et objets à détecter vont chercher à rester masqués le plus possible et éviter les zones dégagées,
privilégiant les obstacles et les couverts pour se camoufler. Il sera difficile de prévoir l’aspect et la
position des véhicules et objets à détecter contrairement, au cas de la conduite autonome ou de
l’observation aérienne et spatiale [60]. Dans ces contextes les véhicules a détecter sont observés
dans des orientations prévisibles.
Aussi, la signature infrarouge des véhicules à détecter est souvent confidentielle et difficile
à obtenir. Cela pose un problème pour développer des algorithmes basés sur l’apprentissage
machine car cela limite la capacité de créer des jeux de données suffisamment importants. De
plus, pour un véhicule donné il existe de nombreuses variantes, chacune ayant un aspect visuel
différent. Par exemple, le T-72 présenté dans la figure 2.11 existe en quatre évolutions (T72,
T72A, T72B, T72BM). De même, le VAB, présenté dans la figure 2.10 existe lui en plus de 50
versions différentes. Trois d’entre elles sont présentées dans la figures 2.14.
Sur ces 50 variantes, une majorité sont proches visuellement, mais certaines présentent des
équipements supplémentaires qui modifient fortement leur silhouette comme illustré dans la
figure 2.14. Et ce décompte n’inclut pas les différents camouflages ou même les modifications
que des équipages peuvent apporter à leur véhicule et en font de ce fait un modèle unique. Au
delà d’affecter l’aspect du véhicule dans le domaine visible, la combinaison de ces éléments peut
fortement influencer la signature infrarouge de chaque véhicule.
54 CHAPITRE 2. IMAGERIE INFRAROUGE POUR LA CLASSIFICATION
Enfin, il faut aussi noter la difficulté d’interpréter les réponses d’un réseau de neurones et l’ab-
sence de méthodes de validation formelle pour les CNN. Il existe bien des méthodes permettant
d’interpréter la réponse d’un modèle en analysant visuellement ses paramètres [136], mais elles
sont le plus souvent utilisées pour suivre l’apprentissage ou pour diagnostiquer la cause d’une
erreur à posteriori. Pour faciliter l’adoption des CNN ils faut donc être en mesure de renforcer
la confiance des utilisateurs. À cet effet, il serait intéressant de mettre en place des stratégies
permettant d’avertir un utilisateur lors de situations ou la réponse du CNN pour les tâches de
DRI est en dehors de son domaine d’utilisation.
Contents
2.1 Vision par ordinateur en imagerie Infrarouge . . . . . . . . . . . . 38
2.1.1 Principe de l’imagerie infrarouge . . . . . . . . . . . . . . . . . . . . . 38
2.1.2 Applications civiles de la thermographie . . . . . . . . . . . . . . . . . 43
2.2 Applications militaires de la classification en infrarouge . . . . . . 43
2.2.1 Domaine d’utilisation et contexte d’emploi . . . . . . . . . . . . . . . . 43
2.2.2 Méthodes de classification pour l’imagerie infrarouge militaire . . . . . 45
2.3 Jeux de données pour la DRI militaire . . . . . . . . . . . . . . . . 46
2.3.1 Images simulées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.3.2 Images réelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.3.3 Préparation des données . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.4 Défis de l’apprentissage profond pour le contexte militaire . . . . 52
2.5 Conclusions du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . 54
Dans ce chapitre, nous considérons que nous utilisons une chaine de traitement modulaire.
Celle-ci est constituée de plusieurs étages qui réalisent les opérations d’acquisition, de détection
des cibles potentielles, de reconnaissance et d’identification. Les fonctions d’acquisition et de dé-
tection ne seront pas étudiées ici. Nous supposons que l’étage de détection fournit aux modules
de reconnaissance et d’identification une image contenant une cible plus ou moins centrée. Ce
travail se focalise sur les fonctions de reconnaissance et d’identification à l’aide de CNNs. Nous
considérons ici que ces deux taches sont effectuées simultanément. Étant donné le contexte mi-
55
56 CHAPITRE 3. NOUVEAU CNN POUR LE TRANSFERT D’APPRENTISSAGE
litaire, nous souhaitons étudier la possibilité d’entrainer un réseau à l’aide d’images de synthèse
uniquement et de le tester sur des images réelles.
Dans un premier temps, nous présenterons dans la section 3.1 les détails et les motivations de
notre approche. Puis nous illustrerons dans la section 3.2 les limites des architectures issues de la
littérature pour le transfert de la simulation vers le réel. Nous introduirons ensuite l’architecture
que nous proposons, le cfCNN, dans la section 3.3. Ce modèle sera comparé a des modèles issus
de la littérature sur le transfert de la simulation vers le réel dans la section 3.4. Enfin, nous
présenterons une étude de la robustesse du cfCNN et des modèles introduits dans la section 3.2
sur des images simulant des erreurs de l’étage de détection avant de conclure dans la section 3.6.
Label Reco.
Char
Label Ident.
Scène T-72
Système de D.R.I
Figure 3.1 – Schéma simplifié d’une chaine d’acquisition et de traitement pour la DRI.
Le rôle du système d’acquisition est de fournir les images qui serviront d’entrée au système de
DRI. Il est généralement rempli par une caméra infrarouge telle que décrit dans la section 2.1.1.
L’image en sortie du système d’acquisition a déjà subi quelques pré-traitements, notamment pour
3.1. CONTEXTE ET MÉTHODES EXISTANTES 57
corriger les déformations liés à l’optique de la caméra ou le bruit spatial fixe de son capteur. Cette
image est ensuite envoyée vers le système de DRI.
Les fonctions de DRI sont généralement remplies par des sous-systèmes différents. La détec-
tion est traitée en premier pour fournir aux sous-systèmes de RI les zones de l’image présentant
les cibles potentielles. Dans l’idéal, les sorties de l’étage de détection seront des images avec une
cible parfaitement centrée.
Après la détection, viennent ensuite les fonctions de reconnaissance et d’identification. Ces
deux fonctions étant des problèmes de classification, elles peuvent être remplies par le même sous-
système avec deux réglages de sensibilité et de précision : Un réglage fin pour l’identification et
un réglage plus permissif pour la reconnaissance. Séparer les différentes fonction du système
d’acquisition permet de faciliter la validation de la chaine complète. Chaque module peut être
réglé et testé séparément. Un module peut être aussi remplacé facilement, sans avoir à modifier
les autres éléments de la chaine complète.
Ici nous traiterons les problème de la RI uniquement. Comme il s’agit de problèmes de
classification d’images, il est possible d’utiliser des CNN. Cependant, les CNN nécessitent de
disposer de suffisamment de données pour les entrainer. Or, comme nous l’avons évoqué dans la
section 2.4, il est plus difficile de constituer des bases de données annotées exhaustives dans un
contexte militaire que pour des applications civiles, surtout en imagerie infrarouge.
Voiture
Vélo
...
Classifieur d'origine
Char d'assaut
APC
...
utilisé pour le réglage fin ou les labels des sorties attendues. Il est donc possible d’attaquer
indirectement un modèle si celui-ci a été créé ou entrainé à partir de données vulnérables.
Le principe du transfert d’une attaque adverse de type whitebox selon Abdelkader et al.
est décrit dans la figure 3.3. En générant des exemples adverses sur un modèle vulnérable, un
attaquant est en mesure de créer des exemples adverses sur toute nouvelle architecture qui
réutilise une partie des couches de ce modèle. Comme illustré dans la figure 3.3 ces attaques sont
non-ciblées et ont pour seul but de faire changer la réponse du réseau de neurones utilisé pour la
classification. Tant que la prédiction du modèle attaqué a changé, l’attaque est considérée comme
efficace.
Une autre forme de vulnérabilité introduite par l’utilisation d’un modèle pré-entrainé est
l’empoisonnement des données d’entrainement [44]. Le fonctionnement simplifié de cette forme
d’attaque est présenté dans la figure 3.4. Avec cette méthode il est possible de faire transférer
vers le réseau ciblé des motifs pouvant perturber ses résultats de classification.
La vulnérabilité aux attaques transférées est d’autant plus importante qu’il est possible de
créer des attaques dans le monde physique sous forme de patchs qui viendraient perturber les
3.1. CONTEXTE ET MÉTHODES EXISTANTES 59
Voiture
Vélo
...
Attaquant
APC
Char d'assaut
Camion
Voiture blindée
Attaque
générée
sur le modèle Classification
transféré perturbée
résultats de classifications d’un CNN comme l’ont montré Kurakin et al. [71] ou Eykholt et al.
[61]. Il n’est donc pas nécessaire pour un attaquant d’avoir accès au flux d’images entrant dans
le réseau de classification pour perturber son fonctionnement.
Dans un contexte militaire, où une mauvaise identification peut avoir de graves conséquences,
il semble donc préférable de choisir une approche où l’on dispose d’un contrôle total sur le jeu de
données utilisé pour entrainer nos modèles. Nous proposons donc de ne pas recourir à l’affinage
et d’entrainer notre modèle de classification de zéro. Nous utiliserons pour l’entrainement un jeu
de données d’image simulées. Cela nous permet à la fois de contrôler les données d’apprentissage,
et de compenser la faible disponibilité de données infrarouges militaires réelles.
Voiture
Vélo
...
Leurre
Motif
d'empoisonnement
Attaquant
Char d'assaut
APC
...
Leurre
Classification
erronée
satisfaisants comme montré par Tobin et al. [58] pour diriger un bras robotique. Ce bras robotique
est équipé d’une caméra et doit localiser différents objets sur une table pour les saisir. Étant donné
la difficulté de réaliser des scènes simulées photo-réalistes, Tobin et al. proposent de générer des
scènes où les couleurs et les conditions d’illuminations sont très variées pour forcer un modèle
d’apprentissage à se concentrer sur les formes et la position de ces formes dans l’image. Dans le
cas de cette expérience, les images d’entrainement générées pouvaient inclure des exemples dont
les couleurs étaient très différents des images utilisées pour le test, comme illustré dans la figure
3.5. D’après leurs résultats, augmenter le nombre de variations dans les textures utilisées pour
les objets des images simulées permet de réduire significativement l’erreur de localisation de leur
modèle.
Chen et al. [17] ont aussi utilisé la simulation pour des problèmes de conduite autonome. Via
l’utilisation d’un simulateur, ils ont été en mesure de présenter à l’entrainement de leur modèles
une grande variété de situations de conduite. Le recours à la simulation a aussi permis d’obtenir
directement les annotations correspondantes sans intervention humaine. Comme pour Tobin et
al., le recours à la simulation a permis d’améliorer les performances de leur modèle de conduite.
L’approche utilisée dans ces deux exemples est assimilable à l’augmentation de données vues dans
la section 1.4.5 de ce manuscrit. Les variations seront plus complexes que de simples translations
ou rotations. Elles couvrent des changements de position des objets, de leur couleur, leur texture
3.1. CONTEXTE ET MÉTHODES EXISTANTES 61
Figure 3.5 – Exemples d’images réelles et simulées utilisées par Tobin et al. [58].
et de l’éclairage de la scène.
Pour l’imagerie SAR, où la quantité d’images disponible pour créer un jeu de données ex-
haustif est limitée, le recours à la simulation pour l’entrainement de réseaux de neurones a aussi
été étudié [29]. Contrairement aux travaux de Tobin et al. et Chen et al., les images SAR simu-
lées ont été utilisées pour pré-entrainer un réseau de neurones. Après ce pré-entrainement, des
données SAR réelles ont été utilisées pour affiner le réseau utilisé.
L’utilisation d’images simulées a aussi été combiné avec succès à des couches de convolution
améliorées [64], ou des techniques d’apprentissage non-supervisées [54].
En se basant sur ces différents résultats, nous pouvons considérer qu’il est possible d’entrainer
un CNN pour de la classification de cibles dans des images infrarouges à partir de données simu-
lées. De plus, le recours à la simulation nous permet de générer un ensemble de données qui couvre
une large variété de conditions météo, d’éclairement, d’état thermique et de positionnement des
cibles.
doivent couvrir une grande variété de situations. Il s’agit donc un problème avec une grande
variabilité intra-classe, couplé à des similarités inter-classes.
Cette situation est fréquemment rencontrée dans les problèmes de classification d’images sa-
tellites. Certains problèmes nécessitent de créer des algorithmes capables de classer des bâtiments
ou des types de sols avec un nombre limité de données d’entrainement annotées. Pour renfor-
cer les performances des CNNs utilisés pour cette tâche, Cheng et al. [37] ont suggéré d’utiliser
l’encapsulation. Le principe de leur approche est présenté dans la figure 3.6. Elle introduit une
fonction de coût totale Jtotal qui est l’addition de Jtrain et d’un nouveau terme appelé Jmetrique .
Cette grandeur Jmetrique est calculé de façon à minimiser la distance intra-classe et maximiser
la distance inter-classe au sein d’un lot d’apprentissage.
Softmax
Lclassif ication
Ltotale
Lmetrique
Entree Normalisation L2
Label yi
Réseau convolutif
Figure 3.6 – Utilisation de l’encapsulation pour améliorer les performances de classification des
CNN selon Cheng et al. [37].
Cheng et al. ont aussi observé que, conformément à leur intuition, les images d’une même
classe sont mieux regroupées entre elles, et les classes sont mieux séparées. La figure 3.7 présente
de façon simplifiée l’effet de l’ajout du terme Jmetrique à l’erreur totale d’apprentissage. En
maximisant la distance inter-classes, en rouge, et en minimisant la distance intra-classe, en bleu,
l’encapsulation améliore la séparation de chaque classe en sortie du réseau.
Étant donné la grande variabilité de signatures que nous sommes susceptibles de rencontrer,
nous allons dans la suite de ce chapitre tester cette approche d’encapsulation pour essayer d’amé-
liorer les performances de classification d’un réseau de neurones sur des images infrarouges. Elle
a été privilégiée par rapport aux approches par paires [100] ou par triplet [123] car elle prends en
compte la contribution de l’ensemble des exemples présent dans un lot pour construire le vecteur
d’encapsulation. Ces résultats sont présentés dans la section 3.4.4.
une cible qui peut ne pas être parfaitement centrée. Il faut donc que le système RI, dans notre
cas un CNN, soit robuste à ces perturbations.
En visualisant le comportement des couches de convolution d’un CNN, Zeiler et al. [135]
ont observé que les dernières couches des CNN contribuaient à la robustesse du modèle aux
translations de l’image d’entrée. Ces observations sont confirmées par Bakry et al. [9] qui confirme
que les couches denses les plus profondes sont celles qui contribuent le plus à cette invariance.
Cette idée peut sembler contre intuitive étant donné que les premières observations sur les CNN
indiquaient que l’enchainement de couches de convolution et de max-pooling à l’entrée des CNN
contribuaient à améliorer la robustesse de l’architecture aux petites perturbation , comme nous
l’avons évoqué dans la section 1.3.2. L’ensemble de ces études montrent cependant que les CNNs
restent sensibles aux rotations de l’image d’entrée.
Les réseaux convolutifs parviennent donc à apprendre des caractéristiques invariantes par
translation. Ils conservent cependant l’information spatiale de l’image d’entrée, qui peut être
exploitée pour des tâches de localisation comme dans les deux études [85] [73]. Dans ces travaux,
les réseaux utilisés pour localiser des objets ne sont entrainés qu’avec les labels des classes de ces
objets. Cela confirme donc que les CNNs finissent par apprendre une représentation invariante
aux petites perturbations spatiales.
Il est aussi possible de créer des modèles de CNN robustes à des transformations plus variées,
comme les homographies ou les transformations affines. La robustesse est obtenue en ajoutant
à un CNN des modules qui corrigent les transformations. Les réseaux qui sont équippés de ces
modules sont appelés Spatial Transformer Network ou STN [59].
Les Spatial Transformer Network, ou STN, sont des architectures conçues pour apprendre
simultanément à classer des images et à être invariant aux transformations affines de l’image
d’entrée. Le réseau STN est une adaptation du modèle de CNN classique auquel on ajoute un
64 CHAPITRE 3. NOUVEAU CNN POUR LE TRANSFERT D’APPRENTISSAGE
sous-réseau qui sera dédié à localiser les éléments a classer et à les transformer pour compenser
une éventuelle déformation. Un schéma simplifié du modèle est présenté dans la figure 3.8
Sous réseau
Module de Module de
génaration
Localisation de grille
Convolution
Entrée
CNN
Sortie
Correction de la transformation
Enfin nous proposons un CNN, présenté dans la section 3.3, construit spécifiquement pour être
entrainé sur des données simulées et testé sur des données réelles. L’ensemble de ces réseaux de
neurones seront comparés à un algorithme de classification d’image basé sur la classification de
descripteurs à l’aide d’une machine a vecteurs de support. Les modèles choisis seront présentés
dans la section 3.2.1.
m1 Chars
m2
c1
c2 Voitures blindées
c3
t1
t2 Camions
t3
Données simulées
m1 Chars
m2
c1
c2 Voitures blindées
c3
t1
t2 Camions
t3
souhaitons donc évaluer les performances des modèles de classification choisis sur des entrées
perturbées pour estimer leur robustesse aux erreurs de détection.
Table 3.1 – Gains de performance relatifs en test pour les scores d’identification et reconnais-
sance de chaque architecture sur les images réelles (DR), par rapport à la même architecture de
référence entrainée uniquement sur TRS1.
Les résultats regroupés dans le tableau 3.1 montre directement l’amélioration des perfor-
mances sur les deux critères d’évaluation. Le gain de performance est notamment très important
pour les scores reconnaissances ; avec une très nette amélioration de 25.77% pour Inception v3
et de plus de 27% pour VGG19 et Resnet 52. Néanmoins, les gains sont plus limités pour les
performances en identification. La variation des performances semble très dépendante de l’archi-
tecture.
impact significatif sur les performances des réseaux de neurones. L’utilisation de techniques telles
que le fine-tuning ou les gradient-reversal-layers [130] pourraient servir à améliorer ces résultats,
mais ne sont pas évaluées ici.
On peut aussi noter les bons scores obtenus par l’architecture de Rodger et al. [101] qui,
malgré sa taille réduite, est la seule qui dépasse les performances en identification du SVM sur
les trois jeux de données.
A la lumière des éléments présentés dans les tableaux 3.1 et 3.2, nous proposons un nouveau
modèle de réseau de neurones inspiré de R et al., construit spécifiquement pour le problème du
transfert d’apprentissage depuis nos données simulées vers les données réelles.
Softmax
7×7
22×22 7×7
56×56 52×52 64 filtres
124×124 120×120 32 filtres
dim. 128×128
Image d'entrée 16 filtres
Conv 1.1 & 1.2 Conv 2.1 & 2.2 Conv 3 Conv 4 Conv 5
Figure 3.10 – Un réseau de neurones compact et entièrement convolutif utilisé pour la classifi-
cation d’images infrarouges, le cfCNN.
En lieu et place de la fonction d’activation ReLU couramment utilisée dans les architectures
de réseaux de neurones convolutifs, l’architecture du cfCNN utilise la fonction Leaky-ReLU ou
LReLU. En effet, la pente légèrement négative de la fonction LReLU est une façon d’atténuer le
problème de disparition des gradients lors de l’apprentissage, et permet d’éviter le phénomène
de mort prématurée de neurones dans le réseau. Ce changement va permettre une amélioration
des performances de classification lors du cas du transfert de l’apprentissage depuis un ensemble
de données simulées vers des données réelles, qui sera décrit dans la suite de ce chapitre.
Par validation croisée, l’initialisation des poids du réseau selon la méthode de He et al. ainsi
que l’algorithme Adam ont été retenus pour l’entrainement du cfCNN. Nous avons choisi un
70 CHAPITRE 3. NOUVEAU CNN POUR LE TRANSFERT D’APPRENTISSAGE
taux d’apprentissage de départ de 10−3 pour Adam. À cela vient s’ajouter un critère d’arrêt
anticipé de l’apprentissage si l’erreur de validation augmente avant d’atteindre le dernier cycle.
Nous utilisons aussi la technique de régularisation Drop-out avec une probabilité d’extinction
de 0.2. Cette valeur est recommandée par Srivastava et al. [110] dans le cas où le Drop-out est
utilisé pour des couches de convolution.
Pour montrer l’intérêt de l’activation LReLU pour le transfert de la simulation au réel, nous
utiliserons dans la section 3.4.2 une variante du cfCNN utilisant la fonction ReLU. Cette acti-
vation sera utilisée pour l’ensemble des unités du réseau excepté ceux de la couche de sortie qui
utiliserons l’activation Softmax. Mis à part ce changement, la structure du réseau sera identique
à celle du cfCNN standard. Le nombre de couches, de filtres de convolution et leurs dimensions
seront exactement les mêmes.
Afin de justifier l’apport du GAP et d’une architecture entièrement convolutive, nous intro-
duisons aussi une variante dite fully-connected du cfCNN. Cette variante sera appelée cfCNN(fc).
Ce modèle, illustré dans la figure 3.11, diffère du cfCNN standard dans ses dernière couches.
La couche GAP a été remplacée par un MLP à trois couches cachées : deux couches denses, avec
respectivement 256 et 8 neurones, et une couche Softmax.
Cette version du cfCNN sera simplement complétée par un STN. Le STN sera placé entre les
couches Conv 1.1 et Conv 1.2 du cfCNN. Il comprendra un total de 7 couches cachées : Deux
couches de convolution, avec respectivement 16 et 32 noyaux de dimension 3 × 3, deux couches
de max-pooling et trois couches de neurones denses, avec respectivement 128, 64 et 6 neurones.
3.3. PRÉSENTATION DU CFCNN 71
8 units
Softmax
22×22 7×7
56×56 52×52 64 filtres
124×124 120×120 32 filtres
dim. 128×128
Image d'entrée 16 filtres
Conv 1.1 & 1.2 Conv 2.1 & 2.2 Conv 3 Conv 4 Conv 5
L’entrée du STN sera précédée d’une couche de max-pooling pour réduire la dimension des entrées
à un tenseur de dimension 62 × 62 × 16 et ainsi réduire le nombre de paramètres nécessaires pour
le STN. L’architecture complète est présentée dans la figure 3.12.
STN
Max-pool. 2×2
Max-pool. 2×2
Conv. 3 ×3
Conv. 3 ×3
Dense 128
Dense 64
Dense 6
Module de
génaration
de grille
Softmax
7×7
22×227×7
56×56 52×52 64 filtres
124×124 124×124 120×120 32 filtres
dim. 128×128
Image d'entrée
Sortie de Sortie de
Conv 1.1 Conv 1.1
Transformée
Pour améliorer la capacité de discrimination de notre cfCNN avec peu d’images, notamment
sur les données réelles, nous proposons d’utiliser une approche similaire à celle décrite dans la
section 3.1.4. La structure que nous proposons est décrite dans la figure 3.13.
72 CHAPITRE 3. NOUVEAU CNN POUR LE TRANSFERT D’APPRENTISSAGE
Softmax Jtrain
Jtotal
JLSE
Etalement L2 ^e
y
Cette approche utilise les sorties de la couche de convolution Conv 5. Ces dernières sont
étalées pour former un vecteur de 392 éléments qui sert d’entrée à une couche de neurones à ne
sorties. La sortie de cette couche est normalisée en utilisant la norme L2 . Ce nouveau vecteur,
appelé ŷe , sera utilisé pour calculer un terme d’erreur JLSE , qui sera ajouté à l’erreur totale du
modèle pendant l’entrainement.
Pour ce nouveau terme nous utiliseront le principe du Lifted Structured Embedding [46] ou
LSE en lieu et place de l’encapsulation utilisée par Cheng et al. Dans un batch d’images, pour
tout couple d’entrée {xi , xj } nous commencerons par calculer la distance Di,j entre leurs sorties
respectives ŷe,i et ŷe,j . Puis nous calculerons le terme suivant :
X X
Ji,j = log exp(α − Di,k )) + exp(α − Dj,l ) + Di,j . (3.1)
(i,k)∈P (j,l)∈N
avec P l’ensemble des paires d’images d’entrées appartenant à la même classe, N l’ensemble des
paires d’images d’entrées n’appartenant pas à la même classe. La marge α est choisie empirique-
ment et permet de pénaliser les distances entre paires qui sont inférieures à ce paramètre.
Enfin, l’équation 3.1 nous permet de calculer le terme d’erreur suivant :
1 X
JLSE = max(0, J˜i,j ) (3.2)
2Card(P)
(i,j)∈P
Pour nos expériences, après différents essais, nous avons fixé ne = 64 et α = 0.1. La mesure
de distance utilisée pour Di,j est la distance de Manhattan, qui pour deux vecteur x et y s’écrira
3.3. PRÉSENTATION DU CFCNN 73
simplement :
DM anhattan = |x − y| (3.4)
Des détails supplémentaires sur le choix des paramètres pour le LSE et le choix de D sont
disponibles dans l’annexe ??. Nous supposons que l’ajout de cette contrainte supplémentaire
aidera le réseau à mieux généraliser sur de nouvelles données. Elle sera un complément aux
variations d’éclairement, de position et de bruit présentes dans les images d’entrainement.
Nous avons commencé par évaluer le cfCNN sur SENSIAC car il s’agit du seul ensemble qui
contient des images réelles en bande 2 infrarouge (MWIR) de véhicules militaires comme précisé
dans la section 2.3.2. En utilisant uniquement les données prises à courte distance pour 8 véhicules
nous obtenons un total de 25600 images que nous divisons en 17920 images d’entrainement, 2560
images de validation et 5120 images de test. Avec cette configuration, nous obtenons un taux de
bonne classification supérieur à 95% pour le cfCNN sur l’ensemble des entrainements effectués.
Les trois variantes du réseau introduites dans la section 3.3.2 ont obtenus des résultats similaires.
Ils sont présentés dans le tableau 3.4. Nous avons notés quelques différences cependant. Le taux
de bonne classification du cfCNN(fc) a atteint un minimum de 92.3% et celui du cfCNN avec
encapsulation LSE n’est jamais descendu en dessous de 96.7%. Les résultats du cfCNN avec
l’activation ReLU étaient très proches de ceux du cfCNN avec LReLU.
Contrairement à des jeux de données comme MNIST ou Imagenet, SENSIAC est relativement
moins utilisé. Certaines études dédiées à la classification sont cependant disponibles pour pouvoir
comparer les performances initiales de notre cfCNN sur des images infrarouges réalistes. Venka-
taraman et al. [119] ont par exemple étudié l’utilisation d’une méthode d’interpolation de forme
pour la classification des véhicules de la base SENSIAC. Ils ont réparti pour cela les véhicules en
4 catégories pris successivement pour des distances de 1000, 1500 et 2000m. Nous avons essayé
de reproduire leur méthode de découpage de la base SENSIAC et nous avons entrainé puis testé
le cfCNN, le cfCNN(fc) et le cfCNN avec LSE sur les 4 catégories.
Le tableau 3.4 présente nos résultats par rapport aux performances du modèle de Venkata-
raman et al. sur les 4 catégories de véhicules.
Les résultats présentés ici montrent de bons résultats pour les trois versions du cfCNN par
rapport au SVM avec un léger avantage pour le cfCNN et le cfCNN avec LSE. Cependant, nous
considérons que le problème définit par Venkataraman et al. est plus simple que la classification
de chaque cible séparément. Il ne permet pas de bien discerner les différences de performances
entre le cfCNN et ses variantes.
74 CHAPITRE 3. NOUVEAU CNN POUR LE TRANSFERT D’APPRENTISSAGE
Table 3.4 – Moyenne du taux de classification correcte pour chaque groupe de véhicules selon
[119] et comparé au cfCNN.
Table 3.5 – Gains de performance relatifs en test pour les scores d’identification et reconnais-
sance de chaque architecture dont le cfCNN et sa version "fully-connected" sur les images réelles
(DR) par rapport à la même architecture de référence entrainée uniquement sur TRS1.
GAP pour le transfert d’apprentissage. Ces éléments semblent aider le cfCNN a mieux généraliser
sur les données d’entrainement comment le montrent l’écart des résultats dans le tableau 3.6 sur
l’ensemble TRS1, le plus simple, entre le cfCNN et le cfCNN(fc).
Nous avons aussi regroupé dans le tableau 3.7 le nombre de paramètres de chaque CNN, la
taille de lot choisie et le temps d’entrainement par lot. Ces résultats on été obtenus sur une
Nvidia Tesla P4 avec 8 giga-octets de mémoire vidéo.
76 CHAPITRE 3. NOUVEAU CNN POUR LE TRANSFERT D’APPRENTISSAGE
Table 3.7 – Nombre de paramètres approximatif et temps d’entrainement par lot des différents
modèles de CNN sur un GPU Nvidia Tesla P4.
Nous pouvons voir que le cfCNN est le modèle le plus léger, en terme de nombre de paramètres,
et le plus rapide à entrainer sur une itération de Adam. Il y a donc un réel intérêt à privilégier
des modèles compacts et dédiés à un problème de classification particulier par rapport à la
ré-utilisation de modèles issus de la littérature.
Figure 3.14 – Visualisation des Guided-Grad-CAM pour le cfCNN avec activations ReLU et
LReLU sur une image de BMP2 issue de SENSIAC.
semble baser sa décision de classification sur un nombre de détails plus important que le réseau
utilisant la fonction ReLU. Cela est notamment visible au niveau des roues du véhicule ou de sa
tourelle qui sont plus visibles dans la. figure 3.14c par rapport à la figure 3.14b. Cette différence
peut expliquer le gain de performance observé pour le cfCNN équipé de la fonction d’activation
LReLU.
Table 3.8 – Performances relatives en identification par rapport aux résultats du cfCNN sur
DR après un entrainement sur TRS3.
donnée TRS3. Sur cette figure, nous pouvons voir que les performances pour le test sur le jeu
de données réelles DR chutent rapidement. Celles sur les données simulées restent supérieures à
90% des performances originales du cfCNN jusqu’à 1024 images d’entrainement. Nous pouvons
aussi voir de légères oscillations sur la courbe 3.15b. Celle-ci peuvent être dues à un nombre de
réalisation insuffisant. Il est possible que cette courbe soit plus lisse en répétant l’expérience.
(a) Performances sur images synthétiques (b) Performances sur images réelles
Figure 3.15 – Détail des variations de performances pour le cfCNN en fonction du nombre
d’images d’entrainement utilisées.
(a) Performances sur images synthétiques (b) Performances sur images réelles
Figure 3.16 – Détail des variations de performances pour le cfCNN en fonction du nombre
d’images d’entrainement utilisées.
des signatures puisse aider le réseau à converger vers un état où il serait moins affecté par les
irrégularités et les perturbations présentes dans les images réelles.
L’approche par encapsulation ne permet donc pas d’améliorer les performances du cfCNN,
que ce soit pour un entrainement avec un faible nombre de données, ou avec la totalité des images
d’entrainement. L’encapsulation n’est peut-être pas adapté pour des cas où il y a une différence
trop importante entre les données d’entrainement et les données de test. Ici, l’ajout du LSE
pendant l’entrainement à entrainé un sur-apprentissage sur les données simulées.
80 CHAPITRE 3. NOUVEAU CNN POUR LE TRANSFERT D’APPRENTISSAGE
La partie 3.4 a illustré l’intérêt d’utiliser notre cfCNN pour la classification d’images dans un
cas de transfert de la simulation vers le réel par rapport à un modèle issu de l’état de l’art ou un
SVM. Cette classification étant effectuée après un étage de détection, il est possible d’obtenir des
erreurs de localisation de la cible et donc des boîtes englobantes mal dimensionnées qui impactent
la position des cibles dans les images en entrée du cfCNN. La cible peut donc paraître translatée,
à la mauvaise échelle ou partiellement masquée par les bords de l’image. De plus, comme tout
système de prise de vue optique utilisant un capteur numérique, les images infrarouges sont
susceptibles d’être fortement bruitées lors des prises de vue.
Dans la suite de cette partie, nous nous concentrerons donc sur trois formes de perturba-
tions fréquemment rencontrées : translations, erreurs d’échelle et bruit de mesure. Compte tenu
des résultats obtenus avec le LSE présenté précédemment, nous utiliserons ici un cfCNN sans
encapsulation et similaire à celui présenté dans la section 3.3.
Pour tester la robustesse des différents modèles présentés en 3.4 trois jeux de données supplé-
mentaires seront utilisés. Nous les appellerons TTS, TSS et TBS. Ils seront utilisés pour simuler
les erreurs de détection qui se traduisent par l’introduction d’erreurs de localisation de la boite
englobante. À savoir quand les images d’entrées du cfCNN ne sont pas parfaitement centrées sur
la cible, les problèmes d’échelle ainsi que la présence de bruit dans l’image.
Préparation de TTS
Le premier jeu, TTS, servira à évaluer la robustesse des modèles de classification lorsque la
boite englobante après détection est translatée par rapport à une boite englobante parfaite. Pour
le constituer, nous utilisons les images du jeu TV3 dont nous translatons les boites englobantes
selon l’axe horizontal et vertical. L’amplitude de la translation correspond à une fraction de la
dimension de la boite englobante le long de l’axe sélectionné. Cette nouvelle boite est utilisée pour
extraire une nouvelle image de 128 × 128 en se servant de la boite englobante translatée comme
référence. La boite sera translatée selon quatre directions, "HAUT" et "BAS" pour l’axe vertical
et "GAUCHE" et "DROITE" pour l’axe horizontal. À partir de TV3 on crée ainsi un ensemble
d’images comprenant des exemples de translation dans les quatre directions pour des amplitudes
relatives comprises entre 0.1 et 0.5. Ces amplitudes correspondent au ratio entre l’amplitude
absolue de la translation et la dimension de la boite d’origine dans la direction du déplacement.
La figure 3.17 illustre le processus pour une translation vers le haut d’une amplitude de 0.3. Nous
disposons de 4096 images par amplitude de translation.
3.5. ROBUSTESSE AUX PERTURBATIONS 81
128
Nouvelle entrée
Image extraite
Image source
Figure 3.17 – Méthode de création des images d’entrée translatée du cfCNN à partir de la
source. La boite ici a été décalée d’une amplitude de 0.3 vers le haut pour simuler une erreur de
détection.
Préparation de TSS
Le second jeu, TSS, sera lui utilisé pour évaluer la robustesse des modèles face aux erreurs
d’échelle i.e. lorsque la boite englobante est trop petite ou trop grande par rapport au véhicule
cible. Une nouvelle fois, nous utiliserons les images du jeu de données TV3 pour lesquelles les
boites englobantes resteront centrées mais dont l’échelle variera d’un facteur compris entre 0.5
et 1.5. Ces nouvelles boites, serviront une nouvelle fois à extraire des patchs de 128 × 128 pixels.
Une illustration de la méthode est présentée dans la figure 3.22 .
Boite agrandie
128
128
Nouvelle entrée
Image extraite
Image source
Figure 3.18 – Méthode de création des images d’entrée translatée du cfCNN à partir de la source.
La boite d’origine ici a été mise à l’échelle d’un facteur 1.4 simuler une erreur de détection.
Comme pour les images centrées des ensembles d’images TRS1, TRS2, TRS3 et DR les images
utilisées pour TTS et TSS ont simplement été normalisées entre 0 et 1. Nous disposons de 4096
82 CHAPITRE 3. NOUVEAU CNN POUR LE TRANSFERT D’APPRENTISSAGE
Préparation de TBS
En complément de ces deux jeux de données nous évaluerons aussi la robustesse des per-
formances de classification en fonction du bruit dans l’image. Pour cela nous utiliserons les
architectures testées sur TRS3 puis nous les testerons sur les images de TVS3 normalisées en y
ajoutant un bruit gaussien centré sur zéro et dont la déviation standard σbruit variera entre 0.01
et 0.2 à l’inférence par rapport au domaine [0, 1] des images normalisées. Ces images sont ensuite
re-normalisées dans l’intervalle [0, 1]. Comme pour TTS et TSS nous disposons de 4096 images
par niveau de bruit testé. Des exemples d’images bruitées sont présentées dans la figure 3.19
Figure 3.19 – Exemples d’images bruitées du jeu de données TBS pour différentes valeurs de
σ.
Les premiers essais sont effectués sur les boites translatées et les modèles utilisés dans la
section 3.2 et 3.3 sans la variante du cfCNN avec encapsulation. Chaque modèle sera entrainé
sur le jeu de données TRS3 sans augmentation de donnée supplémentaire. Les boites englo-
bantes de ce jeu de données étant idéales, les cibles seront parfaitement centrées dans les images
d’entrainement.
Après avoir été entrainé, chaque modèle est ensuite testé sur l’ensemble d’images TTS pour
obtenir les performances de robustesse. Entrainer les architectures sur des données non transla-
tées nous permet de mesurer directement l’impact du décalage de la cible dans l’image sur les
performances. De plus les images de TTS étant issues du jeu de données TV3 les résultats ne
seront pas impactés par le transfert de domaine. Les résultats obtenus par chaque modèles sont
présentés dans la figure 3.20.
Ces deux ensembles courbes montrent que le cfCNN surpasse les modèles de la littérature
aussi bien en translation horizontale, figure 3.20a, que verticale, figure 3.20b. Il s’agit de l’unique
3.5. ROBUSTESSE AUX PERTURBATIONS 83
Figure 3.20 – Variation des performances relatives de classification pour des boites englobantes
translatées verticalement ou horizontalement.
Figure 3.21 – Variation des performances de classification pour chaque classe de véhicule pour
le cfCNN.
84 CHAPITRE 3. NOUVEAU CNN POUR LE TRANSFERT D’APPRENTISSAGE
modèle dont les performances en identification se maintiennent au-dessus de 80% pour un déca-
lage de la boite englobante d’une amplitude de 0.3. Parmi les autres modèles, aucun ne maintient
des performances au-delà de 80% pour des décalages de la boite englobante d’une amplitude supé-
rieure à 0.1 à l’exception de Resnet 52. Ce dernier maintient un niveau de performance supérieur
à 54% pour les translations horizontales de toute amplitude. Il est cependant surpassé par le
cfCNN pour les translations horizontales d’une amplitude inférieure à 0.3. Le BCNN ainsi que
Inception v3 surpassent légèrement le SVM. Cela montre que sans augmentation de données pour
ce type de perturbation, la robustesse d’un CNN n’est pas acquise. En ce qui concerne le SVM,
la robustesse des descripteurs HOG dépends de la résolution de la grille utilisée pour les calculer.
Si l’amplitude de la translation est supérieure à cette résolution, le descripteur utilisé change.
Les descripteurs HOG sont surtout robuste vis à vis des rotations et non aux translations, ce qui
peut expliquer en partie les faibles résultats.
En comparant les résultats du cfCNN avec ceux du cfCNN(fc) nous pouvons voir que l’ajout de
la couche de GAP permet bien d’améliorer la robustesse du modèle pour des petites perturbations
comme suggéré dans la section 3.1.5. Cependant, pour le cfCNN(STN), l’ajout du STN au cfCNN
n’a pas permis d’améliorer la robustesse du réseau. Cela est probablement du au choix d’entrainer
les différents réseaux choisis sur des images non-perturbées. Ainsi, le STN n’a pas été en mesure
d’apprendre une façon de transformer les sorties de la couche Conv 1.1 du cfCNN pour compenser
les erreurs de détection. Pour mieux visualiser l’apport du cfCNN(STN) il faudrait ajouter des
exemples d’images perturbés dans la base d’entrainement.
La symétrie des courbes de la figure 3.20 masque le fait que chaque cible se comporte diffé-
remment en fonction de la translation. Les courbes par cibles pour le cfCNN dans la figure 3.21
illustre en partie ce phénomène. En détaillant les résultats véhicule par véhicule. La dissymétrie
de la réponse du modèle pour chaque cible est bien visible, notamment dans la figure 3.21b entre
les courbes de la cible M1 et C1 par exemple. Cela peut s’expliquer par le fait que le décalage de
la boite englobante peut masquer partiellement la cible et notamment des points chauds parfois
essentiels à l’identification du véhicule.
Après avoir évalué la réponse du réseau sur la translation des cibles. Nous allons étudier le
cas où l’échelle de la boite est faussée. Les résultats de l’étude sont présentés dans la figure 3.22.
Comme pour une translation de la boîte englobante, le cfCNN montre de très bonnes per-
formances malgré l’ajout de la perturbation. Il dépasse tous les autres modèles de réseaux de
neurones testés ici. Dans le cas où le facteur d’échelle est inférieur à 1, il maintient de bonne per-
formances malgré la présence potentielle de masquages du véhicule et de certains points chauds.
Encore une fois, le cfCNN(STN) n’est pas en mesure de compenser les variation d’échelles si ce
dernier n’a pas été entrainé au préalable sur des données qui contiennent ce type de perturbations.
Cependant, pour les cas où la boite est plus grande que la cible d’origine, i.e. pour un facteur
d’échelle supérieur à 1, le SVM obtient de meilleurs performances que le cfCNN. Cela peut
3.5. ROBUSTESSE AUX PERTURBATIONS 85
Comme dernier test de robustesse nous évaluons ici la réponse des modèles sélectionnés face
au bruit présent dans les images normalisées. Dans la figure 3.23 nous présentons l’évolution du
score d’identification en fonction de la déviation standard du bruit σbruit . Il faut aussi noter que
les images simulées de l’ensemble TRS3 contiennent des exemples avec des niveaux de bruits de
mesure variées.
Parmi les architectures testées, le BCNN est le plus robuste pour un σbruit inférieur à 0.1. En
second vient le cfCNN, qui obtient des taux de classification similaires au BCNN et supérieurs à
94% pour des valeurs de σbruit inférieures à 0.02. Pour un σbruit supérieur à 0.1 cependant, ses
86 CHAPITRE 3. NOUVEAU CNN POUR LE TRANSFERT D’APPRENTISSAGE
performances chutent fortement avec seulement 26% des cibles correctement identifiées. Pour ces
valeurs, VGG 19 obtient les meilleures performances d’identification.
Les bonnes performances du BCNN et de VGG 19 sont cependant à relativiser compte tenu
de ses résultats lors du transfert d’apprentissage présenté dans le tableau 3.6.
que le cfCNN est, grâce à sa structure, robuste à un ensemble de perturbations que nous sommes
susceptibles de rencontrer dans un contexte opérationnel.
Chapitre 4
Contents
3.1 Contexte et méthodes existantes . . . . . . . . . . . . . . . . . . . . 56
3.1.1 Présentation de la chaine de traitement . . . . . . . . . . . . . . . . . 56
3.1.2 Les limites du transfert d’apprentissage par fine-tuning . . . . . . . . 57
3.1.3 Utilisation de données simulées pour l’apprentissage . . . . . . . . . . 59
3.1.4 L’encapsulation pour améliorer la classification . . . . . . . . . . . . . 61
3.1.5 Robustesse des CNN aux perturbations . . . . . . . . . . . . . . . . . 62
3.1.6 Présentation de l’approche . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.2 Limites des architectures existantes . . . . . . . . . . . . . . . . . . 66
3.2.1 Modèles sélectionnés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.2.2 Effets de la représentativité de la synthèse . . . . . . . . . . . . . . . . 66
3.2.3 Comparaison avec un SVM-HOG . . . . . . . . . . . . . . . . . . . . . 67
3.3 Présentation du cfCNN . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.3.1 Détails de l’architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.3.2 Variantes du cfCNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.3.3 Résultats sur SENSIAC . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.4 Étude du transfert de la simulation vers le réel . . . . . . . . . . . 74
3.4.1 Résultats du cfCNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.4.2 Gains apportés par la fonction LeakyRELU . . . . . . . . . . . . . . . 76
3.4.3 Effets de la réduction du nombre d’images d’entrainement . . . . . . . 77
3.4.4 Résultats avec encapsulation . . . . . . . . . . . . . . . . . . . . . . . 78
3.5 Robustesse aux perturbations . . . . . . . . . . . . . . . . . . . . . . 80
3.5.1 Construction d’une base d’images perturbées . . . . . . . . . . . . . . 80
89
90 CHAPITRE 4. DÉTECTION DES ANOMALIES DE CLASSIFICATION
visible. Nous présentons dans la figure 4.1 un histogramme du maximum du score Softmax obtenu
pour les erreurs d’identification d’un cfCNN sur les données de l’ensemble DR. Comme nous
pouvons le voir, il existe une très forte proportion de cas d’erreurs ou la prédiction du réseau
était proche de 1. Le cfCNN est donc susceptible de se tromper avec une confiance élevée.
Figure 4.1 – Histogramme des scores Softmax obtenus pour les prédictions ŷ d’un cfCNN dans
les cas d’erreurs de classifications sur le jeu de données DR.
De plus, nous avons pu voir dans la section 3.5 que la présence de bruit ou les images avec des
cibles non centrées pouvaient conduire à des erreurs de classification. En effet, dans cette partie,
nous nous sommes placé dans un contexte ou nous nous intéressons uniquement à l’identification.
Nous sommes donc tributaire des performances du module de détection tel que présenté dans la
figure 3.1. Ce dernier peut parfois présenter au CNN des zones du fond de l’image, sans cibles.
Aussi, pendant son utilisation, le système peut avoir à gérer la présence de cibles inconnues
dans les images. Si ces cibles sont prise en compte par le module de détection, le CNN pour
l’identification et la reconnaissance se verra présenter des images de classes inconnues. Avoir
la possibilité de détecter ces deux formes d’anomalies, i.e. les nouvelles classes et les fonds,
permettrait d’améliorer la fiabilité d’un système de DRI complet.
Pour limiter l’impact de ces perturbations sur les performances de classification, il est d’abord
possible de modifier les architectures de réseaux de neurones pour améliorer leur robustesse. Nous
présentons dans la section suivantes certaines de ces techniques.
simplement évoqués leur existence dans le chapitre 1.5.3 sans présenter les stratégies existante
pour se protéger contre ces attaques.
Comme pour les autres formes de perturbations, il est possible de modifier certaines couches
pour accroitre la robustesse d’un modèle face aux exemples adverses. Une première forme simple
de modification porte sur l’introduction de couches ajoutant un bruit aléatoire à l’entrée du
réseau pour atténuer l’effet perturbateur des exemples adverses [75] [80].
L’amélioration de la robustesse peut aussi être abordée dès l’entrainement du modèle que l’on
cherche à consolider. L’utilisation du Stability Training [105] permet d’introduire à l’entrainement
une forme d’augmentation de données, vue dans la section1.4.5, guidée. En procédant de la sorte
on est en mesure de renforcer le réseau face aux exemples perturbés en ciblant directement ses
faiblesses.
Sur le même sujet, Bastani et al. [10] proposent un ensemble de métriques pour évaluer la
robustesse d’un modèle a des exemples adverses. Ces métriques peuvent être alors utilisées pour
diriger le processus d’apprentissage et améliorer la robustesse des exemples adverses. Ils suggèrent
également d’ajouter à la base d’entrainement des exemples adverses comme nous le ferions pour
de l’augmentation de données. Ce procédé, qualifié d’Adversarial Training est une des stratégies
couramment employée comme technique de défense contre les exemples adverses[43] [72] [68].
Elle n’est cependant pas suffisante pour protéger totallement un modèle [118] [107]. En effet,
malgré l’utilisation de l’Adversarial Training pour renforcer la réponse d’un modèle face à une
famille d’attaques adverses, un réseau de neurone peut rester vulnérable à de nouveaux exemples
adverses générés par d’autres stratégies d’attaques.
Toujours concernant les exemples adverses, d’autres méthodes de défense ont été proposées
comme la distillation [97] ou le masquage des gradients [99]. Cependant ces deux méthodes
présenteraient toujours des vulnérabilitées exploitables pour la génération d’exemples adverses
[19][6].
Malgré l’adoption de stratégies de défense contre les perturbations et les exemples adverses,
un réseau de neurones peut donc toujours générer des erreurs de classification, comme toute
autre méthode de classification. Il semble donc intéressant d’essayer de compléter ou remplacer
les techniques présentées dans cette section par un système capable de détecter les erreurs de
classification des réseaux de neurones. Nous proposons d’étudier l’utilisation de méthodes de
détection d’anomalies pour identifier les cas où la réponse d’un modèle n’est pas fiable.
[39], DBSCAN [84], les Isolation Forests [63], ou le Local Outlier Factor [15] et ses variantes.
Il est aussi possible d’utiliser des méthodes d’apprentissage pour la détection d’anomalies.
Parmi les méthodes populaires, les machines à vecteurs de support à une classe ont montré
de bonnes performances [106] [70]. Plus récemment, des réseaux de neurones particuliers, les
auto-encodeurs [42], ont été utilisés avec succès pour la détection d’anomalies [127].
Il existe donc une large variété de solutions pour détecter des anomalies dans un jeu de
données. Le choix de la solution à employer dépend essentiellement de la nature des données à
traiter. Dans la section suivante, nous nous concentrerons sur les méthodes de détection d’ano-
malies construites spécifiquement pour les réseaux de neurones.
Pour la détection des erreurs de classification d’un réseau de neurones, il existe plusieurs
approches dans la littérature. Une première façon simple de détecter les anomalies exploite les
sorties de la couche Softmax des réseaux de classification. La détection des anomalies peut être
effectuée simplement via l’utilisation de mesures de distances entre les sorties probabilistes du
réseau et une valeur de référence calculée à partir des données d’apprentissage. Cette approche,
proposée par Mandelbaum et al. [89], permet de créer un score de confiance pour la prédiction,
basé sur cette distance, qui peut ensuite servir à isoler les anomalies avec un simple seuillage.
Pour améliorer les performances de détection, , Ils utilisent une fonction Softmax modifiée pour
améliorer la détection des anomalies. Il s’agit d’utiliser un terme de "température" pour abaisser
les scores élevés et relever les scores faibles dans le vecteur en sortie de la couche Softmax.
Toujours pour détecter des erreurs de classification, Hendrycks et al. [50] ont choisi d’utiliser
un "module d’anomalie" qui est entrainé conjointement avec le réseau de neurones qu’il vient
compléter. Ce module d’anomalie est un petit perceptron multi-couches. Il sera chargé de faire
la distinction entre les exemples réguliers et les anomalies causées par des perturbations.
Nous avons évoqué dans la section 4.1.1 la possibilité d’observer des erreurs de classification
avec des scores de Softmax élevés pour des exemples perturbés. La fonction Softmax écrase la
valeur des scores qui ne correspondent pas à la classe dominante. Pour le problème de la détection
d’anomalies, ces scores secondaires peuvent cependant aider à discerner les exemples entre eux,
et faciliter l’isolation des exemples anormaux.
Une méthode de détection d’anomalie appelée ODIN, pour Out-of-DIstribution detector for
Neural networks [78] utilise aussi un score Softmax modifié avec un terme de température. Comme
pour Mandelbaum et al., ce nouveau score Softmax est comparé a un seuil empirique pour
déterminer le caractère anormal de l’exemple. Plutôt que d’utiliser ou modifier la couche sofmax
du réseau, Lee et al. [76] utilisent les sorties de la couche qui la précède. En comparant les
différentes sorties à l’aide de la distance de Mahalanobis, leur méthode surpasse ODIN.
Le principal défaut de ODIN et de la méthode proposée par Lee et al. vient du fait qu’ils
utilisent une forme de pré-traitement sur l’entrée pour améliorer la détection. Le principe de
ce pré-traitement est décrit dans la figure 4.2. Celui-ci consiste à ajouter une perturbation,
94 CHAPITRE 4. DÉTECTION DES ANOMALIES DE CLASSIFICATION
Figure 4.2 – Principe du pré-traitement de l’entrée tel qu’utilisé dans [78] et [76].
ressemblant à une image de bruit, calculée à partit du gradient du détecteur ∇x D(f (I, θ)) pour
améliorer la détection des anomalies. En effet, on suppose que pour un exemple anormal, la
réponse du réseau est instable. L’ajout de cette perturbation permet d’écarter cette anomalie de
la distribution des exemples réguliers. Il faut donc passer l’entrée, ici l’image I, une première
fois dans le réseau pour avoir accès aux gradients du modèle, puis une deuxième fois après
l’ajout de la perturbation pour déterminer si I est anormale. Le coefficient λ permet de moduler
l’amplitude de la perturbation ajoutée. L’image perturbée sera ensuite utilisée pour calculer la
valeur D(f (I 0 , θ)), et la comparer avec un seuil empirique.
L’ensemble des techniques décrites précédemment peuvent être utilisées sur des modèles de
réseaux de neurones déjà entrainés. Il est aussi possible d’utiliser un score de confiance appris
conjointement avec la classe des exemples d’entrainement pour identifier les anomalies [33] [25].
Corbière et al. [25] proposent par exemple d’augmenter un réseau en lui ajoutant un réseau appelé
ConfidNet qui prends en entrée les sortie d’une couche cachée profonde du réseau augmenté. Ce
réseau sera entrainé à prédire ce qu’ils appellent la True-Class-Probability, ou TCP. La TCP, pour
un couple {x(t) , y (t) = c}, correspond simplement à la sortie probabiliste p(c|x(t) ). La motivation
de cette approche est basée sur l’observation que, en cas d’erreur de classification, i.e. quand
ŷ 6= c, la valeur de la TCP sera faible alors que p(ŷ|x(t) ) sera élevé.
Parmi les méthodes présentées ici, les plus performantes utilisent une technique de pré-
traitement similaire à celle de la figure 4.2. Avec le cfCNN, nous avons proposé un CNN compact
et léger, ce qui facilite sa préparation et son déploiement sur différentes matériels, i.e. CPU, GPU
ou System-on-chip. Nous souhaitons rester dans cette démarche pour la détection d’anomalies et
donc mettre en place un système de détection d’anomalies pour le cfCNN qui ne nécessite pas
de pré-traitement et utilise un nombre limité d’hyper-paramètre tout en garantissant un niveau
de performances proches de celui d’une méthode comme ODIN. Nous proposons pour cela une
4.2. PROPOSITION DE MÉTHODES DE DÉTECTION D’ANOMALIES 95
nouvelle méthode de détection d’anomalies de classification. Plus simple, cette méthode utilisera
les sorties de l’avant dernière couche du réseau pour séparer les anomalies des exemples réguliers
et sans pré-traitement.
(:::) y^
Dans un premier temps, nous instrumentons le réseau à l’avant dernière couche, soit juste
avant la couche Softmax. À cet endroit se trouve une couche entièrement connectée, f [n−1] , qui
possède c sorties comme indiqué dans la figure 4.3. Nous expérimenterons aussi avec les sorties
des autres couches intermédiaires du réseau. Ces sorties serviront d’entrée pour une fonction D,
qui pour une entrée x sera chargée de déterminer à partir de f [n−1] (x) si x est une anomalie, ou
"outlier", ou non.
Nous supposons que les différences entre des exemples réguliers et des anomalies seront plus
visibles dans les sorties de la couche f [n−1] , que dans les sorties de la couche Softmax. Les
96 CHAPITRE 4. DÉTECTION DES ANOMALIES DE CLASSIFICATION
observations de la répartition entre des exemples réguliers et des anomalies dans les sorties de
la couches Softmax et f [n−1] via l’algorithme TSNE, pour T-Distributed Stochastic Neighbor
Embedding [88], nous ont confortés dans notre choix. Un exemple de visualisation de ces sorties
est illustré dans la figure 4.4. Ces représentations ont été obtenues à l’aide d’un cfCNN pré-
entrainé sur TRS3. Nous avons ensuite utilisé les sorties correspondant aux exemples issus de
TVS3 pour les exemples réguliers et un ensemble de fonds et d’images de classes inconnues pour
générer les sorties correspondant aux anomalies.
Figure 4.4 – Représentation visuelle du changement de distribution des sorties la couche f [n−1]
et de la couche Softmax d’un cfCNN pour des exemples réguliers et des anomalies.
En comparant les distributions des sorties de la couche f [n−1] dans la figure 4.4a avec celles
de la couche Softmax dans la figure 4.4b, nous pouvons voir que les anomalies, en rouge, semblent
être plus facilement regroupées ensembles dans la figure 4.4a. A l’inverse, pour les sorties Softmax,
nous pouvons observer à trois endroits différents un mélange entre exemples réguliers et anoma-
lies. Dans les deux cas, nous pouvons aisément observer huit regroupements de marqueurs bleus
qui correspondent aux huit classes de véhicules présents dans TVS3.
Dans la mesure où cette fonction doit venir faciliter l’interprétation des prédictions du réseau,
elle doit dépendre de peu d’hyper-paramètres. Avoir la possibilité d’utiliser cette fonction sans
devoir ré-entrainer le réseau de neurones serait aussi un avantage. Enfin nous souhaitons que
cette fonction ne nécessite pas de pré-traiter l’entrée comme c’est le cas pour ODIN par exemple.
En suivant ces critères, deux algorithmes sont proposés : un basé sur le Local Outlier Factor
[15] et un autre basé sur un SVM à une classe ou 1-class SVM.
4.2. PROPOSITION DE MÉTHODES DE DÉTECTION D’ANOMALIES 97
Le Local Outlier Factor, ou LOF, est un algorithme de détection d’anomalies proposé par
Breunig et al. [15]. Pour déterminer si une donnée est anormale, sa distance par rapport à ses
plus proches voisins est comparée à la distance de ces derniers entre eux. Le LOF exploite donc
la densité locale dans l’espace des données à tester pour détecter les anomalies.
Le principe de l’algorithme pour calculer le LOF d’un point x à partir de son voisinage Nk (x)
peut être résumé en quatre étapes :
• Dans un premier temps on calcule d(x, xk ), illustré dans la figure 4.5a, qui correspond à
la distance entre x et son kième plus proche voisin xk . La métrique pour le calcul de d est
choisie en fonction du problème. Elle peut tout à fait être sélectionnée par les métrique
classiques comme que la distance Euclidienne.
• Ensuite, pour chaque plus proche voisin xl de x, on peut calculer pour tous les k plus
proches voisins restants rdistk = max(d(x, xk ), d(xk , xl )), présenté dans la figure 4.5b.
Nk (x)
Nk (x)
x1
kdist(x; xk )
d(x; x1 ) x2
x x d(x; y) y
rdist(x; y) = max(d(x; y); d(x; x1 )) x4
= d(x; y)
x5
Card(Nk (x))
lrdk (x) = P . (4.1)
y∈Nk (x) rdistk (x, y)
Cette grandeur représente pour un point la densité locale de ses plus proches voisins dans
l’espace.
• Le LOF de x avec ses plus proches voisins est alors défini par :
1 X lrdk (y)
LOFk (x) = . (4.2)
Card(Nk (x)) lrdk (x)
y∈Nk (x)
densité d’un point x avec ses plus proches voisins via le ratio lrdk (y)/lrdk (x), on détermine si
celui-ci est régulier ou non. Une autre conséquence de ce ratio, calculé sur l’ensemble des plus
proches voisins de x, est que pour un exemple régulier LOF (x) ∈ ]0, 1] et que pour une anomalie
LOF (x) ∈ ]1, +∞[. En pratique on introduit une marge pour adapter la réponse du LOF aux
données tel que : LOF (xregulier ) ∈ ]0, 1 + ] et LOF (xanomalie ) ∈ ]1 + , +∞[. Le paramètre
sera choisi empiriquement.
En reprenant la situation décrite dans la partie 4.2.1 nous supposons avoir accès aux sorties
du modèle, et plus particulièrement : YT = f [n−1] (T) et YV = f [n−1] (V). Cela correspond
à la sortie de la couche précédant l’opération Softmax en sortie du modèle pour les données
d’entrainement et de validation. Pour notre étude, sachant que nous fournirons les données
anormales, les anomalies seront regroupées dans un ensemble O. Nous aurons donc aussi accès
aux sorties YO = f [n−1] (O). Ces valeurs serviront d’entrée pour le LOF qui sera utilisé dans
deux configurations qui seront décrites dans ce qui suit : une approche globale et une approche
par classe.
Le caractère local du LOF devrait normalement entrainer des résultats similaires pour l’ap-
proche globale ou par classe dans le cas où on utilise la distance euclidienne. Cette dernière n’est
pas la plus adaptée, les sorties pouvant être de grande dimension selon les réseaux testés. En
effet, les distances basées sur des p-normes ou p > 2 perdent en contraste sur des données de
grande dimension [3].
La distance que nous utiliserons sera la distance de Mahalanobis, présentée dans l’équation
4.3. Pour un ensemble de vecteurs X = {x1 , ..., xn }, avec KX la matrice de covariance associée à
X, la distance de Mahalanobis DM entre deux vecteurs xi et xj de X sera défini par l’équation :
q
DM ahalanobis = (xi − xj )> KX (xi − xj ) (4.3)
En effet, selon Lee et al. [76], celle-ci sera plus adaptée pour la séparation des anomalies
multivariées que nous sommes susceptibles de rencontrer. Elle nécessite cependant de calculer
une matrice de covariance. Nous décrivons dans les paragraphes suivants la façon dont nous
utiliserons les éléments YT pour cela.
Approche globale
Notre première approche sera qualifiée de globale. Nous la désignerons par la suite par LOFg .
Elle est représentée de façon schématique dans la figure 4.6.
La totalité des éléments de YT sera utilisée pour calculer la matrice de covariance KT =
cov(YT ). En procédant de cette façon, les anomalies détectées seront des anomalies globales
par rapport aux données d’entrainement. Une fois la matrice de covariance calculée, le LOFg
peut être utilisé pendant l’inférence. Pour chaque prédiction ŷ faite par le réseau sur une entrée
4.2. PROPOSITION DE MÉTHODES DE DÉTECTION D’ANOMALIES 99
Modèles figés
KT
x, nous calculons son score LOF (f [n−1] (x)). Si LOF (f [n−1] (x)) > 1 + , alors x est considéré
comme une anomalie. Si LOF (f [n−1] (x)) ≤ 1 + , x est un exemple régulier.
Par l’utilisation d’une fonction d’erreur comme l’erreur quadratique moyenne ou l’entropie
croisée, la classe de chaque entrée influence fortement sa position dans l’espace des sorties de
f [n−1] par rapport aux exemples d’une même classe. Une anomalie globale sera en théorie placée
à l’écart des groupes formés par les exemples réguliers. Le LOF utilisant la densité locale de
l’espace pour identifier les anomalies, celles-ci seront théoriquement identifiée.
En s’inspirant de Lee et al. [76], une approche par classe est proposée. Elle sera désignée
par LOFc . Cette approche a été introduite pour déterminer si l’efficacité du LOF peut être
améliorée en comparant une anomalie, à laquelle le réseau a attribué une classe c, aux exemples
correspondant à cette classe c uniquement. Son principe général est présenté dans la figure 4.7.
Modèles figés
KT
Ainsi, plutôt que d’utiliser une unique matrice de covariance, nous en calculons autant qu’il
y a de classes présentes dans les données d’entrainement. Nous définissons ainsi c matrices, une
100 CHAPITRE 4. DÉTECTION DES ANOMALIES DE CLASSIFICATION
Ex. réguliers
Dsvm (x) = 1
Anomalies
Dsvm (x) = −1
Origin
Hyperplan
n
X
Dsvm (x) = Sign αi K(x, xi ) − ρ (4.4)
i=1
Où les αi sont les coefficients de Lagrange et K le noyau. Plusieurs options sont envisageables
pour K. Dans notre cas nous utiliserons en guise de noyau, un noyau à fonction à base radiale
dite RBF pour radial basis function : K(x, xi ) = exp(−γkx − xi k22 ). Le coefficient γ permet de
régler l’influence des données d’entrainement sur la forme de la fonction de décision. Pour un
γ élevé, seul les exemples proches de la frontière de décision seront utilisée pour déterminer sa
forme. Un γ faible inclut des exemples plus lointains.
4.3. RÉSULTATS SANS TRANSFERT DE DOMAINE 101
Comme entrée du 1-SVM, nous utiliserons la sortie de l’avant dernière couche, i.e f [n−1] ,
comme pour l’approche présenté en 4.2.2. Le signe de Dsvm servira à séparer les exemples réguliers
des anomalies comme illustré dans la figure 4.8. Pour l’approche SVM, seule une approche globale
sera présentée ici. En effet, une approche par classe a été envisagée mais fournissait des résultats
trop variables et souvent très faibles comparés à une approche globale avec les données dont nous
disposions.
Modèles figés
entrainement
T Réseau f [n−1] (T) = YT 1-SVM
Dsvm
Le jeu de données utilisé dans cette section sera SENSIAC [90]. Nous avons sélectionné 8 cibles
parmi celles disponibles : le SUV, le Pick-up, le BRDM2, le BTR70, le BMP1, le T72, le ZSU-23
et le 2S3. Pour chacune de ces cibles, nous avons uniquement utilisé les séquences vidéo où le
véhicule était le plus proche, i.e. 1500m. Nous disposons donc de deux séquences par véhicule,
une de jour et une de nuit, représentant 3600 images par véhicule. Le découpage de cet ensemble
est décrit dans le tableau 4.1. Pour éviter tout biais lié au choix de ces cibles, la correspondance
102 CHAPITRE 4. DÉTECTION DES ANOMALIES DE CLASSIFICATION
entre les numéros du tableau 4.1 et les cibles du jeu de données SENSIAC changera de façon
aléatoire sur les différents entrainements du réseau de neurones et de son détecteur.
Les exemples dits canoniques de l’ensemble C sont constitués de formes géométriques simples
de taille et de niveau de gris aléatoires combinées à du flou gaussien et un bruit additif gaussien
centré sur zéro et de variance aléatoire. Ils sont illustrés dans la figure 4.10. Nous présentons
aussi dans la figure 4.11 quelques exemples de fonds de le l’ensemble FS prélevés dans les images
de SENSIAC. Ces images étant très différentes de TS et VS , nous nous attendons à ce que le
LOFg puisse facilement les détecter. Dans le cas contraire, cela indiquerait que la méthode de
détection d’anomalies ou les hyper-paramètres choisis ne sont pas adaptés au problème.
Protocole expérimental
Nous cherchons ici à évaluer la capacité du LOF ainsi que celle du 1-SVM en tant que
détecteurs d’anomalies de classification tel que décrit dans la section 4.2.2 et 4.2.3 respectivement.
Nous utilisons comme réseau de neurones le cfCNN présenté dans le chapitre 3. Ce dernier sera
entrainé à plusieurs reprises sur le jeu de données TS pour 100 époques avec l’algorithme ADAM
avec un taux d’apprentissage de départ de 10−3 sur des lots de 64 images. Les six cibles présentes
dans TS seront différentes à chaque entrainement. L’ensemble OS regroupera les deux dernières
4.3. RÉSULTATS SANS TRANSFERT DE DOMAINE 103
Résultats
Dans un premier temps nous nous intéressons aux courbes ROC du LOFg , du LOFc et
1-SVM pour 5 entrainements différents du cfCNN dans la figure 4.12. Les figures 4.12a, 4.12c
et 4.12e présentent les courbes entières. Les figures 4.12b, 4.12d et 4.12f, montrent un détail de
chaque courbe.. Les courbes entières, dans la partie droite de la figure 4.12, ne permettent pas
104 CHAPITRE 4. DÉTECTION DES ANOMALIES DE CLASSIFICATION
facilement de déterminer avec précision lequel des trois détecteurs que nous proposons fonctionne
le mieux. Bien que les figures 4.12b et 4.12f montrent des variations entre les différentes courbes
ROC, seule la figure 4.12c montre variance plus importante entre les différentes courbes tracées
pour le LOFc . Cette variance est visible plus clairement dans la figure 4.12d.
Pour compléter ces observations un peu limitées, nous avons regroupé dans le tableau 4.2 les
métriques des quatre détecteurs testés. Pour chacune d’entre-elles, nous avons indiqué la valeur
moyenne et les bornes maximum et minimum obtenues par chaque détecteur pour plus de 10
cycles d’entrainement et de test.
PRE FPR F1
Détecteur
Min/Mean/Max Min/Mean/Max Min/Mean/Max
Table 4.2 – Performance du LOF avec la distance Mahalanobis pour les deux approches et du
1-SVM comparées a ODIN sur les ensembles combinées VS , OS , FS et C.
Dans ces résultats, les bonnes performances du LOFg par rapport aux méthodes que nous
avons introduites sont mieux visibles. En effet, il surpasse le LOFc et le 1-SVM en précision et en
score F1, avec une valeur moyenne de 0.9838 tout en restant équivalent au LOFc pour le FPR,
avec une moyenne de 0.0212. Nous pouvons aussi voir que ODIN a obtenu les meilleurs résultats
sur les quatre critères. Cependant, il faut noter que les trois méthodes, et notamment le LOFg ,
obtiennent des résultats très proches de ODIN. Cela montre l’intérêt des méthodes proposées qui
n’utilisent pas de pré-traitement des données comme ODIN.
Parmi les autres méthodes que nous avons proposées, l’approche par classe n’a pas permis
d’obtenir de meilleurs résultats que l’approche globale. Nous aurions pu supposer qu’en réduisant
la complexité du problème de détection d’anomalie en séparant le processus pour chaque classe,
les résultats seraient au moins similaires à ceux du LOFg . Cependant seul le FPR est en moyenne
très légèrement inférieur au FPR du LOFg avec une valeur moyenne de 0.0182.
Malgré les observations faites sur les courbes de la figure 4.12 pour le LOFc , le 1-SVM montre
une variance de performance plus importante que les autres méthodes. Sur les trois critères PRE,
FPR et F1, l’écart entre les valeurs minimales et maximales est le plus important de toutes les
méthodes. On peut aussi noter une valeur de FPR élevée de 0.1216 en moyenne pour le SVM, par
rapport au LOF ou ODIN. Cet écart est répercuté sur la valeur du score F1 qui est légèrement
inférieur à tous les autres avec une moyenne de 0.9627 là où les trois autres méthodes ont un
score F1 supérieur ou égal à 0.9802.
Avec ces données les performances des quatre détecteurs sont très proches et très bonnes.
Nous consolidons ces observations avec d’autre expériences dans les sections qui suivent.
4.3. RÉSULTATS SANS TRANSFERT DE DOMAINE 105
1.050
1.0
1.025
0.8
True Positive Rate
0.975
0.6
0.950
Training 1 Training 1
0.4 Training 2 Training 2
0.925
Training 3 Training 3
Training 4 0.900 Training 4
0.2
Training 5 Training 5
Random Classifier 0.875 Random Classifier
0.0 Mean curve Mean cur e
0.850
0.0 0.2 0.4 0.6 0.8 1.0 −0.05 0.00 0.05 0.10 0.15 0.20 0.25
False Positive Rate False Positi e Rate
(a) LOFg (b) détail de la courbe
1.050
1.0
1.025
0.8
True Positive Rate
1.000
0.975
0.6
0.950
Training 1 Training 1
0.4 Training 2 Training 2
0.925
Training 3 Training 3
Training 4 0.900 Training 4
0.2
Training 5 Training 5
Random Classifier 0.875 Random Classifier
0.0 Mean curve Mean cur e
0.850
0.0 0.2 0.4 0.6 0.8 1.0 −0.05 0.00 0.05 0.10 0.15 0.20 0.25
False Positive Rate False Positi e Rate
(c) LOFc (d) détail de la courbe
1.050
1.0
1.025
0.8
True Positive Rate
1.000
0.975
0.6
0.950
Training 1 Training 1
0.4 Training 2 Training 2
0.925
Training 3 Training 3
Training 4 0.900 Training 4
0.2
Training 5 Training 5
Random Classifier 0.875 Random Classifier
0.0 Mean curve Mean cur e
0.850
0.0 0.2 0.4 0.6 0.8 1.0 −0.05 0.00 0.05 0.10 0.15 0.20 0.25
False Positive Rate False Positi e Rate
(e) 1-SVM (f) détail de la courbe
Figure 4.12 – Courbes ROC du LOF pour les différentes approches sur les ensembles combinées
VS , OS , FS et C.
106 CHAPITRE 4. DÉTECTION DES ANOMALIES DE CLASSIFICATION
Nous réutilisons les cfCNNs et les détecteurs de la section 4.3.1. À partir des images de VS
nous générons des exemples adverses à l’aide de l’attaque ZOO, ou Zeroth-Order-Optimization
[21]. Cette attaque a été choisie car il s’agit d’une attaque de type black-box, qui ne nécessite pas
de modèle de substitution, contrairement à des attaques comme celles présentés par Papernot
et al. [98], [96]. L’absence de modèle de substitution permet de simplifier la mise en place de
l’attaque et facilite son utilisation. De plus, cette attaque présente des performances proches de
l’attaque white-box de Carlini et al. [20] qui représente une des méthodes les plus efficaces pour
générer des exemples adverses performants.
ZOO a été utilisée en configuration non ciblée. Cela signifie que, pour un couple exemple-
label {x, y}, l’objectif est d’obtenir un score Softmax p(ŷ = c|x) supérieur à 0.99 pour une classe
différente de y. Avec un score de confiance aussi élevé, il est possible que l’attaque soit détectable
à l’œil nu. En contrepartie nous nous assurons qu’une détection sur le seuillage des scores Sofmax
ne peut être suffisant pour détecter l’exemple adverse. Nous sommes alors en mesure de comparer
les performances de nos détecteurs d’anomalies sur des exemples qui, d’après leurs scores Softmax,
sont proches d’exemples réguliers vis à vis d’u cfCNN. Étant donné le coût calculatoire pour la
génération d’exemples averses, et sachant que nous devons en générer pour chaque entrainement,
nous avons limité leur nombre a 500.
Résultats
Le tableau 4.3 regroupe les résultats obtenus sur la détection d’exemples adverses générés via
l’attaque ZOO. Là encore, ODIN montre qu’une solution avec pré-traitement obtient de meilleurs
performances. Cependant, en moyenne les trois approches (LOFg , LOFc et SVM) et ODIN
obtiennent des performances équivalentes. Le LOFg parvient par exemple à détecter 98.89% des
exemples adverses en moyenne et le 1-SVM 99.03% en moyenne. Les performances minimum de
chaque algorithme sont cependant différentes. Le LOFc , le SVM et ODIN détectent un minimum
de 98% des exemples adverses environ, contre 95.92% pour le LOFg . Ces bons résultats montrent
4.3. RÉSULTATS SANS TRANSFERT DE DOMAINE 107
qu’ils peuvent tout à fait être utilisés pour cette tâche. En effet, ces approches sont en mesure
de détecter des exemples dont la valeur du score Softmax est difficile à discerner de celle d’un
exemple régulier.
Table 4.3 – Taux de détection des exemples adverses généré par ZOO.
1-SVM
LOFc
LOFg
PRE
FPR
1-SVM
LOFc
LOFg
Figure 4.13 – Évolution de PRE et FPR en fonction du nombre d’éléments utilisés pour l’ap-
prentissage .
faux positifs bien supérieur au deux formes du LOF. L’augmentation du nombre d’exemple
d’entrainement favorise un gain de précision et une réduction de faux positif mais augmente
aussi la variance de la réponse, visible en gris clair sur les figures 4.13a et 4.13b.
Nous utiliserons ici les images issues du jeu de données simulées DS3 présenté dans la section
2.3.1. Cet ensemble de données comprend lui aussi 8 cibles et nous reprendrons un découpage
proche de celui proposé dans la section 4.3.1 et détaillé dans le tableau 4.1. Les jeux de données
prendront cette fois les noms TM , VM , OM , FM et C. Ils auront respectivement 13184, 4096,
5760, 4096 et 4096 images. Nous avons aussi généré 500 exemples adverses à l’aide de ZOO pour
chaque cycle d’entrainement et de test. Ce jeu de données prendra le nom AM . Le détail du
découpage sera présenté dans le tableau 4.4.
Une nouvelle fois, nous entrainons plusieurs cfCNNs sur le jeu de données TM avec les mêmes
paramètres que ceux utilisés dans la section 4.3.1. Avec ces réglages, nous obtenons un pourcen-
4.3. RÉSULTATS SANS TRANSFERT DE DOMAINE 109
tage de cibles correctement identifiées supérieur à 98% sur le jeu de données VM . Une fois les
modèles entrainés, nous utiliserons les sorties de l’avant dernière couche f [n−1] de chaque réseau
pour former les ensemble YT , YV et YO pour chaque cfCNN entrainé. Enfin, nous utiliserons
YT pour préparer un LOFg qui sera testé ensuite sur l’union YV ∪ YO . Pour l’évaluation nous
reprendrons les métriques utilisées dans la section 4.3.1.
Résultats
Dans cette sous-section, nous présentons les performances du LOFg sur les données MBDA
simulées uniquement. Le tableau 4.5 présentera les performances globales et le tableau 4.6 pré-
sentera le détail des performances du LOFg sur chaque type d’anomalies et d’exemples réguliers.
PRE FPR F1
Détecteur
Min/Mean/Max Min/Mean/Max Min/Mean/Max
Table 4.5 – Résultats de détection d’anomalies sur les données MBDA du LOFg sur les en-
sembles combinées VM , OM , FM et C.
Le tableau 4.5 présente les résultats obtenus par le LOFg sur les données MBDA. En com-
parant avec les résultats du tableau 4.2, nous pouvons voir que les performances du LOF sont
légèrement en retrait sur le jeu de données MBDA. Cependant, nous pouvons remarquer un score
de précision de 0.9651 en moyenne et un taux de faux positifs qui ne dépasse pas 0.1152. Cela
montre que le détecteur LOFg reste pertinent pour ce jeu de données. L’écart de performances
sur les résultats entre SENSIAC et les données MBDA pourrait être lié à la diversité des images
présentes dans l’ensemble TM extrait de DS3 et utilisé pour entrainer le cfCNN et le LOF. Il y
a dans ce jeu de données plus de variation en termes de météo et d’état thermique par rapport à
SENSIAC. En effet, ce dernier ne contient que des véhicules en roulement et pour seulement deux
météos. Ces variations peuvent affecter la capacité du détecteur d’anomalies à bien fonctionner.
Les résultats de détection sur chaque ensemble de données sont présentés dans le tableau
110 CHAPITRE 4. DÉTECTION DES ANOMALIES DE CLASSIFICATION
Exemples réguliers
VM 88.5/89.5/90% 10/10.5/11.5%
Anomalies et nouvelles classes
FM 5.6/12.5/16.2% 83.8/87.5/94.4%
OM 2.6/5.64/8.9% 91.1/94.36/97.4%
C 1.6/2.7/4.63% 95.37/97.234/98.4%
AM 6.4/7.82/9.7% 90.3/92.18/93.6%
Table 4.6 – Détails par type d’anomalie des taux de détection du LOFg .
4.6. Dans ce tableau, nous considérons que, pour un bon détecteur d’anomalies, le pourcentage
d’exemples réguliers, ici VM , non détectés doit être élevé et le pourcentage d’exemple réguliers
détectés comme anomalies doit être faible. Inversement, pour un bon détecteur, le pourcentage
d’anomalies non détectées doit être faible.
Sous ce format, nous pouvons voir que le FPR élevé du tableau 4.5 est confirmé par le
nombre d’exemple de VM détectés comme anomalies. Idéalement, l’ensemble du jeu de données
VM devrait être considéré comme régulier. En effet, cet ensemble ne contient que des exemples
sur lesquels le réseau a été entrainé.
En ce qui concerne les anomalies, nous pourrions nous attendre à voir un grand nombre
d’exemples adverses ne pas être détectés par le LOFg . Cependant, nous pouvons voir que les
fonds du jeu de données FM sont les plus difficiles à gérer pour le LOFg . En moyenne, 12.5%
d’entre eux ne seront pas détectés par le LOFg , contre 7.82% des éléments de AM .
En ce qui concerne les autres détecteurs présentés dans la section 4.3.1, nous tenons à apporter
quelques précisions pour justifier leur absence dans cette section. Pour ODIN, des problèmes
d’utilisation de certaines librairies sur les machines respectant les conditions de sécurité imposées
par MBDA nous ont empêché d’obtenir des résultats. Pour le 1-SVM, il est impossible d’obtenir
un FPR faible avec un score PRE élevé comme pour les résultats sur 4.3.1.
Nous réutilisons les données de l’ensemble DS3, avec un découpage légèrement différent de
celui introduit dans la section 4.3.4, en utilisant l’ensemble des cibles présentes dans DS3 pour
former nos ensembles d’entrainement et de test. Nous les appellerons respectivement TR et VR .
Aussi, les nouvelles classes seront cette fois ci des images réelles de cibles inconnues qui seront
regroupées dans l’ensemble appelé OR . Les cibles en question sont une camionnette et un pick-
up. Enfin, les fonds ne seront plus tirés d’images synthétiques mais d’images réelles. Le détail du
découpage de ces ensembles est présenté dans le tableau 4.7.
Protocole expérimental
Comme pour les sections 4.3.1 et 4.3.4, nous entrainerons plusieurs itérations du cfCNN sur les
données du jeu TR avec les mêmes paramètres. Une fois les modèles entrainés, nous regroupons
les sorties de la couche f [n−1] associées à VR et R dans l’ensemble YV , et celles des ensembles
OR , FR et C dans YO . Enfin, nous préparons une nouvelle fois un LOFg pour chaque cfCNN
entrainé sur les sorties associées à TR . Ce LOFg est ensuite testé sur YV ∪YO . Nous réutiliserons
les critères PRE, FPR et F1 pour évaluer les performances de ce détecteur.
Résultats
Nous présentons ici les résultats des test de détection d’anomalies avec le LOFg sur les données
MBDA réelles. Les performances globales du détecteur sont référencées dans le tableau 4.8 et le
détail des taux de détection par type d’anomalie sera présenté dans la section 4.9.
A partir des données présentées dans le tableau 4.8, nous pouvons voir que le LOFg ne
fonctionne pas correctement sur ce jeu de données. En comparant avec les résultats des tableaux
112 CHAPITRE 4. DÉTECTION DES ANOMALIES DE CLASSIFICATION
PRE FPR F1
Détecteur
Min/Mean/Max Min/Mean/Max Min/Mean/Max
Table 4.8 – Résultats de détection d’anomalies sur les données MBDA réelles, combinées aux
ensembles VM , OM , FM et C.
4.2 et 4.5 nous pouvons voir que la PRE et le score F1 sont bien en dessous de ce que nous avions
obtenu sans transfert de domaine. Le FPR est aussi très élevé, avec une valeur moyenne de
0.5661, qui indique qu’au moins un exemple régulier sur deux est identifié par erreur comme une
anomalie. Un élément important est aussi la variance des résultats présentés, notamment pour
PRE et le score F1. Une telle instabilité pour un module de détection d’anomalies, notamment
dans un contexte militaire, n’est pas acceptable.
Exemples réguliers
VR 99.1/99.4/99.7% 0.3/0.5/0.9%
RR 17.1/43.2/86.3% 13.7/56.8/82.9%
Anomalies et nouvelles classes
FR 64.8/74.5/84% 16/25.5/35.2%
OR 28.4/37.8/48.9% 51.1/62.2/71.6%
C 11.5/14.8/18.6% 81.4/85.2/88.5%
Table 4.9 – Détails par type d’anomalie des taux de détection du LOFg .
Le détail des performances du LOFg sur chaque ensemble d’images est présenté dans le tableau
4.9. Nous pouvons voir que sur VR et C, les performances se rapprochent des résultats de la
section 4.3.4. Le taux de fausses alarmes sur VR reste faible, à 0.5% en moyenne. Cependant, le
nombre d’exemples cannoniques non détectés est en augmentation à 11.5% au minimum.
Les mauvais résultats du LOFg sont principalement dus aux performances de détection sur
RR , FR et OR . Nous pouvons voir que jusqu’à 82.9% des exemples réguliers réels de RR son
détectés par erreur comme des anomalies. Inversement, seulement 25.5% des fonds de FR , et
62.2% des nouvelles classes de OR sont correctement détectées par le LOFg .
4.4. RÉSULTATS AVEC TRANSFERT DE DOMAINE 113
Les résultats présentés dans la section 4.4.1 montrent que le LOFg n’est pas adapté pour
la détection d’anomalies avec passage de la simulation au réel. Pour améliorer les résultats de
détection en utilisant toujours la base du LOF tel que décrit dans la section 4.2.2, nous proposons
de combiner l’information issue de plusieurs couches du réseau utilisé pour la classification. Nous
allons donc utiliser plusieurs modules de détection basé sur le LOFg connectés aux premières
couches cachées du réseau, en complément d’un LOFg connecté à l’avant dernière couche i.e.
f [n−1] . En procédant de la sorte, nous espérons pouvoir exploiter le changement de la représen-
tation des données d’entrée entre chacune des couches du réseau.
Anomalie
Ce nouveau module, présenté dans la figure 4.14, sera appelé LOF en cascade ou CLOF. Dans
cet exemple, le réseau utilisé est un cfCNN. Celui-ci étant entièrement convolutif, nous avons
ajouté entre chaque couche de convolution et chaque LOF intermédiaire une opération de GAP
pour réduire la taille des entrées du LOF. En effet, sans cette étape, la dimension des sorties
des couches de convolution risque d’être très importante et de limiter fortement la vitesse de
traitement pour la détection d’anomalie.
Comme illustré dans la figure 4.14, pour qu’une entrée x soit classée comme une anomalie,
seul l’avis d’un détecteur intermédiaire est suffisant. A l’inverse, l’entrée doit avoir été déclarée
comme régulière par la totalité des détecteurs pour pouvoir être qualifiée de régulière en sortie
du réseau. C’est le passage successif dans les différents détecteurs qui donne son nom de cascade
au CLOF.
Résultats
Nous avons répété les expériences de la section 4.4.1 en utilisant le CLOF pour mesurer
les gains obtenus par rapport au LOFg simple sur les mêmes ensembles d’images. Les résultats
114 CHAPITRE 4. DÉTECTION DES ANOMALIES DE CLASSIFICATION
globaux sont présentés dans le tableau 4.10 et détaillés dans le tableau 4.11.
PRE FPR F1
Détecteur
Min/Mean/Max Min/Mean/Max Min/Mean/Max
Table 4.10 – Résultats de détection d’anomalies sur les données MBDA réelles, combinées aux
ensembles VM , OM , FM et C.
Nous pouvons voir que les valeurs minimum pour PRE et F1 du CLOF dépassent le maximum
obtenu pour le LOFg dans le tableau 4.8 . Nous pouvons aussi noter que le FPR est fortement
descendu à 0.2506 en moyenne. Les résultats sur les trois critères semblent aussi bien plus stables
que pour le LOFg .
Exemples réguliers
VR 99.4/99.5/99.6% 0.4/0.5/0.6%
RR 60.9/64.8/72.6% 27.4/35.2/39.1%
Anomalies et nouvelles classes
FR 35.2/42.9/48.8% 51.2/57.1/64.8%
OR 30.8/34.8/59.9% 40.1/65.2/69.2%
C 9.4/10.9/12.3% 87.7/89.1/90.6%
Table 4.11 – Détails par type d’anomalie des taux de détection du LOFg .
En regardant les résultats présentés dans le tableau 4.11, nous pouvons confirmer l’amé-
lioration de la performance du CLOF. L’utilisation du CLOF a notamment permis de réduire
fortement le taux d’exemples détectés par erreur sur l’ensemble RR , qui est maintenant de 35.2%
en moyenne, contre 56.8% pour le LOFg . De plus le pourcentage de fonds réels correctement dé-
tectés comme anomalies à lui aussi augmenté. Il passe de 25.5% en moyenne dans le tableau
4.9 à 57.1% pour le CLOF. Enfin, nous pouvons aussi voir que le gain de stabilité observée sur
les données du tableau 4.10 est confirmée dans le tableau 4.11. Le détecteur en cascade semble
mieux adapté au problème de la détection d’anomalie avec changement de domaine.
que celle basée sur le LOF, et que nous avons appelé LOFg , nous permettait d’obtenir des résul-
tats équivalents à une méthode de la littérature appelée ODIN. Cette équivalence ne concerne
cependant que des résultats ou les données d’entrainement du LOFg et les données de test ap-
partenaient au même domaine.
Dans un contexte ou le domaine change entre l’entrainement et le test, les performances
LOFg ne sont pas satisfaisants. Pour traiter ce problème, nous avons introduit une nouvelle
façon d’utiliser le LOF baptisée CLOF. Ce CLOF est une cascade de LOFg connectés à plusieurs
couches du réseau de neurones qu’il supporte. Grâce à cette évolution nous sommes en mesure
de détecter un plus grand nombre d’anomalies tout en réduisant sensiblement le taux de faux
positifs.
Conclusion
Ce chapitre clôture ce manuscrit en présentant un bilan des travaux réalisés au cours de cette
thèse. Nous allons donc aborder successivement l’utilisation de données simulées pour l’entraine-
ment d’un CNN dédié à la classification d’images infrarouges réelles et la détection d’anomalies de
classification. Pour chacune de ces contributions, nous proposerons aussi des axes d’amélioration.
117
118 CHAPITRE 4. CONCLUSION
issus de la littérature ainsi qu’un algorithme de classification basé sur un SVM et des descripteurs
HOG. Nous disposions pour cela de trois ensembles de données simulées avec différents niveaux
de qualité et un ensemble de données réelles. Nous avons comparé les différents modèles de
classification en fonction de leurs scores de reconnaissance et d’identification. Nous les avons
tous entrainés successivement sur les trois ensembles de données simulées avant de les tester sur
les données réelles.
Les résultats obtenus ont d’abord montré que, comme nous pouvions le supposer, améliorer la
qualité de la simulation entraine un gain de performance significatif pour la classification de véhi-
cules dans les images réelles. Cependant, nous avons aussi observé que parmi les architectures de
CNN choisies, seule un CNN simple et un Resnet 52 parvenaient à égaler ou surpasser le SVM en
termes de performances en identification. Nous avons alors proposé un nouveau modèle de CNN
compact pour améliorer les performances de classification. Baptisé cfCNN, ce réseau est un CNN
entièrement convolutif à 7 couches cachées, terminé par une opération de global average pooling,
ou GAP, et dont les neurones utilisent l’activation Leaky-ReLU. Ce réseau a obtenu les meilleurs
résultats de reconnaissance et d’identification quelle que soit la qualité des données simulées
utilisées pour l’entrainement par rapport aux autres modèles testés. L’utilisation de l’activation
Leaky-ReLU a notamment permis de réduire la variance des résultats de classification. De plus,
en comparant le cfCNN avec une version modifiée utilisant deux couches de neurones entièrement
connectées à la place du GAP, nous avons montré que le GAP améliorait les performances du
cfCNN sur des données réelles après un entrainement sur des données simulées.
Dans un deuxième temps, nous avons évalué la robustesse du cfCNN aux erreurs de détection.
En effet, les systèmes de RI sont précédés d’un module de détection qui découpe une image source
en zone d’intérêt. Ces zones sont ensuite traitées par le système RI. Ainsi, une erreur de l’étage de
détection pourra impacter la qualité de la réponse du module RI. Pour évaluer cet impact, nous
avons repris certains des modèles précédents et nous avons testé la réponse de chacun sur des
données simulées perturbées. En choisissant de réaliser ces évaluations sur les données simulées
nous nous sommes assurés que les variations de performances observées étaient uniquement liées
aux perturbations que nous avons ajouté. Ces perturbations comprenaient des translations, des
changements d’échelle et l’ajout de bruit. Là encore le cfCNN a obtenu les meilleurs résultats
notamment grâce à l’utilisation du GAP. Ces résultats montrent le potentiel du cfCNN en vue de
développer un système de RI automatisé. Sa compacité accélère la vitesse de l’apprentissage et de
l’inférenc et pourra faciliter son implémentation sur des cibles matérielles avec peu de puissance
de calcul. De plus, des travaux complémentaires ont montré que le cfCNN pouvait être utilisé
pour des tâches de détection de petites cibles dans les images infrarouges [4].
Après avoir travaillé sur le cfCNN, nous avons identifié plusieurs axes de développement pour
améliorer les résultats présentés dans ce manuscrit :
• Dans un premier temps, nous pourrions travailler à améliorer les résultats de classification
sur données réelles après avoir appris sur des données simulées. Nous pouvons suggérer
deux axes différents. Le premier axe serait d’utiliser dans l’architecture du cfCNN des
119
Gradient Reversal Layers [130]. Ces couches permettent de faire du transfert de domaine
non-supervisé et d’entrainer conjointement un CNN sur des données simulées annotées
et des données réelles non annotées. Nous pourrions ainsi utiliser pendant l’entrainement
des images simulées de véhicules militaires et des images réelles infrarouges de véhicule
civils qui sont plus simples à obtenir. En deuxième axe, nous proposons d’évaluer l’apport
des réseaux génératif antagonistes, ou GAN, pour améliorer la qualité de la synthèse et
réduire l’écart visuel entre des images réelles et des images simulées.
• Dans un deuxième temps, nous pourrions aussi nous intéresser à la robustesse du cfCNN
sur d’autres critères. Nous pourrions ainsi commencer par étudier un problème d’iden-
tification ou de reconnaissance avec un nombre de cibles plus important, à condition de
disposer de suffisamment de données annotées. Un autre point non abordé dans le manus-
crit concerne les effets du masquage partiel des cibles par des éléments de l’environnement.
Il serait aussi intéressant d’évaluer la robustesse de la classification en fonction de l’orien-
tation du véhicule, ou même de la position de certains éléments du véhicule comme la
tourelle d’un char de combat.
• Enfin, il serait aussi utile d’étudier la possibilité de quantifier le réseau, i.e. de travailler
avec un cfCNN dont les paramètres ne sont pas codés sur 32 bits mais 16 ou 8 bits. Dans
le même thème, nous pourrions aussi évaluer l’impact de la dynamique de l’image sur les
performances du réseau. En effet, dans le cadre de ces travaux, nous avons simplement
déterminé que de travailler avec la dynamique complète de l’image, i.e. 14 bits, nous
permettait d’obtenir les meilleurs scores d’identification et de reconnaissance. Il serait
intéressant de quantifier l’écart de performance avec un cfCNN qui utilise des entrées
quantifiées sur moins de 14 bits.
Ces trois méthodes de détection d’anomalies ont été couplées au cfCNN et comparées à la
méthode ODIN pour détecter plusieurs anomalies basées sur le jeu de données SENSIAC : des
nouvelles classes de véhicules, des fonds d’images infrarouges sans cibles, des exemples canoniques
et des exemples adverses générés à l’aide de la méthode ZOO. Les trois approches proposées,
et notamment le LOFg , ont montré des performances proches de ODIN. À la lumière de ces
résultats, nous avons donc utilisé un cfCNN avec le LOFg sur les données MBDA. Comme pour
le problème de la classification d’images à partir de données simulées, nous avons entrainé le
cfCNN et le LOFg sur des données simulées, puis nous l’avons testé sur des données réelles. Sur
ce test, le taux de faux positifs sur les données réelles a augmenté significativement par rapport
aux résultats obtenus sur SENSIAC.
Pour améliorer ces résultats, nous avons proposé un détecteur en cascade, ou CLOF, utilisant
une combinaison de LOFg sur plusieurs couches du cfCNN. Cela permet d’exploiter le changement
de distribution des variables des différentes couches du réseau. Cette nouvelle approche nous a
permis d’améliorer fortement les performances de détection. Il reste cependant une marge de
progression importante avant d’atteindre les résultats obtenus sur le problème de la détection
d’anomalie sans transfert de domaine.
Nous avons identifié plusieurs axes d’amélioration ou de recherches pour la détection d’ano-
malie :
• Le CLOF et le LOFg utilisent tous les deux des scores obtenus en sortie d’une couche GAP.
Nous avons choisi cette approche pour sa simplicité car elle permet de réduire fortement
la taille des vecteurs utilisés en entrées des blocs LOF et donc de réduire le temps de
traitement. Néanmoins en appliquant cette opération, il est possible que des informations
utiles pour caractériser les anomalies soient perdues. Il serait alors intéressant d’étudier
d’autres métriques pour extraire les informations en sortie des couches de convolution du
réseau.
• Un autre axe d’amélioration serait d’essayer de séparer les différents types d’anomalies
en fonction des scores obtenus avec le CLOF ou le LOFg . Cela permettrait d’améliorer
l’interprétation des résultats et de faciliter l’utilisation du système pour un opérateur.
Bibliographie
121
122 BIBLIOGRAPHIE
[27] D. C. Cireşan, U. Meier et J. Schmidhuber. “Transfer learning for Latin and Chinese
characters with Deep Neural Networks”. In : The 2012 International Joint Conference on
Neural Networks (IJCNN). Juin 2012, p. 1-6 (cf. p. 31).
[28] D. C. Cireşan et al. “Deep, Big, Simple Neural Nets for Handwritten Digit Recognition”.
In : Neural Computation 22.12 (déc. 2010), p. 3207-3220 (cf. p. 15).
[29] D. Malmgren-Hansen et al. “Improving SAR Automatic Target Recognition Models
With Transfer Learning From Simulated Data”. In : IEEE Geoscience and Remote Sensing
Letters 14.9 (sept. 2017), p. 1484-1488 (cf. p. 61).
[30] D. P. Williams. “Underwater Target Classification in Synthetic Aperture Sonar Imagery
Using Deep Convolutional Neural networks”. In : 2016 23rd International Conference on
Pattern Recognition (ICPR). Déc. 2016, p. 2497-2502 (cf. p. 46).
[31] N. Dalal, B. Triggs et C. Schmid. “Human detection using oriented histograms of flow
and appearance”. In : European conference on computer vision. Springer, 2006, p. 428-441
(cf. p. 14).
[32] J. Deng et al. “ImageNet : A Large-Scale Hierarchical Image Database”. In : CVPR09.
2009 (cf. p. xx, 16, 31, 66).
[33] T. DeVries et G. W. Taylor. “Learning Confidence for Out-of-Distribution Detection
in Neural Networks”. In : arXiv e-prints (fév. 2018), arXiv :1802.04865 (cf. p. 94).
[34] J. Duchi, E. Hazan et Y. Singer. “Adaptive Subgradient Methods for Online Learning
and Stochastic Optimization”. In : J. Mach. Learn. Res. 12.null (juill. 2011), p. 2121-2159
(cf. p. 28).
[35] Farzana Khan, J. et Alam, M. S. “Target detection in cluttered forward-looking in-
frared imagery”. In : Optical Engineering 44.7 (juill. 2005), p. 1-8 (cf. p. 46).
[36] FLIR Thermal Dataset for Algorithm Training. 2018 (cf. p. 42).
[37] G. Cheng et al. “When Deep Learning Meets Metric Learning : Remote Sensing Image
Scene Classification via Learning Discriminative CNNs”. In : IEEE Transactions on Geos-
cience and Remote Sensing 56.5 (mai 2018), p. 2811-2821 (cf. p. 62, 63).
[38] G. Huang et al. “Densely Connected Convolutional Networks”. In : 2017 IEEE Confe-
rence on Computer Vision and Pattern Recognition (CVPR). Juill. 2017, p. 2261-2269
(cf. p. 17).
[39] G. Kollios et al. “Efficient biased sampling for approximate clustering and outlier de-
tection in large data sets”. In : IEEE Transactions on Knowledge and Data Engineering
15.5 (oct. 2003), p. 1170-1187 (cf. p. 93).
[40] G. Wang et al. “Interactive Medical Image Segmentation Using Deep Learning With
Image-Specific Fine Tuning”. In : IEEE Transactions on Medical Imaging 37.7 (juill.
2018), p. 1562-1573 (cf. p. 31).
[41] L. Garrido et al. “A Regularization Term to Avoid The Saturation of The Sigmoids
in Multilayer Neural Networks”. In : Int. J. Neur. Syst. 07.03 (juill. 1996), p. 257-262
(cf. p. 25).
[42] I. Goodfellow, Y. Bengio et A. Courville. Deep Learning. http://www.deeplearningbook.
org. MIT Press, 2016 (cf. p. 6, 12, 19, 21, 28-30, 93).
[43] I. J. Goodfellow, J. Shlens et C. Szegedy. “Explaining and Harnessing Adversarial
Examples”. In : 3rd International Conference on Learning Representations, ICLR. 2015,
arXiv :1412.6572 (cf. p. 34, 92).
124 BIBLIOGRAPHIE
[75] M. Lecuyer et al. “Certified Robustness to Adversarial Examples with Differential Pri-
vacy”. In : arXiv e-prints (fév. 2018), arXiv :1802.03471 (cf. p. 92).
[76] K. Lee et al. “A Simple Unified Framework for Detecting Out-of-Distribution Samples
and Adversarial Attacks”. In : Advances in Neural Information Processing Systems 31.
Sous la dir. de S. Bengio et al. Curran Associates, Inc., 2018, p. 7167-7177 (cf. p. 93, 94,
98, 99).
[77] M. Leshno et al. “Multilayer feedforward networks with a nonpolynomial activation
function can approximate any function”. In : Neural Networks 6.6 (jan. 1993), p. 861-867
(cf. p. 6).
[78] S. Liang, Y. Li et R. Srikant. “Enhancing The Reliability of Out-of-distribution Image
Detection in Neural Networks”. In : arXiv e-prints (juin 2017), arXiv :1706.02690 (cf.
p. 93, 94).
[79] M. Lin, Q. Chen et S. Yan. “Network In Network”. In : arXiv e-prints (déc. 2013),
arXiv :1312.4400 (cf. p. 64).
[80] X. Liu et al. “Towards Robust Neural Networks via Random Self-ensemble”. In : The
European Conference on Computer Vision (ECCV). 2018 (cf. p. 92).
[81] Y. Liu et al. “Delving into Transferable Adversarial Examples and Black-box Attacks”.
In : arXiv e-prints (nov. 2016), arXiv :1611.02770 (cf. p. 34).
[82] D. G. Lowe. “Object Recognition from Local Scale-Invariant Features”. In : Proceedings
of the International Conference on Computer Vision-Volume 2 - Volume 2. ICCV ’99.
USA : IEEE Computer Society, 1999, p. 1150 (cf. p. 14).
[83] L. Lu et al. Dying ReLU and Initialization : Theory and Numerical Examples. 2019.
arXiv : 1903.06733 [stat.ML] (cf. p. 26).
[84] M. Çelik, F. Dadaşer-Çelik et A. Ş. Dokuz. “Anomaly Detection in Temperature
Data Using DBSCAN algorithm”. In : 2011 International Symposium on Innovations in
Intelligent Systems and Applications. Juin 2011, p. 91-95 (cf. p. 93).
[85] M. Oquab et al. “Is object localization for free ? - Weakly-supervised learning with convo-
lutional neural networks”. In : 2015 IEEE Conference on Computer Vision and Pattern
Recognition (CVPR). Juin 2015, p. 685-694 (cf. p. 63).
[86] M. Teutsch et W. Krüger. “Classification of Small Boats in Infrared Images for Ma-
ritime Surveillance”. In : 2010 International WaterSide Security Conference. Nov. 2010,
p. 1-7 (cf. p. 46).
[87] A. L. Maas, A. Y. Hannun et A. Y. Ng. “Rectifier nonlinearities improve neural net-
work acoustic models”. In : in ICML Workshop on Deep Learning for Audio, Speech and
Language Processing. 2013 (cf. p. 26).
[88] L. v. d. Maaten et G. Hinton. “Visualizing data using t-SNE”. In : Journal of machine
learning research 9.Nov (2008), p. 2579-2605 (cf. p. 96).
[89] A. Mandelbaum et D. Weinshall. “Distance-based Confidence Score for Neural Net-
work Classifiers”. In : arXiv e-prints (sept. 2017), arXiv :1709.09844 (cf. p. 93).
[90] Military Sensing Information Analysis Center (SENSIAC) : Dataset for Automatic Target
Recognition in Infrared Imagery. 2008 (cf. p. 42, 48, 101).
[91] M. Minsky et S. Papert. Perceptrons. MIT Press, 1969 (cf. p. 2).
BIBLIOGRAPHIE 127
[92] N. Tajbakhsh et al. “Convolutional Neural Networks for Medical Image Analysis : Full
Training or Fine Tuning ?” In : IEEE Transactions on Medical Imaging 35.5 (mai 2016),
p. 1299-1312 (cf. p. 31).
[93] V. Nair et G. Hinton. “Rectified Linear Units Improve Restricted Boltzmann Machines”.
In : ICML Conference 2010 (2010) (cf. p. 25).
[94] H.-W. Ng et al. “Deep Learning for Emotion Recognition on Small Datasets Using Trans-
fer Learning”. In : Proceedings of the 2015 ACM on International Conference on Multimo-
dal Interaction. ICMI ’15. event-place : Seattle, Washington, USA. New York, NY, USA :
Association for Computing Machinery, 2015, p. 443-449 (cf. p. 31).
[95] P. Tzannes, A. et Brooks, D. H. “Point target detection in IR image sequences based
on target and clutter temporal profile modeling”. In : Infrared Technology and Applications
XXV. T. 3698. Juill. 1999 (cf. p. 46).
[96] N. Papernot, P. McDaniel et I. Goodfellow. “Transferability in Machine Learning :
from Phenomena to Black-Box Attacks using Adversarial Samples”. In : arXiv e-prints
(mai 2016), arXiv :1605.07277 (cf. p. 106).
[97] N. Papernot et al. “Distillation as a Defense to Adversarial Perturbations against Deep
Neural Networks”. In : arXiv e-prints (nov. 2015), arXiv :1511.04508 (cf. p. 92).
[98] N. Papernot et al. “Practical Black-Box Attacks against Machine Learning”. In : arXiv
e-prints (fév. 2016), arXiv :1602.02697 (cf. p. 106).
[99] N. Papernot et al. “Practical black-box attacks against machine learning”. In : 2017
ACM Asia Conference on Computer and Communications Security, ASIA CCS 2017.
ASIA CCS 2017 - Proceedings of the 2017 ACM Asia Conference on Computer and
Communications Security (avr. 2017), p. 506-519 (cf. p. 34, 92).
[100] R. Hadsell, S. Chopra et Y. LeCun. “Dimensionality Reduction by Learning an
Invariant Mapping”. In : 2006 IEEE Computer Society Conference on Computer Vision
and Pattern Recognition (CVPR’06). T. 2. Juin 2006, p. 1735-1742 (cf. p. 62).
[101] I. Rodger, B. Connor et N. M. Robertson. “Classifying objects in LWIR imagery
via CNNs”. In : Electro-Optical and Infrared Systems : Technology and Applications XIII.
T. 9987. Oct. 2016 (cf. p. 46, 64, 66, 68, 90).
[102] S. Chen et al. “Target Classification Using the Deep Convolutional Networks for SAR
Images”. In : IEEE Transactions on Geoscience and Remote Sensing 54.8 (août 2016),
p. 4806-4817 (cf. p. 46).
[103] S. Dodge et L. Karam. “Understanding how image quality affects deep neural net-
works”. In : 2016 Eighth International Conference on Quality of Multimedia Experience
(QoMEX). Juin 2016, p. 1-6 (cf. p. 90).
[104] S. Moosavi-Dezfooli et al. “Universal Adversarial Perturbations”. In : 2017 IEEE
Conference on Computer Vision and Pattern Recognition (CVPR). Juill. 2017, p. 86-94
(cf. p. 34).
[105] S. Zheng et al. “Improving the Robustness of Deep Neural Networks via Stability Trai-
ning”. In : 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).
Juin 2016, p. 4480-4488 (cf. p. 92).
[106] B. Schölkopf et al. “Support Vector Method for Novelty Detection”. In : Proceedings of
the 12th International Conference on Neural Information Processing Systems. NIPS 99.
event-place : Denver, CO. Cambridge, MA, USA : MIT Press, 1999, p. 582-588 (cf. p. 93).
128 BIBLIOGRAPHIE
[107] A. Shafahi et al. “Adversarial training for free !” In : Advances in Neural Information
Processing Systems 32. Sous la dir. de H. Wallach et al. Curran Associates, Inc., 2019,
p. 3358-3369 (cf. p. 92).
[108] K. Simonyan et A. Zisserman. “Very Deep Convolutional Networks for Large-Scale
Image Recognition”. In : arXiv e-prints (sept. 2014), arXiv :1409.1556 (cf. p. 17, 66).
[109] J. T. Springenberg et al. “Striving for Simplicity : The All Convolutional Net”. In :
CoRR arXiv :1412.6806 (2014) (cf. p. 20, 21, 68).
[110] N. Srivastava et al. “Dropout : A Simple Way to Prevent Neural Networks from Over-
fitting”. In : Journal of Machine Learning Research 15 (2014), p. 1929-1958 (cf. p. 23, 24,
70).
[111] C. Szegedy, S. Ioffe et V. Vanhoucke. “Inception-v4, Inception-ResNet and the Im-
pact of Residual Connections on Learning”. In : CoRR abs/1602.07261 (2016) (cf. p. 17).
[112] C. Szegedy et al. “Going Deeper with Convolutions”. In : CoRR arXiv :1409.4842 (2014)
(cf. p. 17).
[113] C. Szegedy et al. “Intriguing properties of neural networks”. In : arXiv e-prints (déc.
2013), arXiv :1312.6199 (cf. p. 34).
[114] C. Szegedy et al. “Rethinking the Inception Architecture for Computer Vision”. In :
arXiv e-prints (déc. 2015), arXiv :1512.00567 (cf. p. 17, 66).
[115] T. Lin, A. RoyChowdhury et S. Maji. “Bilinear CNN Models for Fine-Grained Visual
Recognition”. In : 2015 IEEE International Conference on Computer Vision (ICCV). Déc.
2015, p. 1449-1457 (cf. p. 66).
[116] R. Tibshirani. “Regression Shrinkage and Selection via the Lasso”. In : Journal of the
Royal Statistical Society. Series B (Methodological) 58.1 (1996), p. 267-288 (cf. p. 22).
[117] T. Tieleman et G. Hinton. “Lecture 6.5-rmsprop : Divide the gradient by a running
average of its recent magnitude”. In : COURSERA : Neural networks for machine learning
4.2 (2012), p. 26-31 (cf. p. 28).
[118] F. Tramer et D. Boneh. “Adversarial Training and Robustness for Multiple Perturba-
tions”. In : Advances in Neural Information Processing Systems 32. Sous la dir. de H.
Wallach et al. Curran Associates, Inc., 2019, p. 5866-5876 (cf. p. 92).
[119] V. Venkataraman et al. “Automated Target Tracking and Recognition Using Coupled
View and Identity Manifolds for Shape Representation”. In : EURASIP Journal on Ad-
vances in Signal Processing 2011.1 (déc. 2011), p. 124 (cf. p. 46, 73, 74).
[120] J. E. Vitela et J. Reifman. “Premature Saturation in Backpropagation Networks :
Mechanism and Necessary Conditions”. In : Neural Networks 10.4 (juin 1997), p. 721-735
(cf. p. 25).
[121] S. Wager, S. Wang et P. S. Liang. “Dropout Training as Adaptive Regularization”. In :
Advances in Neural Information Processing Systems 26. Sous la dir. de C. J. C. Burges
et al. Curran Associates, Inc., 2013, p. 351-359 (cf. p. 24).
[122] B. Wang et al. “With Great Training Comes Great Vulnerability : Practical Attacks
against Transfer Learning”. In : 27th USENIX Security Symposium (USENIX Security
18). Baltimore, MD : USENIX Association, août 2018, p. 1281-1297 (cf. p. 57).
[123] K. Q. Weinberger et L. K. Saul. “Distance Metric Learning for Large Margin Nearest
Neighbor Classification”. In : J. Mach. Learn. Res. 10 (juin 2009), p. 207-244 (cf. p. 62).
BIBLIOGRAPHIE 129
[124] Xavier Glorot, Antoine Bordes et Yoshua Bengio. “Deep Sparse Rectifier Neural
Networks”. In : Proceedings of the Fourteenth International Conference on Artificial Intel-
ligence and Statistics. Sous la dir. de Geoffrey Gordon, David Dunson et Miroslav
Dudík. PMLR, juin 2011, p. 315-323 (cf. p. 26).
[125] Xavier Glorot et Yoshua Bengio. “Understanding the difficulty of training deep feed-
forward neural networks”. In : sous la dir. d’Yee Whye Teh et Mike Titterington.
PMLR, mars 2010, p. 249-256 (cf. p. 28).
[126] B. Xu et al. “Empirical Evaluation of Rectified Activations in Convolutional Network”.
In : CoRR abs/1505.00853 (2015). arXiv : 1505.00853 (cf. p. 27).
[127] H. Xu et al. “Unsupervised Anomaly Detection via Variational Auto-Encoder for Seasonal
KPIs in Web Applications”. In : arXiv e-prints (fév. 2018), arXiv :1802.03903 (cf. p. 93).
[128] Y. LeCun et al. “Backpropagation Applied to Handwritten Zip Code Recognition”. In :
Neural Computation 1.4 (déc. 1989), p. 541-551 (cf. p. 7).
[129] Y. Lee, S. -. Oh et M. W. Kim. “The effect of initial weights on premature saturation
in back-propagation learning”. In : IJCNN-91-Seattle International Joint Conference on
Neural Networks. T. i. Juill. 1991, 765-770 vol.1 (cf. p. 25).
[130] Yaroslav Ganin et Victor Lempitsky. “Unsupervised Domain Adaptation by Back-
propagation”. In : Proceedings of the 32nd International Conference on Machine Learning.
Sous la dir. de Francis Bach et David Blei. PMLR, juin 2015, p. 1180-1189 (cf. p. 68,
119).
[131] S. P. Yoon, T. L. Song et T. H. Kim. “Automatic target recognition and tracking in
forward-looking infrared image sequences with a complex background”. In : International
Journal of Control, Automation and Systems 11.1 (fév. 2013), p. 21-32 (cf. p. 46).
[132] J. Yosinski et al. “How transferable are features in deep neural networks ?” In : Advances
in Neural Information Processing Systems 27. Sous la dir. de Z. Ghahramani et al.
Curran Associates, Inc., 2014, p. 3320-3328 (cf. p. 31).
[133] Z. Zhou et al. “Fine-Tuning Convolutional Neural Networks for Biomedical Image Ana-
lysis : Actively and Incrementally”. In : 2017 IEEE Conference on Computer Vision and
Pattern Recognition (CVPR). Juill. 2017, p. 4761-4772 (cf. p. 31).
[134] M. D. Zeiler. “ADADELTA : An Adaptive Learning Rate Method”. In : arXiv e-prints
(déc. 2012), arXiv :1212.5701 (cf. p. 28).
[135] M. D. Zeiler et R. Fergus. “Visualizing and Understanding Convolutional Networks”.
In : Computer Vision – ECCV 2014. Sous la dir. de D. Fleet et al. Springer International
Publishing, 2014, p. 818-833 (cf. p. 63).
[136] Q.-s. Zhang et S.-c. Zhu. “Visual interpretability for deep learning : a survey”. In :
Frontiers of Information Technology & Electronic Engineering 19.1 (jan. 2018), p. 27-39
(cf. p. 54).
Titre : Réseaux de neurones profonds pour la classification d’objets en imagerie infra-
rouge : apports de l’apprentissage à partir de données synthétiques et de la détection
d’anomalies
Mots-clés : Apprentissage Profond, Infrarouge, Transfert de domaine, Détection d’anomalie
Résumé : dule de détection qui peut être imparfaite.
Les performances des technique d’appren- Nous évaluons donc la robustesse du cfCNN
tissage profond et plus particulièrement les face à des translations et des changements
réseaux de neurones convolutifs, ou CNN, d’échelle de la cible dans l’image d’entrée.
sont conditionnés par la taille et la qualité Face à ces perturbations, le cfCNN montre
des bases de données d’entrainement. Dans une meilleure robustesse par rapport à des
un contexte comme celui de l’identification de réseaux convolutifs issus de l’état de l’art.
véhicules militaires dans des images infra- Pour améliorer la confiance dans les pré-
rouges, il est difficile de constituer de telles dictions du cfCNN, nous proposons un mo-
bases d’apprentissage. Pour y remédier, il est dule de détection d’anomalies de classifica-
possible d’utiliser la simulation pour générer tion, basé sur le Local Outlier Factor. Cette ap-
ces ensembles de données. Cependant, les proche montre de bonnes performances sur
architectures issues de l’état de l’art géné- des données d’entrainement et de test ho-
ralisent mal sur des données réelles après mogènes. Cependant elle est moins perfor-
un entrainement sur données simulées. Dans mante pour un problème de transfert entre des
cette thèse, nous proposons un réseau convo- données simulées et réelles. Pour compenser
lutif spécifique, appelée cfCNN, qui permet cette baisse de performance nous proposons
d’obtenir de meilleures performances que les alors un schéma en cascade qui exploite les
modèles de l’état de l’art que nous avons informations issues de différentes couches du
testés. Nous supposons que les images qui cfCNN.
lui seront présentées seront issues d’un mo-
Title: Deep neural networks for object classification in infrared imagery : contribution of
learning from synthetic data and anomaly detection.
Keywords: Deep-Learning, Infrared, Domain Transfert, Anomaly Detection
Abstract: which may not be fully accurate. As a re-
Neural network performance is directly sult, we test our model against various detec-
linked to the quality and quantity of train- tions errors and show that it outperforms var-
ing data available, especially for Convolu- ious CNN models from the literature. Confi-
tional Neural Networks. Building exhaustive dence in a model’s predictions can substan-
datasets is difficult for automatic target recog- tially help its deployment, especially for mili-
nition and identification in a military context. tary applications. In this work, we propose an
To compensate data scarcity, it is possible anomaly detection module to detect classifica-
to use simulation to create a dataset large tion errors during inference. Based on the Lo-
enough to train neural networks. However, cal Outlier Factor algorithm, it showed great
state of the art CNN models may not be able to results on homogenous training and testing
properly generalize on real data after a train- datasets. However, it lacked performance
ing phase on simulated images. In this the- when transferring the detector from simulated
sis we propose a purpose-built CNN called to real data. To compensate the performance
cfCNN which is able improve over state of loss in this scenario, we propose a cascade
the art models. We assume that the cfCNN detector which uses multiple inputs from the
is processing images from a detection stage cfCNN to detect classification errors.