Soutenance_spe - Ensiwiki

Download Report

Transcript Soutenance_spe - Ensiwiki

Projet de spécialité
Reconstruction 3D grâce à une
kinect
Florian Droit
Sébastien Martaud
Tuteur : Lionel Reveret
Plan
I/ Que sont Kinect et KinectFusion?
II/ 1er contrat
III/ 2nd contrat
IV/ 3eme contrat
V/ Conclusion
2
Qu’est-ce qu’une Kinect ?
• Dispositif de détection pour Xbox 360
• Destinée à la reconnaissance de mouvement et
de la voix
3
Qu’est-ce que KinectFusion?
KinectFusion : projet de recherche de Microsoft
Principe de base
Filmer une scène avec la kinect
Reconstruction 3D de la scène
4
Présentation de KinectFusion
5
1e contrat
Objectifs
• prendre connaissance des articles de recherches liés à
KinectFusion
• implémenter les différents algorithmes nécessaire au
fonctionnement de KinectFusion en C#
• proposer une interface facile d’utilisation pour filmer
n’importe quelle scène et la reproduire avec l’application
produite
6
Fonctionnement de KinectFusion
• Etape 1 : Traitement des données
-Acquisition d’une carte de profondeurs Di
-Obtention d’une carte de points et de normales
u = (x,y) position du pixel dans l’image
vi(u)=Di(u)K−1[u,1]
ni(u)=(vi(x+1,y)−vi(x, y))×(vi(x, y+1)−vi(x, y))
7
Fonctionnement de KinectFusion
• Etape 2 : Algorithme de camera tracking
comparaison de 2 cartes de profondeurs successives
matrice de transformation affine pour aller d’une
position de la caméra à la suivante
Fusion des 2 cartes de profondeurs
8
Fonctionnement de KinectFusion
• Etape 3 : Construction de la scène en 3D
- Parcours tranche par tranche de la carte de
profondeurs, utilisation de TSDF.
- Lancer de rayon avec du raycasting.
9
Fonctionnement de KinectFusion
• Etape 4 : Réalité augmentée
- Scène 3D classique dans laquelle il est possible
d’ajouter des objets et leur physique
- Affichage dans la scène d’origine
10
Réalisations du 1er contrat
• Compréhension de l’article de recherche
• Architecture du code
• Ecriture des 2 premières étapes en CPU
11
2e contrat
Nouveaux objectifs
• trouver un ordinateur capable de lancer KinectFusion à
l’Ensimag
• rédiger un manuel d’installation et de bonne utilisation du
logiciel
• rédiger un document rapportant les limites de
KinectFusion (précision, contraintes…)
12
Démonstration de KinectFusion
13
Expérimentations
• Technologie limitée
-Infrarouges pas efficace avec
toutes les matières (miroir, verre)
-bruitée
• Moyens techniques discutables
- surfaces implicites
effet « blobs »
14
Réalisations du 2nd contrat
• Manuel d’installation
• Documentation technique
• Pistes d’amélioration
• Réalité augmentée
• Scène dynamique
15
3e contrat
• Manuel d’installation et documentation
• Traquer un objet préalablement scanné
1) scanner l’objet qui nous intéresse
2) extraire le minimum nécessaire de données
3) retrouver l’objet dans une scène et le suivre
16
Extraction des données de KinectFusion
• Extraction d’un fichier .obj
• Traitement du fichier grâce à Maya
• Utilisation d’un parseur
17
Tracking d’un objet
•Simplification du problème
•ICP
•Temps réel par multi-thread GPU
18
Réalisations du 3eme contrat
• Installation et apprentissage de Maya
• Parseur pour fichier .obj
•Recherche documentaire
19
Conclusion
• Un projet qui est loin du projet initialement prévu
• recherche documentaire et unification (plutôt que beaucoup de
code)
• des changements d’objectifs
• Beaucoup de technologies inconnues pour notre
équipe
20
Merci de votre attention !
Avez-vous des questions?
21
Annexe 1/3
• Tracking
22
Annexe 2/3
• Sweeping
23
Annexe 3/3
• Ray casting
24