Monographie

3D reconstruction of objects ; ABABOU, Rachel ; DELMAS, Patrice ; SLT BOËT, Rém|SLT RAYNAUD, Jacques

  • Texte
  • 3D reconstruction of objects ; ABABOU, Rachel ; DELMAS, Patrice ; SLT BOËT, Rém|SLT RAYNAUD, Jacques
  • Ecoles Militaires de Saint-Cyr Coëtquidan
  • 1 CD
  • mémoire
  • Filière Scientifique - Option Informatique Promotion Chef de bataillon Bulle Date de soutenance : 01/01/2013
  • INTRODUCTION : La vision par ordinateur est un domaine de recherche en pleine expansion. Elle sert notamment en reconnaissance faciale. Avant de pouvoir reconnaitre des visages et des objets, il est nécessaire de créer une base de données d'objets de référence. Nous avions donc pour objectif de construire cette base de données 3D à l aide de la kinect pour windows. La Kinect, initialement destiné pour la console de jeux Xbox 360 de Microsoft, est un périphérique constitué d'une caméra couleur, d'un projecteur infrarouge et d'une caméra infrarouge nous permettant d'obtenir des images de disparité. Par ailleurs, nous avons souhaité que nos programmes soient réutilisables par d'autres mais également que la méthode de reconstruction 3D fonctionne pour un nombre quelconque de kinects. Comment peut-on construire une base de données d'objets 3D à l'aide de plusieurs kinects ? CONTRAINTES : La base de données devait être réalisée en trois mois à l'aide de programme C++. Les contraintes étaient multiples. Tout d'abord la précision de la kinect. Les valeurs de disparités données par la kinect oscillaient. La caméra de disparités de la kinect pour windows ne fonctionne pas pour une distance inferieure à 40 cm. De plus la calibration des kinects pouvait être source d'erreurs. Nous avons donc dus utiliser une méthode supplémentaire pour améliorer l'alignement entre les nuages de points. METHODOLOGIE : Voici notre démarche en 5 étapes pour arriver à un objet 3D. 1. Nous nous sommes tout d'abord concentrés sur la théorie de la calibration. Cette calibration fournit les paramètres intrinsèques d'une camera mais aussi extrinsèques d'une paire de caméras. En pratique, nous avons utilisé un damier de calibration fixé sur un trépieds et le logiciel viewer.exe pour capturer des images couleur 1280*1024 et des images infra rouge 640*480. Pour la calibration nous avons utilisé la matlab toolbox. 2. Ensuite, notre but était d'obtenir un premier nuage de point sans couleur. Pour ce faire nous nous sommes appuyés sur la théorie de la back projection. Nous avons utilisé la bibliothèque open cv dans notre programme. Pour visualiser ce nuage de point, nous avons utilisé Point Cloud Library (PCL). 3. L'étape suivante était l'ajout de couleur. Pour y parvenir, nous avons superposés l'image couleur sur l'image des disparités. 4. Dans le cas de plusieurs kinects, les nuages de points sont dans des repères différents. Nous avons écris un programme qui applique une rotation et une translation aux nuages de points et les place dans un repère unique. Ce programme nécessite ces images en entrée mais aussi les données de calibration de chaque kinect et de chaque paire de kinects voisines. Les nuages de points en sorti de ce programme sont sous forme de fichiers texte ou chaque ligne correspond aux coordonnées X, Y, Z du point et aux données B G R de couleur. 5. Même si les différents nuages sont dans le même repère ils ne sont pas encore parfaitement alignés. La dernière étape était donc l'alignement final des nuages de points. Cette étape était la plus délicate. PROBLEMES RENCONTRES : Malgré le premier alignement des nuages de points, nous nous sommes rendu compte qu'il existait encore des problèmes au niveau de la précision. Nous avons alors appliqués l'Iterative Closest Point (ICP) qui est un algorithme permettant de minimiser la différence entre deux nuages de points. Nous avons utilisé PCL pour appliquer cet ICP. La précision de l'ICP dépend de la taille de la zone de recouvrement entre les deux nuages de points mais aussi des paramètres d'entrées tels que la distance maximale entre un point d'un nuage et son plus proche voisin dans l'autre nuage. Le bruit qui est présent sur chaque nuage influence aussi le résultat de l'ICP. Néanmoins en n'appliquant qu'une seule fois l'ICP, l'alignement n'était pas absolu. C'était la principale contrainte, nous devions appliquer plusieurs fois l'ICP. Après plusieurs essais sur différentes images nous nous sommes aperçus que
Lien copié.
Build V.5.2.2 - 2ecb916194 (29/04/2026 07:35:08)