Ce que nous enseigne le nouveau SDK Kinect pour Windows

Annoncée ce week-end lors de la conférence Engadget Expand, l’arrivée de la version 1.7 du SDK Kinect pour Windows marque une nouvelle étape majeure dans le développement et l’adoption de la technologie.

Cette mise à jour touche 3 thématiques majeures : Kinect Interaction – Kinect Fusion – Intégration avec les outils phare de l’analyse d’image.

KINECT INTERACTION

Depuis la mise à disposition des premières versions du SDK Kinect pour Windows, les expérimentations d’interactions pilotées par le geste ont été nombreuses. Elles ont permis de consolider les retours d’expérience et de mettre en exergue les manques ou les difficultés rencontrées dans la mise en œuvre de cette nouvelle forme d’interaction. Des enjeux majeurs sont ainsi apparus :

– La nécessité de véhiculer un langage homogène et universel d’interaction.
Du fait de la jeunesse des technologies de pilotage par le geste, il n’existe en effet, à ce jour, aucun standard, aucune terminologie collectivement admise afin d’interagir (par exemple, par quel geste interpréter une validation de la part de l’utilisateur). Cette absence de  « terminologie gestuelle officielle » entraine des implémentations variées et parfois incohérentes des gestes ou des postures, rendant la prise en main des applications et l’adoption de réflexes et d’habitudes par les utilisateurs, laborieuse et peu naturelle.

– La nécessité de renforcer l’interaction par l’introduction de nouveaux gestes de la main pour bénéficier d’un pilotage plus complet et plus intuitif.
En effet, les premières implémentations ont rapidement laissé apparaître que le pointage (pilotage d’un curseur par la main) n’était pas suffisant pour outiller complètement les interactions fines. Le besoin de bénéficier d’actions complémentaires (par exemple, pouvoir valider ou attraper/relâcher) se fait ressentir. De la même manière, il apparaît rapidement que certaines imperfections doivent être gommées (par exemple, optimiser l’action de pointage en supprimant tous les micro-mouvements parasites tendant à faire tressauter le curseur de manière peu esthétique).

– La nécessité de fournir un « feedback » permanent aux utilisateurs, et notamment leur donner la capacité de choisir lorsqu’ils souhaitent s’engager dans l’interaction ou au contraire ne plus être engagé. A la différence du tactile où il suffit de ne plus toucher la surface d’interaction pour arrêter l’interprétation des actions, il est beaucoup plus délicat, avec le pilotage par le geste, de différencier les gestes d’actions volontaires de gestes parasites ou involontaires. Cela est vrai à l’échelle d’un utilisateur et davantage encore lorsque plusieurs personnes sont présentes simultanément dans la zone d’interaction. A tout moment, il est donc indispensable de pouvoir informer l’utilisateur, lui dire s’il est actif et si son action a bien été interprétée et prise en compte. Le « passage de relais » entre plusieurs utilisateurs doit également être géré convenablement.

– La nécessité de fournir aux développeurs la capacité de gérer des gestes de façon fiable et de « haut niveau »
Incontestablement, il est peu aisé de créer un code permettant d’interpréter un geste de manière universelle. La diversité des utilisateurs – dans leur morphologie comme dans leurs attitudes et habitudes – rend très complexe le développement d’un code permettant de reconnaître un geste de manière précise, dans 100% des cas. En effet, dans certains cas, l’analyse mathématique (analyse de la position de certains points d’un squelette) doit laisser la place à l’approche par apprentissage (« Learning Machine ») afin de fiabiliser la détection.

Si la prise en compte de l’intégralité ou d’une partie de ces considérations a déjà été initiée dans les versions précédentes du SDK, avec notamment la mise à disposition du HIG (ie : Human Interface Guidelines), la version 1.7 marque définitivement un grand pas en avant en intégrant notamment :

  • Deux nouveaux gestes de la main : Le « Push-to-press » et le « Grip-to-pan », bénéficiant d’une stabilisation native (pour éviter les mouvements intempestifs du curseur) et permettant d’imaginer de nouveaux modèles d’interaction : attraper un objet pour le déplacer, pour le zoomer ou le faire tourner, faire défiler une page ou une liste, etc.
  • Un nouveau contrôle permettant de détecter et visualiser les utilisateurs, ainsi que de faciliter le passage de relais de l’un vers l’autre.
  • De nouveaux contrôles « gesture-ready » permettant de développer très rapidement des applications qui bénéficient des nouvelles reconnaissances gestuelles.

