Nos experts ont la parole
>

En Janvier 2021, la société UltraLeap a publié une nouvelle version de leur modèle de suivi de main appelée Gemini. Nous parlons ici d’une évolution logicielle du modèle d‘intelligence artificielle, le matériel restant le même.

Dans cet article nous allons comparer le modèle Gemini d’UltraLeap à sa version précédente, le modèle Orion, puis dans un second temps le modèle Gemini avec la solution de détection de mains proposée par HTC (SDK VIVE Hand Tracking 0.9.4).

A noter, qu’Oculus propose également un système détection de mains assez performant sur QUEST, cependant nous nous sommes ici intéressés aux systèmes disponibles sur les casques de réalité virtuelle connectés à un PC.

Il faut noter que la version UltraLeap Gemini est en accès anticipé, donc sujette à d’importantes modifications. Il en va de même pour le SDK VIVE Hand Tracking, lui aussi en « early access » depuis plus de 18 mois.

Comparaison entre la version Gemini et la version Orion de UltraLeap. 

Selon de site web d’UltraLeap, la nouvelle version Gemini présente un meilleur suivi lors d’interactions entre les deux mains (une main devant l’autre, doigts entrecroisés...), ainsi qu’une amélioration au moment de l’initialisation de la détection : les mains seraient plus rapidement détectées, même si elles ne sont pas complètement dans le champ de vision de la caméra infrarouge.

Afin de nous faire notre propre avis, nous avons utilisé les deux versions d’Ultraleap de façon quasi simultanée : une caméra Leap Motion fixe était utilisée, branchée alternativement entre deux ordinateurs, l’un exécutant la version Orion et l’autre la version Gemini.

Voici les points d’amélioration que nous avons constatés :

  • Quand elles sont détectées, les mains sont plus stables dans la nouvelle version Gemini, certains tremblements de doigts ou des bras pouvaient être observés dans la version Orion et ne sont plus présents dans la version Gemini. Cela étant, sur certains gestes inhabituels, la nouvelle version Gemini interprète un geste plus générique, là où la version Orion détecte le geste plus fidèlement mais moins stablement, comme présenté sur les photos ci-dessous.
  • Les gestes où les deux mains interagissent entre elles sont également plus stables et bien mieux détectés dans la version Gemini que dans la version Orion. La promesse semble donc tenue sur ce point.

 

gesteInhabituelOrion  gesteInhabituelGemini

L'IMAGE DE GAUCHE MONTRE LE GESTE DETECTE PAR LE MODELE ORION, CELLE DE DROITE LE GESTE DETECTE PAR GEMINI (posture moins fidèle)

Dans le même temps, voici les points pour lesquels les choses ne s’améliorent pas, voire se dégradent :  

  • Contrairement à ce que l’éditeur annonce, la phase d’initialisation de la détection des mains ne semble pas meilleure avec la version Gemini, elle semble même se détériorer par rapport à la version Orion. En effet, il arrive fréquemment qu’une fois la main gauche perdue, le modèle de Gemini est incapable de la détecter à nouveau lorsqu’elle revient dans le champ de vision de la caméra. 
  • Le modèle derrière la détection des mains est dépendant de l’orientation de la caméra, c’est-à-dire que le modèle ne peut détecter une main que si elle apparait avec une certaine orientation sur les images de la caméra. La version Orion propose une option qui permet de choisir automatiquement l’orientation correcte de la caméra d’après la position des mains sur les images, cette option n’est pas disponible dans la version Gemini.  

Ces deux derniers points montrent une dégradation sensible entre la version Orion et la nouvelle version Gemini, ce qui détériore de façon conséquente l’expérience utilisateur. Ce sont espérons-le des dysfonctionnements temporaires dus au fait que la version Gemini est encore en accès anticipé.  

 

Comparaison entre la version Gemini Ultraleap et le SDK VIVE Hand Tracking

