shEye (voir Figure 4.10a) pour de la surveillance vidéo. Ce système multi-capteurs à résolution hybride permet l’optimisation du processus d’acquisition. Composé d’un capteur basse résolution utilisé pour la détection de mouvements d’objets dans une scène, et d’un capteur haute résolution utilisé pour l’acquisition d’une fenêtre d’intérêt contenant cet objet.
(a) Architecture du système de vision MeshEye. (b) Architecture du système de vision StéreoCam.
Figure 4.10: Architectures de traitement d’image.
L’INCA+ est un exemple de caméra intelligente (Figure 4.11a), composée d’un cap- teur CMOSet de deux processeurs (Xetal et TriMedia). Le premier processeur Xetal est
adapté pour le parallélisme inhérent des opérations de traitement d’images bas niveau, tandis que le processeur TriMedia est utilisé pour exploiter le parallélisme au niveau des instructions, ce qui permet d’exécuter plusieurs opérations indépendantes par cycle. La
Figure 4.11breprésente le schéma synoptique de l’architecture de l’INCA+.
(a) La caméra INCA+. (b) Schéma synoptique de l’architecture de l’INCA+.
Figure 4.11: La caméra intelligente INCA+.
On peut aussi trouver dans la littérature des systèmes de vision intégrant unFPGA
en tant qu’unité de traitement, ce qui permet d’exécuter un large éventail d’algorithmes de traitement d’images de manière optimale.Van Der Horst et al.(2006) [186] proposent
un système de vision où deux caméras DICA321 et un FPGA de Xilinx sont utilisées
pour constituer une plate forme stéréo-vision (voirFigure 4.10b). Cette architecture est conçue comme un système généraliste de vision et traitement d’images, cependant dans l’article [186] elle est utilisé pour l’estimation de profondeur dans une scène par le calcul
Le laboratoire Le2i a développé un système de vision (voirFigure 4.12) à base de
FPGA[133]. Cette plate-forme est composée d’un capteurCMOShaute-vitesse (1.3Mpixels),
d’un circuitFPGAde la famille Virtex II de chez Xilinx et d’une interface USB-2.03. Dif-
férents algorithmes de traitement d’images ont été implémentées sur cette architecture, comme la compression d’image, le filtre de Sobel ou des opérations d’érosion/dilata- tion.
Figure 4.12: Caméra rapide du laboratoire Le2i.
Une autre architecture développée au sein de l’Institut Pascal à base deFPGA est
décrite dans l’article deDias et al.(2007) [45]. LeFPGAest utilisé pour l’implémentation
de différents modules afin de contrôler l’imageurCMOS, la transmission de données (via le Firewire) et les mémoires externes, ainsi que pour l’implémentation d’algorithmes de traitement d’image. Pelissier and Berry (2011) [156] ont développé une caméra intelli-
gente dédiée aux traitements stéréo, nommée BiSeeMOS (voirFigure 4.13). Cette caméra est composée de deux capteurs d’imageCMOS, d’un FPGA Altera Cyclone-III EP3C120
et d’une carte de communication USB2.0. Une des applications implémentée sur cette
caméra est la transformée de Census d’une image. Sur cette plate-forme des images de résolution 1024 × 1024 à une cadence de 100 images par seconde.
Figure 4.13: Caméra intelligente BiSeeMOS.
4.4 état de l’art des architecture de traitement d’image existantes 87
L’entreprise SEE FAST TECHNOLOGIES propose actuellement deux produits de type caméras rapides intelligentes à base deFPGA:
• ProcImage250 : est une version améliorée de la ProcImage240 (voirFigure 4.14-a). La carte mère est composée d’un FPGASpartan 3, d’une mémoire SRAM4 rapide
et d’une liaison USB2.0. Différentes applications sont implémentées sur cette ca-
méra comme par exemple : détection de défauts, asservissement dynamique à des phénomènes rapides, et rééducation.
• ProcImage500-Eagle : est une caméra rapide dédiée aux traitements embarqués en temps réel d’images prises à hautes cadences (voirFigure 4.14-b). La carte mère est composée d’unFPGAZynq de Xilinx, d’une mémoire DDR3 et d’une liaisonUSB3.0, la Figure 4.14-c représente l’architecture de cette caméra. Elle permet de réaliser des traitements d’images embarqués ultra rapides et exploitables en temps réel, comme par exemple : le suivi de points d’intérêt et la reconnaissance de formes.
(c) Architecture interne de la caméra ProcImage500-Eagle. (a) ProcImage250.
(b) ProcImage500-Eagle.
Figure 4.14: Architecture interne de la caméra ProcImage500-Eagle.
D’autres entreprises ont proposé aussi des caméras intelligentes à base de FPGA,
comme par exemple : Eye Vision Technology (EVT), OptoMotive, FastVision et Tattile . . . La
Figure 4.15représente les caméras intelligents de ces différentes entreprises.
LeTableau 4.4présentes un aperçu des plates-formes de type caméras intelligentes,
trouvées dans la littérature depuis 1999 jusqu’à présent.
systèmes plates-formes applications
capteur cpu comm énergie
Moorhead and Binnie
(1999) [131] Capteur CMOS Logique per-sonnalisée sur puce
- Secteur Détection de
contours bas ni- veau
VISoc Albani et al.
(2002) [5] Capteur CMOS,320× 256
Processeur
RISC 32bits - Batterie Détectioncontours bas deni- veau
Wolf et al.(2002) [194] Caméra video
Hi8 ProcesseursTrimedia
TM1300
- Secteur Reconnaissance des
gestes
Leeser et al.(2004) [107] Caméra Dalsa
1M30P FPGAXilinx Virtex
2000E
- - Domaine médical
Suite page suivante . . . 4 Static Random Access Memory (SRAM)
(a) RazerCam (EVT). (b) The FastCamera 300(FastVision).
(c) The FastCamera 405 (FastVision)
(d) ActuaTech. (e) Cameleon (OptoMo-
tive).
Figure 4.15: Caméras intelligentes qu’on trouve sur le marché.
systèmes plates-formes applications
capteur cpu comm énergie
Dickinson et al. (2005)
[46] Caméra Xilinx VirtexFPGA
II
- Système de sur-
veillance du nour- risson
StéreoCam Van
Der Horst et al.(2006)
[186]
Caméras
DICA321 Xilinx V2Pro7FPGA FireWire - Estimation de pro-fondeur
TRICam Arth et al.
(2006) [8] Video (pas decapteur) DSP Ethernet Secteur Détection d’objet
INCA+ Fatemi (2007)
[51] Capteur CMOS XetalProcesseursTrime-
dia
FireWire Batterie Détection et recon-
naissance de visage
MeshEye Hengstler
et al.(2007) [73] 2×tion sensor,low resolu-
1× VGA color
CMOS sensor
ARM7
@ 55MHz 802.15.4 Batterie La surveillance pardétection d’objet
Bauer et al.(2007) [13] Capteur CMOS,
64× 64
Blackfin DSP - Secteur Détection de véhi-
cule et estimation de vitesse
Caméra Le2i Mosque-
ron et al.(2007) [133] 1.3 MpixelsCapteur CMOS, XilinxFPGA
Virtex II
USB 2.0 - Compression
d’images - Filtre de Sobel
Dias et al.(2007) [45] Capteur CMOS,
2048× 2048
FPGA Altera Stratix
Firewire Secteur Suivi d’objets
EyeBot-M6 Dietrich
(2009) [48]
Two color came- ras,
352× 288
FPGA Xilinx Spartan3E500
USB 2.0 - Détecteur de points
d’intérêt HPSCJohannes Furtler and Eckel(2010) [89] Capteur Aptina MT9M413 AlteraFPGA 2S60 - - Systèmes de contrôle de qua- lité
4.5 conclusion 89
systèmes plates-formes applications
capteur cpu comm énergie
Norouznezhad et al.
(2010) [143] Capteur MicronMT9P001 FPGAXilinx Virtex-5
- Secteur Suivi d’objet
Diederichs(2011) [47] Camera 2592 × 1944 pixels FPGA Xilinx Spartan-3 - - asservissement visuel BiSeeMOSPelissier and
Berry(2011) [156] DeuxCMOS capteur FPGAAltera
Cyclone
USB 2.0 Secteur Transformée de
Census
Bravo et al.(2011) [23] Capteur CMOS
1.2 Megapixel FPGAXilinx XC4VFX12
Ethernet - -
NIR cameraZeng(2012)
[201] Capteur CMOSNIR FPGAXilinx
Spartan-6
- - la détection de gla-
ce/eau sur la sur- face de la route
HDR-ARtiSt Lapray
et al.(2013) [103] Capteur CMOS,1.3 Mpixels FPGAXilinx
Virtex 6
- Secteur Vidéo HDR
ProcImage250Technolo-
gies(2014) [173] Capteur CMOS,640× 480 FPGA Xilinx Spartan 3
USB 2.0 - Vidéo rapide
ProcImage500-Eagle Technologies (2014) [174] Capteur CMOS, 1280× 1024 FPGA Xilinx Zynq
USB 3.0 - Différent traitement
d’image DreamCamMerwan Bi-
rem(2014) [123] Capteur CMOS,1280× 1024 FPGA Altera Cyclone
USB 2.0 Secteur Extraction de primi-
tives
Table 4.4: Caméra intelligente.
4.5 conclusion
Dans ce chapitre nous avons présenté les trois chaînes de traitement d’images bas, moyen et haut niveau. La structure des FPGA a été introduite en tant que composant pour le calcul intensif de bas et moyen niveau du traitement d’image. Actuellement, avec l’augmentation de la taille desFPGAet l’apparition desSoC-FPGA, il est possible de
mettre en œuvre des systèmes complets ayant les trois niveaux de traitement d’image sur une seule puce.
Dans le chapitre suivant l’architecture du capteur de type caméra intelligente nommé DreamCam est présentée.
5
L A D R E A M C A M5.1 introduction
Dans la première partie de ce chapitre, nous donnons une présentation générale de l’architecture de la caméra intelligente « DreamCam » utilisée au cours de nos travaux de recherche. Cette caméra a été développée au sein de l’Institut Pascal (Ex : Laboratoire des Sciences et Matériaux pour l’Électronique, et d’Automatique (LASMEA)). Lors de la
conception de la DreamCam le choix s’est porté sur l’utilisation d’unFPGA, car comme
cela a été expliqué précédemment ces composants sont idéaux pour les implémentations d’algorithmes de traitement d’images [200].
Dans la seconde partie de ce chapitre et afin de montrer l’efficacité de la DreamCam, nous avons choisi d’implémenter deux algorithmes de traitements d’image : le filtre Sobel pour la détection de contour et l’algorithme de détection de points d’intérêt Harris & Stephen.