SlideShare une entreprise Scribd logo
La reconnaissance des
gestes
Par:
Dumitru Loghin
Montréal 2014
1
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
1.Introduction
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
1. Introduction
Fig2. La structure générale de reconnaissance de gestes
5
6
2. Algorithme uWave
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
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
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
2.1 Algorithme uWave
Tab1: « TABLE 1: UWAVE QUANTIZES ACCELERATION DATA IN A NON-LINEAR FASHION BEFORE TEMPLATE
MATCHING »[1]
10
2.2 Algorithme uWave
Fig4. « Figure 1: uWave is based on acceleration quantization, template matching with DTW, and template
adaptation»[1].
11
2.2 Algorithme uWave
Fig5.Dynamic Time Warping(DTW) algorithm [1].
12
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
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
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
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
3. Modèle de Markov
caché(MMC)
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
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
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
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
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
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
3.2 Modèles de Markov cachés(MMC)
- la distribution de probabilités de l'état initial
(7)
24
3.2 Modèles de Markov cachés(MMC)
Les équations (5)(6)(7) doivent satisfaire les équations suivantes:
(8)
25
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
3.2 Détermination des Modèles de Markov
cachés(MMC)
L’équation (10) doit satisfaire les contraintes stochastiques suivantes:
(11)
27
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
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
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
3.4 L’estimation de MMC
La formule finale d’estimation :
(20)
31
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
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
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
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
3.5 L'algorithme de Viterbi
L’initialisation: (22)
L’induction: (23)
36
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
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
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
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
3.6 L’apprentissage de MMC
Pour la fonction contenue:
(28)
41
42
4. Éliminer les erreurs
d’accéléromètre
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
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
5. La structure de
l'algorithme MMC
5. La structure de l'algorithme MMC
Fig10. La structure de l'algorithme MMC
46
47
6. Conclusion
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
Références :
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
Merci pour votre attention
51

Contenu connexe

En vedette

Colaimo 140330083749-phpapp01
Colaimo 140330083749-phpapp01Colaimo 140330083749-phpapp01
Colaimo 140330083749-phpapp01
Mss Med
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Riadh K.
 
Réalisation d'un système de supervision de réseaux de capteurs
Réalisation d'un système de supervision de réseaux de capteursRéalisation d'un système de supervision de réseaux de capteurs
Réalisation d'un système de supervision de réseaux de capteurs
YaSsine Ahammar
 
2743557 dossier-ppe-robot-suiveur-de-ligne
2743557 dossier-ppe-robot-suiveur-de-ligne2743557 dossier-ppe-robot-suiveur-de-ligne
2743557 dossier-ppe-robot-suiveur-de-ligne
Aziz ShadowStokes
 
Moteur a courant continu
Moteur a courant continuMoteur a courant continu
Moteur a courant continu
wolfori
 
Parc-Machines de SeeB
Parc-Machines de SeeBParc-Machines de SeeB
Parc-Machines de SeeB
SeeB
 

En vedette (16)

« Convolutional Deep Belief Networks »
« Convolutional Deep Belief Networks »« Convolutional Deep Belief Networks »
« Convolutional Deep Belief Networks »
 
Brachytherapy: Prostate Cancer
Brachytherapy: Prostate CancerBrachytherapy: Prostate Cancer
Brachytherapy: Prostate Cancer
 
Reconnaissance de panneaux de signalisation routière en utilisant la détectio...
Reconnaissance de panneaux de signalisation routière en utilisant la détectio...Reconnaissance de panneaux de signalisation routière en utilisant la détectio...
Reconnaissance de panneaux de signalisation routière en utilisant la détectio...
 
Colaimo 140330083749-phpapp01
Colaimo 140330083749-phpapp01Colaimo 140330083749-phpapp01
Colaimo 140330083749-phpapp01
 
présentation soutenance PFE 2016
présentation soutenance PFE 2016présentation soutenance PFE 2016
présentation soutenance PFE 2016
 
Cours fabrication mécanique2
Cours fabrication mécanique2Cours fabrication mécanique2
Cours fabrication mécanique2
 
Rapport PFE Génie Electrique (2016)
Rapport PFE Génie Electrique (2016)Rapport PFE Génie Electrique (2016)
Rapport PFE Génie Electrique (2016)
 
Conception robot mobile
Conception robot mobile Conception robot mobile
Conception robot mobile
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Réalisation d'un système de supervision de réseaux de capteurs
Réalisation d'un système de supervision de réseaux de capteursRéalisation d'un système de supervision de réseaux de capteurs
Réalisation d'un système de supervision de réseaux de capteurs
 
projet interface LabView avec conception prototype machine de tri
projet interface LabView avec conception prototype machine de tri projet interface LabView avec conception prototype machine de tri
projet interface LabView avec conception prototype machine de tri
 
Yassine Otmane voiture commandée à distance (XBEE)
Yassine Otmane voiture commandée à distance (XBEE)Yassine Otmane voiture commandée à distance (XBEE)
Yassine Otmane voiture commandée à distance (XBEE)
 
2743557 dossier-ppe-robot-suiveur-de-ligne
2743557 dossier-ppe-robot-suiveur-de-ligne2743557 dossier-ppe-robot-suiveur-de-ligne
2743557 dossier-ppe-robot-suiveur-de-ligne
 
