UNIVERSITÉ DE SHERBROOKE
Faculté de génie
Département de génie électrique et de génie informatique
SYSTÈME D’APPARIEMENT D’IMAGES
AVEC RÉSEAU DE NEURONES À
DÉCHARGES
Thèse de doctorat
Spécialité : génie électrique
Vincent de Ladurantaye
Sherbrooke (Québec) Canada
MEMBRES DU JURY
Jean ROUAT
DirecteurFrédéric MAILHOT
ÉvaluateurFabien ALIBART
ÉvaluateurRamin PICHEVAR
Évaluateur ExterneRÉSUMÉ
Cette thèse propose un système d’appariement de formes dans les images. La plupart des systèmes développés dans l’état de l’art en vision artificielle requièrent beaucoup d’en-traînement, et ne tiennent pas en compte la disposition précise des caractéristiques dans les images. Le but principal de cette thèse est de proposer un système polyvalent qui ré-pond à ces deux faiblesses, et qui peut être jumelé à différents systèmes de l’état de l’art afin d’en améliorer les performances. On propose donc une approche qui peut être utili-sée sans apprentissage, et qui permet d’établir une correspondance détaillée entre deux images, conservant ainsi la structure locale des caractéristiques. Le système est testé sur des problèmes comme l’appariement pixel à pixel où l’apprentissage sur de grosses bases de données n’est pas une option et sur la réidentification de personnes, où la localisation précise des caractéristiques des images est importante. Le système est implémenté avec un réseau de neurones à décharges, il est donc compatible avec les architectures neuromor-phiques à décharges qui sont en train d’émerger.
Mots-clés : réseau de neurones à décharges, appariement temporel, appariement d’image, correspondance dense pixel à pixel, réidentification de personnes
ABSTRACT
IMAGE MATCHING SYSTEM USING A SPIKING NEURAL NETWORK This thesis proposes a system for matching patterns between images. Most image pro-cessing systems in the literature require a lot of training data and do not preserve the spatial relationship between image features. The goal of this thesis is to propose a system which addresses those two shortcomings and which is versatile enough to be paired with different state of the art systems in order to improve their performance. We propose an approach that produces a detailed matching of visual features between two images, while preserving the spatial relationships between them and by doing so without requiring a training phase. The system is tested on problems such as dense pixel matching, where learning from a big database is not an option, and person reidentification, where the spatial disposition of features is important. The system is implemented using a spiking neural network, which is compatible with the promising neuromorphic architectures that are currently being developed.
Keywords: spiking neural network, temporal binding, image matching, dense pixel matching, person reidentification
REMERCIEMENTS
Je remercie Jean Rouat, mon directeur de thèse, avec qui j’ai travaillé plusieurs années pour réaliser ce travail.
Je veux également remercier mes parents, qui m’ont appuyé et encouragé tout le long de mes études.
Et je veux particulièrement remercier ma conjointe Geneviève, qui a su faire preuve de patience et qui m’a supporté tout au long de cette thèse.
TABLE DES MATIÈRES
1 INTRODUCTION 1 1.1 Objectifs et motivation . . . 2 1.1.1 Appariement de structures . . . 3 1.1.2 Vision artificielle . . . 3 1.1.3 S’inspirer de la biologie . . . 4 1.2 Défis à surmonter . . . 5 1.2.1 Vision artificielle . . . 51.2.2 Réseaux de neurones à décharges . . . 7
1.3 Contributions . . . 7
1.4 Plan du document . . . 8
2 REVUE DE LA LITTÉRATURE 10 2.1 Système nerveux . . . 10
2.1.1 Neurones et impulsions synaptiques . . . 10
2.1.2 Oscillations neuronales . . . 12
2.1.3 Synchronie des décharges . . . 13
2.1.4 Le système visuel . . . 13
2.2 Appariement des caractéristiques . . . 16
2.2.1 Psychologie de la forme (Gestaltisme) . . . 16
2.2.2 Le "Binding Problem" . . . 18
2.2.3 Théorie de l’appariement temporel . . . 19
2.2.4 Autres solutions au "Binding Problem" . . . 20
2.2.5 Mécanismes neuronaux d’appariement . . . 21
2.3 Réseau de neurones artificiels . . . 21
2.3.1 Réseaux de neurones conventionnels . . . 23
2.3.2 Réseaux de neurones à décharges . . . 24
2.3.3 Appariement temporel avec neurones à décharges . . . 26
2.4 Traitement d’images . . . 27
2.4.1 Extraction de caractéristiques de bordure . . . 28
2.4.2 Caractéristiques conçues à la main . . . 29
2.4.3 Classification par sac de caractéristiques . . . 31
2.4.4 Importance de la structure spatiale . . . 32
2.4.5 Apprentissage de représentation par parties . . . 35
2.5 Appariement dense pixel à pixel . . . 35
2.5.1 Appariement basé sur les caractéristiques . . . 36
2.5.2 Appariement par pyramide spatiale déformable . . . 37
2.5.3 Appariement adapté aux objets . . . 40
2.6 Réidentification de personnes . . . 41
2.6.1 Caractéristiques discriminantes . . . 42
3 Mécanismes d’appariement temporel d’ODLM 45
3.1 Phases d’appariement d’ODLM . . . 45
3.2 Implémentation du réseau de neurones . . . 48
3.2.1 Modélisation des neurones à décharges . . . 48
3.2.2 Neurones "leaders" et "followers" . . . 48
3.2.3 Connexions neuronales . . . 49
3.3 Appariement temporel des neurones . . . 52
3.3.1 Synchronisation des neurones . . . 52
3.3.2 Rapprochement en phase des neurones . . . 52
3.3.3 Cascades de décharges . . . 53
3.3.4 Convergence du réseau . . . 54
4 Appariement local de structures 55 4.1 Modification du mécanisme d’appariement . . . 55
4.1.1 Étiquetage des neurones . . . 56
4.1.2 Initialisation en fonction des forces des caractéristiques . . . 56
4.1.3 Coordination des décharges . . . 58
4.2 Caractéristiques de bordure . . . 59
4.2.1 Banc de filtres de Gabor . . . 60
4.2.2 Connexions gestaltistes . . . 62
4.3 Réduction du nombre de décharges . . . 64
4.3.1 Seuil de pertinence de décharge . . . 64
4.3.2 Modulation des filtres de Gabor par les contours de Canny . . . 64
4.3.3 Couche de mise en commun . . . 66
5 Appariement d’images sans apprentissage 68 5.1 Aperçu du processus d’appariement . . . 69
5.1.1 Appariement descendant ("top-down") . . . 69
5.1.2 Appariement temporel local . . . 71
5.2 Neurones de localisation . . . 72
5.2.1 Localisation de la structure de référence . . . 72
5.2.2 Couches de localisation . . . 73
5.2.3 Guidage de l’appariement entre les couches . . . 75
5.3 Appariement temporel de paires d’ancrages . . . 77
5.3.1 Établissement des paires d’ancrages . . . 78
5.3.2 Connexions entre les couches . . . 81
5.4 Appariement dense pixel à pixel . . . 82
5.4.1 Transfert de pixels . . . 82
5.5 Tests sur Caltech101 . . . 83
5.5.1 Procédure de test . . . 84
5.5.2 Métriques de performances . . . 84
5.5.3 Résultats . . . 85
6 Appariement avec apprentissage 87 6.1 Intégration d’un modèle d’apprentissage . . . 87
6.2 Application à la réidentification de personnes . . . 90
6.2.1 Appariement vers une référence commune . . . 90
6.3 Tests de réidentification . . . 91 6.3.1 Procédure de test . . . 91 6.3.2 Métrique de performance . . . 92 6.3.3 Résultats . . . 92 7 CONCLUSION FRANÇAISE 94 7.1 Contributions clés . . . 94
7.2 Avenues futures de développement . . . 95
7.2.1 Critère d’évaluation de similarité . . . 95
7.2.2 Intégration avec l’apprentissage profond . . . 96
7.2.3 Implémentation neuromorphique . . . 96
8 ENGLISH CONCLUSION 97 8.1 Key contributions . . . 97
8.2 Future developments . . . 98
8.2.1 Similarity assessment criteria . . . 98
8.2.2 Integration with deep learning . . . 99
8.2.3 Neuromorphic implementation . . . 99
A Pistes d’implémentation neuromorphique 100 A.1 Changement dynamique des connexions . . . 100
A.1.1 Paires d’ancrages . . . 100
A.1.2 Identification des paires d’ancrages . . . 100
A.1.3 Localisation de la paire d’ancrages la plus proche . . . 101
A.1.4 Pyramide de déformation spatiale . . . 101
B Complexité et vitesse d’exécution 102 B.1 Segmentation d’images . . . 103
B.2 Appariement d’images . . . 104
C Paramètres de simulation 105 C.1 Appariement de niveaux de gris des pixels . . . 105
C.2 Appariement de caractéristiques de bordure . . . 105
C.3 Appariement d’images avec caractéristiques de bordure . . . 106
LISTE DES FIGURES
1.1 Illustration du problème d’intégration des caractéristiques . . . 5
1.2 Exemple de variations apparence entre objets . . . 6
2.1 Potentiel d’action . . . 11
2.2 Anatomie d’un neurone biologique . . . 12
2.3 Extraction hiérarchique de caractéristiques . . . 15
2.4 Illusion de Thatcher . . . 16
2.5 Principe gestaltiste de proximité . . . 17
2.6 Principe gestaltiste de similarité . . . 17
2.7 Principe gestaltiste de destin commun . . . 18
2.8 Principe gestaltiste de continuité . . . 18
2.9 Principe gestaltiste de figure-fond . . . 18
2.10 Hypothèse d’appariement temporel . . . 19
2.11 Modèle de neurone artificiel . . . 22
2.12 Détection de contours . . . 29
2.13 Descripteur SIFT . . . 30
2.14 Importance de la structure spatiale des caractéristiques . . . 32
2.15 Classification avec pyramide spatiale . . . 34
2.16 Modèle de parties déformables . . . 36
2.17 Appariement par pyramide spatiale déformable . . . 39
2.18 Exemples d’images de la base de données VIPeR. . . 42
3.1 Aperçu du processus d’appariement d’ODLM . . . 46
3.2 Exemple de segmentation d’une image réelle avec ODLM . . . 47
3.3 Courbe de poids des connexions neuronales . . . 50
3.4 Organisation des connexions d’ODLM . . . 51
3.5 Rapprochement en phase de neurones fortement connectés . . . 53
4.1 Impact de l’initialisation sur la segmentation . . . 57
4.2 Banc de filtre de Gabor utilisé . . . 61
4.3 Courbe de modulation des réponses des filtres de Gabor . . . 61
4.4 Connexions locales des caractéristiques de bordure . . . 62
4.5 Segmentation des contours . . . 63
4.6 Courbe de rehaussement des contours de Canny . . . 65
4.7 Rehaussement des contours de Canny . . . 66
4.8 Couche de mise en commun . . . 66
5.1 Aperçu du processus d’appariement entre images . . . 70
5.2 Appariement temporel proposé . . . 71
5.3 Décomposition par pyramide spatiale . . . 72
5.4 Architecture des neurones de localisation . . . 73
5.6 Inconsistance des segments entre les images . . . 77
5.7 Paires d’ancrages entre deux images . . . 79
5.8 Inhibition des connexions voisines . . . 80
5.9 Connexions entre les couches d’appariement . . . 81
5.10 Transformation affine de triangles . . . 83
5.11 Transfert des pixels de l’image source vers l’image de référence . . . 84
5.12 Exemples d’appariement dense de pixels sur Caltech-101 . . . 85
6.1 Détection de personnes avec DPM . . . 88
LISTE DES TABLEAUX
4.1 Résultats de rapidité de convergence du réseau pour la segmentation de pixels 57
5.1 Résultats d’appariement de pixel sur Caltech-101 . . . 86
6.1 Résultats de réidentification de personnes sur ViPER . . . 92
6.2 Résultats de réidentification de personnes sur Prid450s . . . 92
B.1 Statistiques de simulation pour la segmentation d’images . . . 103
B.2 Statistiques de simulation pour l’appariement d’images . . . 104
C.1 Paramètres pour segmentation de niveaux de gris des pixels . . . 105
C.2 Paramètres de calcul du critère d’homogénéité . . . 106
C.3 Paramètres pour segmentation de caractéristiques de bordure . . . 106
C.4 Paramètres pour appariement d’images . . . 106
CHAPITRE 1
INTRODUCTION
Les ordinateurs sont devenus essentiels dans nos vies et le nombre de tâches qu’ils sont capables de réaliser n’a cessé de croître depuis leur conception. Avec l’émergence de l’in-telligence artificielle, ce nombre de tâches connaît une explosion. L’IA a fait d’immenses progrès lors la dernière décennie et on l’utilise maintenant pour des problèmes qu’on a longtemps cru trop complexes pour être effectuées par un ordinateur. Ces derniers sont excellents pour réaliser des tâches répétitives dans des environnements contrôlés. Cepen-dant, lorsqu’on sort de ce cadre, et que le problème comprend des incertitudes, il devient plus difficile de remplacer l’humain. L’humain reste cependant la référence lorsqu’il s’agit de situations où les variables sont trop nombreuses. En effet, suite à plusieurs millions d’années d’évolution, le cerveau est devenu un outil de traitement de l’information très so-phistiqué. Il est capable d’analyser et d’anticiper des situations très complexes de manière à nous permettre de réagir à notre environnement. Même les tâches qui nous semblent les plus anodines requièrent en fait un niveau de traitement de l’information très élevé. Le fonctionnement du cerveau est un bon modèle à suivre lorsqu’on veut concevoir un système intelligent. Il est capable de réaliser des calculs dignes de superordinateurs avec moins d’énergie qu’une ampoule et en utilisant des composants biologiques imparfaits [103]. La majorité des modèles les plus performants d’intelligence artificielle sont inspirés du cerveau. Au cours des dernières années, l’émergence des réseaux de neurones à architecture profonde est venue révolutionner le monde de l’intelligence artificielle, et des modèles basés sur ces architectures sont devenus les références au niveau de l’état de l’art. Le cerveau est un organe extrêmement sophistiqué et plusieurs aspects du traitement de l’information par les neurones ne sont pas encore compris. Il n’est donc pas facile de reproduire les fonctionnalités du cerveau. On s’inspire plutôt de mécanismes de base et de certaines hypothèses émises sur le fonctionnement du cerveau. Les modèles computationnels, tels que celui proposé dans cette thèse, peuvent d’ailleurs aider à valider certaines de ces hypothèses sur le fonctionnement biologique.
Un seul neurone est une unité de calcul assez simple. La force du cerveau provient de la complexité formée par les milliards de neurones qui sont interconnectés. Certains neurones peuvent recevoir plus de 10 000 connexions [21], créant ainsi un réseau très sophistiqué. La technologie actuelle ne permet pas de concevoir des systèmes de l’ordre du cerveau, mais les
réseaux de neurones artificiels ont tout de même un énorme potentiel computationnel [4]. Avec la loi de Moore qui vient à échéance dû au fait qu’on peut difficilement produire des transistors plus petits [104], on cherche maintenant à développer des architectures plus spécialisées, et les architectures neuromorphiques sont une des avenues envisagées pour contourner la loi de Moore [103].
Pour tirer avantage du potentiel de calcul des réseaux de neurones, il faut entrainer ces derniers afin qu’ils forment les connexions adéquates. Cet entraînement demande beau-coup de données d’apprentissage et de puissance de calcul. La révolution amenée par les réseaux de neurones en intelligence artificielle a été rendue possible en grande partie par la puissance de calcul des ordinateurs modernes, particulièrement grâce à l’arrivée des GPU dans le domaine scientifique, qui ont permis de réaliser l’entraînement de ces réseaux dans des délais raisonnables [60]. Avec l’explosion des applications d’IA, si on continue d’utiliser les architectures actuelles, d’ici 2040, l’énergie requise pour nos besoins en calcul dépassera la production énergétique mondiale [101].
Une révolution est à l’horizon avec l’arrivée des architectures neuromorphiques à décharges. Les réseaux utilisés couramment modélisent les neurones de manière relativement simple et sont dits comme étant de 2e génération. Mais il existe également des réseaux de neurones de 3e génération qui ressemblent davantage aux neurones biologiques, car ils modélisent les décharges synaptiques. Ces neurones à décharges ont un potentiel computationnel plus grand que les neurones conventionnels [74]. Les réseaux à décharges ne sont pas cou-ramment utilisés, car leur implémentation sur les architectures actuelles demande plus de calculs et il n’y a pas encore beaucoup d’algorithmes qui tirent avantage du poten-tiel computationnel des décharges. Cependant ces circonstances sont en train de changer avec l’arrivée d’architectures neuromorphiques à décharges[31] [17]. Ces architectures per-mettent de grandes économies d’énergie [7] et sont considérées comme une des solutions à la croissance énergétique envisagées pour les prochaines décennies [101].
1.1
Objectifs et motivation
Lors de l’émergence de nouveaux paradigmes de traitement de l’information, il faut conce-voir des algorithmes adaptés à ces nouvelles approches. Pour cette thèse, on s’intéresse au défi d’implémenter le processus d’appariement avec un réseau de neurones à décharges et de l’utiliser pour des applications pratiques de vision artificielle.
1.1.1
Appariement de structures
Une des opérations fondamentales en traitement de signal est l’appariement, qui consiste à associer des structures semblables dans un signal ou entre deux signaux. Cette opé-ration s’apparente au calcul de corrélation, utilisé de façon universelle en traitement de l’information pour calculer la similitude entre deux signaux. Un exemple d’application de l’appariement est de reconnaitre un objet dans deux images différentes. On veut faire abstraction des éléments superflus et isoler les structures pertinentes entre deux images. On peut voir un neurone comme une unité élémentaire de calcul de corrélation. Si on présente à l’entrée du neurone un signal qui correspond à la structure recherchée par son arbre dendritique, celui-ci répondra fortement. Certains auteurs interprètent d’ailleurs le fonctionnement du cerveau comme étant une succession d’opérations de corrélation. Il combine les entrées de nos différentes aires sensorielles et forme une représentation du monde où on perçoit des objets sur la base de transformations mathématiques proches de la corrélation [20]. Le cerveau réalise l’appariement de manière innée, l’implémentation de cette opération avec un réseau de neurones à décharges semble donc appropriée.
1.1.2
Vision artificielle
L’opération d’appariement peut s’appliquer à tout type de signaux, or pour cette thèse, on se concentre sur le domaine du traitement d’image. La vision est le sens le plus développé chez l’homme, et par le fait même, le plus facile à étudier. Il y a ainsi beaucoup de recherches qui s’intéressent au fonctionnement du système visuel desquels on peut s’inspirer pour concevoir notre modèle d’appariement.
Les applications liées à la vision artificielle sont de plus en plus répandues. On installe maintenant des caméras sur nos téléphones, nos voitures et dans les endroits publics. Le domaine du traitement d’image est donc très large et diversifié, il est donc plus facile de trouver des applications où on peut comparer notre système à l’état de l’art.
Conserver la structure locale des caractéristiques
Beaucoup des systèmes actuels en vision artificielle font la reconnaissance sans prendre en compte la structure locale des caractéristiques. Par exemple, un système peut détecter un cercle et un carré dans une image, mais sera incapable de dire si le cercle est au-dessus du carré ou vice-versa. Un des objectifs de cette thèse et de proposer un système qui conserve cette information spatiale.
1.1.3
S’inspirer de la biologie
Reproduire les fonctionnalités
Deux philosophies existent lorsqu’on parle de neuroscience computationnelle. Certains modèles visent à reproduire la biologie pour mieux comprendre son fonctionnement et d’autres modèles priorisent la reproduction des fonctionnalités plutôt que la plausibilité biologique. Cette thèse est axée sur cette dernière option, mais les deux objectifs ne sont pas nécessairement mutuellement exclusifs. Un modèle computationnel qui réussit à re-produire certaines fonctionnalités peut être utile pour valider des hypothèses biologiques en confirmant les architectures qui fonctionnent.
Pour cette thèse, l’objectif n’est donc pas de reproduire la biologie, mais plutôt d’extraire les mécanismes importants afin de réaliser les fonctionnalités voulues. Nos systèmes intel-ligents sont ultimement implémentés sur des puces électroniques qui n’ont pas les mêmes contraintes que les systèmes vivants. En effet, nous ne sommes pas encore capables de reproduire le niveau de parallélisation du cerveau avec ces millions de neurones et ces milliards de connexions neuronales. D’un autre côté, nos circuits électroniques ont des avantages par rapport à la biologie. Ils sont beaucoup plus rapides, plus fiables et plus versatiles (on peut les concevoir selon nos besoins et on peut exécuter plusieurs opérations sur un même circuit). L’objectif de s’inspirer de la biologie est donc de comprendre les mécanismes physiologiques pour reproduire leurs fonctionnalités et même les améliorer pour les adapter à nos besoins.
Concevoir des modèles simples
Un autre objectif est simplifier le plus possible les modèles afin de diminuer la difficulté d’implémentation et d’accélérer les temps de calcul, tout en gardant la complexité néces-saire à de bonnes performances. Or cet équilibre n’est pas facile à trouver, car le cerveau est très sophistiqué et plusieurs aspects de son fonctionnement ne sont pas encore bien compris. Par exemple, les cellules gliales sont plus nombreuses que les neurones dans le cerveau, et elles sont généralement perçues comme jouant un rôle de soutien en nourrissant et protégeant les neurones. Cependant, de plus en plus d’études montrent que les cellules gliales jouent un rôle actif dans le traitement de l’information [2].
L’appariement dans le cerveau
L’utilisation de certains mécanismes neuronaux utilisés dans cette thèse est motivée par le fonctionnement de l’appariement dans le cerveau. Or la manière dont le cerveau combine les caractéristiques d’un objet afin de le reconnaitre, n’est pas encore bien comprise. Ce
problème a été décrit sous le nom de "Binding problem" [98]. Plusieurs hypothèses ont été émises pour expliquer ce phénomène et des concepts tirés de plusieurs de ces hypothèses sont utilisés pour cette thèse. Une de ces hypothèses est cependant plus importante, car elle est inhérente à l’utilisation de neurones à décharges. L’appariement temporel ou appa-riement par synchronisation ("Binding by Synchrony") [76][102] est une hypothèse selon laquelle les neurones communs à une même structure vont synchroniser leurs décharges. La synchronie des décharges neuronales est un phénomène qui est fréquemment observé dans le cerveau[99], et une des motivations principales de l’approche proposée par cette thèse.
1.2
Défis à surmonter
1.2.1
Vision artificielle
(a) Données brutes (b) Niveaux de gris
Figure 1.1 – Illustration du problème d’appariement des caractéristiques : La figure de gauche illustre comment un ordinateur "voit" une image ; il n’y voit qu’une matrice de chiffres. Si on regarde uniquement cette figure, il est très difficile de déterminer ce que ces données représentent. Par contre, si on remplace les chiffres par une gradation de gris (à droite), le système visuel est facilement en mesure de reconnaître qu’il s’agit d’un visage et probablement même de reconnaitre l’individu [48].
La vision artificielle est un bon exemple pour illustrer le "binding problem" mentionné précédemment. En effet, lorsqu’une image est numérisée, elle est décomposée en pixels. Pour pouvoir reconnaître ce qu’il y a dans l’image, il faut recombiner ces pixels pour former des objets. Le cerveau réalise la même opération pour la vision. Au niveau de la rétine, des cellules photoréceptrices décomposent l’image de manière similaire aux pixels. L’information est ensuite acheminée au cortex visuel où les différentes caractéristiques sont recombinées pour former des objets et interpréter la scène. La figure 1.1 exprime bien à quel point notre cerveau est habile à résoudre ce problème. Il le fait de manière anodine sans même qu’on se rende compte de la difficulté des opérations réalisées.
Le problème d’intégration des caractéristiques est complexe, car les caractéristiques ne sont jamais identiques. En effet, même s’il s’agit du même objet, il peut avoir une taille, une rotation ou une translation différente d’une image à l’autre. L’éclairage et l’arrière-plan peuvent également être des facteurs qui affectent la perception. Un objet peut parfois même être partiellement obstrué par d’autres objets. Il faut donc être en mesure de combiner les caractéristiques de manière intelligente en faisant abstraction des différentes variations et perturbations qui peuvent survenir.
En plus de la difficulté à reconnaître un objet sous différentes apparences, plusieurs élé-ments peuvent changer entre différents objets d’une même classe (voir figure 1.2). Cette variabilité intra-classe est une difficulté majeure pour un système de vision artificielle. Ces problèmes peuvent ne pas sembler difficiles, car notre cerveau résout ce problème de manière anodine, cependant, pour un système de traitement d’image, ce problème est loin d’être trivial.
Figure 1.2 – Exemple de variations d’apparence entre objets : Ces images sont tirées de la base de données Caltech-101 [24]. Elles représentent toutes des chaises, mais elles sont tout de même assez différentes les unes des autres (nombre de pattes, forme des dossiers, etc.). Un système d’appariement doit être en mesure de faire abstraction de ces variations d’apparence pour être en mesure d’apparier les parties similaires.
1.2.2
Réseaux de neurones à décharges
Les réseaux de neurones à décharges sont fondamentalement différents des réseaux de neurones de deuxième génération. Ces derniers encodent l’information par des valeurs continues à la sortie des neurones, ce qui n’est pas le cas pour les neurones de troisième génération. Les décharges sont des évènements discrets qui ne transmettent qu’une infor-mation binaire. Il n’y a pas de valeur attachée à une décharge, l’inforinfor-mation est plutôt transmise par le moment où la décharge survient. Les neurones sont libres de décharger de manière asynchrone, ce qui amène beaucoup de complexité et de tels systèmes peuvent facilement avoir une dynamique qui peut être chaotique [51].
La conception de système utilisant des neurones à décharges est un défi de taille, car ceci demande une toute nouvelle manière de concevoir les modèles. Le codage de l’information dans l’instant des décharges est un concept atypique et nous ne pouvons pas facilement convertir les algorithmes traditionnels pour qu’ils fonctionnent dans ce nouveau paradigme. Il serait possible de reproduire le comportement des réseaux de deuxième génération en utilisant les taux moyens de décharge des neurones, mais on perdrait alors les avantages apportés par les neurones à décharges. Le défi est donc de concevoir des algorithmes qui tirent avantage du potentiel des neurones à décharges.
1.3
Contributions
La contribution principale de cette thèse est la proposition d’un système d’appariement implémenté avec un réseau de neurones à décharges.
• Implémenté avec un réseau à décharges : Le système proposé est implémenté avec un réseau de neurones à décharges, qui ajoute une dimension temporelle aux réseaux de neurones conventionnels. Le système proposé pourra être implémenté sur les architectures neuromorphiques à décharges, telles que SpiNNaker [31], TrueNorth de IBM [75] et Loihi d’Intel [17]. Très peu d’algorithmes sont compatibles avec ce type d’architecture.
• Conserve l’organisation spatiale des caractéristiques : On propose un algo-rithme qui prend en compte l’organisation spatiale des caractéristiques. Cette infor-mation est souvent sacrifiée dans les systèmes de classification afin d’être invariant aux déformations spatiales. Or, l’organisation spatiale des caractéristiques contient une information qui est fondamentale. L’importance de cette information est expli-quée à la section 2.4.4.
• Minimisation du nombre de décharges : L’architecture du système permet une dynamique où les caractéristiques les plus importantes vont décharger en premier et guider le processus d’appariement. Seulement les neurones les plus pertinents vont émettre des décharges. Le système proposé cadre donc bien dans un contexte de gestion parcimonieuse des décharges où on veut diminuer le nombre de décharges afin d’accélérer les calculs et économiser l’énergie.
• Algorithme sans apprentissage : On propose un système qui fait l’appariement de structures sans apprentissage préalable, en utilisant seulement la similarité des caractéristiques entre les deux structures. Ceci est avantageux si on ne dispose pas d’échantillons d’entraînement.
• Peut être combiné à des algorithmes qui font l’apprentissage : On peut également combiner le système proposé à un modèle statistique qui apprend la struc-ture d’un objet sur une base de données. On peut ainsi guider le système avec une information à priori qui permet de mieux anticiper les structures et d’améliorer l’ap-pariement.
On propose un algorithme polyvalent qui n’est pas restreint à un problème spécifique, mais qui peut s’appliquer à différents domaines avec des performances de l’état de l’art. Dans cette thèse, on évalue le système proposé dans les domaines de la correspondance dense de pixels (section 2.5) et de la réidentification visuelle de personnes (section 2.6).
1.4
Plan du document
• Chapitre 2 : Revue de la littérature Ce chapitre présente en premier lieu les éléments du système nerveux qui sont liés à la thèse. Il donne ensuite un résumé de la littérature concernant les réseaux de neurones artificiels pour finir avec un aperçu de l’état de l’art en vision artificielle. Les domaines de vision artificielle utilisés pour évaluer le modèle proposé sont explorés plus en détail.
• Chapitre 3 : Mécanismes d’appariement temporel Ce chapitre explique les concepts d’appariement temporel sur lesquels la thèse repose. Le modèle proposé réutilise beaucoup de mécanismes implémentés dans le réseau à décharges ODLM[79]. On introduit donc ces concepts en faisant la description du modèle original.
• Chapitre 4 : Appariement local de structures Ce chapitre se concentre sur l’appariement des caractéristiques au sein d’une image. On présente certaines modi-fications apportées aux mécanismes d’ODLM, ainsi que les améliorations proposées
pour faire un appariement plus parcimonieux et plus adapté à l’appariement d’objets dans les images.
• Chapitre 5 : Appariement d’images sans apprentissage On décrit l’architec-ture du système proposé pour faire l’appariement entre deux images sans appren-tissage. On montre que le système permet de gérer les déformations spatiales en l’évaluant dans le domaine de la correspondance dense de pixels.
• Chapitre 6 : Appariement combiné à des modèles statistiques On montre que le système peut être jumelé à un modèle statistique pour aider à l’appariement lorsqu’on a accès à une base de données d’entraînement. On évalue le système dans le domaine de la réidentification de personnes. On montre également que le sys-tème peut utiliser différentes sortes de caractéristiques à l’entrée et être combiné à différentes métriques de l’état de l’art.
CHAPITRE 2
REVUE DE LA LITTÉRATURE
Le développement des réseaux de neurones artificiels est grandement motivé par le cer-veau et certains aspects de cette thèse sont directement inspirés de mécanismes observés dans la biologie. Ce chapitre débute donc en présentant quelques concepts importants du système nerveux biologique en liens avec les neurones à décharges. On porte une attention spéciale au système visuel, puisque son fonctionnement est particulièrement pertinent aux applications de traitement d’image. On introduit ensuite les concepts reliés aux réseaux de neurones artificiels et plus spécifiquement les réseaux de neurones à décharges. La dernière section de ce chapitre donne un aperçu de la littérature en traitement d’image. Comme celle-ci est très large, on donne seulement un aperçu des sujets pertinents à la thèse. Les domaines de l’appariement dense de pixel et de réidentification de personnes seront discutés plus en détail, car ils sont utilisés pour tester le modèle proposé dans cette thèse.
2.1
Système nerveux
Le cerveau est très complexe et la manière dont il traite l’information n’est pas encore bien comprise. Nous sommes encore loin de bien comprendre le fonctionnement et l’interaction des différents comportements neuronaux. Les neurones communiquent via des décharges synaptiques, mais la manière dont l’information est codée par ces décharges est encore le sujet de recherches. Plusieurs mécanismes de communications entre les neurones sont observés, on présente ici un bref aperçu ces différents phénomènes.
2.1.1
Neurones et impulsions synaptiques
Les neurones sont les unités principales de traitement de l’information dans le cerveau et ils communiquent entre eux en émettant des impulsions électriques aussi appelées potentiels d’action. L’étude de ces potentiels d’action a d’ailleurs valu le prix Nobel de médecine de 1963 à Alan Hodgkin et Andrew Huxley pour leurs travaux sur le sujet [43]. Les neurones ont un potentiel électrique interne qui peut varier en fonction des stimulus reçus. Tel qu’illustré à la figure 2.1, si le neurone reçoit un stimulus suffisamment important pour que le potentiel interne dépasse un certain seuil, un potentiel d’action sera émis.
Figure 2.1 – Potentiel d’action : Lorsque le neurone reçoit un stimulus suffisamment important, le neurone émet un potentiel d’action. Suite à la décharge, le potentiel électrique du neurone descend sous le seuil de repos. Lors de cette période réfractaire, le neurone ne peut pas émettre de décharge.
Les potentiels d’action sont transmis entre les neurones par un réseau très complexe de connexions neuronales. L’anatomie d’un neurone est présentée à la figure 2.2. Les branches de connexion en amont du corps cellulaire sont les dendrites, ce sont elles qui perçoivent les stimulus qui excitent le neurone. L’axone est le lien qui transmet le potentiel d’action sur les dendrites des neurones situés en aval.
Les synapses sont des zones de connexions qui assurent la transmission d’un potentiel d’action d’un neurone à l’autre. Elles font le lien entre l’axone du neurone émetteur, qui est dit présynaptique, et les dendrites des neurones récepteurs, postsynaptiques. Un des mécanismes essentiels à l’apprentissage dans le cerveau est la plasticité synaptique [53]. Cette plasticité désigne la capacité des synapses à renforcer ou à affaiblir l’efficacité de la connexion. Les potentiels d’actions ne transmettent donc pas d’information d’intensité, ce sont les synapses qui modulent les forces des connexions entre les neurones.
La communication des décharges au sein d’une synapse s’effectue par la transmission de neurotransmetteurs du côté présynaptique vers le côté postsynaptique. Selon les types de neurotransmetteurs échangés, les connexions peuvent être excitatrices ou inhibitrices. Les connexions inhibitrices ont l’effet contraire des connexions excitatrices et diminuent le potentiel du neurone postsynaptique. L’inhibition entre neurones est un concept important
Figure 2.2 – Anatomie d’un neurone biologique : Le neurone intègre dans son noyau les potentiels d’action qu’il reçoit sur son arbre dendritique et sur son corps cellulaire. Lorsque le potentiel interne atteint un certain seuil, le neurone émet un potentiel d’action qui est transmis par l’axone aux terminaisons axonales (les synapses) qui sont connectées à d’autres neurones. (Version modifiée d’une image de Wikipedia)
qui permet à un neurone inhibiteur de diminuer ou même de supprimer l’activité des neurones postsynaptiques.
L’arbre dendritique d’un neurone définit la manière dont ce dernier perçoit les stimuli. Chaque neurone a donc un arbre dendritique unique qui se spécialise à détecter certains stimulus bien spécifiques. Le champs récepteur d’un neurone peut être très complexe et être connectés à plusieurs neurones, chacun avec des forces de connexions différentes. Différents mécanismes au sein des dendrites peuvent même affecter la manière dont les décharges en-trantes interagissent [69]. En autre, des mécanismes d’aiguillage peuvent inhiber certaines parties de l’arbre dendritique de manière à changer le stimulus que le neurone perçoit.
2.1.2
Oscillations neuronales
Les ondes neuronales sont produites par des groupes de neurones qui oscillent de manière coordonnée et selon différentes fréquences. Ce sont d’ailleurs ces ondes que détectent les électroencéphalogrammes (EEG). Plusieurs fréquences d’oscillations neuronales sont as-sociées à plusieurs aspects du fonctionnement du cerveau [10]. Les ondes de plus haute fréquence de type "gamma" sont généralement associées au traitement de l’information provenant de stimuli [92]. Les ondes de plus basse fréquence "alpha" et "beta" sont gé-néralement associées à la communication longue distance entre les aires du cerveau, mais les ondes gamma se voient également attribuer cette fonction [29]. La compréhension du rôle des oscillations dans le traitement de l’information est donc encore un domaine où beaucoup d’incertitude existe.
Une des fonctionnalités généralement attribuées aux oscillations est de servir d’horloge de référence (similaire aux cycles d’horloge d’un ordinateur). Si un groupe de neurones
est en oscillation, un neurone qui diverge de ce patron ressortira du lot et son activation transmet donc une information qui peut être perçue par d’autres neurones [92].
2.1.3
Synchronie des décharges
Les oscillations neuronales et la synchronisation des décharges des neurones sont des concepts étroitement reliés. Si plusieurs neurones déchargent ensemble, ils peuvent entrer dans une phase d’oscillation, mais tous les neurones qui déchargent en synchronie ne sont pas nécessairement en oscillation. Plusieurs principes de traitement de l’information sont liés à la synchronie. Tel que mentionné lors de l’introduction (et discuté de manière plus détaillée à la section 2.2.3), la synchronie est souvent associée au concept d’appariement de l’information.
La synchronie est également souvent associée à la coordination du traitement de carac-téristiques similaires [56]. Certaines contraintes biologiques et énergétiques font en sorte que les décharges de groupes de neurones se font en synchronie [115], des neurones voisins ont donc tendance à avoir une activité coordonnée, la synchronie est donc très souvent un phénomène localisé à une région spécifique.
2.1.4
Le système visuel
Le système visuel est une partie du système nerveux où beaucoup de recherches sont menées et plusieurs mécanismes de traitement de l’information y ont été découverts. Il s’agit d’une partie relativement facile à étudier, car la génération de stimulus est aisément effectuée en présentant différentes formes à la rétine et l’information transmise à travers le nerf optique suit un chemin relativement bien déterminé à travers le cerveau.
Le cortex visuel primaire (V1) est la voie d’entrée de l’information visuelle dans le cortex. L’information suit ensuite deux chemins séparés. La voie dorsale traite les informations liées au mouvement et à la perception spatiale des objets alors que la voie ventrale est associée à la reconnaissance des objets, cette dernière traite donc des informations comme les couleurs et les formes. L’information voyage à partir de V1 à travers V2, V4 et aboutit finalement au lobe temporal du cortex [25]. Cependant, plus on comprend le cerveau, plus on se rend compte que son fonctionnement n’est pas aussi simple. En effet, de plus en plus d’études montrent que les deux voies travaillent fortement en collaboration et leurs rôles ne sont plus aussi distincts que ce qu’on croyait précédemment [91].
Caractéristiques de bordure
Parmi les travaux les plus reconnus sur le fonctionnement du système visuel, on retrouve le travail de Hubel et Wiesel, pour lequel ils ont obtenu le prix Nobel de physiologie et de médecine en 1981. Leurs recherches sur le fonctionnement du système visuel du chat [44] ont montré que certains neurones du système visuel répondent fortement à des barres d’orientations spécifiques. On sait maintenant qu’au niveau de l’aire visuelle primaire (V1), les caractéristiques extraites ressemblent à des filtres de Gabor de différentes orientations et fréquences[14]. Ce concept est important pour cette thèse, car le modèle proposé s’inspire de ce mécanisme et utilise des filtres de Gabor pour percevoir les images.
Extraction hiérarchique de caractéristiques
Suite à la découverte de la préférence de certains neurones à des bordures d’orientations spécifiques [44], Hubel et Wiesel ont nommé ces neurones des cellules simples ("simples cells"). Leurs résultats ont également montré l’existence de ce qu’ils ont appelé des cellules complexes ("complex cells"). Ils ont observé que ces cellules complexes répondent à des barres de certaines orientations, mais avec une certaine invariance à la position de la barre dans le champ visuel. Cette découverte les a menés à élaborer un modèle d’organisation hiérarchique du système visuel, où les neurones les plus hauts dans la hiérarchie possèdent des champs récepteurs plus larges, ce qui leur permet d’être invariants à la position, mais également d’extraire des caractéristiques plus complexes.
L’architecture hiérarchique du système visuel fait en sorte que plus on avance dans le système visuel, plus les caractéristiques représentées sont complexes [94]. Pour réaliser la reconnaissance d’un objet complexe comme un visage, une combinaison de plusieurs dizaines de caractéristiques est nécessaire. Ce concept de combinaison hiérarchique des ca-ractéristiques est très important et a inspiré plusieurs systèmes de reconnaissance d’objets qui seront présentés plus loin dans cette revue de littérature.
Cartes corticales
La manière dont sont organisés les neurones dans le cerveau n’est pas aléatoire. Ceci a d’abord été découvert par les travaux de Hubel et Wiesel [44] [45], qui ont montré l’exis-tence de colonnes corticales. Une colonne corticale est un groupe de neurones qui ont des champs récepteurs très semblables et qui sont regroupés selon une organisation verticale dans le cortex. Hubel et Wiesel ont remarqué ceci en observant que l’orientation préférée des neurones restait similaire en progressant de manière verticale dans le cortex. Cepen-dant, en se déplaçant de manière horizontale, l’orientation préférée change graduellement, ce qui a donné naissance au concept de cartes corticales.
Figure 2.3 – Extraction hiérarchique de caractéristiques : Illustration simplifiée de la hiérarchie visuelle. Les aires primaires extraient des caractéristiques de bordure, et plus on monte dans la hiérarchie, plus les caractéristiques extraites sont complexes. La perception des visages est un sujet très étudié, on a donc une bonne idée de ce que couvrent les champs récepteurs des différents niveaux hiérarchiques [37].
Les cartes corticales représentent donc des régions du cerveau qui regroupent de manière organisée l’information. Les travaux de Hubel et Wiesel ont permis la découverte des cartes d’orientation, mais il existe d’autres types de cartes sont présentes dans le cerveau [113]. Pour cette thèse, on s’intéresse principalement au concept des cartes rétinotopiques [105]. Ces cartes représentent des régions du cerveau où l’information est organisée selon la struc-ture spatiale perçue par la rétine de l’oeil. Cette organisation est particulièrement présente dans les aires visuelles primaires qui traitent directement l’information provenant de la ré-tine. Cependant, l’organisation rétinotopique de l’information est également observée dans les aires supérieures du cortex visuel [91]. La présence de ce genre d’organisation tout le long de la hiérarchie visuelle montre l’importance de la structure spatiale de l’information pour la vision.
Perception des détails
La vision est assez robuste aux variations de position grâce à l’élargissement des champs récepteurs plus on monte dans la hiérarchie visuelle. Cependant les changements de ro-tation ne sont pas aussi bien tolérés. Si on effectue la roro-tation d’un objet contenant une certaine caractéristique, les neurones représentant cette caractéristique verront la force de leur réponse décroître plus la rotation progresse [68]. Les neurones ont un certain degré d’invariance à la rotation, cependant le système visuel est habitué de percevoir les objets
sous un certain angle. Lorsque ce n’est pas le cas, la perception des détails ne se fait plus aussi bien, comme le montre la figure 2.4.
Figure 2.4 – Illusion de Thatcher : Cette illusion montre bien à quel point notre cerveau est conditionné à percevoir les objets sous un certain angle. Dans les deux images les plus à droite, les caractéristiques du visage sont retournées. Si on regarde les deux images du centre, qui sont à l’envers, on a l’impression que les visages sont similaires. Cependant, si on regarde les deux images dans le bon sens, à gauche et à droite, on est immédiatement en mesure de percevoir une différence majeure.
Le système visuel est donc composé de plusieurs mécanismes. Il est en mesure de recon-naître un visage même s’il est tourné de 180◦, or lorsque la perception est faite sous le bon angle, d’autres mécanismes permettant un meilleur traitement de la structure locale s’activent, et ajoutent un autre niveau de perception des détails.
2.2
Appariement des caractéristiques
La nature distribuée de l’organisation du cerveau implique que plusieurs opérations sont exécutées en parallèle dans des régions différentes. Ceci soulève la question de comment sont coordonnée les informations à travers le cerveau. Ce problème est particulièrement évident dans le système visuel, où tout ce qu’on voit est décomposé au niveau de la rétine. La figure 1.1 illustre ce problème : comment le cerveau fait-il pour remettre les "morceaux" ensemble afin d’effectuer la reconnaissance ? Ce problème d’appariement est mieux connu sous le nom du "binding problem" [98]. On présente dans cette section différentes hypo-thèses proposées pour résoudre ce problème. On présente également quelques concepts de la psychologie de la forme qui présente des exemples d’appariement naturellement effectué par le système visuel.
2.2.1
Psychologie de la forme (Gestaltisme)
La psychologie de la forme, ou le gestaltisme (du mot l’allemand "gestalt"), réfère au concept que la perception d’une structure se fait en fonction de sa forme globale plutôt que par l’interprétation individuelle de ses composants. Ce principe a été très étudié pour le domaine de la vision et plusieurs règles de perceptions sont observées.
Proximité
Les éléments qui sont perçus plus proche spatialement ou temporellement auront tendance à être regroupés. Ce principe est important pour cette thèse, car la proximité spatiale des caractéristiques est un des critères qu’on utilise pour faire l’appariement. La figure 2.5 illustre ce concept, où les caractéristiques voisines ont tendance être appariées.
Figure 2.5 – Principe gestaltiste de proximité
Similarité
Les éléments qui partagent des attributs similaires auront tendance à être regroupés. Ce principe est également important pour cette thèse, car c’est l’autre critère principal sur lequel on se base pour déterminer si des caractéristiques doivent être appariées. La figure 2.6 illustre ce critère pour des caractéristiques de taille, de couleur et d’orientation.
Figure 2.6 – Principe gestaltiste de similarité
Destin commun
Le principe de destin commun concerne principalement l’appariement des objets en mou-vement. Le système visuel aura tendance à regrouper les éléments qui bougent en même temps ou dans la même direction (Figure 2.7). Un bon exemple est un banc de poissons qu’on perçoit comme un même groupe malgré les différents individus.
Continuité
Le principe de continuité veut qu’on perçoive les objets selon un critère de lignes continues qui ne changent pas abruptement de direction (Figure 2.8). On utilise ce critère dans cette
Figure 2.7 – Principe gestaltiste de destin commun
thèse pour faire l’appariement des caractéristiques de bordure afin qu’elles s’apparient de manière à suivre les contours.
Figure 2.8 – Principe gestaltiste de continuité
Figure-fond
Le principe de perception figure-fond explique le phénomène selon lequel l’objet saillant qui est perçu dans une image se distingue du fond. L’exemple le mieux connu est l’illusion du vase de Rubin (Figure 2.9). La perception d’une des deux formes annule la perception de l’autre forme qui est relayée à l’arrière-plan.
Figure 2.9 – Principe gestaltiste de figure-fond : Illusion du vase de Rubin, où deux perceptions différentes se font compétition. On peut soit voir un vase, soit deux visages qui se font face.
2.2.2
Le "Binding Problem"
Comme discuté dans le chapitre d’introduction, le problème d’appariement "binding pro-blem" est un concept important à cette thèse. Plusieurs des mécanismes neuronaux utilisés
sont inspirés de la théorie de l’appariement temporel. Dans cette section, on présente éga-lement les solutions alternatives qui ont été proposées pour résoudre ce problème, ainsi que différents phénomènes biologiques qui appuient notre approche.
2.2.3
Théorie de l’appariement temporel
La notion de temporal binding a été introduite par Milner[76] et Malsburg[102]. La so-lution proposée par cette hypothèse réside dans l’activité synchronisée des neurones. Ce concept d’appariement ("binding") temporel suggère que les neurones représentant les ca-ractéristiques d’un même objet synchronisent leurs décharges. Ce concept est illustré à la figure 2.10.
Figure 2.10 – Hypothèse d’appariement temporel : La colonne de gauche illustre l’illu-sion du vase de Rubin avec 4 caractéristiques qui sont détectées. Les 4 neurones représentant ces caractéristiques déchargent de manière indépendante tel qu’illustré par leurs séquences de décharges au bas de la figure. Selon la théorie de l’appariement temporel, les caractéristiques représentant un même objet vont décharger en synchronie. Dans la colonne du centre, les 4 neurones déchargent en même temps, ils sont perçus comme faisant partie du même objet et le vase est reconnu. Dans la dernière colonne, les neurones forment deux groupes distincts d’oscillations, ce qui représente la perception de deux visages.
Dans cette thèse, on propose une utilisation de l’appariement temporel au niveau de la reconstruction des caractéristiques des sous-parties d’objets. Un objet sera donc ultime-ment reconnu par une multitude de groupes de neurones synchrones, qui ne seront pas nécessairement tous synchronisés entre eux. On utilise plutôt des principes de synchronie
locale qui sont plus représentatifs de ce qui est observé dans la biologie. Cette approche est détaillée à la section 5.1.2.
2.2.4
Autres solutions au "Binding Problem"
L’hypothèse de l’appariement temporel est très controversée dans la littérature [88] et beaucoup d’incertitude subsiste à ce niveau. Plusieurs travaux montrent qu’il y a bel et bien des processus de synchronisation qui associent des caractéristiques similaires dans le cerveau [22]. Cependant, d’autres travaux tendent à montrer que les neurones représentant les caractéristiques d’un même objet ne se synchronisent pas tous ensemble[19]. On a donc de bonnes raisons de croire que des principes de synchronisation neuronaux sont impliqués dans le processus d’appariement effectué par le cerveau. On ne sait cependant pas exactement comment ils sont utilisés.
Le neurone grand-mère
La théorie du neurone grand-mère [38] est une hypothèse selon laquelle notre cerveau contient des neurones qui répondent à des stimuli spécifiques. Particulièrement dans les cas où il s’agit de concepts qu’on traite souvent, cette hypothèse est d’ailleurs souvent mentionnée par rapport à des personnes connues. On aurait donc tous un neurone "Bill Clinton" ou "Jennifer Aniston". Cette hypothèse est en partie vraie, car certaines ré-gions du cerveau répondent effectivement à des concepts spécifiques [38]. Cependant, nous n’avons pas assez de neurones dans le cerveau pour reconnaitre tous les concepts auxquels on est confronté dans notre vie quotidienne, cette hypothèse n’est donc pas une solution au problème d’appariement.
L’approche hiérarchique
Un peu similairement à l’hypothèse du neurone grand-mère, certains auteurs argumentent qu’il n’y a en fait pas vraiment de problème d’appariement [88], et que le cerveau est en me-sure de reconstruire et de percevoir les objets avec un codage hiérarchique, sans nécessiter de mécanisme supplémentaire. Les objets sont représentés avec un codage populationnel qui est en mesure d’encoder plusieurs concepts.
Théorie d’intégration des caractéristiques
La théorie d’intégration des caractéristiques proposées par [98], propose l’utilisation d’une carte spatiale pour résoudre le problème d’appariement. Selon cette hypothèse, l’intégra-tion des caractéristiques se fait avec un processus attenl’intégra-tionnel qui situe les caractéristiques des objets sur une carte spatiale maîtresse qui représente notre environnement visuel.
2.2.5
Mécanismes neuronaux d’appariement
Plusieurs mécanismes liés à l’appariement des caractéristiques sont observés dans le cer-veau. On présente dans cette section différents concepts qui ont inspiré les mécanismes d’appariement utilisés dans cette thèse.
Intégration des contours
La synchronisation des neurones dans les aires V1 et V2 est utilisée pour faire l’intégration des contours des objets [96]. En effet, les neurones sont groupés s’ils sont assez proches et s’ils représentent une orientation similaire. Les neurones sont connectés selon les principes gestaltistes [49], qui encouragent la formation de bordures allongées. Ceci qui encourage la synchronisation des neurones le long des contours.
Influences descendantes ("Top-Down")
Dans le contexte d’exécution d’une tâche particulière, des interactions se font entre les aires corticales et les neurones plus bas dans la hiérarchie visuelle, de manière à aider la réalisation de la tâche. En effet, pour une tâche de détection de contour, certains neurones des aires inférieures peuvent être encouragés, ou au contraire atténués, de manière à aider à reconnaitre la forme suggérée [33].
Saccades oculaires
Les microsaccades oculaires sont de très petits mouvements involontaires effectués par l’oeil pour rafraîchir l’image perçue sur la rétine. L’activité des neurones arrive donc selon des vagues qui sont contrôlées par ces microsaccades. Ce mécanisme est la source de certaines synchronisations observées dans le système visuel [72], qui aide les neurones à se synchroniser lorsqu’ils représentent des caractéristiques similaires.
L’appariement des objets est maintenu entre les saccades oculaires via un mécanisme d’amorçage ("priming") des neurones qui anticipe la structure de l’objet perçu [81]. Une influence descendante qui anticipe les saccades est donc présente pour préparer les neurones à percevoir l’information anticipée sur la rétine.
2.3
Réseau de neurones artificiels
Les réseaux de neurones artificiels sont des modèles computationnels qui visent à repro-duire sur ordinateur le fonctionnement des neurones biologiques. Les neurones sont des unités de calcul assez simples, et comme pour le cerveau, leur force provient de la com-plexité produite lorsqu’on forme un réseau. Inspiré du neurone biologique qui reçoit de
multiples signaux sur son arbre dendritique, le neurone artificiel intègre plusieurs entrées et produit une sortie via une fonction d’activation (figure 2.11).
Figure 2.11 – Modèle de neurone artificiel : Un neurone reçoit en entrée différentes valeurs Xi qui ont toutes un poids wi qui leur est associé. Le neurone multiplie chaque entrée par son poids et additionne tous les résultats en une seule valeur qui est utilisée par la fonction d’activation pour calculer la sortie du neurone. La fonction peut varier selon le type de neurone modélisé.
Historiquement, les réseaux de neurones artificiels sont classifiés selon trois générations qui se distinguent par la manière dont les neurones sont modélisés. La première génération est basée sur des neurones avec une fonction d’activation binaire. La sortie du neurone vaut donc 1 ou 0 dépendamment si la somme des entrées dépasse un certain seuil. Ce modèle est inspiré du comportement "tout ou rien" des neurones biologiques qui ne répondent que si les entrées sont suffisantes.
Cette approche, initialement implémentée en 1957 par le perceptron de Rosenblatt [83], est une des premières méthodes d’apprentissage machine. Le modèle peut en effet apprendre les poids modulant les entrées de manière à obtenir la sortie désirée. Le perceptron possède cependant des capacités computationnelles assez limitées, car il est restreint à des tâches de classification linéaire. En combinant plusieurs perceptrons en parallèle et en utilisant une fonction qui regroupe les sorties, on peut obtenir un approximateur universel qui est capable de modéliser toutes fonctions binaires [3]. Le désavantage principal de ces neurones de première génération est qu’on ne peut pas les combiner en couches successives de ma-nière à reproduire l’organisation hiérarchique du cerveau. En effet, la fonction d’activation en escalier n’est pas différenciable, ce qui rend très difficile l’entraînement de neurones qui sont connectés en séquence.
Le reste de cette section décrit plus en détail les réseaux de deuxième et troisième géné-ration. Les réseaux de deuxième génération sont ceux qui sont couramment utilisés dans
la littérature, on les désigne donc dans le cadre de cette thèse comme des réseaux de neu-rones conventionnels. Les réseaux de troisième génération sont les réseaux de neuneu-rones à décharges, leur particularité est qu’ils modélisent les impulsions synaptiques des neurones biologiques.
2.3.1
Réseaux de neurones conventionnels
La deuxième génération de réseau de neurones utilise des neurones avec une fonction d’activation non linéaire continue. Au lieu de la sortie binaire du perceptron, les neurones peuvent produire un ensemble continu de valeurs possibles. Ceci leur permet de détecter la moindre erreur par rapport à la sortie désirée, au lieu de seulement détecter une erreur entre 0 ou 1.
Apprentissage profond ("Deep Learning")
Ce qui fait la force des réseaux de deuxième génération est la complexité qui peut être générée par la combinaison de plusieurs couches successives. En utilisant une fonction d’ac-tivation continue différentiable, on peut utiliser la descente de gradient et l’algorithme de rétropropagation pour entraîner une séquence de neurones connectés [86]. La non-linéarité de la fonction d’activation est importante, car si on utilise une fonction linéaire, peu importe le nombre de couches qu’on ajoute, la sortie restera toujours le résultat d’une opération linéaire (l’addition d’opérations linéaires donne une opération linéaire). L’ajout de plusieurs couches n’apporte donc rien si on n’utilise pas une fonction d’activation non linéaire. Les réseaux profonds sont aujourd’hui l’état de l’art dans une multitude de do-maines, incluant la reconnaissance de la parole et le traitement d’image [60].
Réseaux convolutionnels
Les réseaux convolutifs sont un sous-ensemble des réseaux profonds qui sont principale-ment appliqués au traiteprincipale-ment d’image. Ils sont donc plus pertinents à cette thèse que les autres modèles de réseaux profonds. Leur architecture hiérarchique est inspirée du système visuel. Ils sont conçus pour être robustes aux translations spatiales des caractéristiques. Ils réalisent ceci grâce à deux mécanismes principaux.
Premièrement, ils utilisent des couches de convolution qui extraient les caractéristiques à toutes les positions de l’image. Les caractéristiques à extraire sont apprises lors de la phase d’apprentissage et permettent d’obtenir des détecteurs de caractéristiques spécifi-quement adaptées au problème à résoudre. L’architecture profonde permet de reproduire la structure hiérarchique du cerveau. Les différents niveaux peuvent combiner les sorties
des couches inférieures et ainsi extraire des caractéristiques de plus en plus complexes sur les couches supérieures.
Deuxièmement, ils utilisent une couche de mise en commun spatiale (couche de "pooling") entre chaque couche de convolution. Cette couche de mise en commun joue un rôle si-milaire aux neurones complexes de Hubel et Wiesel [44]. Elle sélectionne donc une seule caractéristique à l’intérieure d’une fenêtre délimitée spatialement sur la couche de convo-lution inférieure. Cette opération limite la complexité des connexions entre les couches par rapport à des réseaux pleinement connectés, en plus de réduire la dimensionnalité des données plus on monte dans la hiérarchie.
Le premier système de ce type a été proposé en 1980 [30], ce genre de système est de-puis longtemps l’état de l’art pour la reconnaissance de caractères [61]. Avec l’arrivée des cartes graphiques, l’utilisation de fonction d’activation de type ReLU [34], l’utilisation du "Dropout" [93] et de différentes techniques pour obtenir plus de données d’entraînement en déformant celles qui sont disponibles, les réseaux convolutifs sont devenus l’approche dominante pour la majorité des tâches de reconnaissance visuelle [60].
2.3.2
Réseaux de neurones à décharges
La troisième génération de réseau de neurones modélise quant à elle, des neurones qui émettent des décharges analogues au potentiel d’action des neurones biologiques. Les ré-seaux à décharges modélisent le passage du temps utilisent des décharges temporelles comme fonction d’activation. L’information transmise par un neurone n’est pas dans la force de sa décharge (tous les neurones émettent les mêmes décharges), mais plutôt par l’instant où il émet sa décharge. La dimension de temps introduite par ce type de réseau introduit beaucoup de complexité, ce qui leur donne potentiel computationnel plus élevé que les autres générations de neurones [74].
Modélisation des décharges
Pour modéliser les décharges de neurones, on a le choix entre être fidèle à la biologie ou avoir un modèle simple et rapide. Les modèles qui tentent de reproduire les réelles courbes de décharges, comme le modèle de Hodgkin-Huxley [43], modélisent les mécanismes biologiques sous-jacents à la décharge, comme les canaux ioniques. À l’autre extrême, le modèle le plus simple est le modèle intégration et décharge ("integrate and fire"), qui ne fait qu’additionner ses entrées, et décharger lorsque le potentiel interne du neurone est atteint. Cependant, le modèle le plus fréquent (et d’ailleurs celui utilisé dans cette thèse), est le modèle d’intégration et décharge avec fuite ("leaky integrate and fire"). Ce modèle
est légèrement plus complexe, car il ajoute une fuite. Les neurones ont donc un courant de fuite qui les fait converger vers un potentiel stable. Si un neurone ne reçoit pas assez de décharges, il retournera vers sa valeur par défaut.
Mécanismes de codage temporel
Les neurones à décharges transmettent l’information par l’instant de leurs décharges. Plu-sieurs mécanismes de codage temporel existent, comme la synchronie et les oscillations discutées plus tôt. Plusieurs autres mécanismes existent, comme le codage par fréquence de décharge, où un neurone décharge plus fréquemment s’il répond fortement à son stimu-lus. La polychronie [50] est un concept qui serait intéressant à cette thèse si les neurones avaient un délai de transmission lié à leur axone. La polychronie est un concept simi-laire à la synchronie, mais pour des neurones qui ont des délais de transmission différents. Un autre mécanisme pertinent à cette thèse est le codage par ordre de décharge ("Rank Order Coding") [97]. Dans ce type de codage, les neurones représentant une information importante vont décharger en premier.
Mécanismes d’apprentissage
Les décharges ne sont pas différentiables, pendant longtemps, on ne pouvait donc pas utiliser les méthodes d’entrainement basées sur la descente de gradient comme rétropro-pagation tel que pour les réseaux de neurones de deuxième génération. Cependant, il a récemment été montré que la rétropropagation pouvait être utilisé si on utilise les valeurs de potentiel interne des neurones pour calculer les gradients [62].
Les principes d’apprentissage pour les réseaux à décharges sont typiquement basés sur des mécanismes Hebbiens[42], qui veulent que les neurones dont les décharges sont corrélées se connectent fortement. Ce genre de mécanisme d’apprentissage est typiquement implémenté grâce à la STDP [13], qui renforce les connexions entre neurones dont les décharges sont corrélées.
Implémentations Neuromorphiques
Due à la grande parallélisation possible des réseaux de neurones, et à l’aspect évènemen-tiel des décharges, il y a beaucoup d’avantages à développer des architectures dédiées. Du point de vue de la parallélisation, l’avantage des neurones est qu’ils sont des unités de calcul relativement simples. On peut donc facilement en mettre plusieurs sur un circuit électronique. La plus grande limitation réside plutôt dans le nombre de connexions pos-sible sur chaque neurone. Le parallèle se fait d’ailleurs avec les architectures hautement parallèles comme les processeurs graphiques ("GPU") qui offrent beaucoup de puissance
de calcul grâce à leur implémentation parallèle. Plusieurs architectures neuromorphiques sont en développement dont, entre autres, SpiNNaker [31], TrueNorth de IBM [75] et Loihi d’Intel [17]. Un des avantages principaux de ce genre d’architecture est qu’elles sont très efficaces au niveau énergétique [17].
2.3.3
Appariement temporel avec neurones à décharges
On présente maintenant les modèles de la littérature qui implémentent le concept d’appa-riement temporel avec des réseaux de neurones à décharges. La littérature dans ce domaine n’est pas très large dû aux faits que l’hypothèse d’appariement temporel est très contro-versée et que les implémentations utilisant les réseaux de 3e génération n’étaient pas très
populaires jusqu’à récemment. LEGION
Le modèle LEGION ("Locally Excitatory Globally Inhibitory Oscillator Networks") pro-posé par Wang et Terman [107] a été un des premiers modèles visant à utiliser le concept de synchronisation de neurones à décharges pour faire l’appariement temporel. Le modèle original utilise des oscillateurs, mais le modèle a aussi été implémenté avec des neurones à décharges [11].
Le modèle utilise la synchronisation entre les oscillateurs pour apparier les régions simi-laires d’une image où chaque pixel est représenté par un oscillateur. Chaque oscillateur est connecté à ses voisins latéraux immédiats. Les oscillateurs représentants des pixels simi-laires peuvent s’influencer pour synchroniser leur phase. Un contrôleur global connecté à tout le réseau permet de contrôler l’activité et assure une séparation entre les différentes phases d’oscillation. LEGION permet donc de faire la segmentation d’image où chaque phase d’oscillation représente un segment. Le modèle a également été adapté pour isoler un certain objet dans une image [108] et pour faire la séparation de signaux sonores [109]. DLM et les maplets
Christoph von der Malsburg, un des pionniers de la théorie de l’appariement tempo-relle [102], dirige une équipe qui a proposé plusieurs modèles visant à implémenter l’appa-riement temporel. Un des premiers modèles proposés pour réaliser l’appal’appa-riement temporel est DLM [57], qui permet de calculer des liens entre deux couches de neurones représentant des images différentes.
Le modèle DLM a ensuite été généralisé pour utiliser des filtres de Gabor pour faire l’appariement entre les images plutôt que de simplement utiliser les valeurs des pixels [114].