Kinect Explorer - Tanguy de Chanterac

Download Report

Transcript Kinect Explorer - Tanguy de Chanterac

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 Runtime
Runtime _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