• Aucun résultat trouvé

Chapitre 6 Conclusions et perspectives

2 Perspectives

Bien que le système que nous avons mis au point soit opérationnel tel quel et permette d’ores et déjà de réaliser des tâches de manipulation d’objets et de navigation en environnement virtuel, il reste néanmoins perfectible sur plusieurs aspects.

La principale amélioration à apporter concerne l’algorithme de détection de l’état des mains (ouvertes ou fermées), qui pourrait être nettement amélioré et permettre une reconnaissance plus fiable et plus robuste. La limitation actuelle est directement liée à l’orientation des mains. Lorsque celles-ci sont faces à la caméra, cela ne pose pas de problèmes particuliers pour déterminer leur état. En revanche, lorsque l’utilisateur effectue les différentes tâches, il arrive qu’il soit attentif uniquement à l’action qu’il est en train de réaliser et il peut arriver que ses mains ne soient plus tout à fait face à la caméra, mais légèrement tournées sur les côtés. Cela pose, dans ce cas, problème étant donné que notre algorithme repose sur les contours de la main pour déterminer son état. Si la main est légèrement tournée, sa forme peut alors être considérée comme une main fermée alors qu’en réalité elle est ouverte et vice versa. Une deuxième caméra pourrait être placée au dessus de la scène afin de lever les ambiguïtés qui peuvent se poser pour ces cas précis. D’autre part, si l’utilisateur sort ses mains du champ de la caméra, il peut arriver que le tracking se perde momentanément, ce qui peut être problématique s’il est en train de manipuler un objet (particulièrement pour le déplacement). Il est cependant possible de corriger rapidement ce problème en gardant en mémoire les dernières valeurs de positions connues ainsi que l’état des mains juste avant la perte du tracking, ce dernier reprenant lorsque les mains sont à nouveau détectées.

Une meilleure détection de l’état des mains permettra au système d’être plus robuste et de fournir de meilleures réponses aux actions des utilisateurs.

Une seconde amélioration souhaitable concerne cette fois l’algorithme fourni par OpenNI et qui permet d’appliquer un squelette sur une personne. D’une part, notre système, du fait de l’utilisation de l’algorithme d’OpenNI, requiert une phase d’initialisation dans laquelle l’utilisateur doit lever ses bras au niveau de la tête pour former la lettre phi (Ψ) afin d’être reconnu par le système comme étant l’utilisateur principal. D’autre part, le squelette appliqué sur la personne, bien que fiable et robuste (en

Page | 170

particulier si la personne sort totalement du champ de vision de la caméra et revient) possède tout de même quelques faiblesses. En effet, l’algorithme permet de déterminer les positions des mains, cependant, ces positions (représentées par des points) sont situées au centre de celles-ci. Par conséquent, lorsque l’utilisateur ouvre ou ferme la main, un léger décalage se produit. Cela pose des problèmes si l’on souhaite réaliser des manipulations de précision comme c’est le cas lors du positionnement, du redimensionnement et de l’orientation d’objets. Ces deux points devraient être très rapidement améliorés car le dernier algorithme fourni par le SDK de Microsoft permet maintenant de ne plus avoir de phase d’initialisation, le squelette est appliqué directement sur la personne sans que celle- ci soit obligée d’adopter une position particulière. De plus, le nombre de points du squelette a été augmenté et permet désormais de connaitre les positions des poignets mais également de l’extrémité des mains. Le point représentant le poignet ne dépend plus, en théorie, de l’état (ouvert ou fermée) des mains, ce qui devrait nous permettre d’avoir un système beaucoup plus robuste et permettant une meilleure précision pour les manipulations requérant de la finesse.

N’étant pas capable de déterminer l’orientation des mains, notre système permet de connaître uniquement les positions et l’état de celles-ci. Cela nous a, cependant, permis de développer des modalités d’interactions se basant uniquement sur ces informations. Les résultats obtenus pour les tâches impliquant la rotation, bien que dans l’ensemble relativement proches de ce qui était demandé, montrent que notre système, même s’il est fonctionnel, ne permet pas une orientation simple, intuitive et directe d’un objet. L’acceptation de cette modalité a été moyenne et bien inférieure aux autres modalités proposées. La prochaine version de notre système devra prendre en compte ce constat et être en mesure de fournir de façon fiable l’orientation précise des mains de l’utilisateur. De cette façon, la rotation d’objet devrait être grandement simplifiée et l’interaction proposée devrait pouvoir se rapprocher d’une manipulation d’objet réelle.

Le dernier point qui mériterait d’être amélioré concerne la navigation et l’observation dans l’environnement virtuel. Pour le moment, la modalité de navigation qui a été développée ne permet de se déplacer dans l’environnement virtuel que par des mouvements de translation (gauche - droite, haut - bas, avant – arrière). Nous n’avons pas développé de modalités pour orienter la caméra (la vision de l’utilisateur) ni même pour tourner la caméra sur elle même. Il n’est, par conséquent, pas possible de regarder ou d’orienter la caméra où l’on veut (derrière soi par exemple, en penchant la tête vers la gauche). Ce point peut être également rapidement corrigé. Une solution simple consisterait à réaliser les déplacements en translation avec la main dominante (ce que l’on fait déjà) et orienter la caméra avec l’autre main. La connaissance de l’orientation des mains simplifierait cette tâche puisque, dans ce cas, l’utilisateur agirait comme s’il tenait la caméra et ainsi les mouvements de celle-ci seraient copiés à l’identique sur ceux de la main, aussi bien en vélocité, en déplacement qu’en orientation.

