Architectures matérielles pour la stéréovision temps réel

Télécharger le fichier pdf d’un mémoire de fin d’études

Etat de l’art en vision tridimensionnelle

Dans cette partie nous ne présenterons que les méthodes susceptibles de fonctionner dans un contexte « temps réel ».
La figure 2-1 donne un aperçu des différentes techniques utilisées. Parmi celles-ci on peut noter les deux types de classes : absolues ou relatives.

Techniques de mesure relative de distance

Technique de moiré

Le phénomène de moiré apparaît lorsque deux réseaux formés de traits équidistants alternativement opaques et transparents se superposent. Les figures de moiré peuvent être générées par différents types de réseau, par exemple, des réseaux circulaires, des réseaux linéaires, etc. En général, les réseaux utilisés en moiré sont transparents, avec une transmittance donnée par des fonctions carrées. Si deux réseaux sont illuminés avec des angles d’incidences différents ils génèrent dans l’espace des plans de lumière alternativement sombres et clairs. En plaçant un objet dans le champ ainsi obtenu on fait apparaître sur toute la surface de celui-ci une carte topographique tel qu’on peut le voir sur la figure 2-2, [Marshall_98].
Cette technique est bien adaptée pour suivre en temps réel les déformations d’objets. Les angles de projection ainsi que les caractéristiques des réseaux déterminent l’espacement entre deux franges successives.
Figure 2-2 : Exemple de franges de moiré.

Techniques interférométriques

Le principe de l’interférométrie (figure 2-3) repose sur la mesure de la différence de chemin optique entre deux ondes. Associée à un dispositif à double balayage, il est possible de reconstruire les dimensions 3D d’un objet. Cependant cette technique est réservée à la mesure de très petites dimensions (<1mm).

Méthodes de mesure absolues

Mesure du temps de vol

La technique du temps de vol (figure 2-4) repose sur la mesure du temps de propagation d’un faisceau lumineux monochromatique, cohérent et collimaté. Un dispositif à double miroir permet le balayage complet de l’objet à analyser. L’évolution récente des MEMS a permis une intégration très poussée de ce type de technique telle qu’on peut le voir dans la caméra TRIDICAM développée au laboratoire [Camon_01].
Figure 2-4 : Principe de la technique du temps de vol.
La source laser émet une impulsion lumineuse à l’instant t, qui est partiellement réfléchie par l’objet et qui est ensuite détectée au retour au temps t + T. Ce signal lumineux est converti en un signal électrique. L’équation de base est : v x T = 2D où D est la distance entre l’objet et le détecteur, et v la vitesse de propagation du signal.
Les capteurs à temps de vol sont généralement destinés à évaluer de grandes distances (typiquement 10m) et ont été développés à l’origine pour la détection d’obstacles par des véhicules automatiques [Lewis_77, Besl_88].

Méthodes par projection de lumière structurée

Les systèmes de projection de lumière structurée comportent une ou plusieurs caméras et un laser. La projection du faisceau laser sur l’objet peut être réalisée par différents moyens tels que la ligne [Boizard_85], la grille, la matrice de point, voire par balayage XY à partir de miroirs (figure 2-5). Dans ce dernier cas la caméra peut être remplacée par un dispositif à base de photodiodes délivrant deux courants proportionnels aux coordonnées X et Y du point image.
Figure 2-5 : Projection d’un plan de lumière cohérente.

Méthodes stéréoscopiques