Moteur a courant continu
Moteur a courant continuMoteur a courant continu
Moteur a courant continu
 
Parc-Machines de SeeB
Parc-Machines de SeeBParc-Machines de SeeB
Parc-Machines de SeeB
 
Guide projet Iset
Guide projet IsetGuide projet Iset
Guide projet Iset
 

Similaire à La reconnaissance des gestes

rapport_ecrit_final
rapport_ecrit_finalrapport_ecrit_final
rapport_ecrit_final
Jean Ibarz
 
Logique floue application
Logique floue application Logique floue application
Logique floue application
Arrow Arrow
 
Chapitre3_Partie1.pdf
Chapitre3_Partie1.pdfChapitre3_Partie1.pdf
Chapitre3_Partie1.pdf
MbarkiIsraa
 
Etude et implémentation de quelle que
Etude et implémentation de quelle que Etude et implémentation de quelle que
Etude et implémentation de quelle que
Yassine Nasser
 

Similaire à La reconnaissance des gestes (20)

Lustre
LustreLustre
Lustre
 
hermes_final
hermes_finalhermes_final
hermes_final
 
Meqanique du point materiel
Meqanique du point materielMeqanique du point materiel
Meqanique du point materiel
 
Approximation de ritter
Approximation de ritterApproximation de ritter
Approximation de ritter
 
rapport_ecrit_final
rapport_ecrit_finalrapport_ecrit_final
rapport_ecrit_final
 
livre-algorithmes.pdf
livre-algorithmes.pdflivre-algorithmes.pdf
livre-algorithmes.pdf
 
Cours analyse-num source1
Cours analyse-num source1Cours analyse-num source1
Cours analyse-num source1
 
tel-00005359
tel-00005359tel-00005359
tel-00005359
 
CHAP 3.ppt
CHAP 3.pptCHAP 3.ppt
CHAP 3.ppt
 
Kamal Lmsp V2
Kamal Lmsp V2Kamal Lmsp V2
Kamal Lmsp V2
 
Logique floue application
Logique floue application Logique floue application
Logique floue application
 
04 cours matrices_suites
04 cours matrices_suites04 cours matrices_suites
04 cours matrices_suites
 
Estimation par les MCO sur le logiciel STATA
Estimation par les MCO sur le logiciel STATAEstimation par les MCO sur le logiciel STATA
Estimation par les MCO sur le logiciel STATA
 
Mathématiques et Python
Mathématiques et PythonMathématiques et Python
Mathématiques et Python
 
Chapitre3_Partie1.pdf
Chapitre3_Partie1.pdfChapitre3_Partie1.pdf
Chapitre3_Partie1.pdf
 
Matlab for engineer
Matlab for engineer Matlab for engineer
Matlab for engineer
 
Memoire
MemoireMemoire
Memoire
 
Performances dans la segmentation d’images médicales
Performances dans la segmentation d’images médicalesPerformances dans la segmentation d’images médicales
Performances dans la segmentation d’images médicales
 
cours logiciels de simulation.docx
cours logiciels de simulation.docxcours logiciels de simulation.docx
cours logiciels de simulation.docx
 
Etude et implémentation de quelle que
Etude et implémentation de quelle que Etude et implémentation de quelle que
Etude et implémentation de quelle que
 

Dernier

Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
zidani2
 

Dernier (11)

Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?
 
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
 
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptxMARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
 
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
 
Festival de Cannes 2024.pptx
Festival    de     Cannes        2024.pptxFestival    de     Cannes        2024.pptx
Festival de Cannes 2024.pptx
 
Gestion des flux de trésorerie dans les entreprises
Gestion des flux de trésorerie dans les entreprisesGestion des flux de trésorerie dans les entreprises
Gestion des flux de trésorerie dans les entreprises
 
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
 
Résultats enquête RH 2024 Fonction Publique.pdf
Résultats enquête RH 2024 Fonction Publique.pdfRésultats enquête RH 2024 Fonction Publique.pdf
Résultats enquête RH 2024 Fonction Publique.pdf
 
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
 
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les ÉcolesEL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
 
Webinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctionsWebinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctions
 

La reconnaissance des gestes

  • 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
  • 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. 1. Introduction Fig2. La structure générale de reconnaissance de gestes 5
  • 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
  • 12. 2.2 Algorithme uWave Fig5.Dynamic Time Warping(DTW) algorithm [1]. 12
  • 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
  • 17. 17 3. Modèle de Markov caché(MMC)
  • 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
  • 31. 3.4 L’estimation de MMC La formule finale d’estimation : (20) 31
  • 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
  • 36. 3.5 L'algorithme de Viterbi L’initialisation: (22) L’induction: (23) 36
  • 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
  • 41. 3.6 L’apprentissage de MMC Pour la fonction contenue: (28) 41
  • 42. 42 4. Éliminer les erreurs d’accéléromètre
  • 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
  • 45. 45 5. La structure de l'algorithme MMC
  • 46. 5. La structure de l'algorithme MMC Fig10. La structure de l'algorithme MMC 46
  • 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
  • 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. Merci pour votre attention 51