La version 1.7 constitue donc une étape importante en offrant aux développeurs la possibilité d’exploiter de nouveaux modèles d’interaction beaucoup plus complets, et leur permettant de créer rapidement de nouvelles applications « kinectées », efficaces et intuitives.

KINECT FUSION

Rendu public en 2011, ce projet mené par Microsoft Research suscite de nombreuses réactions enthousiastes et donc de fortes attentes depuis sa présentation initiale. Il faut dire que le concept donne une nouvelle dimension au capteur Kinect. Il permet  en effet  de modéliser une scène en 3D en temps réel, simplement en déplaçant le capteur autour des objets ou personnes constituant la scène. La construction se consolide, image après image, gagnant en finesse et en détails, au gré de l’acquisition d’information. L’intérêt de la démarche repose sur l’existence d’une vraie transposition entre la scène filmée et l’environnement 3D résultant : on ne parle pas d’une « simple projection d’images » mais bien d’une construction 3D à part entière. Dès lors, les débouchées sont énormes :

  • Impression 3D d’objets,
  • Immersion en réalité virtuelle ou augmentée : Ajout d’effets spéciaux réalistes au sein d’une scène réelle, Enrichissement de la scène par des objets 3D fictifs
  • Modélisation d’environnements complexes ou de personnes

De la recherche à l’usage public
La disponibilité de Kinect Fusion au sein du SDK marque donc une étape importante : Elle symbolise le passage du domaine de la recherche à celui de l’usage public et/ou commercial, et devrait ainsi voir se multiplier dans un avenir proche la concrétisation de nombreux projets ou produits, exploitant ces nouvelles capacités de modélisation 3D, de manière réaliste, rapide et économique !

INTEGRATION AVEC LES OUTILS PHARE DE L’ANALYSE D’IMAGES

Lorsqu’on parle d’analyse d’images, on ne peut s’empêcher de penser aux produits/librairies-phares que sont OpenCV et Matlab. La version 1.7 du SDK Kinect pour Windows s’ouvre donc à ces deux outils afin de démultiplier les capacités d’analyse du capteur et de bénéficier de la puissance de ces deux plateformes. Cette intégration va incontestablement ouvrir la voie à des applications fonctionnellement et techniquement encore plus riches !

 

En synthèse, l’arrivée de la version 1.7 du SDK constitue une étape importante dans la vie de Kinect pour Windows : A l’heure où de nombreuses personnes découvrent que Kinect va bien au-delà du monde du jeu vidéo, que les projets à caractère professionnel dans des secteurs aussi variés que la santé, le « retail » ou l’éducation se multiplient, jour après jour, cette mise à jour donne le signal d’une dynamique définitivement engagée par Microsoft, pour promouvoir Kinect comme solution d’interaction fiable, pérenne, tournée vers l’avenir, et tenant pleinement sa place sur le marché des Interfaces Naturelles (NUI).

En savoir plus :

Voir la vidéo de présentation Engadget Expand : http://www.viddler.com/v/8889f6e6

Consulter le blog Kinect pour Windows (K4W) : http://blogs.msdn.com/b/kinectforwindows/archive/2013/03/16/kinect-for-windows-announces-new-version-of-sdk-coming-march-18.aspx

Consulter le site Web officiel Kinect pour Windows : http://www.microsoft.com/en-us/kinectforwindows/

Télécharger le SDK : http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx (version 1.7 disponible le 18 mars 2013)

Accéder aux exemples de codes K4W sur CodePlex : http://kinectforwindows.codeplex.com/(version 1.7 disponible le 18 mars 2013)

TechFest 2013 : Vers la reconnaissance de nouvelles gestures manuelles

Les TechFest 2013, c’est le grand rendez-vous des équipes de recherche de Microsoft, où sont partagées les derniers grands travaux.

Alors que la tendance s’articule toujours autour des interfaces naturelles, les équipes de Microsoft Research ont dévoilé les possibilités de reconnaissance de nouvelles gestures manuelles (« Grip ») sur Kinect, en exploitant le « Machine Learning ». On peut alors présager que ce type d’avancée ouvre la voie de nouveaux scénario de manipulation d’informations : zoom avant ou arrière, déplacement, rotation, verrouillage d’actions, juste avec le geste et sans contact…