La stéréoscopie est une technique qui permet d’obtenir des informations tridimensionnelles sur les coordonnées des points d’un objet à partir d’une ou plusieurs caméras localisées en différentes positions (figure 2-6).
Figure 2-6 : Principe de la vision stéréoscopique.
La reconstruction tridimensionnelle des points à partir de leurs points images acquis dans N plans images (N correspond au nombre de caméras) repose sur les deux étapes suivantes :
– La calibration, consistant à estimer la matrice de transformation des points tridimensionnels en points bidimensionnels, étape réalisée pour les N caméras,
– La résolution d’un système de 2N équations du type MiX − Ui = 0, où l’inconnue est le point X de l’objet, où Mi est la matrice de calibration de la caméra i et où Ui sont les coordonnées images de X.
Ces techniques représentent le système de la vision humaine, en utilisant l’appariement entre les pixels homologues dans deux ou plusieurs images. Une fois ces pixels déterminés, on calcule les coordonnées du point correspondant dans l’espace par triangulation. Ces systèmes ont fait l’objet d’une importante littérature [Toscani_87, Luong_92, Champleboux_91, Ayache_89, Besançon_89, Ballard_82].

Bilan des différentes méthodes

Parmi les différentes méthodes présentées seules celles fournissant une mesure absolue sont adaptées. Nous avons retenu la méthode stéréoscopique et écarté la technique de mesure par temps de vol, trop imprécise pour notre application et plutôt réservée à l’analyse de scènes de dimensions importantes, ainsi que celles basées sur la projection de sources de lumière structurée car plus complexes à mettre en œuvre.
Dans les paragraphes suivant nous nous attacherons à présenter de manière plus détaillée la méthode stéréoscopique et les conséquences qui découlent de ce choix.

Principe de la stéréovision passive

La stéréovision passive est basée sur l’acquisition de deux images (gauche et droite) de la même scène. Dans ce cas un point P(X, Y, Z) peut être observé sur les deux images gauche et droite avec deux coordonnées différentes. La différence entre les deux coordonnées est utilisée ensuite pour calculer les coordonnées 3D du point P par une méthode simple de triangulation. En conséquence une des phases essentielle de cette méthode est la recherche des points stéréo-correspondants, laquelle peut être simplifiée si les systèmes de prise de vue sont alignés comme représentés dans la figure 2-7 et se limitant ainsi à une recherche ligne à ligne.
Le synoptique global de la stéréovision passive est présenté sur le figure 2-8. En utilisant les paramètres de calibrage (les paramètres intrinsèques des deux systèmes de prise de vue, la transformation gauche-droite), les images initiales sont corrigées pour s’affranchir de l’erreur de positionnement et de la déformation des objectifs puis rectifiées. Les lignes épipolaires de chaque image sont ainsi mises en correspondance. Chaque pixel (u,v) de l’image gauche est alors comparé aux pixels de la même ligne dans l’image droite (voir le figure 2-7) dans un intervalle (u, v-Dmax) – (u,v). La différence entre les coordonnées de colonne v des Pixels assortis s’appelle la disparité D. La disparité est nulle pour deux Pixels sur lesquels un point 3D projeté est situé à une distance infinie. La disparité maximale Dmax est choisie en fonction de la distance minimale des points 3D que le système doit détecter.
Figure 2-8 : Synoptique global de la stéréovision passive.

Modèle d’une caméra

Nous rappelons dans cette première section, le modèle classique que nous adoptons pour une caméra, à savoir un modèle à projection perspective directe tenant compte des distorsions optiques (indispensable pour notre application, vu la valeur des focales).

Les repères caméra, image et monde.

