Résumé de la thèse de doctorat de Alvaro CASSINELLI, soutenue le 21 septembre 2000 à l'IOTA,  Université de PARIS-SUD, Centre d'ORSAY.

Sujet : "Processeurs Parallèles Optoélectroniques Stochastiques pour le traitement d'images en temps réel".

[Retour]


Introduction

    Mon travail de thèse s’inscrit dans la continuité de la recherche sur les rétines artificielles optoélectroniques stochastiques au laboratoire Charles Fabry de l'Institut d'Optique [1,2]. Il s’agit d’un domaine de recherche à l’entrecroisement de l’optique, de l’électronique et du traitement du signal. Plus précisément, le domaine naît de la convergence de deux fronts de recherche dans notre laboratoire : l’algorithmique pour le traitement d’images d’une part [3], et l'étude d'architectures optoélectroniques cellulaires de l'autre [4,5]. Le composant qui fait l'objet de cette thèse est une variante simplifié de telles rétines artificielles, et il nous est semblé plus juste de rebaptiser le dispositif processeur parallèle optoélectronique stochastique (PPOS). Celui-ci se présente donc sous la forme d'une matrice de processeur élémentaires (PE) localement interconnectés, caractérisés par un point mémoire binaire (état du PE) et possédant chacun une entrée optique différentielle (i.e. deux phototransistors branchés sur l'entrée d'un comparateur classique, commandant l'évolution de l'état du PE). Chaque processeur élémentaire est l'équivalent d'un neurone dont l'état évolue en fonction de celui de ses voisins, et cela de façon probabiliste grâce à un générateur de nombres aléatoires basé sur le phénomène de speckle laser. Le circuit est capable de réaliser plusieurs fonctions de traitement d'images bas niveau à cadence vidéo. Techniquement, nous avons affaire à une machine de Boltzmann à poids synaptiques binaires et invariants par translation [6] ; la machine de Boltzmann est une variante du réseau de Hopfield (réseau de neurones récurrent) exploitant la technique de recuit simulé pour mieux explorer l'espace de configuration du réseau. Le PPOS est donc un dispositif capable de minimiser une fonction d'énergie quelconque à grand nombre de variables (une par pixel), fonction qui se trouve définie implicitement dans les poids synaptiques du réseau. Dans le cas qui nous intéresse, la fonction d'énergie est construite à partir de l'image à traiter grâce au schéma désormais classique de régularisation probabiliste bayesienne et modélisation spatiale par champ de Markov [3]. Un dispositif baptisé générateur optique de nombres aléatoires [7] projette sur la surface du circuit une image de speckle laser variable dans le temps ; on montre alors que la détection différentielle du champ de speckle rend variable le seuil du comparateur différentiel au sein de chaque processeur élémentaire, et permet ainsi une exploration extrêmement rapide de l'espace des solutions. La "température" du recuit est proportionnelle à l'intensité de la source laser de speckle, et doit être progressivement abaissée pendant le recuit. Celui-ci comporte au moins un millier de mises à jour parallèles de l'état du réseau, et est réalisé en moins de 40 ms (cadence vidéo).

    Un premier pas vers la réalisation d'une véritable rétine artificielle stochastique avait été fait dans notre laboratoire lors de la conception de SPIE600, circuit VLSI en technologie CMOS (0,8 microns) capable de simuler la relaxation d'un réseau de spins (problème d'Ising bidimensionnel) à cadence vidéo [8]. Cependant, le circuit SPIE600 seul est loin d'être une véritable rétine artificielle, puisqu'il n'y a pas d'image d'entrée à traiter : l'état de la puce "relaxe" sans aucune contrainte aux données. Mon travail de thèse à consisté dans un premier temps à réaliser un montage permettant d'introduire optiquement des images (codées en double-voie) sur la puce SPIE600. Le dispositif, basé sur un modulateur spatial de lumière ferroélectrique, permit alors de démontrer le débruitage d'images à cadence vidéo [9]. Parallèlement, j'ai préparé un montage plus intéressant, conduisant à terme à la réalisation d'un processeur parallèle optoélectronique stochastique à interconnexions optiques reconfigurables [10]. En effet, dans la version initiale de la rétine (circuit SPIE600), les processeurs élémentaires sont interconnectées entre eux par le biais de fils électriques sur la puce, ce qui limite la portée de l'interconnexion et rend impossible la modification de la topologie du voisinage. Par ailleurs, la nature du traitement envisagé (modélisation Markovienne spatiale) implique exclusivement des interconnexions invariantes par translation, c'est pourquoi il vient tout naturellement à l'esprit une implantation holographique du dispositif d'interconnexion (convolution optique).

    Le montage étudié se présente donc comme une prolongation des expériences sur la puce SPIE600, mettant l'accent sur l'aspect interconnexion (optique) et sur les avantages de la reconfigurabilité du système. Du coup, une partie de cette thèse est consacré au problème des interconnexions optiques intra et inter-processeur en espace libre, sujet qui est à l'ordre du jour étant donné l'énorme besoin en bande passante engendré en particulier par les nouvelles technologies de l'information et les télécommunications.


Contenu de la thèse

L'ensemble des sujets abordés dans la thèse peuvent être rangés aisément sous les quatre rubriques suivantes :

    1. Recherche sur les aspects algorithmiques et architecturaux des processeurs cellulaires stochastiques pour le traitement d'images. Cette problématique concerne les trois premiers chapitres de la thèse. Les deux premiers précisent le cadre mathématique de notre recherche, et le troisième en présente une réalisation pratique (débruitage d'images binaires à cadence vidéo [9]). Le chapitre I introduit la notion de régularisation bayesienne par champ de Markov en traitement d'images bas-niveau, tandis que le chapitre II traite plus particulièrement des algorithmes d'optimisation stochastiques utilisées pour résoudre en pratique le problème de régularisation et discute des possibilités de parallélisation (recuit simulé parallèle). A la fin du chapitre, les diverses propriétés requises pour réaliser une machine spécialisée dans le traitement d'images par recuit simulé sont présentés sous la forme d'un cahier de charges. Un premier prototype de Processeur Parallèle Optoélectronique Stochastique (PPOS) fait l'objet du chapitre III (circuit SPIE600 et modulateur de lumière pour introduire les données à traiter). Le rôle de l'optique y est toutefois limité à la génération de nombres aléatoires et à l'introduction de l'image à traiter.

    2. Etude d’un montage à interconnexions optiques holographiques inter-processeur (CLF/CI-PPOS) permettant de simuler des interconnexions reconfigurables intra-processeur entre les différents PEs du PPOS. La boucle de rétroaction des données est non monolithique et comporte un modulateur à cristaux liquides ferroélectriques sur circuit intégré (CLF/CI). Plus précisément, la version expérimentale se présente sous la forme d'un montage relativement compact (21x35x14 cm3), exploitant quelques fonctionnalités utiles de la puce SPIE600, et ayant recours à deux modulateurs de lumière binaires rapides (ferroélectriques) adressés électriquement, un montage de convolution basé sur un hologramme de Dammann à deux niveaux de phase (interchangeable), et un dispositif électronique rapide permettant de fermer la boucle de données entre la puce et le SLM.

    3. Construction d’un prototype de démonstration à interconnexions reconfigurables pour la détection du mouvement. Il s'agit de démontrer la possibilité d'intégrer ce genre de processeur dans une chaîne de traitement d'images fonctionnant à cadence vidéo. L'exemple retenu pour la démonstration est la détection du mouvement en temps réel. Le chapitre IV reprend donc les concepts avancés au chapitre I pour aborder le problème de la détection du mouvement. Divers algorithmes sont présentés et discutés ; en fin de chapitre nous dégageons un algorithme simplifié susceptible d'être implanté dans un prototype construit autour de SPIE600. La conception du prototype à interconnections optiques reconfigurables est présenté au chapitre V.

    4. Exploration de nouvelles technologies pour le PPOS. Enfin, au dernier chapitre on aborde une analyse des performances théoriques d’un nouveau processeur en technologie hybride GaAs/CMOS par "flip-chip bonding" [11]. Les entrées et sorties optiques permettant une véritable interconnexion optique intra-processeur. Il s'agit d'une étude préliminaire préparant une éventuelle intégration micro-optique de tout le système.


