5
Capteurs intelligents par reseaux de neurones: I’exemple d’un microsysteme d’inspection visuelle par Dominique Martinez L’objectifde cet article est de montrer que les rkseaux de neurones art$ciels et l’assemblage 30 peuvent jouer un rdle de premier ordre dans le dkveloppement technologique des MzicrosystPmes. Sur la base d’un exemple applicatif de dktection en temps rkel d’objets visuels, nous mettrons en tvidence les divers blocsfonctionnels d’un microsystPme. a perception, fonction reniplie par les capteurs, consiste i fournir i l’organe responsable de la dkcision une reprksentation du deu physique L observt.. Afin d’extraire de l’environnement une reprksentation suffisamment fiable et pertinente, la rkduction des coGts de fabrication des capteurs amkne i multiplier ces derniers, soit sous la forme de capteurs matriciels (p. ex. rktine CMOS ou CCD, matrice de capteurs de gaz), soit sous la forme de capteurs hkttrogknes. Associks i des processeurs neuronaux, ces systkmes multicapteurs gagnent en fiabilitk et en ‘intelligence’, ouvrant par li-mime la voie i des technologies hturistes. On peut ainsi imaginer un nez artificiel dktectant une fuite de gaz inodore”, une langue tlectronique contr6lant la qual& d’une denrke pkrissablet ou bien encore un implant occulaire artificiel compensant une perte d’acuitk visuelles. Ces projets ambitieux ne sont bien sdr pour l’instant qu’en cours d’klaboration. Une chose est sdre en tout cas: le caracttre ambulatoire ou bio-implantable de ces futurs systkmes implique l’intkgration, dans un volume rkduit, de nombreux capteurs et de techniques issues de I’intelligence artificielle telles que les rkseaux de *http://www.cyranosciences.com/smell +http://www.exn.ca *http://rleweb.mit. eddretina neurones. Le progrb technologique, qui avait jusqu’ici concernk l’intkgration de mkthodes de traitement de signal (VLSI), s’oriente maintenant vers l’intkgration hktkrogtne de syst?mes complets (capteurs + traitement). C’est ce que Yon appelle l’intkgration des microsystkmes’ . Dans le doniaine microsysttme, la technologie d’assemblage 3D2 a atteint un niveau de maturitk suffisant pour permettre maintenant d’envisager la rkallsation de modules i base de capteurs et de composants neuronaux empilks en 3 dimensions avec une rkduction extrime en volume, poids et consommation. L‘objectifde cet article est de montrer que les rkseaux de neurones artificiels et l’assemblage 3D peuvent jouer un r81e de premier ordre dans le dkveloppement technologique des microsysthes. De nombreux exemples, sur le plan applicatif, peuvent illustrer cette voie de recherche. Nous nous limiterons dans cet article 1 un microsysttme d’inspectionvisuelle dont le but est de locahser et d’identifier en temps rkel des objets dans une sctne visuelle. Architecture du microsysteme de detection visuelle Le microsysttme considkrk en Fig. 1 est un empilage en trois dimensions de plusieurs niveaux de traitement. Le premier niveau est celui des capteurs (rktine CMOS ou CCD) oh se trouve la conversion du phknomkne physique en un signal klectrique. Etant donnt. que tous les capteurs ofient cette possibilitk, ce niveau ne sera pas considkrk dans la suite de cet article. A l’inverse, les deuxikme et troisikme niveaux seront respectivement dkcrits dans les deux sections suivantes. Le deuxitme niveau est celui du prktraitement analogique oh une simple quantification scalaire est associke i un mhcanisme d’apprentissage capable d’adapter le systtme i des images de diffkrents contrastes. Le troisikme niveau est celui du traitement dgital oh ENGINEERING SCIENCE AND EDUCATION JOURNAL OCTOBER 2000 236

Intelligent sensors using neural networks: the example of a microsystem for visual inspection

  • Upload
    d

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Intelligent sensors using neural networks: the example of a microsystem for visual inspection

