Working with Kinect Intelligence Ambiante Tomás DÍAZ TRONCOSO Arturo GARCÍA TOVAR Daoud MAROUAN LMTIUI
Table des matières I.IntroducCon à la Kinect... 3 I. Kinect à la portée de tous... 4 II. CaractérisCques... 5 II. Communautés de développement I. Libfreenect/OpenKinect... 7 II. OpenNi framework... 8 III. ApplicaCon de la Kinect I. Démarche... 10 II. Andrew Davison et KOPS... 11 III. Développement du soxware... 12 IV. ProgrammaCon de la Kinect en Java... 13 IV. Le jeu «Banana Adventure» I. Règles... 15 II. FoncConnement... 16 III. Nite Gesture Tracking... 18 IV. Difficultés et amélioracons... 19 V. L avenir de la Kinect... 20 2
Introduction à la Kinect Périphérique descné à la console Xbox, développé par la société israélienne PrimeSense, inicalement sous le nom de Projet Natal. Basé sur un périphérique d entrée branché sur la Xbox 360 capable d interagir par commande vocale et de reconnaître le mouvement Orienté au grand public Prix: 127 avec Kinect Adventures 3
Kinect à la portée de tous. MicrosoX: plus de 500 millions de dollars dépensés en markecng Le 5 janvier 2011, 2 mois après sorce: 8 millions de Kinects vendues dont 1 million en 10 jours!! Le 11 mars 2011: Entrée au livre Guiness Worls Records The fastest- selling gaming peripheral is Kinect for Xbox 360, which sold through an average of 133.333 units per day in its first 60 days on sale from 4 November 2010 to 3 January 2011 1 Joueurs Développeurs 1. www.guinessworldrecords.com/records- 9000/fastest- selling- gaming- peripheral 4
Caractéristiques Camera RGB RésoluCon VGA (640x480 pixels) à 8 bits Video 3D à résolucon VGA. 30 frames/s. Champ de vision: H= 57 o, V= 43 o Capteur de profondeur Technologie infrarouge (IR) Micro à reconnaissance vocale Moteur d orientacon Array à 4 micro et audio à 16 bits. Inclinaison de ±27 o 5
Communautés de développement 6
Libfreenect/OpenKinect 2 Communauté des gens intéressés par le développement du hardware de la Kinect Xbox pour son uclisacon avec les ordinateurs et autres disposicfs. Librairies et code en open source et gratuits ObjecCf: développement d applicacons uclisables sur Linux, Windows et Mac OrientaCon principale : LIBFREENECT soxware Projets 3 : FloaCng keyboard 3D drum kit Learn karate Langages de programmacon : Python C/C++ Java JNI/JNA 2: openkinect.org/wiki/main_page 3:: openkinect.org/wiki/project_ideas 7
OpenNI Framework C est un sokware development kit (SDK) livre uclisé pour le développement de librairies et applicacons middleware 3D InformaCon organisée et détaillée : InstallaCon sur Windows, Linux Communauté très accve de développeurs : forums d aide technique ouverts à tous Groupes de recherche 4 : projets sur la manipulacon des nuages points 3D captés par le capteur RGB Max Planck InsCtute : Computer Vision and MulPmodal CompuPng ihealth lab: Intelligent Healthcare Laboratory Conférences 5 : KINECT!! 25 avril 2013 à San Francisco : Real- Pme facial animapon with on- the- fly correcpves 8 4: hwp://www.openni.org/academic/?cat_slug=research- groups 5: hwp://www.openni.org/academic/?cat_slug=conferences
Applications de la Kinect 9
Démarche Point de départ : étude des projets précédents Communautés de développement Projets existants Première ébauche du projet DetecCon de mains et doigts - > ApprenCssage et communicacon langue des signes Andrew Davison KOPS OpenNi et NITE - > CréaCon d un jeu 10
Andrew Davison et KOPS 6 Professeur au ComputaCon Office à l Université Prince of Songkla, Thaïlande Auteur de nombreux cours, comme le Kinect Open Source Programming Secrets (KOPS) ObjecCf : ucliser OpenNI et Java en communion avec Kinect pour créer des applicacons Cours très didaccque et facile à suivre. Plusieurs exemples et guide détaillés pour commencer à ucliser la Kinect 6: fivedots.coe.psu.ac.th/ad/kinect/index.html 11
Développement du software Libraires disponibles : MicrosoX SDK : logiciel officiel pour Windows CLNUI : possibilité de travailler avec mulcples Kinects Libfreenect/OpenKinect : dérivée d'une ingénierie inverse OpenNI : plus qu une librairie Interface entre les drivers des capteurs et le middleware InteracCon directe avec l applicacon FoncCons pour la reconnaissance des gestes de l'uclisateur sous forme de commandes 12
Le jeu : Banana Adventure 13
Règles Idée : Un singe de la jungle doit prendre toutes les bananes (points jaunes) possibles. Au même temps, il doit être vigilant car il y a de grands mouscques (points rouges) qui apparaissent et qu il doit éviter de toucher Compteur de points: 1 banane : 10 points 1 mouscque : - 30 points Un seul joueur et une seule main. 14
Fonctionnement 15 Open Ni hwp://leadershipcriteria.com/hand- clipart- 2-2 NITE
OpenNi Hand DetecCon Focus 16 Andrew Davison. Java Prog. Techniques for Games. Kinect Chapter 5. UserViewer3D
NITE Gesture Tracking Real- World 3DCoordinates (mm) PointCreate PointDestroy 17 PointUpdate
Détection des points (x 1, y 1 ) (x 2, y 2 ) (x 3, y 3 ) (x 4, y 4 ) 18
DifSicultés et améliorations Distance du joueur à la kinect dû au champ de vision Correspondance entre les coordonnées réelles (Kinect) et les coordonnées du Pannel (Java) Temps réel non respecté (apparicon des mouscques - boules rouges) ProposiCons pour améliorer le jeu : Après un temps x, le jeu s arrête PosiConnement d une image «singe» qui suit la tête du jouer CréaCon de différents niveaux 19
L avenir de la Kinect Kinect 2.0 sera commercialisé au grand public l été de cewe année avec une nouvelle fonccon de réalité augmentée Le début d'une grande aventure : Enseigner le langage des signes aux enfants d un manière simple et amusante. hwp://www.youtube.com/watch?v=hnkqyuo3134#t=0 20
Merci à toutes et à tous 21
Annexes (1/6) 22
Annexes (2/6) 23
Annexes (3/6) COORDONNEES X PANEL y = 0,8505x + 326,62 R² = 0,99371 600 500 400 300 200 100 0-400 - 300-200 - 100 0 100 200 300 KINECT PANEL COORDONNEES Y 450 375 300 225 150 y = - 0,8817x + 237,83 R² = 0,99586 75 0-225 - 125-25 75 175 275 KINECT 24
Annexes (4/6) 25
Annexes (5/6) 26
Annexes (6/6) 27