Kinect SDK bêta 2
Cela fait presque un mois que l'on m'avait dit chez Microsoft que la deuxième version du Kinect SDK allait sortir, c'est enfin le cas.
Au passage l'URL a changé. Il ne faut plus aller chez http://research.microsoft.com, il y a maintenant un site dédié http://kinectforwindows.org/. Si vous utilisez les anciennes URL, celles de mon premier post sur le sujet par exemple, il n'y a pas de problème car il y a une redirection automatique.
Si vous êtes très joueur, vraiment très joueur, vous pouvez installer ce nouvel SDK sur Windows 8 Developer Preview. Personnellement j'ai mis de côté Windows 8 tant que l'accéléromètre ne fonctionnera pas sur ma tablette ASUS (et pour l'instant ni ASUS ni Microsoft n'a donné de lien vers un driver pour Windows 8), donc je reste en Windows 7 pour les posts Kinect.
Comme avec toutes les bêtas, il faut tout nettoyer avant d'installer la nouvelle version. Nous enlevons donc la version précédente :
Sur ma machine le nettoyage semble être bon car je n'ai pas trouvé de répertoires qui trainaient après la désinstallation.
Nous pouvons maintenant installer la nouvelle version, 32 ou 64 bits selon le cas :
Courageusement je ne redémarre pas ma machine et branche directement ma Kinect :
Ca interpelle un peu mais pas plus que ça surtout que si je vais voir du côté du "Gestionnaire de périphériques" rien ne semble alarmant :
Je rassure tout le monde, après redémarrage plus de problème.
Allons faire un petit tour dans le menu "Démarrer" pour voir ce qu'il y a de nouveau :
Il y a donc 3 applications à tester :
- "Sample Skeletal Viewer" correspond en gros à ce que nous avons fait dans les posts précédent ;
- "Sample Shape Game" est un petit jeu qui va vous permettre de faire un peu d'exercice. Il faut un peu de recul car le jeu a besoin de votre squelette. Des formes tombent du ciel et vous devez les faire exploser (pas juste les taper) pour marquer des points. Votre squelette apparait dans l'écran pour que vous ayez une chance d'y arriver. Le jeu permet de bien comprendre le principe et même de s'amuser à deux (si un troisième squelette est détecté, un des deux premiers disparait, on reste donc à deux pour jouer mais pas les mêmes).
- "Sample Kinect Audio Demo" nécessite d'avoir installé le Microsoft Speech SDK sur sa machine sinon on obtient comme moi :
Pour l'instant pas de Speech pack sur ma machine donc...
Qu'en est-il pour notre code ?
De manière assez peu surprenante, il ne fonctionne plus. Cela dit la raison est fort simple et totalement logique en .NET, la version de l'assemblage à changée. Comme nous avons enlevé la version précédente de notre machine, il est normal que l'assemblage ne soit pas trouvé. Il nous faut donc reprendre tous nos projets, enlever l'ancienne référence et référencer la nouvelle version :
Maintenant si ça ne marche pas c'est plus gênant car cela indique des "breaking changes". D'un autre coté c'est le jeu avec les bêtas.
Et bien très bonne nouvelle, toutes les versions de notre programme fonctionnent avec cette bêta 2, sans changer une ligne de code. Cela est de bonne augure pour la suite car si les bêtas sont compatibles cela indique probablement un bon design en amont.
Si nous regardons un peu sous le capot une déception. En effet la version précédente fournissait des point de squelette assez fantaisistes en disant qu'ils étaient bons (W à 1). Mes premiers essais ne montrent pas un changement particulier à ce niveau et je dois dire que je suis un peu déçu. Que la bibliothèque NUI ne parvienne pas à calculer un point cohérent ne me pose pas de problème, par contre qu'elle dise que le point est sûr me gêne beaucoup plus. Sur mes premiers tests il me semble toutefois que l'indication du TrackingState est un peu meilleure même si des points du squelette non visible sur l'image sont indiqué comme "Tracked" et non comme "Inferred". La bonne nouvelle c'est que certains sont tout de même "Inferred" et que cela peut éventuellement servir de critère de confiance.
Si mes tests à venir me donnent suffisamment confiance dans les infos remontées par la bibliothèque NUI, je reprendrais mes développements et donc mes posts sur Kinect. Dans le cas contraire l'aspirateur continuera son petit bonhomme de chemin.