Capteurs intelligents par reseaux de neurones: I’exemple d’un microsysteme d’inspection visuelle

par Dominique Martinez

L’objectifde cet article est de montrer que les rkseaux de neurones art$ciels et l’assemblage 3 0 peuvent jouer un rdle de premier ordre dans le dkveloppement technologique des MzicrosystPmes. Sur la base d’un exemple applicatif de dktection en temps rkel d’objets visuels, nous mettrons en tvidence les divers blocs fonctionnels d’un microsystPme.

a perception, fonction reniplie par les capteurs, consiste i fournir i l’organe responsable de la dkcision une reprksentation du d e u physique L observt.. Afin d’extraire de l’environnement une

reprksentation suffisamment fiable et pertinente, la rkduction des coGts de fabrication des capteurs amkne i multiplier ces derniers, soit sous la forme de capteurs matriciels (p. ex. rktine CMOS ou CCD, matrice de capteurs de gaz), soit sous la forme de capteurs hkttrogknes. Associks i des processeurs neuronaux, ces systkmes multicapteurs gagnent en fiabilitk et en ‘intelligence’, ouvrant par li-mime la voie i des technologies hturistes. On peut ainsi imaginer un nez artificiel dktectant une fuite de gaz inodore”, une langue tlectronique contr6lant la qual& d’une denrke pkrissablet ou bien encore un implant occulaire artificiel compensant une perte d’acuitk visuelles. Ces projets ambitieux ne sont bien sdr pour l’instant qu’en cours d’klaboration. Une chose est sdre en tout cas: le caracttre ambulatoire ou bio-implantable de ces futurs systkmes implique l’intkgration, dans un volume rkduit, de nombreux capteurs et de techniques issues de I’intelligence artificielle telles que les rkseaux de

*http://www.cyranosciences.com/smell

+http://www.exn.ca *http://rleweb.mit. eddretina

neurones. Le progrb technologique, qui avait jusqu’ici concernk l’intkgration de mkthodes de traitement de signal (VLSI), s’oriente maintenant vers l’intkgration hktkrogtne de syst?mes complets (capteurs + traitement). C’est ce que Yon appelle l’intkgration des microsystkmes’ .

Dans le doniaine microsysttme, la technologie d’assemblage 3D2 a atteint un niveau de maturitk suffisant pour permettre maintenant d’envisager la rkallsation de modules i base de capteurs et de composants neuronaux empilks en 3 dimensions avec une rkduction extrime en volume, poids et consommation. L‘objectif de cet article est de montrer que les rkseaux de neurones artificiels et l’assemblage 3D peuvent jouer un r81e de premier ordre dans le dkveloppement technologique des microsysthes. De nombreux exemples, sur le plan applicatif, peuvent illustrer cette voie de recherche. Nous nous limiterons dans cet article 1 un microsysttme d’inspection visuelle dont le but est de locahser et d’identifier en temps rkel des objets dans une sctne visuelle.

Architecture du microsysteme de detection visuelle

Le microsysttme considkrk en Fig. 1 est un empilage en trois dimensions de plusieurs niveaux de traitement. Le premier niveau est celui des capteurs (rktine CMOS ou CCD) oh se trouve la conversion du phknomkne physique en un signal klectrique. Etant donnt. que tous les capteurs ofient cette possibilitk, ce niveau ne sera pas considkrk dans la suite de cet article. A l’inverse, les deuxikme et troisikme niveaux seront respectivement dkcrits dans les deux sections suivantes. Le deuxitme niveau est celui du prktraitement analogique oh une simple quantification scalaire est associke i un mhcanisme d’apprentissage capable d’adapter le systtme i des images de diffkrents contrastes. Le troisikme niveau est celui du traitement dgital oh

ENGINEERING SCIENCE AND EDUCATION JOURNAL OCTOBER 2000

