• Aucun résultat trouvé

La DreamCam est une caméra intelligente entièrement personnalisable basée sur un ima- geur de typeCMOS. La principale originalité de ce capteur est le fait qu’il interfacé par un système sur puce (SoC) intégré dans unFPGA. L’approche présentée permet d’exécu- ter dans l’unité principale de traitement (leFPGA) la plupart des procédés de perception

et de traitement d’images, ce qui permet de réduire le goulot d’étranglement de com- munication classique, en envoyant, uniquement les descripteurs de primitives détectées et non pas toute l’image. Un autre avantage de cette approche est la rétroaction en temps réel sur l’imageur, c’est-à-dire, la possibilité de régler activement les paramètres de l’imageur afin d’optimiser la perception.

La plupart des applications de vision se concentrent sur de petites zones de l’image et par conséquent, l’acquisition de la totalité de l’image n’est pas toujours nécessaire. Il est donc évident que l’un des principaux objectifs, d’un capteur de vision efficace, est de pouvoir acquérir des régions d’intérêts (Region Of Interest (ROI)) dans l’image

et de concentrer les ressources de traitement sur ces régions uniquement. La notion d’étude locale est alors prédominante et le choix de la technologie d’imagerie devient crucial. Cela explique pourquoi l’imageurCMOSa été choisi. Il est généralement admis que la technologieCMOSremplacera la technologieCCD classique dans de nombreuses

applications, en raison de ses capacités et cela :

• Pour permettre l’accès à des régions spécifiques de l’image (ROI),

• Pour permettre des vitesses d’acquisition plus élevées,

• Pour permettre la fonctionnalité sur puce (caméra sur puce ou rétine), • Pour fournir une gamme beaucoup plus dynamique (allant jusqu’à 120dB), • Pour être basée sur les processus de fabrication standard.

5.2.1 Architecture matérielle globale

L’architecture de la DreamCam est composée de cinq cartes reliées entre elles (voir la

Figure 5.11). Le cœur de ce système est unFPGAqui permet une grande polyvalence. La

structure modulaire de cette caméra donne la possibilité de mettre à jour où remplacer facilement les différentes cartes, afin de modifier le type d’imageur ou la carte de com- munication par exemple. Cette caméra peut fonctionner avec deux imageurs différents et peut aussi utiliser soit unUSB-2.0 pour la transmission de données, soit un moyen de

communication de type Giga-Ethernet. Chaque carte est décrite en détail dans ce qui suit. Carte de communication FPGA Cyclone-III Carte de l’imageur Carte d’alimentation Carte de mémoire

Figure 5.1: Vue d’ensemble de la DreamCam.

carte d’imageur : Les deux cartes d’imageurs développées sont basées sur une ar- chitecture électronique similaire. Les imageurs utilisés dans ce travail sont les sui- vants :

• L’imageur MT9M031 : Ce capteur d’imageCMOSest fabriqué par Aptina1. Il

peut fonctionner à 45 images/s en pleine résolution de 1280 × 960 pixels ou à la vitesse de 60 images/s à une résolution de 720pHD. La consommation

5.2 description matérielle de « dreamcam » 93

d’énergie est de 270mW en mode 720p60. La gamme dynamique est égale à 83.5dB, assez grande pour un capteur basé sur le mode global shutter, • L’imageur EV76C560 : Il s’agit d’un imageur de 1.3M pixel (1280 × 1024)

capteur d’imageCMOSdédié à la vision industrielle qui peut fonctionner en

mode global ou rolling shutter2. La conception des pixels offre d’excellentes

performances dans des conditions de faible éclairage avec une vitesse de 60 images/s en pleine résolution. Le nouveau mode d’intégration, de lecture des pixels et de pré-traitement d’image embarquées sur cet imageur ont permis l’obtention de meilleures performances.

carte de traitement : C’est la partie principale du système. Le cœur est un FPGA

de type Cyclone-III EP3C120 de la société Altera (voir Figure 5.12). Les princi- pales caractéristiques de ce FPGAutilisé sont détaillées dans leTableau 5.1. La né-

