270 likes | 461 Views
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 ?.
E N D
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’estcequec’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)
Pourquoiestellesipopulaire ? • La première caméra de détection et retranscription de mouvement. • Beaucoup d’avantages par rapport à la wii / PSMove (pas de wiimote, aucunemanette) • Meilleure precision quesesconcurents • Beaucoup de jeusur 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 7et 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)
Limitesd’utilisations Entre 1,2 et 3,5mètres
Initialiser la caméra //on declare un nouveau Runtime Runtime _nui; foreach(varkinect 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 • 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)
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) • Unelibrairie 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.
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