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]