Analogie biologique
Afin de débuter l’étude des systèmes de vision artificielle, observons un dispositif de vision que nous utilisons en permanence : l’oeil . L’oeil est le premier maillon de la chaîne de traitement d’image, il a un rôle de dispositif optique, d’acquisition et de pré-traitement de l’image.
Les maillons suivants de la chaîne de traitement de l’image sont constitués par le nerf optique et les zones du cerveau utilisées principalement pour l’analyse des informations transmises par l’oeil. Nous n’étudierons ici que la structure d’acquisition et de traitement de l’information dans l’oeil. Les informations transmises par l’oeil au cortex ne sont pas les images brutes acquises par les récepteurs sensoriels de l’oeil. En effet, l’étude de la structure des récepteurs et des connexions nerveuses qui lui sont attachées montre que les informations transmises par l’oeil sont d’abord le fruit de la combinaison des informations acquises par les cônes et les bâtonnets (récepteurs sensoriels de l’oeil) dans des voisinages de taille spatiale limitée . Concrètement, la rétine est une fine pellicule de tissu nerveux ayant la consistance et l’épaisseur de quelques dixièmes de millimètres. Les neurones de la rétine sont organisés en trois couches principales séparées par deux couches intermédiaires où se font surtout des connexions entre les différents neurones .
La première couche principale est constituée des cônes et des bâtonnets permettant l’acquisition du signal. Nous ne détaillerons pas cette partie.
Le seconde couche principale est constituée de cellules bipolaires. Entre la couche d’acquisition et la couche bipolaire, se situe une couche intermédiaire constituée par les cellules horizontales. Les cellules horizontales sont connectées latéralement à plusieurs cônes, bâtonnets et neurones bipolaires. Leur rôle est d’inhiber l’activité des cellules avoisinantes. Cette suppression sélective de certains signaux nerveux s’appelle l’inhibition latérale et son rôle général est d’augmenter l’acuité d’un signal sensoriel. Dans le cas de la vision, quand une source lumineuse atteint la rétine, elle peut illuminer fortement certains photorécepteurs et d’autres beaucoup moins. En supprimant le signal de ces photorécepteurs moins illuminés, les cellules horizontales assurent que seul le signal des photorécepteurs bien illuminés est transmis aux cellules ganglionnaires, améliorant ainsi le contraste et la définition du stimulus visuel.
La troisième couche est constituée de cellules ganglionnaires. Elle possède deux types principaux de cellules nerveuses, les cellules P et les cellules M. Chacun de ces types de cellules possède une localisation et une connectivité particulières. Les petites cellules ganglionnaires de type P (pour parvus , petit en latin) représentent environ 90% de la population totale de cellules ganglionnaires. Les grandes cellules de type M (pour magnus , grand en latin) constituent environ 5% de la population ; il existe également des cellules ganglionnaires non M-non P qui ne sont pas encore bien caractérisées et qui forment le 5% restant.
Les cellules de type P sont placées près des récepteurs de type bâtonnets et cônes, elles ont un voisinage limité et une réponse maintenue aussi longtemps que leur stimulus d’entrée agit. Les cellules de type M présentent de plus grands champs récepteurs, et propagent les potentiels d’action plus rapidement dans le nerf optique, et sont plus sensibles aux stimuli à faible contraste. La réponse d’une cellule M à une stimulation est limitée dans le temps. L’idée la plus couramment admise est que les cellules P, avec leur petit champ récepteur, sont sensibles à la forme et aux détails de l’image, et que les cellules M sont particulièrement impliquées dans la détection du mouvement du stimulus.
Entre la couche bipolaire et la couche ganglionnaire, se situent les cellules amacrines. Leur morphologie est très diversifiée, elles utilisent un nombre impressionnant de neurotransmetteurs. En reliant les neurones bipolaires et ganglionnaires, elles forment une route alternative indirecte entre ceux-ci. Elles semblent avoir plusieurs fonctions mais leur rôle précis est pour l’instant encore mal compris.
Le fonctionnement de la rétine comme dispositif de traitement d’image est donc très fortement structuré. Les interactions entre cellules s’effectuent dans un voisinage de plus en plus large à mesure que l’on s’approche du nerf optique. Ces interactions permettent d’effectuer des calculs locaux multi-résolution. Au voisinage des récepteurs sensoriels, les cellules horizontales permettent de rehausser le contraste, opération de bas niveau basique de traitement d’image. Au voisinage du nerf optique, les cellules ganglionnaires de type M permettent d’effectuer des opérations de détection de mouvement sur des voisinages larges. Cette dernière opération de bas niveau relativement complexe permet ensuite au cortex visuel primaire (qui est une prolongation du nerf optique et qui à ce titre peut être considéré comme étant rattaché à l’oeil) d’interpréter les images comme un ensemble d’objets et non pas comme un ensemble de pixels. Cette dernière fonction est à la base des traitements d’image de moyen niveau reposant sur la régionalisation. Ainsi, l’ensemble cortex primaire et rétine permet d’effectuer des opérations de bas et moyen niveau massivement parallèles proches de l’endroit où s’effectue l’acquisition de l’image. L’image prétraitée et régionalisée par la rétine et le cortex est ensuite transmise au cerveau. L’interprétation de l’image n’est pas effectuée à l’intérieur de la rétine (dont la complexité est relativement faible), mais à l’intérieur du cerveau (dont la complexité est très forte). Toutefois les informations transmises au cerveau ont fait l’objet de traitement ayant une échelle spatiale croissante à mesure que l’on se rapproche de celui-ci.
Le système de vision humaine et d’interprétation est intriguant car il n’existe aucun système de traitement d’image aussi performant à l’heure actuelle. Il permet en particulier de percevoir et d’interpréter une multitudes d’objets contenus dans une scène complexe en un temps quasi instantané. Ce système de vision étant l’aboutissement d’une longue évolution, on peut donc légitimement penser qu’il permet de réaliser le traitement d’images de manière efficace, en réduisant par exemple le coût de traitement à une valeur acceptable par un être humain.
Cette manière de traiter l’information localement à l’intérieur de la rétine a inspiré une classe d’imageurs utilisés en traitement d’images, les rétines artificielles. Cette analogie ne permet pas cependant de justifier la pertinence de l’utilisation des rétines artificielles. Leur pertinence sera montrée lors d’une étude sur le coût énergétique de traitement de l’information. Comme nous le verrons dans l’état de l’art, ces rétines intègrent des fonctionnalités de traitement d’image à l’intérieur même des pixels où s’effectue l’acquisition. Ces fonctionnalités permettent d’effectuer des calculs locaux massivement parallèles utilisant les valeurs des pixels voisins. Cependant, à l’inverse des rétines biologiques, les rétines artificielles n’intègrent pas d’opérateurs permettant d’effectuer des calculs régionaux (telles que les cellules ganglionnaires de type M ou le cortex primaire par exemple). Un des objectifs de cette thèse est d’étudier les possibilités permettant d’étendre le champ des opérateurs présents dans les rétines artificielles aux opérateurs régionaux.
Enjeux et contraintes des rétines artificielles
Avant de proposer un inventaire des rétines artificielles existant dans la littérature du traitement d’image, examinons tout d’abord les enjeux et contraintes du concept de rétine artificielle.
Enjeux des rétines artificielles
Vitesse de traitement
Les rétines artificielles ont été inspirées par les rétines biologiques. Outre le côté esthétique de l’analogie biologique, c’est avant tout en espérant obtenir les avantages des rétines biologiques que les chercheurs se sont dirigés vers les rétines artificielles. Quels sont ces avantages ? Comme nous l’avons rappelé précédemment, le système visuel humain est capable de percevoir et d’interpréter une multitude d’objets contenus dans une scène en un temps très bref. Rappelons toutefois que l’interprétation de l’image est le chef du cortex, et qu’elle ne sera pas étudiée ici. Le rôle de la rétine est donc de fournir une image prétraitée au cerveau, ces prétraitements de bas et moyen niveaux étant réalisés à proximité du pixel et en temps réel. Le premier enjeu des rétines artificielles est donc d’effectuer des calculs de moyen-bas niveau à grande vitesse, au minimum temps réel, au sein même du pixel. Ceci étant, il n’est pas nécessaire d’avoir à disposition une rétine pour réaliser des traitements en temps réel. Une simple caméra associée à un processeur de type DSP (Digital Signal Processing), ou même à un ordinateur puissant permet d’effectuer des opérations de traitement d’images temps réel. Cet enjeu n’est donc pas le seul enjeu majeur des rétines artificielles.
Faible consommation d’énergie
Revenons au fonctionnement de la rétine biologique. Elle est le fruit d’un processus évolutionniste qui l’a façonnée au fil du temps. Ce processus a conduit à une rétine capable d’effectuer des calculs temps réels, mais également comme pour beaucoup de fonctions biologiques, à effectuer les calculs pour un coût énergétique faible. Par analogie, la faible consommation d’énergie est un deuxième enjeu fondamental des rétines artificielles. Si l’on considère le couple vitesse de traitement élevée et faible consommation d’énergie, alors les système évoqués précédemment tels que le traitement d’image avec une caméra couplée à un DSP ou à un ordinateur sont beaucoup moins compétitifs. Des arguments relatifs à la consommation d’énergie dans les dispositifs de traitement d’image seront développés à ce sujet. Toutefois, ce manque de compétitivité sur le plan du couple vitesse-énergie est compensé par une plus grande diversité des opérations pouvant être effectuées. Dans cette confrontation, les rétines artificielles souffraient de leur incapacité à implanter les opérateurs régionaux, ce qui restreint leur champ d’utilisation aux opérations locales dites de bas niveau, alors que des opérateurs génériques tels qu’un microprocesseur peuvent bien évidemment gérer des structures complexes telles que les régions. Pour cette raison, cette thèse propose une implantation d’opérateurs régionaux génériques au sein des rétines artificielles. En outre, afin de conserver l’avantage existant des rétines artificielles au niveau de l’énergie consommée, il est impératif que ces opérateurs régionaux aient une consommation d’énergie très faible.
|
Table des matières
Introduction générale
I Les rétines artificielles
1 Concepts et enjeux du traitement d’image dans les rétines artificielles
1.1 Analogie biologique
1.2 Enjeux et contraintes des rétines artificielles
1.2.1 Enjeux des rétines artificielles
1.2.2 Des contraintes : rendre possible une implantation de forte densité
2 Tour d’horizon des rétines artificielles
2.1 Circuits analogiques dédiés
2.2 Circuits analogiques programmables
2.2.1 Réseaux de neurones cellulaires
2.3 Circuits mixtes analogiques numériques
2.3.1 Les microprocesseurs génériques
2.3.2 Limitations
2.4 Circuits numériques programmables
2.4.1 Le système de vision dit « milliseconde » de l’Université de Tokyo
2.4.2 Le circuit NSIP de l’Université de Linkoping
2.4.3 Les Rétines TCL
2.4.4 Les rétines numériques récentes
2.4.5 Comparaison des circuits numériques programmables
2.5 Limitations des rétines artificielles existantes
2.5.1 Limitation à la vision de niveau peu élevé
2.5.2 Evolutions possibles
3 De l’utilité de la régionalisation
3.1 Analogies
3.1.1 Échanges informationnels dans un État
3.1.2 Échanges informationnels lors du pilotage d’un robot
3.1.3 Échanges informationnels dans le fonctionnement d’une entreprise
3.1.4 Hiérarchisation de la transmission de l’information et réduction du coût de transmission
3.2 La régionalisation : une étape utile dans le traitement de l’image
3.2.1 Échanges informationnels en traitement d’images
3.2.2 Classification des opérateurs de traitement d’images
3.3 Quels types d’opérateurs pour les différents niveaux de traitement d’image ?
3.3.1 Opérateurs de bas-niveau et parallélisme massif
3.3.2 Opérateurs de moyen niveau : les enjeux des traitements régionaux
3.3.3 Quels types d’opérateurs pour les traitements régionaux ?
3.4 Primitives régionales fondamentales
II Opérateurs régionaux dans les rétines artificielles
4 De la nécessité des graphes : le modèle des réseaux associatifs
4.1 Limites du fonctionnement SIMD
4.2 Organisation des régions en graphes
4.3 Le modèle des réseaux associatifs
4.4 Implantation des connexions programmables
5 De la nécessité de l’asynchronisme
5.1 Limitations du modèle des réseaux associatifs en fonctionnement synchrone SIMD
5.2 Principe de fonctionnement de l’asynchronisme
5.2.1 Le C-élément : structure de base de l’asynchronisme
5.2.2 Modes de transmission asynchrone
5.2.3 Classification des différents types de circuits asynchrones
5.2.4 Une structure permettant les opérations asynchrones : les micropipelines
5.2.5 Avantages et inconvénients de l’asynchronisme
5.3 Circuits asynchrones et synchrones dans les rétines artificielles : quelle répartition ?
6 Opérateurs régionaux asynchrones : l’exemple de la somme régionale
6.1 Tour d’horizon des implantations asynchrones de la somme régionale dans les mailles
6.1.1 Principe de l’addition bit-série
6.1.2 Additionneur bit-série linéaire
6.1.3 Additionneur bit-série à entrées multiples
6.2 Vers une nouvelle architecture dédiée aux traitements régionaux
Conclusion générale
Télécharger le rapport complet