236

Page 2: Intelligent sensors using neural networks: the example of a microsystem for visual inspection

i I I scene visueile

Fig. 1 Architecture du microsysteme d‘identification d’objets visuels. On distingue trois niveaux de traitement: sensoriel (retine CMOS ou CCD), pretraitement analogique adaptatif (numerisation et rehaussement du contraste) et traitement digital (reconnaissance des formes). Les images A, B et C sont respectivement obtenues en sortie de ces trois niveaux de traitement. A titre d‘exemple, les bateaux qui sont caches par le brouillard dans I’image A apparaissent clairement dans I’image B et sont finalement detectes dans I’image C. Les interconnexions entre les niveaux sont realisees verticalement sur trois faces laterales du bloc 3D. une face entierement metallisee servant de radiateur thermique.

l’organe responsable de la dtcision est implkmentk sous la forme d’un classifieur neuronal. Un tel microsystkme devra prockder par apprentissage et expkrience pour s’adapter i des changements des caractkristiques des capteurs et prendre une dkcision lorsqu’une situation nouvelle se prksente.

Pretraitement analogique: numerisation et amelioration du contraste

Un microsystkme d’inspection visuelle tel que celui dkcrit au dessus doit pouvoir s’adapter i des images de diffkrents contrastes ou i des changements locaux de contraste dans une mCme image. Pour compenser de telles variations de contraste, nous avons propost3 une technique adaptative en-ligne qui numkrise l’image et amkliore le contraste localement et skquentiellement durant le balayage de la rktine CMOS ou CCD. La rkgle d’apprentissage u d s k e (dkcrite en Rtfkrence 4) permet d’estimer adaptativement l’hstogramme des niveaux de gris et donc d’augmenter le contraste localement par une tgahsation en ligne de cet hstogramme.

Cette technique est facilement rkahsable en VLSI analogique sous la forme d’un convertisseur analogique numtrique adaptatif. La Fig. 2 montre le schtma

de principe de la i-i.me ligne de comparaison d’un convertisseur de type flash. A chaque pas d’kchantdlonage, n, l’entrke x(n) en provenance de la rttine est comparke i la tension de seuil, wj, du comparateur OP2. Cette tension de seuil est ptriodquement modifike en uthsant l’intkgrateur i capacitk commutke OP1, fournissant ainsi un apprentissage en continu. Un convertisseur de 3 bits fonctionnant sur ce principe a ttC c o n p en tech- nologie AMs CMOS 1.2 pm. L’image B de la Fig. 1 a t t k obtenue apr2s simulation SPICE de ce convertisseur.

Traitement digital: localisation des objets

La locabsation des objets dans l’image est effectuke i l’aide d’un classifieur. Pour cela, l’image numkriste est successivement dkcoupte en blocs de n x n pixels. Chaque vecteur de n2 pixels ainsi formk est ensuite prksentk en entrke d’un classifieur neuronal dont le but est de rkpondre +1 si une partie de l’objet est prksente i cette position dans l’image et -1 sinon.

Une telle approche a ktk appliquke avec succks pour dttecter des visages5 ou des codes matriciels6 dans des images. Ces derniers sont amenks i remplacer les traditionnels codes barres dans un htur proche et le

ENGINEERING SCIENCE AND EDUCATION JOURNAL OCTOBER 2000

237

Page 3: Intelligent sensors using neural networks: the example of a microsystem for visual inspection

@ 24 I

'i 9 -9-

I

C N-i -

92 -L

I

capteur 0

L Wi

Fig. 2 Schema de principe de la i-eme ligne de comparaison du convertisseur adaptatif

dtveloppenient de lecteurs de codes matriciels fait l'objet d'intenses recherches'. La Fig. 3 montre l'exemple d'une dktection de code matriciel que nous avons obtenue sur des blocs de 8 x 8 pixels. Le classifieur utdist dans ces deux applications est une machme i vecteurs supports'. Malheureusement, un tel classifieur ntcessite de calculer un nombre important de fonctions non-linkaires (fonctions radiales de base) dfficilement rkahsables en VLSI.