Pour déterminer si les mains sont ouvertes ou fermées, nous nous sommes basés sur un algorithme qui détermine, à partir des contours des mains, le nombre de doigts visibles. On considère qu’un doigt est levé si la longueur de ce dernier dépasse une certaine taille. De même, si le nombre de doigts levés est supérieur à 2, on considère que la main est ouverte. D’autres solutions pourraient être envisageables et seraient à même de fournir d’excellents résultats comme par exemple l’usage de réseaux de neurones, ou de chaînes de Markov cachées. De même, l’usage de template matching pourrait être une solution efficace (c’est d’ailleurs ce principe qui est à la base de l’application du squelette sur une personne dans la Kinect). Plus le nombre d’images dans la base de données est grand et plus la détection est efficace. L’apprentissage est relativement long, car il faut apprendre au système à déterminer si une main est ouverte ou fermée à partir de très nombreux exemples. Cependant, une fois l’apprentissage effectué, il

Page | 171 n’est pas nécessaire de le refaire. Cette solution sera envisagée, dans les versions futures de notre système.

Comme nous venons de le voir, le système que nous avons développé permet d’interagir avec les environnements virtuels de façon efficace et peut d’ores et déjà remplacer des solutions commerciales pour un coût moindre. Cependant, les applications potentielles vont bien au-delà du domaine de la réalité virtuelle, les domaines d’application visés étant nombreux. Il est par exemple possible d’imaginer d’utiliser ses gestes pour commander son ordinateur et naviguer dans les applications grâce à ces derniers. Microsoft travaille d’ailleurs déjà sur ce thème avec la Kinect et compte fournir des applications compatibles dans la prochaine version de son système d’exploitation. Il sera, par exemple, possible de choisir un film dans une liste, le sélectionner pour obtenir des informations, puis le regarder. Différents mouvements permettront de régler différents paramètres comme le son ou encore d’avancer rapidement la vidéo. L’utilisation d’une télécommande ne sera, par conséquent, plus nécessaire et les personnes pourront piloter leur ordinateur à distance, sans médium intermédiaire. Les usages peuvent également s’étendre au domaine de la santé et plus particulièrement de la rééducation, aussi bien des membres supérieurs (comme les bras et les mains) que des membres inférieurs grâce à la capture du corps entier. Une utilisation dans le domaine du handicap est également envisageable : un tel système pourrait, par exemple, faciliter l’interaction avec les enfants et les adultes polyhandicapés qui ont des difficultés lors de la réalisation de mouvements volontaires des membres supérieurs. Les activités actuelles, réalisées à base de commutateurs (Lancioni et al., 2011) pourraient être avantageusement remplacées par un système sans marqueurs, avec un langage relativement simple et adapté à chaque enfant. Un exemple dans lequel s’inscrivent directement nos travaux est le module HandiCam’3D faisant partie du projet AccesSim. Ce projet a pour objectif d’attirer l’attention et de sensibiliser les pouvoirs publics, les acteurs urbains (maires, architectes…) mais aussi la population, à tous les problèmes de déplacement, d’accessibilité et aux difficultés de motricité urbaine des handicapés moteur. La finalité du projet AccesSim est de réaliser un simulateur virtuel de fauteuil roulant en collaboration étroite avec le CEREMH (Centre de Ressources & d’Innovation Mobilité Handicap) et EDF R&D. Dans ce cadre, le module HandiCam’3D est un système de capture de mouvements qui permet de détecter les gestes de l’utilisateur et d’évaluer, en temps réel, les actions et les efforts réalisés, ils seront par ailleurs analysés et permettront de déclencher des interactions. En effet, lorsqu’un utilisateur de fauteuil roulant manuel se déplace, il s’aide des objets de l’environnement (bureaux, rampes, murs, etc.). Il est alors nécessaire, afin de reproduire au mieux les conditions réelles, de pouvoir capter les gestes qui sont effectués par l’utilisateur. Le système que nous avons créé peut être très rapidement intégré à ce module.

En dehors de la santé et du handicap, on peut par exemple imaginer des utilisations de notre système dans divers domaines comme en domotique où il serait possible de piloter différents appareils uniquement avec les gestes (baisser la lumière, descendre ou monter les volets électriques, etc.). Ou encore dans l’art, la musique où il pourrait être intéressant d’enregistrer les mouvements des doigts d’un virtuose. Enfin, il pourrait être intéressant d’utiliser, à terme, un système transparent de capture de mouvements dans le domaine du sport, pour évaluer un geste sportif par exemple, ou enregistrer un professionnel en train d’effectuer un mouvement en vue de l’analyser et de le reproduire. Bien entendu, la capture doit être améliorée et une détection plus fine permettant de déterminer l’orientation de chaque doigt doit être possible avant d’envisager de telles applications. On pourrait également envisager une utilisation d’un tel système, par le grand public, où un utilisateur lambda pourrait évaluer son geste par rapport à celui d’un professionnel. Un dernier domaine évident est tout ce qui se rapporte au monde des jeux vidéo, mais celui-ci est déjà naturellement très exploité par Microsoft. Ce ne sont que des exemples parmi d’autres mais l’étendue des applications possibles est très vaste.

Page | 172

Il est certain que nous trouverons de plus en plus ce genre d’applications dans notre quotidien, sans que nous en soyons forcément conscients, du fait de leur transparence. A terme, nous sommes persuadés que ces nouvelles façons d’interagir avec l’environnement (réel ou virtuel) feront partie intégrante de nos vies. Il reste néanmoins à améliorer les algorithmes de capture de mouvements, les caméras 3D utilisées (plus grandes résolutions, plus grand taux de rafraîchissement, meilleure précision, etc.) et également améliorer les modalités d’interactions en 3D. Ces perspectives enthousiasmantes nous incitent à poursuivre nos efforts et nos travaux dans cette voie passionnante et pleine de promesses.

Page | 173

Annexes

Page | 175

Annexe A