D’abord, définissons les différents repères mis en jeu pour exprimer le modèle d’une caméra. Le repère caméra CXYZ, repère 3D lié à la caméra, plus précisément à la lentille placée devant la matrice du capteur d’image représentée en figure 2-9 : origine C sur le centre optique de l’objectif, axes CX et CY choisis respectivement parallèles aux colonnes et aux lignes de la matrice, axe CZ choisi orthogonal au plan image, orienté vers la scène. En pratique, il correspond à l’axe optique de l’objectif.
Figure 2-9 : Modèle géométrique de la camera.
La matrice du capteur est donc un rectangle, portée par un plan orthogonal à l’axe CZ, appelé ci-après plan image. Dans la vraie caméra, le plan image est à l’opposé de la scène perçue, donc vers les Z négatifs. De manière classique, mais en respectant le modèle mathématique de projection, il est souvent représenté devant, à une distance f de l’origine C. Cela permet dans les équations d’éviter l’inversion de l’image sur la matrice.
Les coordonnées (u,v) d’un point sur le plan image, sont exprimées dans un repère image (I,u,v), repère 2D défini de la manière suivante :
– Origine I dans le coin supérieur gauche.
– Axe Iu parallèle aux colonnes de la matrice.
– Axe Iv parallèle aux lignes de cette matrice.
Ces coordonnées (u,v) sont exprimées en unité pixel, donc ne tiennent pas compte de la taille des cellules CCD sur la matrice : elles correspondent aux indices (ligne, colonne) d’un point de cette matrice.
Le modèle sténopé est une simplification du modèle de l’optique de l’objectif ; il suppose qu’un point de la scène M(X,Y,Z) se projette sur le plan image, selon un rayon optique qui passe par le centre de l’objectif C. Dans ce modèle, la distance f est la focale de l’objectif : le plan image a donc l’équation (z = f) dans le repère caméra.
Cette représentation d’une caméra néglige donc la présence possible de plusieurs lentilles dans l’objectif, ou le fait que des rayons traversent la lentille sur toute sa surface. D’autres modèles plus complexes (modèles à lentille mince ou à lentille épaisse) existent, mais ne sont pas nécessaires pour notre application.
Pour que le repère caméra corresponde à un repère orthogonal, ce modèle suppose un montage mécanique parfait de la caméra, à savoir
• l’orthogonalité entre l’axe optique et le plan support de la matrice (photosensible),
• l’orthogonalité entre lignes et colonnes dans la matrice.
En générale, ces propriétés sont vérifiées. Il est possible de rajouter des paramètres dans le modèle d’une caméra pour tenir compte de tous les cas, mais cela complexifie les équations et peut rendre instable l’estimation des paramètres du modèle.
En pratique l’expression des coordonnées d’un point 3D dans le repère de la caméra n’est pas adaptée pour une application donnée. Il faut prendre en compte un repère scène ou monde noté OXwYwZw en figure 2-10. Plusieurs repères 3D peuvent être introduits selon le niveau de traitement : Figure 2-10 : Repère lié au véhicule pour une application vers l’avant.
– Pour une caméra montée dans un véhicule, la connaissance 3D, extraite initialement dans un repère caméra, sera ensuite exprimée vis-à-vis d’un repère lié au véhicule, défini par exemple, pour une application à l’avant du véhicule par :
• Le plan OXY, plan du sol.
• L’origine O, la projection au sol du milieu de l’essieu avant.
• L’axe OX, orthogonal à l’axe des essieux, orienté vers l’avant.
• L’axe OY, orienté vers la gauche du véhicule.
• L’axe OZ, orthogonal au sol, orienté vers le haut.
– Le véhicule étant mobile, cette connaissance peut être ensuite exprimée dans un repère fixe lié à la route. Ce repère peut être défini comme le repère lié au véhicule lors de la première acquisition ; il peut être glissant pour ne retenir qu’une portion limité de l’environnement.
Ces différents repères 3D sont liés deux à deux par des transformations qui décrivent des déplacements euclidiens (rotation, translation) ; cette transformation est dite rigide si la situation relative entre les deux repères qu’elle lie est fixe (typiquement, la transformation entre repère caméra et repère véhicule). Elle est alors estimée hors-ligne lors d’une phase d’étalonnage.
Elle correspond à une localisation quand un des repères est mobile : localisation d’un obstacle vis-à-vis du véhicule, du véhicule vis-à-vis de la route….
Une transformation entre deux repères A et B est généralement représentée par une transformation homogène, matrice 4×4 notée TAB, qui permet de calculer les coordonnées (XB, YB, ZB) d’un point N exprimées dans le repère B, à partir des coordonnées (XA, YA, ZA) de ce même point N exprimées dans le repère A.

Etat de l’art en vision tridimensionnelle