Conclusion et perspectives

    Au cours de la thèse, deux versions du PPOS ont donc été étudiées. La première conduit à une réalisation expérimentale fondée sur le circuit SPIE600 et la deuxième est seulement analysée d'un point de vue théorique. Les résultats expérimentaux concernent la conception et réalisation d'un prototype de démonstration complet de PPOS relativement compact permettant de traiter le problème de la détection du mouvement sur des images à niveaux de gris. Le cœur du dispositif est la puce en silicium SPIE600 comportant 24x24 processeur élémentaires. Le circuit ne possède pas de sortie optique, ce qui ralentit énormément la cadence de traitement puisque pour réaliser la convolution optique (grâce à un hologramme de Dammann) nous avons recours à un modulateur spatial de lumière adressé électriquement. La cadence vidéo n'est donc pas atteinte avec ce premier prototype (2 à 5 secondes sont nécessaires pour traiter chaque image). Cependant, étant donné que le processeur est parallèle, on peut facilement extrapoler les résultats pour des images réalistes (256x256) sans que la cadence de traitement en soit affectée : il ressort alors que les performances du prototype sont potentiellement compétitives avec quelques architectures électroniques dédiés ou non à la détection du mouvement (réseau MIMD [12], machine SIMD [13], carte PCMARKOV [14], etc.).

    Au dernier chapitre de la thèse, est étudié un prototype de PPOS à entrées et sorties optiques en technologie hybride CMOS-SEED (les entrées et les sorties sont réalisées grâce à des modulateurs à puits quantiques multiples). La puissance de calcul est considérablement améliorée, grâce à la rétroaction monolithique des données (l'architecture étudiée comporte alors de véritables interconnexions optiques intra-processeur). Le prototype est modélisé et les performances finales calculées en fonction des caractéristiques des dispositifs de transduction optoélectronique au sein de chaque PE [15]. L'étude théorique permet d'affirmer que l'utilisation d'une puce optoélectronique à entrées et sorties optiques rendrait le système à la fois compact (taille comparable avec celle d'un processeur Pentium avec ses éléments de réfrigération - le générateur de speckle pourrait prendre la place du ventilateur) et extrêmement rapide (au moins dix milliers de recuits sérieux à la seconde!), ce qui en ferait un dispositif tout à fait intéressant pour les applications embarqués de traitement d'images bas-niveau et temps réel.


