Nos experts ont la parole
>

vivehandtracking

Cet article fait état des retours observés à la suite d’un premier contact avec le nouveau SDK HTC VIVE dédié à la détection des mains. Ce dernier est disponible gratuitement au téléchargement à l’adresse https://developer.vive.com/resources/knowledgebase/vive-hand-tracking-sdk/. Il est à noter que cette version est actuellement en accès anticipé et demeure par conséquent sujette à d’importantes modifications.

Ce nouveau SDK utilise comme données entrantes les images issues d’une simple caméra et ne nécessite aucun apport matériel supplémentaire. Cette flexibilité permet d’offrir un large éventail de choix quant aux appareils compatibles. À ce jour, HTC supporte l’utilisation de ce SDK au travers de ses casques de réalité virtuelle VIVE, VIVE Pro et VIVE Focus. HTC a pour objectif d’accroître la compatibilité de son module avec un maximum de périphériques du marché.

Concernant les fonctionnalités, les spécifications officielles pointent la capacité du SDK à fournir le nécessaire en matière de reconnaissance de gestes statiques, reconnaissance basée sur une solution de deep learning fonctionnant aussi bien en VR qu’en AR avec une faible latence. Il est ainsi possible de détecter main gauche et main droite mais également 5 différents gestes pré-enregistrés. Attention toutefois, il existe pour l’heure 3 modes de détection, chacun ayant un degré de compatibilité propre.

  • Le mode point 2D, utilisable par tous les périphériques équipés d’une caméra, retourne la position des mains en x et en y sur un plan situé à 25 cm de l’appareil.
  • Le mode point 3D, uniquement supporté par Vive Focus et VIVE Pro, transmet la position 3D de chaque main détectée et nécessite la présence d’une caméra stéréoscopique.
  • Le mode squelette, quant à lui, demande une puissance de calcul relativement importante pour obtenir des performances correctes. C’est pourquoi ce dernier n’est disponible que sur VIVE et VIVE pro. Il impose de ce fait un ordinateur équipé d’une carte graphique compatible VR et exploite les informations de profondeur issues de la caméra stéréoscopique embarquée. Ce mode permet ainsi de visualiser la position des mains et des doigts dans l’espace, lesquels sont représentés virtuellement à l’aide de 42 points clés (21 par main) comme présenté en figure 1. Il donne alors accès à la reconnaissance de 5 gestes listés dans le tableau 2.

skeletonHTVVIVEHANDTRACKING

Figure 1

gestures

Figure 2

Les vitesses enregistrées sur le site officiel (exprimées en images par seconde) en fonction du périphérique et du mode utilisé sont consultables via le tableau 3 ci dessous :

speed

Tableau 3 : Récapitulatif des vitesses de rafraîchissement moyennes enregistrées par HTC Vive selon le périphérique et le mode de reconnaissance employée, ces dernières sont exprimées en images par seconde

Plusieurs contraintes d’utilisation sont spécifiées afin de maximiser les performances de la détection. Aussi il est important de bien retrousser ses manches de façon à ce que les poignets soient correctement identifiés et de placer ses mains de manière visible face caméra. Éviter les fonds trop complexes pouvant entraîner des difficultés durant la phase de reconnaissance et enfin disposer d’une lumière ambiante suffisante.

 

Plusieurs plugins sont disponibles afin de faciliter l’intégration au sein de différents logiciels. On retrouve notamment Unity et Unreal Engine 4 (uniquement sous Windows). Une bibliothèque Android est également proposée.

 

Les vidéos qui suivent montrent les résultats des tests réalisés pour cet article. La partie droite de la vidéo présente l’utilisation du SDK VIVE Hand Tracking, la partie gauche celle du Leap Motion est présente à titre comparatif. Nous avons utilisé l’environnement de développement Unity 2018.3.11f1, ainsi que les scènes fournies à titre d’exemple dans les plugins correspondant. L’ordinateur ayant servi pour ces essais est équipé d’un processeur Intel(R) Core(TM) i7-8700 CPU 3.20GHz, d’une carte graphique NVIDIA GeForce GTX 1070, 16.0 GB de RAM et un SSD TOSHIBA. Son système d’exploitation est un Windows 10 Pro, et le casque de réalité virtuelle utilisé est un HTC VIVE Pro. Les vidéos qui vont suivre ont été prises depuis une caméra extérieure afin de ne pas perturber le bon fonctionnement de l’application.

 

Après essais, on peut noter un fonctionnement prometteur qui toutefois comporte encore quelques défauts majeurs à souligner.

  • On constate un important retard entre le geste réel et sa métaphore virtuelle. Pour autant, l’environnement de l’application ne souffre d’aucun ralentissement, notre estimateur pointe à 90 images/seconde, et la charge CPU demeure à 26%. Ce qui laisse supposer que le délai perçu est issue de la partie traitement d’image relative à la détection des mains.
  • Quelques gestes sont difficilement reconnus et peuvent parfois engendrer un ralentissement significatif voir une disparition des mains.
  • Une instabilité permanente est présente, le modèle tremble en continue et provoque une importante imprécision dans les actions effectuées.

En conclusion, le système semble encore difficilement utilisable. La lenteur relative et l’instabilité notable peuvent profondément nuire au bon déroulement d’une application. Sur ces points, le système Leap Motion, bien qu’également imparfait, présente de meilleures performances. On notera toutefois l’avancée prometteuse, notamment grâce à cette indépendance matérielle et son large éventail d’appareils compatibles.

A suivre...

 

 

Nous contacter

02 43 59 46 20

Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.

Rue Marie Curie
53810 CHANGE

>
Retour haut