cessité d’une forte parallélisation a conduit à relier 6 × 1MWords blocs mémoire asynchrone SRAM à ce FPGA. Chaque mémoire a un bus de données et un bus d’adresse privé. Par conséquent, six processus (utilisant 1MW chacun) peuvent accéder à toutes les mémoires en même temps. La famille de FPGA à faible puis-

sance Cyclone-III a été choisie pour les raisons suivantes :

• Tout d’abord, son architecture se compose de 120K éléments logiques dis- posés verticalement (Logic Element (LE)s), 4Mbits de mémoires embarquées disposées en 9kbits blocs et 288 multiplicateurs embarqués 18 × 18.

• Deuxièmement, le Cyclone intègre des DSP blocs. Ces blocs embarqués ont

été optimisés pour implémenter plusieurs fonctions DSP offrant des perfor-

mances maximales et une utilisation minimale des ressources logiques. En outre, ces blocsDSPintégrés peuvent être utilisés pour créer des algorithmes DSPet des routines mathématiques complexes de haute performance.

• Enfin, le Cyclone est optimisé pour maximiser les performances d’une inté- grationSoCbasée sur le processeur NIOS3 embarqué.

carte de communication : Cette carte est connectée à la carte mère et gère toutes les communications avec l’ordinateur hôte. Actuellement, la carte de communica- tion peut être soit enUSB-2.0 ou en Giga-Ethernet.

• USB-2.0 est géré par le micro-contrôleur Cypress CY7C68013. Il intègre un

processeur amélioré basé sur un noyau-8051 et le jeu d’instructions est com- patible avec la norme 8051.

• Le protocole Giga-Ethernet est pris en charge par l’émetteur-récepteur Mar- vel 88E1111. Il s’agit d’un dispositif de couche physique comprenant un seul Gigabit Ethernet (GbE) émetteur-récepteur.

carte des mémoires : La banque de mémoires contient six mémoires asynchrones

SRAM, dont chacune a une taille de 1MWords. Ces mémoires sont de 16Mbits

2 Le rolling shutter (littéralement "obturateur déroulant") est une technique photographique où l’on enre- gistre une image en déplaçant l’obturateur. L’obturateur peut être de nature mécanique ou électronique. 3 Le NIOS est un Processeur softcore propriétaire de Altera. Il est basé sur un cœurRISC32bits. Il est doté

Cyclone III

EP3C120F780C7

1M B 1MB 1M B 1MB 1MB 1MB JTAG Program A D D D A T A A D D D A T A A D D D A T A A D D D A T A A D D D A T A A D D D A T A USB 2.0 GigaEthernet Ordinateur central Imageur CMOS Les signaux de contrôle Pixels

Figure 5.2: Synoptique de la DreamCam.

SRAM organisées en mots (1024K par 16bits) et ont une vitesse d’accès rapide de 8ns sous 3.3V et peuvent être facilement contrôlées.

carte d’alimentation : Les différentes cartes ont besoin de différents types de ten- sion selon les dispositifs respectifs. La tension d’entrée initiale est de 6.5V et un ensemble de régulateurs génère les différentes tensions. La consommation glo- bale est d’environ 1.4W lorsque le FPGA est non-programmé. Bien entendu, cette

consommation varie largement avec la configuration du FPGA. Cette carte compte

18 tensions différentes de 1.2V à 5V ainsi que le programmeur JTAG4 permettant la configuration du Cyclone-III.

Modèle Altera Cyclone-III EP3C120

Logic Element (LE)s 119’088

M9K embedded memory blocks 432

Embedded memory (Kbits) 3’888

18-bit x 18-bit embedded multipliers 288

Phase Locked Loop (PLL)s 4

Maximum user I/O pins 531

Length × width (mm×mm) 23×23

Area (mm2) 529

Table 5.1: Caractéristiques du dispositifsFPGAintégré dans la caméra intelligente DreamCam.

5.2.2 Conception interne du FPGA

Le but de la conception proposée est de créer une interface flexible entre la carte de détection et l’ordinateur. Dans cette approche, deux blocs sont très importants et doivent être utilisés dans chaque conception futur : le premier contrôle l’imageurCMOS, qui est

le bloc « Imag-IP », le second gère la communication entre l’ordinateur et la DreamCam,