Références

  1. G. Prémont, "Photothyristors PnpN et recuit simulé optoélectronique pour la vision bas-niveau", thèse Paris-Sud, Orsay, (1999).
  2. D.Prévost, "Rétines artificielles stochastiques : algorithmes et mise en œuvre", thèse Paris-Sud, Orsay, décembre (1995).
  3. Geman and D. Geman, "Stochastic relaxation, Gibbs distributions, and the Bayesian restoration of images", IEEE Trans Pattern Anal. Mach. Intel. PAMI6 721-741 (1984).
  4. J. Taboury, J.M. Wang, P. Chavel, F. Devos and P. Garda, "Optical cellular processor architecture", Appl.Opt. Vol.27, pp.1643-1650, (1988).
  5. I.Seyd-Darwish, "Etude et réalisation d'un automate cellulaire optoélectronique parallèle", thèse Paris Sud, Orsay, décembre (1991).
  6. Ph. Lalanne et al., "Optoélectronique devices for Boltzmann machines and simulated annealing", Opt.Eng. 32, pp.1904-1914 (1993).
  7. Ph. Lalanne et al., "Gaussian random number generation by differential detection of speckles", Optical Engineering, Vol. 34, No.6, p.1835-1837,  June (1995).
  8. A. Dupret, E. Belhaire, J.C. Rodier, Ph. Lalanne, D. Prévost, P. Garda and P. Chavel, "An optoelectronic CMOS circuit implementing a simulated annealing algorithm ", IEEE Journal of solid-state circuits 31, pp. 1046-1050, (1996).
  9. A.Cassinelli, P.Lalanne, P.Chavel, I.Galser, "Demonstration of video-rate optoelectronic parallel processors for noise cleaning in binary images by simulated annealing", Optical Computing 1998, Brugge, Belgium, 17-20 June 1998, SPIE Proc.Vol.3490, H.Thienpont, ed., pp.163-166, SPIE, Bellingham, (1998).
  10. P. Chavel, A. Cassinelli and I. Glaser, "Optoelectronic cellular automata for video real time vision", OC'2000, Quebec, Juin (2000).
  11. A.V.Krishnamoorthy and K.W.Goosen, Invited Paper, "Progress in optoelectronic-VLSI smart pixel technology based on GaAS/AlGaAs MQW modulators", International Journal of Optoelectronics, Vol.11, No.3, 181-198 (1997).
  12. J.P. Dérutin and al., "A parallel vision machine: Transvision", Proc. of Computer Architecture for machine perception, B. Zavidovique and P.L. Wendel, Ed., pp.241-251, Dec. (1991).
  13. A.Caplier, "Modeles markoviens de detection de mouvement dans les séquences d'images : approche spatio-temporelle et mises en œuvre temps réel", thèse de doctorat de de l'Institut National Polytechnique de Grenoble, décembre (1995).
  14. C.Dumontier, "Etude et mise en œuvre temps réel d'un algorithme de detection du mouvement par approche markovienne", PhD thesis, INPG, Grenoble, France, November (1996).
  15. A.Cassinelli, P.Chavel and M.Desmulliez, "Dedicated Optoelectronic Stochastic Parallel Processor (OSPP) for real-time image processing: motion detection demonstration and design of a hybrid CMOS/SEED based prototype", article en preparation pour Optical Eng.

[Retour]