L’entrée gestuelle et la reconnaissance de gestes.

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

de l’algorithme de Viterbi
Explorer un espace d’états
Tris.
3. Variantes de l’algorithme
Efficient Simplification of Point-Sampled Surfaces
Je gagne du temps avec Sitra (à la saisie). Le Contexte Qui suis-je ? la personne qui saisit dans Sitra (une de mes missions parmi tant dautres) Quel.
Conception de Programmes Evolutifs Pré Soutenance de TER Année Encadrants : Cathy Escazut et Michel Gautero Auteurs: Paul-Kenji Cahier Sylvain.
Conception de Programmes Evolutifs
1 Réunion biblio 13/12/00 Support Vectors Présentation générale SSS Maintaining Algorithm.
Retour au menu principal. Généralités Lenvironnement Laffichage de la fenêtre Déplacement / sélection dans une feuille Classeurs La gestion des classeurs.
Assistance à distance Parfois on se sent bien seul face à un problème informatique surtout si on n’est qu’un simple utilisateur. Lorsqu'un problème survient.
Initiation aux bases de données et à la programmation événementielle
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Formation Microsoft® Office Access 2007
INFOR 101 Chapitre 3 Marianne Morris.
Enseignement de spécialité en S
ASI 3 Méthodes numériques pour l’ingénieur
Création d’un programme :
Bibliothèque standard du C++
Machine asynchrone (première partie)
Python La structure itérative
Concepts avancés en mathématiques et informatique appliquées
Optimisation linéaire
L’entrée gestuelle et la reconnaissance de gestes
IFT-2000: Structures de Données Introduction à lanalyse dalgorithmes Dominic Genest, 2009.
Concepts avancés en mathématiques et informatique appliquées MAP-6014.
Construction de modèles visuels
Rappel... Solution itérative de systèmes linéaires (suite et fin).
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Mesurer l’efficacité des algorithmes
Entrée gestuelle et reconnaissance de gestes. Quelques exemples de systèmes à entrée gestuelle, et densembles de gestes …
Les modes, et quelques exemples de techniques dinteraction (utilisant lentrée gestuelle et autre)
Visualisation de surfaces décrites analytiquement
Algorithmes probabilistes
Efficacité des algorithmes
RECONNAISSANCE DE FORMES
Entrée gestuelle et reconnaissance de gestes. Quelques exemples de systèmes à entrée gestuelle, et densembles de gestes …
Gestion de Fichiers GF-10: Traitement Co-Sequentiel: Appariment et Fusion de Plusieures Listes (Base sur les sections de Folk, Zoellick & Riccardi,
Recherche dun même objet / scène Approches basées sur des descripteurs locaux Approches basées sur des descripteurs globaux.
Interprétation automatique
Programmation non procédurale Le projet ECOLE 2000
Tutorat en bio-informatique Le 21 novembre Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez.
ASI 3 Méthodes numériques pour l’ingénieur
Analyse des Algorithmes
Modélisation géométrique de base
Cours du 25 octobre Mardi le 24 octobre
Physique 3 Vibrations et ondes mécaniques
La décomposition en valeurs singulières: un outil fort utile
Géométrie épipolaire (deux vues)
Projet Télédétection Vidéo Surveillance Deovan Thipphavanh – Mokrani Abdeslam – Naoui Saïd Master 2 Pro SIS / 2006.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Encodage du jeu d’instructions.
Directives et principes de conception tirées du livre “Designing Interfaces: Patterns for Effective Interaction Design” de Jenifer Tidwell Chapitre 5.
Méthodes de tri.
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
DÉMARCHE DE CONCEPTION TECHNOLOGIQUE
Sujets spéciaux en informatique I
SVM machine à vecteurs de support ou séparateur à vaste marge
abes agence bibliographique de l’enseignement supérieur Question 1 : créer le 1 er exemplaire (données de base : 930) Clé de sélection « x »
Un espace de classification pour l’interaction sur dispositifs mobiles
Structures de données avancées : MLH (Multidimensional linear hashing) D. E ZEGOUR Institut National d ’Informatique.
Post-optimisation, analyse de sensibilité et paramétrage
Régression linéaire (STT-2400)
Utilisation des formules de base
Traitement d’images Semaine 09 v.A15.
TP n°3 – Implantation d’un atelier de mécanique avec le logiciel Impact   Une entreprise de décolletage souhaite aménager une zone stockage produit fini.
System de recommandations
Les dossiers patients d’un hôpital contiennent les attributs suivants : – nom – code postal – pression systolique en mm de mercure. – s’il est porteur.
Transcription de la présentation:

L’entrée gestuelle et la reconnaissance de gestes

Quelques exemples de systèmes à entrée gestuelle, et d’ensembles de gestes …

a) rectangle b) ellipse c) ligne d) groupe e) copie f) rotation g) supprimer (“x”) Rubine, “Specifying gestures by example”, SIGGRAPH 1991, s+example s+example

Wobbrock, Wilson, and Li. Gestures without libraries, toolkits or training: a $1 recognizer for user interface prototypes. UIST toolkits+training+recognizer

Le Graffiti

EdgeWrite ( ) Une façon mécanique de simplifier la reconnaissance de gestes, avec des contraintes physiques

EdgeWrite Comment distinguer ces gestes? Réponse: trouver l’ordre dans lequel les “coins” sont visités, et chercher la séquence de coins dans un dictionnaire

Tivoli Moran, Chiu, van Melle, and Kurtenbach. Implicit Structure for Pen-based Systems within a Freeform Interaction Paradigm, CHI based+systems+freeform+interaction