L'implantation matkrielle du classifieur peut itre considkrablement simplifike en utilisant un rtseau de neurones i seuil'. I1 existe de nombreux algorithmes pour construire et apprendre de tels rtseaux de neurones, e.g. Thng'", Upstart", Offietlz et NetLinesI3. Ces algorithmes ajoutent successivement des discriminants linkaires jusqu'i former une surface dscriminante complexe capable de rtsoudre correctement le probl?" de classification. L'avantage est la construction automatique du rkseau de neurones pendant la phase d'apprentissage. Contrairement aux

autres algorithmes, Offset construit une machine paritke, c'est-i-dire un rtseau ne comportant qu'une unique couche de neurones, la sortie ktant obtenue i l'aide d'une simple porte logique 'ou exclusif'. Ce type de rkseau est donc le plus adapt6 pour une implantation mattrielle i l'aide de circuits intkgrks digitaux. Malheureusement le probl6me de la machine paritt est le sur-apprentissage puisque l'algorithme Offiet, c o m e tous les algorithmes de construction citks ci- dessus, converge i une erreur nulle sur toute la base d'apprentissage. I1 est ntanmoins possible d'augmenter les performances en gknkrahsation en combinant un grand nombre de classifieurs par un vote maj~ritaire""~. Ami la localisation des objets dam l'image est effectute i l'aide d'un vote sur les sorties de plusieurs machines paritkes. Les performances sont alors comparables avec celles obtenues en utilisant une machine 1 vecteurs supports. Une telle combinaison de classifieurs ne peut cependant &re mise en pratique que si Yon dispose de bonnes stratkgies d'implantation

b P '

Fig. 3 (a) Image originale; (b) sorties desirees pour I'apprentissage (les pixels blancs et noirs correspondent respectivement a des sorties desirees de -1 et +I); (c) resultat de la classification

Detection d'un code matriciel a I'aide d'une machine a vecteurs supports travaillant sur des blocs de 8 x 8 pixels.

ENGINEERING SCIENCE AND EDUCATION JOURNAL OCTOBER 2000

238

Page 4: Intelligent sensors using neural networks: the example of a microsystem for visual inspection

Fig. 4 (a) Photo de SysNeuro (puce nue); (b) photo du MCM apres report des composants

matkrielle permettant l’kvaluation d’un grand nombre de machines paritks en paralltle.

Un premier circuit VLSI, appelk SysNeuro16, a ktk fabriquk en technologie CMOS 0.7 pm (Fig. 46). Ce circuit intZgre une machme paritte sur une architecture systolique carke de 4 x 4 processeurs. Une caractkristique intt‘ressante de ce circuit est sa prkcision variable permettant d’augmenter le nombre de neurones en diminuant la prkcision sur les poi&. Ainsi, SysNeuro implkmente 16 neurones sur 4 bits de prkcision, 8 neurones sur 8 bits ou 4 neurones sur 16 bits. Ce circuit a ktt‘ test6 avec succts i 20 MHz pour toutes les configurations possibles de prCcision et de topologie de la machme paritke.

