µrv : Realité Virtuelle Edgar-Fernando ARRIAGA-GARCIA Charles-Henri BABIAUD Clément GRELLIER Quentin PETIT Jérôme Ricoeur Florent VIOLLEAU INSA Rennes 21 septembre 2011 1 / 15
Objectifs pour cette semaine Environnement matériel : Kinect WiiMote Environnement logiciel Panda3D Ogre3D OpenNI OpenSG L3G0 SVN 2 / 15
Kinect Une version du SDK pour les développeurs en C++ La licence : version réalisée par Microsoft Research libre d utilisation dans le cadre privé Architecture Le capteur Kinect envoie vers le système un ensemble de trois flux : le flux image (comme une caméra). Flux en 640x480 (à 30 images par seconde) et en 1280x1024 (mais à 15 images par seconde). le flux de profondeur : chaque pixel a une profondeur depuis le capteur. Permet de faciliter les recherches de formes. le flux audio en provenance des quatre microphones du Kinect : permet de faire de la reconnaissance vocale. 3 / 15
Kinect Informations tri-dimensionnelles. Utilisation de la librairie NUI (fournie avec le SDK) détecte la présence de personnes en face du capteur. Elle peut ainsi voir jusqu à 4 personnes et en suivre précisément deux. Pour chaque personne : un squelette formé de 20 points clefs détectés (joints) suivis par la librairie NUI. Pour obtenir les meilleurs résultats : Il faut se mettre entre 1,2 et 3,5 mètres de la kinect. Sinon, baisse rapide de la précision capteur et de la librairie NIU 4 / 15
Kinect : Mise en oeuvre le buffer vidéo : webcam "classique" en 640x480 le buffer de profondeur : a coté du flux vidéo, donne les informations de profondeur (320x240 ou en 80x60). Permet d avoir la distance en millimètres de chaque pixel (personne - kinect). Détecte des formes sur le flux vidéo du Kinect Permet de suivre une main et de détecter les mouvements de doigts pour produire de nouveaux moyens d interagir avec le PC. 5 / 15
Kinect : Le suivi de squelettes Force du Kinect pour Windows SDK : capacité à retrouver le squelette de joints des humains présents devant le capteur. système de reconnaissance rapide de la personne aucun apprentissage à l utilisation (pas de mouvements à faire pour "initialiser" la personne Dès que l on passe devant le capteur, la librairie NUI va rechercher notre squelette et dès qu elle l aura trouvé elle lèvera un évènement pour que le développeur le récupère. Attention La librairie NUI ne peut suivre (c est à dire donner les informations de joints) que de deux squelettes au maximum. Elle défini si un squelette est "tracké" ou non. Les squelettes qui ne sont pas suivis ne donne que leur position. Chaque joint possède une propriété Position qui est défini par un vecteur4 : (x, y, z, w) : l espace et le niveau de qualité de l information. => filtrage des données par la librairie. Le joint est identifié pour définir sa position de référence (Main, Tête, etc.) 6 / 15
Kinect : Le son sur Kinect Kinect possède quatre microphones pour capturer du son avec une bonne qualité : directement sur le capteur, un processeur de traitement du signal (DSP) permet de supprimer le bruit de fond et d annuler les effets d écho. Fourni la direction de la source sonore qu il enregistre : il est possible de savoir de quelle direction vient la voix. Grâce au Kinect pour Windows SDK, il est possible de faire de la reconnaissance vocale de ce que capture le SDK. fct de angle relatif entre la personne et le centre de la Kinect : un angle de 0 indique que le son vient d en face du capteur, un angle < 0 indique que le son vient de gauche un angle > 0 indique que le son vient de droite. 7 / 15
WiiMote Périphériques sans fil avec : Accéléromètres Capteurs infrarouges :Distance WiiMote, sensor bar Bluetooth : Communication avec le PC Plusieurs périphériques additionnels : Nunchuk Balance Guitar Hero 8 / 15
9 / 15 SDK Wiimote
Panda3D Aperçu général : Moteur 3D Basé sur OpenGL C++ / Python Open Source : licence BSD Multiplateforme (Linux, Mac, Windows) Fonctionnalités : Collision, 3D audio, IHM,... 10 / 15
Ogre3D Aperçu général : Moteur 3D Basé sur OpenGL / Direct3D C++ / Python / Java / C Open Source : licence MIT CMake Multiplateforme (Linux, Mac, Windows) Large communauté dont Française Fonctionnalités : Son 3D, particules, animation complexe, graphe de scène, effets spéciaux,... 11 / 15
OpenNI Fait pour simplifier les interactions entre les appareils et les logiciels Fourni une API Utilisation de 3 logiciels : OpenNI (licence LGPL) SensorKinect NITE (pour Handtracking et SqueletonTracking, licence non libre) Utilisation pour la Kinect Même fonction que le Kinect SDK OpenKinect? 12 / 15
OpenSG Aperçu général : Système de scénographie pour la réalité virtuelle Basé sur OpenGL Open Source : licence LGPL Multiplateforme (Linux, Mac, Windows) C++ / Python CMake Peu de documentation Peu d activité (dernier commit : 7 mois) Fonctionnalités : Multithread Cluster 13 / 15
L3G0 Testé sur Windows Non testé sur Linux Travail des stagiaires récupéré (Morgan) 14 / 15
SVN A comfirmer sur le HelpDesk 15 / 15