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
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. 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. 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. 2.1 Algorithme uWave
Tab1: « TABLE 1: UWAVE QUANTIZES ACCELERATION DATA IN A NON-LINEAR FASHION BEFORE TEMPLATE
MATCHING »[1]
10
11. 2.2 Algorithme uWave
Fig4. « Figure 1: uWave is based on acceleration quantization, template matching with DTW, and template
adaptation»[1].
11
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. 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. 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. 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
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. 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. 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. 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. 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. 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. 3.2 Modèles de Markov cachés(MMC)
- la distribution de probabilités de l'état initial
(7)
24
25. 3.2 Modèles de Markov cachés(MMC)
Les équations (5)(6)(7) doivent satisfaire les équations suivantes:
(8)
25
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. 3.2 Détermination des Modèles de Markov
cachés(MMC)
L’équation (10) doit satisfaire les contraintes stochastiques suivantes:
(11)
27
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. 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. 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
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. 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. 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. 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
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. 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. 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. 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
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. 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
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