Scan 3D : Différence entre versions

De Wiki d'activités IMA
Ligne 18 : Ligne 18 :
  
 
===Installation de OpenNi, Nite, SensorKinect===
 
===Installation de OpenNi, Nite, SensorKinect===
 +
 +
*Installer OpenNi Unstable
 +
 +
**Pré-requis
 +
 +
        Obligatoires :
 +
                1) GCC 4.x
 +
                  apt-get install g++
 +
                2) Python 2.6+/3.x
 +
                apt-get install python
 +
                3) LibUSB 1.0.x
 +
                apt-get install libusb-1.0-0-dev
 +
                4) FreeGLUT3
 +
                apt-get install freeglut3-dev
 +
                5) JDK 6.0
 +
                apt-get install openjdk-6-jdk
 +
 +
        Optionel (Pour la documentation):
 +
                1) Doxygen
 +
                  apt-get install doxygen
 +
                2) GraphViz
 +
                  apt-get install graphviz
 +
 +
**Installation
 +
 +
        cd ~/OpenNi/Platform/Linux/CreateRedist
 +
        chmod +x RedistMaker
 +
        ./RedistMaker
 +
        cd ~/OpenNi/Platform/Linux/Redist/OpenNI-Bin-Dev-Linux-x64-v1.5.4.0
 +
        su
 +
        ./install.sh
 +
 +
*Installation de SensorKinect :
 +
 +
        cd ~/SensorKinect/Platform/Linux/CreateRedist
 +
        chmod +x RedistMaker
 +
        ./RedistMaker
 +
        cd ~/SensorKinect/Platform/Linux/Redist/Sensor-Bin-Linux-x64-v5.1.2.1
 +
        ./install.sh
  
 
===Installation de la PCL===
 
===Installation de la PCL===
Ligne 30 : Ligne 69 :
 
*./bin/pcl_kinfu_largeScale -r -et
 
*./bin/pcl_kinfu_largeScale -r -et
 
*./bin/pcl_kinfu_largeScale_mesh_output world.pcd  
 
*./bin/pcl_kinfu_largeScale_mesh_output world.pcd  
*Fusionner les mesh générés avec MeshLab  
+
*Fusionner les mesh générés avec MeshLab et l'exporter dans KinFuSnapshots
* Allez dans Filters->Remeshing,simplification and reconstruction
 
*l'exporter dans KinFuSnapshots
 
 
*./bin/pcl_kinfu_largeScale_texture_output KinFuSnapshots/merged_mesh.ply
 
*./bin/pcl_kinfu_largeScale_texture_output KinFuSnapshots/merged_mesh.ply

Version du 7 novembre 2012 à 16:20

Introduction

Dans le cadre de la cinquième année nous avons pour consigne de réaliser un projet en rapport avec notre formation. Nous avons choisi de travailler sur le projet du Scan 3D car nous sommes tous les deux intéressé par l'utilisation des capacités de la Kinect.

Ce projet est un projet industriel en lien avec la société Oxylane. Au sein de cette dernière, beaucoup de prototypes ont été réalisés sans passer préalablement par une phase de conception 3D. Ce sont des prototypes uniques, des objets difficilement duplicables. De plus en plus de concepteurs, de designers et de chercheurs aimeraient pouvoir continuer à travailler sur ces objets physiques dans le monde virtuel. Oxylane cherche donc un moyen de scanner ces objets sans passer par des équipements très coûteux.

Présentation du projet

Ce projet consiste donc de réaliser un prototype de scanner 3D en utilisant la Kinect, permettant de transformer des objets réels en forme 3D. Les besoins les plus forts concernent actuellement les casques de vélo et les chaussures.

Cependant avant de se lancer directement dans le scan 3D, nous devons tout d'abord étudier ce qu'il est possible de faire actuellement avec la Kinect. De nombreux documents sont là pour nous aider ainsi qu'une base de logiciel permettant le scan 3D : Kinect Fusion (KinFu).

Etat de l'art

Réalisation

Lors des 4 premières séances de projets que nous avons pu faire, nous nous sommes intéressé à l'installation et à l'utilisation des OpenSources de Kinect Fusion.

Installation de OpenNi, Nite, SensorKinect

  • Installer OpenNi Unstable
    • Pré-requis
       Obligatoires :
               1) GCC 4.x
                 apt-get install g++
               2) Python 2.6+/3.x
                apt-get install python
               3) LibUSB 1.0.x
                apt-get install libusb-1.0-0-dev
               4) FreeGLUT3
                apt-get install freeglut3-dev
               5) JDK 6.0
                apt-get install openjdk-6-jdk
       Optionel (Pour la documentation):
               1) Doxygen
                 apt-get install doxygen
               2) GraphViz
                  apt-get install graphviz
    • Installation
       cd ~/OpenNi/Platform/Linux/CreateRedist
       chmod +x RedistMaker
       ./RedistMaker
       cd ~/OpenNi/Platform/Linux/Redist/OpenNI-Bin-Dev-Linux-x64-v1.5.4.0
       su
       ./install.sh
  • Installation de SensorKinect :
       cd ~/SensorKinect/Platform/Linux/CreateRedist
       chmod +x RedistMaker
       ./RedistMaker
       cd ~/SensorKinect/Platform/Linux/Redist/Sensor-Bin-Linux-x64-v5.1.2.1
       ./install.sh

Installation de la PCL

Installation de KinFu (Implémentation libre de Kinect Fusion)

Utilisation de KinFu LargeScale

  • d'après le tutoriel :

http://pointclouds.org/documentation/tutorials/using_kinfu_large_scale.php

  • ./bin/pcl_kinfu_largeScale -r -et
  • ./bin/pcl_kinfu_largeScale_mesh_output world.pcd
  • Fusionner les mesh générés avec MeshLab et l'exporter dans KinFuSnapshots
  • ./bin/pcl_kinfu_largeScale_texture_output KinFuSnapshots/merged_mesh.ply