Tivoli Moran, Chiu, van Melle, and Kurtenbach. Implicit Structure for Pen-based Systems within a Freeform Interaction Paradigm, CHI based+systems+freeform+interaction

Comment fait Tivoli pour retrouver les rangées et colonnes dans des ensembles d’encre? Réponse au prochain diapo…

Tivoli Moran, Chiu, van Melle, and Kurtenbach. Implicit Structure for Pen-based Systems within a Freeform Interaction Paradigm, CHI based+systems+freeform+interaction

Menu radial hiéarchique Tiré de la thèse doctorale de Gord Kurtenbach

Combinaison de sélection rectangle et lasso À retenir! Question: comment l’ordinateur peut-il distinguer entre le geste à gauche et celui à droite? Réponse: vérifier si (length_of_ink_trail) ÷ (straight_line_distance_from_start_to_end_of_drag) > 2.5

Reconnaissance de gestes

Comment distinguer les gestes dans un “Marking Menu” hiéarchique? Tiré de la thèse doctorale de Gord Kurtenbach

Comment trouver un “coin” dans un geste? Lorsque le geste est bruité ? (voir notes écrites)

Dabbleboard

Dabbleboard

Dabbleboard Widgets pour déplacer, dupliquer, supprimer, redimensionner Clic + touches de clavier: saisir du texte Clic + clic + drag: sélection rectangle

Fureteur web

Samsung Galaxy Note

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

Rubine, “Specifying gestures by example”, SIGGRAPH 1991, s+example s+example

Rubine, “Specifying gestures by example”, SIGGRAPH 1991, s+example s+example

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 classifier ces points parmi les catégories de gestes. Taux de reconnaissance selon les tests de Rubine > 95% À retenir!

Rubine (1991)

vecteur de caractéristiques d'un exemplairegeste à classifier

1ère solution: comparer la distance entre le nouveau geste et chaque exemplaire (recherche du plus proche voisin / "nearest neighbor") - 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). À retenir!

Distance entre le geste à classifier et un exemplaire À retenir!

2ième solution: pré-calculer le centroïde de chaque classe d’exemplaires (k-moyennes / "k-means") - Comment pré-calculer ces centroïdes? - Combien de temps cela prendra? - Comment ensuite classer le nouveau geste? - Combien de temps cela prendra? À retenir! centroïde

Calcul de centroïde: Distance entre le geste à classifier et un centroïde: À retenir!

3ième solution (proposée par Rubine): pré-calculer des hyperplans pour séparer les exemplaires (machine à vecteurs de support / "Support Vector Machine" ou SVM). Voir son article pour les détails. Ci-dessous, un exemple d’un cas qui serait mieux classifié 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.) Ligne pointillée: mediatrice entre les centroïdes Ligne solide: hyperplan qui sépare les exemplaires À retenir!

temps pour pré- calculer temps pour classifier un geste fiable? 1. plus proche voisin aucunO( C E F )toujours 2. k-moyennes / centroïdes O(C E F) pour trouver les centroïdes O( C F )si les exemplaires sont linéairement séparables ET chaque classe a environ le même écart type 3. machine à vecteurs de support / hyperplans / approche de Rubine Dépend de l’implementation. Un algorithme itératif, à titre d’exemple, prend O( (nombre d'itérations) C 2 E F ) O( C F )si les exemplaires sont linéairement séparables Soit: F “features” (donc un espace à F dimensions), C classes (ou sortes de gestes), et E exemplaires par classe Remarque: l'approche 3 est la plus compliquée à programmer, tout en étant moins rapide que l'approche 2 et moins fiable que l'approche 1. Donc, je vous conseille d'essayer les approches 1 ou 2 avant d'essayer l'approche 3. À retenir!

Le reconnaissance de gestes avec l’algorithme à “$1” (Wobbrock et al., 2007) $1 n'utilise pas de vecteurs de caractéristiques; il compare plutôt la géométrie d'un geste avec la géométrie de chaque exemplaire, point-par- point. Cela nécessite qu'ils aient tous le même nombre de points. Tel que présenté dans l’article 2007 de Wobbrock et al., l’approche $1 utilise seulement des opérations mathématiques de base, est simple à implémenter en peu de code sans librairies, et est rapide. Toutefois, cela est en comparaison à la machine à vecteurs de support de Rubine. Si on simplifie l’approche de Rubine pour classifier les vecteurs de caractéristiques avec plus proche voisin ou k-moyennes (tel que montré dans les diapos précédents), alors l’approche par vecteurs de caractéristiques devient toute aussi simple à implementer et possiblement plus rapide que $1 Taux de reconnaissance de $1 supérieur à Rubine, tel que mesuré par Wobbrock et al. Une des étapes clés: rééchantillonage ("resampling") du geste, pour que le geste et les exemplaires aient tous le même nombre de points. Temps pour classifier un geste: O( C E N ), où C est le nombre de classes, E le nombre d'exemplaires par classe, et N le nombre de points par exemplaire (voir notes écrites) À retenir!

Wobbrock, Wilson, and Li. Gestures without libraries, toolkits or training: a $1 recognizer for user interface prototypes. UIST

Wobbrock, Wilson, and Li. Gestures without libraries, toolkits or training: a $1 recognizer for user interface prototypes. UIST

Wobbrock, Wilson, and Li. Gestures without libraries, toolkits or training: a $1 recognizer for user interface prototypes. UIST

Wobbrock et al. (2007)