Nous avons précédemment publié un article faisant un retour détaillé sur le Vive Hand Tracking System, à la fin duquel est proposée une comparaison entre le SDK VIVE Hand Tracking et le système de suivi d'UltraLeap. Cet article ayant presque deux ans, nous avons décidé de refaire cette comparaison car les deux systèmes ont connu des améliorations depuis la parution de l’article.  

Nous allons ici comparer la version Gemini d’UltraLeap, à l’aide du module Unity 4.7.1 parus tous deux le 20 Janvier 2021, avec la version 0.9.4 du SDK VIVE Hand Tracking, parue le 29 Octobre 2020. 

Afin de comparer les deux systèmes le plus fidèlement possible, sur la base des mêmes gestes de main et dans les mêmes conditions, nous avons fixé une caméra Leap Motion sur un casque HTC Vive Pro, ainsi qu’une webcam standard pour enregistrer une vue de nos mains pour les besoins de la vidéo ci-dessous. Ce montage a été fait de sorte qu’aucune caméra n’occulte le champ de vision d’une autre, comme le montrent les images ci-dessous. Cette comparaison en une seule prise n'était pas possible lors de la comparaison des deux systèmes d'UltraLeap, car les deux modèles ne peuvent pas être installés simultanément sur un même ordinateur.

3tracking side  3tracking front 

La caméra Leap Motion et celle du casque VIVE PRO sont orientées légèrement différemment l’une par rapport à l’autre, mais cela ne génère pas de biais majeur de tracking étant donné le degré élevé du champ de vision de chaque caméra :  

Caméra Leap Motion

(référence)

Caméra frontale du casque VIVE PRO*

(référence)

Champ de vision horizontal

140°

96°

Champ de vision vertical

120°

80°

 *Ces statistiques ont été extraits grâce à OpenVR et ne sont pas basés sur des spécifications officielles 

La vidéo suivante montre les performances de détection de mains de chaque système selon différentes configurations de mouvement.  

 

 

Nous avons développé rapidement une application avec l’environnement de développement Unity 2019.4.16f1, en utilisant les packages Unity LeapMotion.UnityModules.Core et ViveHandTracking.Unity. L’ordinateur ayant servi pour ces essais est équipé d’un processeur Intel(R) Core(TM) i5-7400 CPU 3.00GHz, d’une carte graphique NVIDIA GeForce GTX 1070, 16.0 GB de RAM.  

Voici les points majeurs que nous avons relevés : 

  • En règle générale les deux systèmes détectent les mains assez fidèlement. 
  • Les mains sont détectées de façon plus robuste avec le système Gemini d'UltraLeap qu’avec le système SDK VIVE Hand Tracking, avec lequel on peut parfois constater des pertes de tracking, notamment lorsque les mains sont visibles depuis la tranche.   
  • Lors de nos tests, le système du SDK VIVE Hand Tracking était incapable de détecter deux mains lors de gestes d’interactions entre les deux mains, ce qui est détecté par le système Gemini d'UltraLeap.
  • Le système Gemini d'UltraLeap présente des difficultés à détecter des mains qui interagissent avec des surfaces, là où le système du SDK VIVE Hand Tracking reste fiable.
  • Comme on peut le constater à la fin de cette vidéo, le système Gemini d'UltraLeap perd la détection de la main gauche et est incapable de détecter cette main à nouveau.

 Quelques points supplémentaires pour motiver le choix d’une solution ou d’une autre :  

  • Le système SDK Vive Hand Tracking présente l’avantage de ne pas nécessiter de matériel supplémentaire car il dépend des caméras frontales intégrées à certains casques de réalité virtuelle (attention, comme précisé dans notre précédent article, tous les modes de tracking ne sont pas compatibles avec tous les casques). Le tableau ci-dessous résume les casques supportant le SDK VIVE Hand tracking, ainsi que les modes de tracking disponibles. En revanche, la caméra Leap motion a l’avantage d’être orientable, et donc de s’ajuster en fonction du type d’interaction manuelle désiré. 
  • Les deux systèmes comprennent des plugins qui facilitent leur intégration dans différents logiciels tels que Unity ou Unreal Engine. Cependant, l'utilisation de la caméra Leap Motion nécessite l’installation du logiciel Leap Motion. Pour utiliser le SDK Vive Hand Tracking, il faut activer l’utilisation de la caméra frontale dans les paramètres SteamVR, ce qui peut parfois s’avérer capricieux.  

