Télécharger la thèse : Asynchronisme dans les rétines artificielles
I. Introduction:
Cette présentation décrit le cadre et les principaux résultats de mes travaux de thèse, thèse co-dirigée par Thierry Bernard du Laboratoire d’Electronique et d’Informatique de l’ENSTA, et Alain Mérigot de l’Institut d’Electronique Fondamentale (IEF) de l’Université d’Orsay Paris-Sud.
Le contexte de ma thèse est celui des rétines artificielles numériques programmables. Il s’agit d’un imageur CMOS ayant un processeur élémentaire intégré à l’intérieur de chaque pixel. Afin d’obtenir une rétine ayant une résolution suffisante, la complexité de ce processeur est extrêmement réduite (de l’ordre de 200 transistors). Cette taille réduite engendre une contrainte très forte de réduction de chacune des fonctionnalités des processeurs élémentaires au strict minimum nécessaire.
Aujourd’hui, le fonctionnement synchrone SIMD (Single Instruction Multiple Data) des rétines artificielles est très bien maîtrisé, et il permet d’exécuter de manière massivement parallèle la plupart des opérations locales de traitement d’image. Les performances de ces rétines sont excellentes tant en matière de vitesse d’exécution que de consommation d’énergie. Toutefois leurs fonctionnalités sont limitées à des opérateurs locaux et donc à une vision de bas niveau.
Le passage à une vision de moyen à haut niveau nécessite de pouvoir manipuler une image comme un ensemble d’objets appelés régions, au lieu de manipuler seulement des pixels. Cette régionalisation permet d’élargir le champ d’utilisation des rétines tout en réduisant la quantité de données échangée avec l’environnement extérieur (réduction de la bande passante) et de réduire ainsi la consommation d’énergie.
Les rétines artificielles en fonctionnement synchrone ne peuvent être utilisées efficacement pour la vision de moyen niveau car les données doivent être échangées régionalement, ce qui conduit à des déplacements de données très nombreux, sur de très longues distances et surtout selon un chemin dépendant de la forme de la région considérée. Le fonctionnement SIMD ne peut donc être utilisé efficacement à ces fins.
L’objectif de ma thèse a été d’étudier les possibilités offertes par l’asynchronisme pour implémenter des opérateurs régionaux de traitement d’image de moyen niveau. Cette étude m’a conduit à étudier l’asynchronisme dans les rétines artificielles depuis son intégration dans le pixel, jusqu’à son utilisation dans le cadre d’algorithmes de traitement d’image de moyen niveau. Les différentes parties abordées dans ma thèse sont les suivantes :
-
Etude des primitives matérielles de base permettant d’implanter l’asynchronisme efficacement dans chaque pixel.
-
Architecture des réseaux asynchrones dans les rétines
-
Algorithmes de calculs régionaux sur les régions de la rétine
-
Utilisation des calculs régionaux dans des algorithmes de traitement de l’image de moyen niveau.
Au cours de ma thèse, j’ai choisi de ne pas privilégier une partie par rapport aux autres de manière à ce que les résultats obtenus dans chacune des parties aient des répercussions et fassent évoluer les autres parties. En suivant cette ligne de conduite, sous la co-direction et avec le concours de Thierry Bernard, nous sommes arrivés aux résultats décrits ci-après qui permettent d’envisager une implémentation réaliste et efficace de l’asynchronisme dans le cadre des rétines artificielles.
II. Résultats :
La vision de moyen niveau requiert des capacités de régionalisation. Dans le cadre des automates cellulaires, cela conduit à former des groupes de pixels au sein desquels des signaux physiques doivent pouvoir circuler efficacement. Ces regroupements peuvent se faire matériellement grâce à des connexions programmables. Ainsi, les régions deviennent des ensembles de pixels connectés.
Le fonctionnement SIMD ne permettant pas de d’effectuer des opérations à l’intérieur de ces régions efficacement, nous avons envisagé l’utilisation de l’asynchronisme. L’usage de l’asynchronisme dans les rétines conduit à utiliser un réseau de propagation de type arbre couvrant afin d’implémenter des opérateurs globaux non idempotents (typiquement l’addition). Cette approche a déjà été étudiée dans le cadre de la Maille Associative à l’Université d’Orsay sous la direction du professeur Alain Mérigot.
Toutefois, les implémentations proposées présentent à un coût matériel prohibitif vis-à-vis d’un objectif d’implémentation en moins de 200 transistors par pixel, notamment en raison de l’utilisation d’opérateurs asynchrones de calcul tel qu’un additionneur à 8 entrées. Nous avons donc essayé de réduire au minimum les ressources nécessaires à l’implémentation d’opérateurs régionaux asynchrones essentiels (tel que la somme sur une région) et nous nous sommes donc mis en quête des mécanismes strictement indispensables, à commencer par un réseau de propagation. Les résultats obtenus au final sont les suivants :
-
Etude des primitives matérielles de bases permettant d’implanter l’asynchronisme dans chaque pixel :
Nous avons défini une unique primitive électronique indispensable à implanter dans chaque processeur élémentaire, le micropipeline convergent. Il s’agit d’une structure permettant la propagation asynchrone d’informations en aiguillant des jetons provenant de plusieurs sources vers une seule et unique sortie. De plus ils permettent de gérer l’arrivée simultanée de plusieurs jetons grâce à un arbitre, ce qui permet de conserver un nombre constant de jetons sur le réseau. Cette structure n’est pas en elle-même un opérateur de calcul, cependant intégrée dans un réseau de propagation de type arbre couvrant, et associée à des opérations synchrones, elle permet d’effectuer des calculs globaux. -
Architecture des réseaux asynchrones dans les rétines :La structure de micropipeline convergent associée à l’utilisation des arbres couvrants permet de propager les jetons de manière asynchrone de tout point d’une région vers la racine de l’arbre couvrant quelques soit la connexité du réseau considéré. Si elle n’a pas de répercutions fonctionnelles, cette connexité du réseau a des répercutions matérielles sur le nombre d’entrées de chaque micropipeline. Ainsi en 6-connexité, chaque micropipeline devrait avoir 6 entrées, ce qui conduit à un coût excessif (environ 200 transistors). Nous avons montré qu’en augmentant la connexité physique du réseau sans changer la connexité fonctionnelle (par exemple en utilisant un réseau physiquement 8-connexe utilisé fonctionnellement en 6-connexité), il est possible sans perte de fonctionnalité de n’utiliser que des micropipelines à 2 entrées, ce qui réduit leur coût à 55 transistors, et rend réalisable une rétine asynchrone.
-
Algorithmes de calculs régionaux sur les régions de la rétine :Afin de tirer parti au maximum de la structure de micropipeline convergent, nous avons conçu des algorithmes permettant de l’utiliser comme un opérateur distribué de calcul. Ces algorithmes, constitués d’une alternance de propagations asynchrones et d’opérations synchrones permettent d’effectuer des opérations globales sur les régions. Une de ces opérations essentielles est le calcul de la somme des valeurs présentes dans chaque pixel. Cette somme est calculée sans utiliser un additionneur asynchrone dédié au sein de chaque pixel, ce qui permet de réduire le coût matériel de l’asynchronisme.
-
Utilisation des calculs régionaux dans des algorithmes de traitement de l’image de moyen niveau :Afin de déterminer les opérateurs régionaux essentiels nécessaires au traitements d’images de moyen à haut niveau, nous nous sommes focalisés sur le problème de la segmentation d’image. Nous avons proposé une méthode statistique utilisant des mesures régionales afin d’apporter une solution au problème de sur-segmentation dans les algorithmes de type ligne de partage des eaux. Une fois définis les opérateurs régionaux implémentables sur la rétine, nous avons ensuite proposé une nouvelle méthode de segmentation, appelée segmentation sociétale, utilisant de manière avancée les mesures régionales pour segmenter une image, en se basant sur une analogie avec la segmentation d’un territoire en villages.
-
En marge des aspects asynchrone, nous avons également proposé une méthode permettant d’optimiser la configuration d’un bus de données de manière à minimiser un critère énergie-temps dépendant de l’application considérée. Une telle méthode peut servir à réduire la consommation d’énergie dans les rétines synchrones en optimisant la configuration des bus de commandes synchrones (qui sont les éléments consommant le plus d’énergie dans une rétine).
III. Conclusion :
L’aspect pluridisciplinaire de ma thèse m’a permis d’aborder la conception d’opérateurs régionaux rétiniens sous l’angle de l’adéquation algorithme architecture. Les résultats obtenus conjointement dans l’étude des primitives matérielles de base et dans l’étude des réseaux et des algorithmes associés permettant de mettre en œuvre ces primitives nous ont permit d’aboutir à une solution électronique permettant d’effectuer des calculs régionaux pour un coût matériel réduit. Cette solution, innovante par certains aspects d’un point de vue théorique, est également réalisable d’un point de vue pratique.