Malheureusement, SysNeuro a des ressources matkrielles limittes et est donc incapable d’kvaluer plusieurs machines paritkes en parallkle afin de localiser des objets dans l’image. Atin d’augmenter considkr- ablement le nombre de neurones tout en limitant la taille du circuit, nous avons dkveloppk un assemblage 3D, appelk SysNeuro3D1’, compatible avec les exigences du microsysttme dkcrit au dessus. La rkalisation de cet assemblage 3D est fondke sur I’empilement de trois supports MCMs (Multi-Chp

Modules) comportant chacun quatre puces SysNeuro cfblt‘es. La Fig. 4b montre la photo d’un MCM aprZs le report des composants. Une fois les MCMs rkalisks, de nombreuses ktapes technologiques sont nkcessaires avant d’obtenir le circuit 3D final. On peut citer en particulier I’empilement des MCMs, l’usinage du bloc, la mktallisation et la photogravure des faces pour assurer les interconnexions entre les diffkrents niveaux. La Fig. 5 compare la photo de SysNeuroSD ainsi obtenu avec celle d’un seul circuit SysNeuro. SysNeuro3D permet d’obtenirjusqu’i 192 neurones pour des dimensions de circuit proches de celles d’un seul circuit encapsulk qui lui ne permet d’obtenir qu’un maximum de 16 neurones.

Conclusion

Cet article a permis d’identifier les divers blocs fonctionnels d’un microsystkme de dktection d’objets visuels. Sur la base de ceux-ci, il est aussi possible de construire des architectures microsysttmes pour d’autres modalitks sensorielles, c o m e par exemple en olfaction. Mais pour aboutir i des microsystkmes d’une rkduction extrCnie en volume, poi& et consommation,

Fia. 5 fa) Circuit SisNeuro3D (192 neurones). Ce dernier integre 12 puces SysNeuro dans un volume de

0.78 cm3. (b) Circuit SysNeuro (16 neurones) encapsule dans un boitier standard CLCC68 de volume 3 x 3 x 0.4 cm3

2.2 x 2.3 x

a

ENGINEERING SCIENCE AND EDUCATION JOURNAL OCTOBER 2000

239

Page 5: Intelligent sensors using neural networks: the example of a microsystem for visual inspection

le pr0gri.s technologique devra continuer con- jointement dam le domaine des capteurs, des rkseaux de neurones et de l’assemblage 3D. De tels micro- systkmes devraient alors contribuer i faire kmerger une grande g a m e de nouvelles applications, notamment en vision avec des rktines artificielles et en olfaction avec les nez klectroniques.

Remerciements

Le travail prhsentk dans cet article a ktk effectuk lorsque l’auteur ktait au LAAS-CNRS, Toulouse, France. L’auteur remercie particulikrement A. Bermak pour la rkalisation de SysNeuro3D ainsi que T. Doconto, D. Estkve et R. Reyna pour leurs contributions i cette recherche.

Bibliographie

1 Special issue on ‘Integrated sensors, microactuators and microsystems (MEMS)’, Proc. IEEE, a o h 1998, 86, (8)

2 AL-SAFUWI, S. E, ABBOTT, D., and FRANZON, P D.: ‘A review of 3-D packaging technology’, IEEE Tvans. Compon., Packag. Manut Echnol. B, ftvrier 1998, 21, (l), pp.2-14

3 MARTINEZ, D.: ‘On-line adaptive histogram equal- ization’. IEEE Workshop on Neural Networks for Signal Processing VIII, Cambridge, UK, 31 aoii-3 septembre

4 VAN HULLE, M. M., and MARTINEZ, D.: ‘On a novel unsupervised competitive learning algorithm for scalar quantization’, IEEE Zans. Neural Netw., mai 1994, 5, (3),

5 OSUNA, E., FREUND, R. , and GIROSI, E: ‘Training support vector machines: an application to face detection’. Proc. CVPR97, 17-19 juin 1997, Puerto Rico

6 REYNA, R., ESTEVE, D:, and MARTINEZ, D.: ‘An integrated vision system: object detection and localization’. 3rd Int. Workshop on Design of Mixed Mode Integrated Circuits and Applications, 26-28 juiUet 1999, Puerto Vallartha, Mexique, pp.118-121

7 MCDOWALL, R. D.: ‘Barcodes: labels and readers’, Scient@ Data Management, janvier/ftvrier 1999, 3, (I),

8 SCHOLKOPF, B., BURGES, C. J. C., and SMOLA, A. J.: ‘Advances in kernel methods: support vector learning’ (MIT Press, 1999)