2D Point

3D Point

Skeleton

Windows (x86-64)

HTC Vive

Oui 

Non 

Oui 

HTC Vive Pro / Pro Eye

Oui 

Oui 

Oui 

HTC Vive Cosmos / Cosmos XR

Oui 

Oui 

Oui 

Valve Index

Oui 

Oui 

Oui 

Android (ARMv7, ARMv8)

HTC Vive Focus (WaveVR)

Oui 

Oui 

Oui 

HTC Vive Focus Plus (WaveVR)

Oui 

Oui 

Oui 

Téléphones Android 

Oui 

Non 

Non 

MODES DE TRACKING DU SDK VIVE HAND TRACKING DISPONIBLES SELON LE TYPE DE CASQUE UTILISE. PLUS D'INFORMATIONS SUR LES LATENCES SUR CE SITE 

Nous avons également mesuré les latences vitesses de rafraichissement et la charge CPU/GPU de chacun des deux systèmes. Pour ce faire, nous avons développé des applications VR très simples, qui ne comprennent que le système de tracking de main (similaires aux expériences présentées dans la vidéo). L’ordinateur utilisé est le même que pour l’expérience précédente. 

SDK VIVE Hand Tracking 

Unity Editor

Application Build

FrameRate

Pas de main détectée

HTCEditor0hand

Une main détectée

HTCBuild1hand

Deux mains détectées

HTCEditor2hand

Pas de main détectée

HTCBuild0hand

Une main détectée 

HTCBuild1hand

Deux mains détectées

HTCBuild2hand

% CPU

45

40

% GPU

20

30

PERFORMANCES DU SDK VIVE TRACKING DANS UNE SCENE SIMPLE, EN EDITEUR ET LORSQUE L'APPLICATOPN TOURNE SEULE 

 

UltraLeap Gemini

Unity Editor

Application Build

FrameRate

Pas de main détectéeLeapEditor0hand

Une main détectéeLeapEditor1hand

Deux mains détectéesLeapEditor2hand

 

Pas de main détectéeLeapBuild0hand

Une main détectéeLeapBuild1hand

Deux mains détectéesLeapBuild2hand

% CPU

30

14

% GPU

15

14

PERFORMACES DU SYSTEME GEMINI D'ULTRALEAP DANS UNE SCENE SIMPLE, EN EDITEUR ET LORSQUE L'APPLICATION TOURNE SEULE 

 

Pour résumer cette comparaison, voici nos recommandations en fonction du type d'expérience souhaité :  

  • Mon application nécessite de la détection de mains et/ou de gestes mais de manière occasionnelle :

Déterminez la zone de travail des mains : si elle se situe droit devant l’utilisateur et n’est pas trop étendue, nous recommandons le système HTC VIVE Hand Tracking, qui est intégré au casque. Si la zone de travail est large ou orientée/décentrée, nous conseillons le système Gemini ou Orion d'UltraLeap, car la caméra a un champ de vision plus large, et peut être orientée selon le besoin.  

  • Mon application nécessite de manipuler des objets et/ou d’interagir avec des surfaces :

Nous recommandons d’utiliser le système HTC VIVE Hand Tracking, qui présente de meilleurs résultats dans ce cas d’usage.  

  • Mon application exploite fortement la détection des mains et nécessite un tracking stable et précis :

Nous recommandons d’utiliser le système Gemini ou Orion d’UltraLeap, dont les résultats sont globalement plus fluides et plus stables.  

  • Mon application nécessite des interactions entre les deux mains de l’utilisateur :

Nous recommandons le système Gemini d’UltraLeap, qui a été développé dans cette optique. 

 

Karine PERRARD

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