PRENEZ LE CONTRÔLE AVEC KINECT
26 janvier 2012
Qui suis-je ? Tanguy de Chantérac Etudiant en 3ème année Ms-Lab : Laboratoire des technologies
Microsoft de l’EPITECH Windows Phone 7 SharePoint XNA Kinect
Kinect ? Qu’est ce que c’est ? Kinect est une caméra créée par
Microsoft La première caméra de détection et
retranscription de mouvement. Contrôler des logiciels et des jeux sans
souris ni clavier Interface naturelle (NUI)
Pourquoi est elle si populaire ?
La première caméra de détection et retranscription de mouvement.
Beaucoup d’avantages par rapport à la wii / PSMove (pas de wiimote, aucune manette)
Meilleure precision que ses concurents Beaucoup de jeu sur Xbox 360
Dance Central Kinect Sport Kinect Adventure Fruit Ninja …
Développer avec Kinect
Il est possible de développer des applications pour Kinect (depuis 8 mois déjà …)
Télécharger le SDK Kinect et l’installer Utilisation de Visual Studio comme IDE Apprendre / Utiliser C# et WPF RTFM (Lire le manuel)
Prendre le contrôle avec Kinect
SDK et Architecture Buffer Video Buffer de Profondeur (Depth) Suivi de Squelettes Gestes Gestion du son
SDK Développé par Microsoft Research Utilisation non commerciale uniquement Windows 7 et Windows 8 (uniquement)
x86 x64
C# et C++ Un SDK commercial a été annoncé pour
le 1er février 2012 (sortie de la Kinect for Windows)
Anatomie
Limites d’utilisations
Entre 1,2 et 3,5 m
ètres
Initialiser la caméra//on declare un nouveau RuntimeRuntime _nui;
foreach (var kinect in Runtime.Kinects){ if (kinect.Status == KinectStatus.Connected) { _nui = kinect; break; }}if (Runtime.Kinects.Count == 0) throw new ArgumentException(" No Kinect Connected");else{ try { _nui.Initialize(RuntimeOptions.UseDepthAndPlayerIndex | RuntimeOptions.UseSkeletalTracking |RuntimeOptions.UseColor); Runtime.Kinects.StatusChanged += KinectStatusChanged; }catch (exception ex){ //traitement de l’exception }
Démonstration
Initialisation du SDK
Buffer Vidéo
Résolutions : 640 * 480 1280 * 1024
Format : RGB YUV
Données fournies au travers d’une stream
Evénementiel
Démonstration
Affichage du flux vidéo
Buffer de profondeur
Buffer de profondeur Résolutions
640x480 320x240 80x60
Données sous forme de stream Evénementiel Stockage sur 13 bits
10 bits pour la distance en millimètres depuis le capteur
3 bits pour donner l’index de la personne reconnue
Démonstration
Affichage de la depth stream
Démonstration
Combinaison de la depth stream et de la vidéo
Suivi des squelettes
Reconnaissance immédiate Evénementiel 4 squelettes détectés
Chaque squelette donne sa position 2 squelettes suivis (tracked)
Liste de joints (points de contrôles) Chaque position donne également sa qualité (.w
entre 0 et 1)
Points de contrôles
Démonstration
Suivi du squelette
Gestures et postures Techniques de détection des gestures
Algorithmes Postures Problématiques
Quand commencer ? Quand finir ? Gérer les mouvements parasites ?
Gestion du son Kinect c’est aussi
Un groupe de 2 microphones Des algorithmes de :
Réduction du bruit ambiant Annulation de l’echo
Beamforming Tracking de la source sonore
Compatible avec MS Speech
Problèmes Latence (1280 x 1024) Contrôle vocal : pas encore au point Gestes parasites SDK limité (pour instant). Précision parfois discutable.
SDK Final (Kinect For Windows) Nouveautés :
Integration de Microsoft speech. Tracking du squelette amélioré. Mapping des API. Les API ont été renommées. Une nouvelle caméra (250$ :s) Un nouvel event (AllFrameReady) Une librairie de gestures / Postures ? Des outils de debugs ?
Et après ? D’autres idées:
Mouse move : une dll pour simplifier l’utilisation de la souris avec Kinect.
Krisk : un jeu vidéo de Risk qui fonctionne avec Kinect sur PC.
SharePoint Explorer : naviguer dans une bibliothèque SharePoint, ouvrir des fichiers, zoomer, se déplacer.
Votre imagination est la seule limite.
Questions ?
Pour aller plus loin Acheter une Kinect Blog officiel :
http://blogs.msdn.com/b/kinectforwindows/ Site officiel : http://kinectforwindows.org/ Forum officiel : Google « Kinect forum msdn » Mon blog : http://tdechanterac.fr Kinect Toolbox http://channel9.msdn.com/coding4fun/kinect