9 MOERLAND, l? D., and FIESLEK, E.: ‘Hardware- friendly learning algorithms for neural networks: an overview’. Proc. Microneuro, Lausanne, Switzerland, 12-14 ftvrier 1996

10 MEZARD, S. E., and NADAL, J.-I?: ‘Learning in feedforward layered networks: the Tiling algorithm’, 1. Phys. A, Math. Gen., 1989, 22, pp.2191-2203

1998, pp.531-538

pp.498-501

pp.9-19

FREAN, M.: ‘The Upstart algorithm: a method for constructing and training feedforward neural networks’, Neural Comput., 1990, 2, (2), pp.198-209 MARTINEZ, D., andESTEVE, D.: ‘The OASet algorithm: building and learning method for multilayer neural networks’, Europhys. Lett., 1992, 18, pp.55-100 TOKKES MORENO, J. M., and GORDON, M.: ‘Efficient adaptive learning for classification tasks with binary units’, Neural Comput., 1997, 10, pp.1007-1029

BAUER, E., and KOHAVI, R.: ‘An empirical comparison of voting classification algorithms: bagging, boosting and variants’, Mach. Learn., 1999, 36, pp.105-139 RENNER, R. S.: ‘Improving generalization of con- structive neural networks using ensembles’. ThPse de PhD, Florida State University, 1999 BERMAK, A., and MAKTINEZ, II: ‘Digital VLSI implementation of a multi-precision neural network classifier’. 6th Int. Conf. on Neural Information Processing, CONIP’99, Perth, Austraha, novenibre 1999 BERMAK, A.: ‘SysNeuro: un circuit systolique neuronal multiprtcision pour des tiches de classification’. ThPse de doctorat du LAAS-CNRS, 30 septeinbre 1998

0 IEE: 2000

Cet article est la version kcrite d’une prtsentation de l’auteur intitulte ‘Capteurs intelligents par rtseaux de neurones’ donnte i une rCunion organiste par le IEE ‘Professional Group committee S10’ en Janvier 1959.

The author is with the Lorrain Laboratory for Research in Informatics and its Applications (LORIA), Centre National de la Recherche Scientifique (CNRS), Campus Scientifique, BP 239, 54506 Vandeuvre L& Nancy, France

Summary Development of an d c i a l nose, electronic tongue or artificial ocular implant requires the integration, in a s m a l l volume, of numerous sensors and signal processing to form a microsystem. The aim of h s article is to show how a&cial neural networks and 3D packaging technology have a major role to play in the development of microsystems. A visual inspection system for real-time idendcation of objects in a scene (Fig. 1) is described.

The system comprises a CMOS or CCD imager, an analogue preprocessing stage that includes a learning mechanism for adapting the system to images of Merent contrast, and a neural classhcation stage.

Fig. 3 illustrates the detection of a matrix code using as the classher a vector support machme. As the latter is ddkult to reahse in VLSI the author has turned to the threshold neural network ‘O&et’, whch constructs a parity machme, i.e. a network comprising a single layer of neurons, the output being obtained with the help of a siniple exclusive-OK logic gate. Unfortunately the parity machme sders fiom ovemaining, as the O&et algorithm converges to a zero error over the entire training base. Nevertheless, if good implementation strategies are avdable, it is possible to improve the performance in general by combining a large number of classhers by majority voting.

A CMOS VLSI circuit, called SysNeuro (Fig. 44, ~

has been fabricated which integrates a parity machme in a square systolic architecture of4 X 4 processors. T h circuit has variable precision. The number of neurons has been increased (&om 16 for the SysNeuro chp up to 192) by combining 4 SysNeuro chips in a multichp module (Fig. 4b) and staclung three of the modules to form a 3D structure--SysNeuro3D (Fig. 54.

ENGINEERING SCIENCE AND EDUCATION JOURNAL OCTOBER 2000

240