La reconnaissance des gestes

664 vues

Publié le

La reconnaissance des gestes par Algorithme uWave et Modèle de Markov caché

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
664
Sur SlideShare
0
Issues des intégrations
0
Intégrations
174
Actions
Partages
0
Téléchargements
8
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

La reconnaissance des gestes

  1. 1. La reconnaissance des gestes Par: Dumitru Loghin Montréal 2014 1
  2. 2. Plan: 1. Introduction 2. Algorithme uWave 3. Modèle de Markov caché 4. Éliminer les erreurs d’accéléromètre 5. La structure de l'algorithme 6. Conclusion 2
  3. 3. 3 1.Introduction
  4. 4. 1. Introduction Fig1: «Figure 6: Mobile 3D User Interface with uWave-based gesture interaction: (left) Illustration of the user interface and (right) prototype implementation » [1] 4
  5. 5. 1. Introduction Fig2. La structure générale de reconnaissance de gestes 5
  6. 6. 6 2. Algorithme uWave
  7. 7. 2. Algorithme uWave Développé par Jiayang Liu, Zhen Wang, and Lin Zhong [1] Fig3. Geste vocabulaire. Le point dénote le début et la flèche dénote la fin [1] Les auteurs ont identifié huit gestes et recueilli des données de lecture pour la bibliothèque (plus de 4000 entrées) provenant de personnes différentes sur une longue période. 7
  8. 8. 2. Algorithme uWave Description de l'algorithme: 1. Quantification des données d'accélération 2. Dynamic time warping (DTW) 3. Modèle d'adaptation(template adaptation) 8
  9. 9. 2.1 Algorithme uWave - L'algorithme commence par une étape de quantification, dans lequel les données de l'accéléromètre sont soumises à un filtrage et une quantification. Ainsi, la quantité de données à traiter diminue considérablement . - Les données d'accélération sont converties en l'un des 33 niveaux. 9
  10. 10. 2.1 Algorithme uWave Tab1: « TABLE 1: UWAVE QUANTIZES ACCELERATION DATA IN A NON-LINEAR FASHION BEFORE TEMPLATE MATCHING »[1] 10
  11. 11. 2.2 Algorithme uWave Fig4. « Figure 1: uWave is based on acceleration quantization, template matching with DTW, and template adaptation»[1]. 11
  12. 12. 2.2 Algorithme uWave Fig5.Dynamic Time Warping(DTW) algorithm [1]. 12
  13. 13. 2.2 Algorithme uWave Soit S1 et S2 deux rangées, avec longueur M et N. Calcul de la distance de Levenshtein d (S1, S2) peut être calculée à partir de la formule de récurrence d(S1,S2) = D(M,N) Fig6. Distance de Levenshtein 13
  14. 14. 2.2 Algorithme uWave La complexité de l'algorithme DTW dans le temps et l'utilisation de la mémoire est O(N*M), de sorte que la quantification et la fréquence d'échantillonnage de l’accéléromètre jouent un rôle important dans la performance de la reconnaissance de gestes. 14
  15. 15. 2.3 Algorithme uWave • La façon d’exécuter le même geste par une seule personne peut changer au fil du temps • Une personne ne peut pas répéter exactement deux mouvements. Les auteurs ont décidé d'utiliser des modèles standards pour adapter la méthode d'exécution du geste d’utilisateur. 15
  16. 16. 2.3 Algorithme uWave L'adaptation consiste en: Pour chaque modèle de geste, uWave garde deux versions de Template. Chaque nouveau geste de l'utilisateur va être comparé avec les deux qui sont déjà sauvegardés, et dans le cas quand le geste de l'utilisateur a été bien reconnu, il remplacera le Template. 16
  17. 17. 17 3. Modèle de Markov caché(MMC)
  18. 18. 3. Modèle de Markov caché(MMC) 1. Chaîne de Markov 2. Modèles de Markov cachés (MMC) 3. Le choix d'un modèle pour l'accéléromètre 4. L’estimation de MMC 5. L'algorithme de Viterbi pour décoder 6. L’apprentissage de MMC 18
  19. 19. 3.1 Chaîne de Markov Soit: X=X1, X2, X3,… Xn , unesuite de variables aléatoires de l'alphabet discret fini O={o1, o1,…, oM}. Selon la règle de Bayes: (1) où (2) Variables aléatoires forment une chaîne de Markov de premier ordre, si: (3) 19
  20. 20. 3.1 Chaîne de MMC Fig7. Chaîne de MMC La formule (3) permet de réduire la taille de mémoire pour la modélisation de la suite de données dynamiques: « la probabilité d'une variable aléatoire à un moment donné ne dépend que de la dernière valeur précédente » alors, pour une chaîne de Markov de premier ordre, l'équation se présente comme suit: (4) 20
  21. 21. 3.2 Modèles de Markov cachés(MMC) Modèle de Markov caché : un ensemble d'états reliés par des transitions. Chaque état ​​est caractérisé par deux ensembles de probabilités: 1. la probabilité de transition 2. la probabilité d'une observation Modèle de Markov caché peut être considérée comme un processus à double stochastique sur l'autre processus stochastique non observable ou caché. Ce processus caché interne peut être associé à d'autres processus probabilistes externes et aléatoires qui produisent la séquence de valeurs observées. 21
  22. 22. 3.2 Modèles de Markov cachés(MMC) - l'alphabet des symboles observés. Ces symboles observés correspondent aux sorties réelles du système modélisé, dans le cas de gestes – il y a trois dimensions données de l'accéléromètre de vecteur. - ensemble d'états. - matrice de probabilités de transition - la probabilité de transition d'un état i à j, (5) 22
  23. 23. 3.2 Modèles de Markov cachés(MMC) - matrice des probabilités pour les valeurs observées - probabilité d'apparition du caractère ok de l'état j, (6) 23
  24. 24. 3.2 Modèles de Markov cachés(MMC) - la distribution de probabilités de l'état initial (7) 24
  25. 25. 3.2 Modèles de Markov cachés(MMC) Les équations (5)(6)(7) doivent satisfaire les équations suivantes: (8) 25
  26. 26. 3.2 Modèles de Markov cachés(MMC) Pour décrire un modèle de Markov caché, on utilisera la notation suivante: (9) Pour les fonctions continues de distribution de probabilité, la fonction de « Probability density function for Gaussian Mixture »[2] sera utilisée : (10) Où: x – vecteur modèle, Cjk – coefficient de mélange Gaussien pour le k-ième mélange en état j, N - correspond à une seule distribution gaussienne avec un vecteur d’espérance mathématique µjk et une matrice de covariance ∑jk pour k-ième mélange en état j. 26
  27. 27. 3.2 Détermination des Modèles de Markov cachés(MMC) L’équation (10) doit satisfaire les contraintes stochastiques suivantes: (11) 27
  28. 28. 3.3 Le choix d'un modèle pour l'accéléromètre Le modèle pratique dépend de la source, ce qui envoie un signal. L'accéléromètre comprend trois axes, de sorte que la valeur de sortie est présentée en tant que vecteur à trois composantes: (12) Vecteur d’espérance mathématique: (13) Matrice de covariance: (14) 28
  29. 29. 3.3 Le choix d'un modèle pour l'accéléromètre La formule de calcul du déterminant de la matrice de covariance: (15) 29
  30. 30. 3.4 L’estimation de MMC Soit une séquence d'observations x=x1x2..xT et le modèle suivant: (16) Il faut estimer la probabilité d'apparition de séquence dans le modèle (17) (17) C’est la probabilité de la séquence d'observation partielle x=x1x2..xt et de l'état i dans le temps t d’un modèle Par induction, nous pouvons trouver: L’initialisation: (18) L’ induction: (19) 30
  31. 31. 3.4 L’estimation de MMC La formule finale d’estimation : (20) 31
  32. 32. 3.4 L’estimation de MMC D'une manière générale, pour résoudre les problèmes d’estimation, seule la partie forward de l’algorithme forward-backward est nécessaire. Cependant, la partie backward est utilisée pour résoudre le problème de l'apprentissage : (21) (21) - C’est la probabilité de la séquence d'observation partielle x=xt+1xt+2..xT et de l'état i dans le temps t d’un modèle Méthode d’induction: L’initialisation : L’induction: (22) 32
  33. 33. 3.4 L’estimation de MMC Exemple simple d’estimation #1 [3]: On a un message observé: O1 = 0,O2 = 0,O3 = 0,O4 = 1 ; T = 4 Modèle d’observation Modèle de transition Distribution initiale initialisation de tableau à l’aide (18) et (19): α(0,1) = P(O1 = 0,X1 = 0) = P(O1=0|X1=0)P(X1=0) = 0.9x0.5 = 0.45 (18) α(1,1) = P(O1 = 0,X1 = 1) = P(O1=0|X1=1)P(X1=1) = 0.2x0.5 = 0.1 (18) α(0,2) = P(O2=0|X2=0)(P(X2=0|X1=0)*α(0,1) + P(X2=0|X1=1)*α(1,1) ) = 0.9x(0.3x0.45+0.6*0.1) = 0.1755 (19) α(1,2) = P(O2=0|X2=0)(P(X2=1|X1=0)*α(0,1) + P(X2=1|X1=1)*α(0,1) ) = 0.2*(0.7*0.45+0.4*0.1)=0.071 (19) Et pour α(0,3), α(1,3), α(0,4), α(1,4) les calculs sont faits selon la formule (19) L’estimation sera calculée ainsi: P(X|ȹ) = P(0,0,0,1) = 0.004387+0.057686 = 0.062073 (20) 33
  34. 34. 3.4 L’estimation de MMC Exemple simple d’estimation #2 (Filtrage dans un MMC)[3]: On a un message observé: O1 = 0,O2 = 0,O3 = 0,O4 = 1 ; T = 4 on peut calculer les probabilités de filtrage: P(X4=0|S1=0, S2=0, S3=0, S4=1) = P(X4=0, S1=0, S2=0, S3=0, S4=1) = Σi P(X4=0, S1=0, S2=0, S3=0, S4=1) = α(0,4)/(α(0,4)+ α(1,4)) = 0.004387/(0.004387+0.057689) = 0.0707 P(X4=1|S1=0, S2=0, S3=0, S4=1) = P(X4=1, S1=0, S2=0, S3=0, S4=1) = Σi P(X4=1, S1=0, S2=0, S3=0, S4=1) = α(1,4)/(α(0,4)+ α(1,4)) = 0.057689/(0.004387+0.057689) = 0.9293 34
  35. 35. 3.5 L'algorithme de Viterbi Cet algorithme a pour but de trouver la séquence d'états la plus probable ayant produit la séquence mesurée. Pour trouver la séquence la plus appropriée d'états correspondant à la séquence observée, une matrice de l'évaluation est nécessaire: (23) (21) - la probabilité que l'état ​​est plus approprié pour des séquences d'observations en temps t. 35
  36. 36. 3.5 L'algorithme de Viterbi L’initialisation: (22) L’induction: (23) 36
  37. 37. 3.6 L’apprentissage de MMC La tâche la plus difficile des modèles de Markov cachés - définir le procédé de réglage des paramètres du modèle (A,B,π) de façon à maximiser la probabilité d'une séquence d'observations. C’est possible de choisir le modèle ȹ= (A,B,π) de sorte que la probabilité P(x|ȹ) soit maximisée localement en utilisant un algorithme itératif, l’algrithme Baum-Welch. 37
  38. 38. 3.6 L’apprentissage de MMC Avant de décrire la procédure de réévaluation (mise à jour itérative et améliorée) de paramètres des modèles de Markov cachés, on doit définir - la probabilité de trouver le modèle dans état i au temps t et l’état j au temps t+1 pour ce modèle à la séquence observée: (24) (25) 38
  39. 39. 3.6 L’apprentissage de MMC On définit aussi la probabilité de l'état i au temps t, pour cette observation, et le modèle actuel. (26) nombre probable de transitions d'état i nombre probable de transitions d’état i au état j 39
  40. 40. 3.6 L’apprentissage de MMC En utilisant la formule ci-dessus, on écrit la méthode de réévaluation des paramètres de modèle de Markov caché: (27) (28) 40
  41. 41. 3.6 L’apprentissage de MMC Pour la fonction contenue: (28) 41
  42. 42. 42 4. Éliminer les erreurs d’accéléromètre
  43. 43. 4. Éliminer les erreurs d’accéléromètre Accéléromètre pour les appareils mobiles exposé un bruit suffisamment fort. Le bruit de fond atteint parfois 0,08 g. Fig.8 Exemple de données mesurées par l'accéléromètre [6]. 43
  44. 44. 4. Éliminer les erreurs d’accéléromètre Méthodes de filtrage du signal: 1. Méthode des valeurs moyennes; 2. Filtrage des données: - Filtre passe-bas; - Filtre de Kalman. Fig9. Données provenant de l'accéléromètre avec filtre de Kalman [6]. 44
  45. 45. 45 5. La structure de l'algorithme MMC
  46. 46. 5. La structure de l'algorithme MMC Fig10. La structure de l'algorithme MMC 46
  47. 47. 47 6. Conclusion
  48. 48. 6. Conclusion - L’algorithme uWave retourne 98% de précision pour la reconnaissance, mais il est très exigeant pour le processeur et la mémoire en ce qui concerne les grandes chaînes de données. - MMC est mieux adapté pour les applications en temps réel qui roulent sur les plateformes ayant une performance faible (des cellulaires, des montres intelligents, etc.), car le traitement est basé sur les probabilités. 48
  49. 49. 49 Références :
  50. 50. Références : [1]. Liu J. « uWave: Accelerometer-based personalized gesture recognition and its applications » URL:http://www.ruf.rice.edu/~mobile/publications/liu09percom.pdf [2]. Vasconcelos N. « The Gaussian classifier. » URL: http://www.svcl.ucsd.edu/courses/ece271A-F08/handouts/GC.pdf [3]. Hugo Larochelle. « Intelligence Artificielle [9.6] : Réseaux bayésiens dynamiques - probabilité marginale et filtrage » URL:http://www.youtube.com/watch?v=hEczL504Eqg [4]. Christopher M. Bishop. « Pattern Recognition and Machine Learning. » URL:http://www.hua.edu.vn/khoa/fita/wp-content/uploads/2013/08/Pattern-Recognition- and-Machine-Learning-Christophe-M-Bishop.pdf [5]. Przemyslaw Dymarski. « HIDDEN MARKOV MODELS, THEORY AND APPLICATIONS. 2011 » URL: http://pure.rhul.ac.uk/portal/files/1446635/Hidden_Markov_Models_Theory_and_Applicatio ns.pdf [6]. Dave Edson , Greg Hogdal. « Using the Accelerometer on Windows Phone 7. » URL: http://windowsteamblog.com/windows_phone/b/wpdev/archive/2010/09/08/using- the-accelerometer-on-windows-phone-7.aspx 50
  51. 51. Merci pour votre attention 51

×