Dans cette partie nous ne présenterons que les méthodes susceptibles de fonctionner dans un contexte « temps réel ».
La figure 2-1 donne un aperçu des différentes techniques utilisées. Parmi celles-ci on peut noter les deux types de classes : absolues ou relatives.

Techniques de mesure relative de distance

Technique de moiré

Le phénomène de moiré apparaît lorsque deux réseaux formés de traits équidistants alternativement opaques et transparents se superposent. Les figures de moiré peuvent être générées par différents types de réseau, par exemple, des réseaux circulaires, des réseaux linéaires, etc. En général, les réseaux utilisés en moiré sont transparents, avec une transmittance donnée par des fonctions carrées. Si deux réseaux sont illuminés avec des angles d’incidences différents ils génèrent dans l’espace des plans de lumière alternativement sombres et clairs. En plaçant un objet dans le champ ainsi obtenu on fait apparaître sur toute la surface de celui-ci une carte topographique tel qu’on peut le voir sur la figure 2-2, [Marshall_98].
Cette technique est bien adaptée pour suivre en temps réel les déformations d’objets. Les angles de projection ainsi que les caractéristiques des réseaux déterminent l’espacement entre deux franges successives.
Figure 2-2 : Exemple de franges de moiré.

Techniques interférométriques

Le principe de l’interférométrie (figure 2-3) repose sur la mesure de la différence de chemin optique entre deux ondes. Associée à un dispositif à double balayage, il est possible de reconstruire les dimensions 3D d’un objet. Cependant cette technique est réservée à la mesure de très petites dimensions (<1mm).
Figure 2-3 : Principe de l’interférométrie.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

