lentrée gestuelle et la reconnaissance de gestes
TRANSCRIPT
L’entrée gestuelle etla reconnaissance de gestes
Quelques exemples de systèmes à entrée gestuelle,et d’ensembles de gestes …
a) rectangleb) ellipsec) ligned) groupee) copief) rotationg) supprimer (“x”)
Le Graffiti
EdgeWrite( http://depts.washington.edu/ewrite/ )
• Une façon méchanique de simplifier la reconnaissance de gestes, avec des contraintes physiques
Tivoli
Tivoli
Tivoli
Menu radial hiéarchique
Combinaison de sélection rectangle et lasso
Question: comment l’ordinateur peut-il distinguer entre le geste à gauche et celui à droite?
Reconnaissance de gestes
Comment distinguer les gestes dansun “Marking Menu” hiéarchique?
Comment trouver un “coin”dans un geste?
• Lorsque le geste est bruité ?
• (voir notes écrites)
Comment permettre à un utilisateur (ou un concepteur) de définir des nouveaux
gestes sans écrire du code ?
• Spécifier les nouveaux gestes avec des exemplaires !– Nécessite de faire du “pattern matching” entre
les exemplaires de gestes pré-fournis, et chaque geste entré pendant l’interaction
La reconnaissance de gestes avec l’algorithme de Rubine (1991)
• Chaque geste entré (ou exemple de geste) est réduit à un vecteur de caractéristiques (“feature vector”) et correspond donc à un point multidimensionnel. Il s’agit alors de classer ces points parmi les catégories de gestes.
• Taux de reconnaissance > 95%
Rubine (1991)http://doi.acm.org/10.1145/122718.122753
Chaque geste correspond à un vecteur (ou point multidimensionnel). Ici, les points verts sont des exemplaires de gestes d’une sorte, les rouges d’une autre sorte. Comment classer le geste “X” ?
Solution simple: comparer la distance entre le nouveau geste et chaque exemplaires- Comment calculer cette distance?- Combien de temps cela prendra? (Supposons F “features” (donc un espace à F dimensions), C classes (ou sortes de gestes), et E exemplaires par classe).
Meilleure solution: pré-calculer le centroïde de chaque classe d’exemplaires- Comment pré-calculer ces centroïdes? - Est-ce qu’on s’intéresse au temps de calcul?- Comment ensuite classer le nouveau geste? - Combien de temps cela prendra?
Solution encore meilleure (proposé par Rubine): pré-calculer des hyperplans pour séparer les exemplaires. Voir son article pour les détails. Ci-dessous, un exemple d’un cas qui serait mieux classé avec l’approche par hyperplans qu’en comparant des centroïdes. (Notez qu’en pratique, ces cas sont peut-être rares, et la complexité de programmer le calcul des hyperplans ne vaut peut-être pas la peine.)
Mediatrice entre les centroïdes Hyperplan qui sépare les exemplaires
Le reconnaissance de gestesavec l’algorithme à “$1”(Wobbrock et al., 2007)
• Utilise seulement des opérations mathématiques de base
• Simple à implémenter en peu de code, sans libraries
• Rapide• Bon pour prototyper des interfaces gestuelles,
même dans des plateformes moins performants (comme Flash ou JavaScript)
• Taux de reconnaissance supérieur à Rubine• Une des étapes clés: rééchantillonage du geste• (voir notes écrites)
Wobbrock et al. (2007)http://doi.acm.org/10.1145/1294211.1294238