1 Introduction et contexte de l’étude
1.1 Introduction
1.2 Historique
1.3 Objectifs et limites des travaux
1.4 Présentation du manuscrit
1.5 Références bibliographiques
2 La vision tridimensionnelle
2.1 Introduction
2.2 Etat de l’art en vision tridimensionnelle
2.2.1 Techniques de mesure relative de distance
2.2.1.1 Technique de moiré
2.2.1.2 Techniques interférométriques
2.2.2 Méthodes de mesure absolues
2.2.2.1 Mesure du temps de vol
2.2.2.2 Méthodes par projection de lumière structurée
2.2.2.3 Méthodes stéréoscopiques
2.3 Bilan des différentes méthodes
2.4 Principe de la stéréovision passive
2.5 Modèle d’une caméra
2.5.1 Les repères caméra, image et monde.
2.6 Modèle géométrique d’une camera
2.6.1 Modèle à projection perspective directe
2.6.2 Méthode de calibrage du modèle sténopé
2.6.3 Modèle avec distorsions radiales
2.6.4 Méthode de calibrage du modèle avec distorsions
2.6.5 Correction des distorsions
2.7 Modèle géométrique d’un banc de stéréovision
2.7.1 Calibrage du banc de stéréovision
2.7.2 Géométrie épi-polaire
2.7.3 Rectification des images
2.8 Algorithme de Stéréovision
2.8.1 Corrélation ou mise en correspondance entre images stéréoscopiques
2.8.2 Approche séquentielle : algorithme général
2.8.3 Optimisation de l’approche séquentielle : approche multi-résolution
2.9 Reconstruction 3D à partir des images rectifiées
2.9.1 Calcul des coordonnées 3D d’un point
2.10 Évaluation des méthodes d’appariement
2.10.1 Mesures de corrélation standard
2.10.2 Mesures de corrélation robustes
2.11 Conclusion
2.12 Références bibliographiques
3 Conception d’un banc d’évaluation
3.1 Introduction
3.2 Le banc d’évaluation
3.2.1 Aspects fonctionnels et rôle
3.2.2 La plateforme de développement
3.2.2.1 Caractéristiques de LabWindows/CVI
3.2.3 Les caméras CMOS et CCD
3.2.3.1 Les capteurs CCD (Charge Coupled Devices)
3.2.3.2 Les capteurs CMOS (Complementary Metal Oxide Semiconductors)
3.2.3.3 Bilan
3.2.4 Les interfaces pour la vidéo numérique
3.2.4.1 L’interface USB
3.2.4.2 L’interface Firewire (IEEE 1394)
3.2.4.3 L’interface Camera Link
3.2.5 Constitution du banc
3.2.5.1 Choix des caméras
3.2.5.2 Architecture générale retenue
3.3 L’implantation des algorithmes de stéréovision
3.4 Influence des paramètres de fenêtrage
3.5 Conclusions
3.6 Références bibliographiques
4 Architectures matérielles pour la stéréovision temps réel
4.1 Introduction
4.2 Etat de l’art en stéréovision temps réel
4.3 Les solutions de développement
4.4 Le portage de l’algorithme vers le monde parallèle
4.4.1 Etude détaillée de l’algorithme
4.4.1.1 La calibration
4.4.1.2 La rectification
4.4.1.3 La recherche de l’appariement
4.4.1.4 La recherche des disparités
4.4.1.5 Le filtrage de l’image des disparités
4.4.1.6 La reconstruction 3D
4.4.2 L’algorithme de stéréovision dense « au fil de l’eau »
4.4.2.1 La rectification :
4.4.2.2 Le moyennage 3 x 3:
4.4.2.3 Calcul de l’image Census sur une fenêtre 7 x 7 :
4.4.2.4 Mesure de l’appariement et recherche des disparités :
4.4.2.5 Conclusions
4.5 Les circuits FPGA (Field Programmable Gate Array)
4.5.1 Historique
4.5.2 Architecture générale d’un FPGA
4.5.2.1 Blocs logiques
4.5.2.2 Le routage de l’application
4.5.3 Flot de conception
4.5.3.1 Spécification et synthèse
4.5.3.2 Allocation des ressources
4.5.3.3 Génération du fichier de configuration
4.5.4 Conclusions
4.6 Le langage VHDL
4.6.1 Un langage de description
4.6.2 Les limites actuelles
4.6.3 Structure d’une description VHDL
4.6.4 Description comportementale et structurelle
4.6.5 La création de modèles paramétrables
4.6.6 Conclusion
4.7 Implémentation des différentes étapes de la stéréovision
4.7.1 La rectification des images droite et gauche
4.7.2 La phase de moyennage
4.7.3 Le calcul de l’image Census
4.7.4 La corrélation Census
4.7.5 La création de l’image de disparité
4.8 Estimation des ressources consommées
4.8.1 L’environnement d’évaluation
4.8.2 La rectification
4.8.3 Le moyennage 3 x 3
4.8.4 Le calcul de l’image census
4.8.5 Le calcul des scores
4.8.6 La recherche des points stéréo-correspondants
4.8.7 L’architecture globale
4.9 Les performances temporelles obtenues
4.9.1 La rectification
4.9.2 Le calcul de moyennage 3 x 3
4.9.3 Le calcul de census 7 x 7
4.9.4 La recherche des points stéréo-correspondants
4.10 La réalisation matérielle
4.10.1 La carte FPGA
4.10.2 Les cartes interfaces
4.10.3 Test de l’interface Camera-Link
4.10.4 Test de l’architecture globale
4.11 Conclusions
4.12 Références bibliographiques
5 Application à la stéréo-endoscopie
5.1 Problématique de la chirurgie endoscopique
5.2 La chirurgie laparoscopique 3D
5.2.1 Historique
5.2.2 Etat de l’art
5.3 Principe d’un endoscope
5.3.1 L’endoscope rigide
5.3.2 L’endoscope flexible
5.3.3 Le vidéo-endoscope
5.4 Constitution du banc de stéréo-endoscopie
5.4.1 Choix des vidéo-endoscopes
5.4.2 Interfaçage avec le banc PICASO
5.4.3 Montage mécanique
5.5 Calibration et rectification
5.6 Résultats obtenus
5.7 Conclusion
5.8 Références Bibliographiques
6 Conclusion générale et perspectives
6.1 Conclusion générale
6.2 Perspectives

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *