Vous êtes sur la page 1sur 5

Reconnaissance des mots isolés par HTK

Commande vocale du robot mentor en temps réel

KHENFER KOUMMICH Fatima1


Laboratoire LAPESA, Département de l’électronique HENDEL Fatiha2
USTO-MB, Oran, 31000, Algérie MEDDBER Lila2
Fatimakhanfar@yahoo.fr

Abstract— la reconnaissance de parole est une technique perception humaine des sons (qui est non-linéaire). [3] Cette
informatique qui permet la communication entre l'homme et la relation est donnée par la formule (1).
machine où les hommes se sentiront plus confortables pour télé f
opérer un robot, dans ce papier ,on présente une approche en mel ( f )  2595.log(1  ) (1)
utilisant les modèles de Markov caché HMM (Hidden Markov 700
Model ) utilisée sous forme des outils de Markov caché HTK Avec f la fréquence en Hz
(Hidden Toolkit )appliquée sur les commandes de robot, pour ce
faire, une modélisation acoustique appliquée sur ces mots pour De plus, dans le but de rendre la reconnaissance plus robuste,
extraire les information pertinentes Ensuite ces paramètres
notamment au bruit, on rajoute souvent au vecteur la vitesse ∆
seront utilisés dans les phases ; d'apprentissage et de
reconnaissance. Le but d'utiliser le HTK car il est plus et l’accélération ∆2 de ces MFCCs (c’est-à-dire les dérivées et
performant afin d'obtenir un taux de reconnaissance élevé et l'un dérivées secondes du vecteur). On peut également y rajouter un
des avantages de ce outil est qu’il peut être facilement adapté à terme d’énergie E qui lui aussi sera dérivé autant que les
une nouvelle liste de commandes. MFCCs. Enfin, divers post-traitements des MFCCs sont
possibles, tels une normalisation de l’énergie, avec là encore
Mots clé—HMM : Hidden Markov Model, HTK : Hidden comme but de supprimer ou rendre négligeable des bruits de
Toolkit, MFCC : Mel-Frequency Cepstral Coefficients, fond inintéressant pour la reconnaissance [2].
Reconnaissance vocale.

 INTRODUCTION
La parole étant le mode de communication privilégié de
l’homme, il est indispensable d’équiper un robot d’assistance
d’un système lui permettant d’effectuer des tâches simples ou
complexes en suivant les instructions orales de son utilisateur.
Les modèles HMMs peuvent être utilisés à plusieurs niveaux
linguistiques pour modéliser la parole (phonèmes, syllabes,
mots,…). L’unité la plus naturelle pour effectuer la
reconnaissance de la parole est le mot. Les modèles de mots
permettent une bonne modélisation de la coarticulation à
l’intérieur du mot. Les HMMs bénéficient d’algorithmes
d’entraînement et de décodage performants [9].

 PRETRAITEMENTS
Avant de pouvoir modéliser un signal, quel qu’il soit, une
première étape indispensable consiste à effectuer divers
prétraitements afin d’extraire du signal des vecteurs de données Fig.1 : Étapes de calcul de MFCC
pertinentes capables d’alimenter un algorithme de
reconnaissance. Ces traitements standards en traitement de  MODELISATION PAR HMM
signaux sonores (échantillonnage, transformée de Fourrier
rapide) Fig.1, puis plus spécifiques à la parole sont effectués La modélisation la plus utilisée, car la plus efficace jusqu’à
afin d’obtenir une séquence de vecteurs acoustiques qui aujourd’hui, en reconnaissance de la parole est le modèle de
forment l’entrée de l’algorithme de reconnaissance. Ces Markov caché. Les HMMs sont utilisés pour modéliser les
vecteurs sont appelés MFCCs "Mel Frequency Cepstrum unités de base d’un système de reconnaissance. En
Coefficient" en référence à l’échelle de Mel qui est utilisée ici reconnaissance de la parole [10], ces unités peuvent être : des
plutôt qu’une échelle fréquentielle classique car basée sur la mots, ou des phonèmes.
1. Définition des HMM : faire l’apprentissage (train). Une autre base a été enregistrée et
constituée de 400 mots pour faire les tests (test).
Un modèle de Markov caché (ou HMM, pour "Hidden
Markov Model") [5] [6] est un modèle temporel constitué de L’implémentation de notre application a été réalisée sous
nœuds cachés et de nœuds d’observation. l’environnement Linux (ubuntu12.04) avec les outils de HTK
Pour chaque mot, on définira le modèle "gauche-droit" qui ne et la programmation en C Shell. Le signal de parole est
permettent pas de "retour en arrière"(si i>j, aij=0). Pour cela, enregistré par le biais d’un microphone unidirectionnel, le
on donnera la topologie de chaque modèle associé, le nombre signal est filtré et échantillonné au niveau de carte son à une
d'états et les probabilités de transition entre les états. Nous fréquence d’échantillonnage de 11025 Hz. La quantification
avons choisi N=5 comme nombre d'état par HMM [6]. Tel s’effectue sur 8 bits.
que présenté dans la Fig.2. Ces commandes permettent au bras manipulateur (robot
mentor) d’exécuter des actions relatives à chaque commande :
Haut : Le bras se met en position haut
Bas : Le bras se met en position bas
Ferme : La pince se ferme
Ouvre : La pince s’ouvre
Monte : la pince monte vers le haut
Descend : la pince descend vers le bas
Droite : le bras tourne de gauche vers droite
Gauche : le bras tourne de droite vers gauche
Tourne : la pince tourne de 90 deg
Inverse : la pince tourne en inverse de 90 deg

1. Para métrisation :
Le tableau n°1 indique que les dérivés primaires et
secondaires fournissent des informations supplémentaires afin
Fig.2 : Modèle de HMM gauche droite d’augmenter le taux de reconnaissance. Ces paramètres sont
calculables par le biais d’une fonction dont dispose l’outil
Chaque mot est représenté par une séquence de vecteurs ou HTK. Cette fonction est HCOPY qui prend en entrée un fichier
d’observations O défini par : audio et calcule ses coefficients suivant une configuration de la
O=O1, O2, …, OT (2) taille des fenêtres de cepstre le type de fenêtrage et d’autres
Ot est le vecteur observé au temps t paramètres introduits par l’utilisateur, cette procédure est
T est le nombre d’observations (nombre de vecteurs). présentée dans la Fig.3.

Parmi des propriétés des modèles de Markov [4] :


 Hypothèse de Markov (horizon limité) : Un état ne
dépend que des k états précédents (ordre k).
 Stationnarité (invariance temporelle) : Les
distributions de probabilité ne varient pas au cours du
temps.
 Indépendance des observations : Les séquences
d'observation sont statistiquement indépendantes.
Fig.3 : Conversion des données d’apprentissage
2. Définition de HTK : Parmi ces parametres est le choix de nombre de coefficient de
HTK est ‘’ Une Boite à Outils de Modèles de Markov Cachés MFCC par exemple :
‘’ développée par le Département Ingénierie de l’Université de MFCC_0_D_A_Z : Le nombre de coefficients MFCC utilisé
Cambridge. Cette boite à outils vise à construire et manipuler est 12+l’energie+les dérivés (13) + les accélérations(13) (donc
les modèles de Markov Cachés(HMM). HTK est 39 coefficients)
principalement utilisé pour la reconnaissance vocale [2].
MFCC_0_D_Z : Le nombre de coefficients MFCC utilisé est
12+l’energie+les dérivés (13) (donc 26 coefficients)
 APPLICATION
Notre base est constituée de dix (10) mots prononcés MFCC_0_D_A_Z MFCC_0_D_Z
isolément en français. Chaque mot a été prononcé 5 fois par Taux de train 97.60% 97.19%
10 locuteurs de sexe différent (5 hommes et 5 femmes) ; on Taux de test 92.75% 91.50%
aura à la fin 500 prononciations, ces mots sont utilisés pour
Tableau n°1 : L’influence de l’accélération sur taux de
reconnaissance
2. Etiquetage :
Chaque mot enregistré se commence et se termine par un
silence donc il faut le segmenter avec l’outil HSLab, pour notre
cas, on a utilisé le logiciel wavesurfer.
3. Apprentissage :
3.1. Initialisation :
Avant de commencer les processus d’apprentissage, les
paramètres HMM doivent être initialisé correctement avec les
données d’apprentissage, afin d’autoriser une convergence
rapide et précise de l’algorithme d’apprentissage. HTK propose
l’outil HCompV d’initialisation plate du modèle (Voir la
Fig.5). Chaque état du HMM reçoit le même vecteur de
variance et de moyenne : ceux-ci sont calculés globalement sur
le corpus entier d’entrainement. Cette commande qu’il faut la
donner un fichier prototype en entrée (Voir la Fig.4). Ce proto
doit être initialisé manuellement avec le nombre d’états et les Fig.5 : Initialisation et l’apprentissage des mots isolés
probabilités de transitions et les vecteurs de variance et de 4. Grammaire et Dictionnaire :
moyenne.
Avant d’utiliser nos modèles de mots, nous devons définir
3.2. Apprentissage : l’architecture basique de notre Reconnaisseur (la grammaire) :
HERest est une commande qui utilise l’algorithme de Baume un silence de départ, suivi par un mot unique
welch pour re-estimer les modèles HMM, elle calcule les (ferme/monte/…), suivi par un silence de fin. (Voir Fig.6)
valeurs optimales pour les paramètres HMM (probabilités de Si aucun mot prononcé, il va reconnaitre le silence.
transition, plus les vecteurs de moyenne et de variance pour des
fonctions d’observations) après N itération suivant un Et le dictionnaire contient les mots à reconnaitre qui se
organigramme dans la Fig.4. Les ré-estimations devraient être trouvent dans la grammaire et les noms des HMM.
suffisantes après 10 itérations. Voir le tableau n°2

Fig.6 : Principe de la reconnaissance des mots isolés


5. Reconnaissance:
La reconnaissance revient alors à calculer la
vraisemblance de la suite d’observations acoustiques
constituant le mot à reconnaître par rapport à chacun des
modèles. Le modèle présentant la plus grande vraisemblance
d’avoir émis cette suite d’observations fournit le mot reconnu.
La reconnaissance en temps réel :
Lorsqu’un utilisateur de robot prononce une commande par
exemple ferme.wav, ce mot est d’abord transformé en série de
vecteurs acoustiques (MFCC) avec l’outil HCopy pour avoir
ferme.mfc, cet observation d’entrée est reconnue par un
algorithme de Viterbi, qui aligne les observations avec les
HMM, si cette commande est reconnue, on va voir l’action du
Fig.4 : Procédure d’entrainement robot en temps réel. La procédure se fait comme suite : Fig.7.
Fig.7 : Procédure de la reconnaissance en temps réel

6. Evaluation de la performance :
Le test de la performance de reconnaissance d’un système ASR
doit être mesuré sur un corpus de données différent du corpus
d’apprentissage, un corpus de test.

Taux de reconnaissance de mot : WRR  1  S  D  I  H


N N
 RESULTAT
Lors de l’apprentissage en utilisant Baume welch après la
10éme itération le taux de connaissance converge vers la
valeur de 97.60% pour les trains (voir Fig.8) et 92.75% pour
les tests (voir Fig.9). Ces deux résultats sont obtenus lorsque
l’étiquette de silence est ignorée lors du comptage des
statistiques des performances, c’est pour ça les deux taux Fig.8 : Résultats de train
(correct=92.75% et corr =92.75%) sont les mêmes car la
grammaire autorise uniquement « des phrases », donc c’est un
reconnaisseur des mots isolés. Une confusion entre quelques
mots par exemple haut avec ouvre parce qu’ils s’entendent les
mêmes qui vient de (au de mot haut et ou de mot ouvre).
La première ligne donne le taux de reconnaissance des phrases
La deuxième ligne donne le taux de reconnaissance des mots
Si on prend par exemple les résultats de test dans la Fig.9 :
N=400 nombre total de données de test
H=371 nombre de données de test correctement reconnues
S=29 nombre d’erreurs de substitution.

Les résultats affichés dans le Tableau n°2 sont calculés avec


les 39 coefficients, indiquent l’évaluation de taux de
reconnaissance en fonction de nombre d’itération, la
reconnaissance est testée sur 20 itération d’apprentissage, la
procédure d’apprentissage est arrêtée soit le résultat converge
vers une valeur unique si on prend l’exemple en vert, soit le
résultat atteint une valeur optimale si on prend l’exemple en
orange. Le choix de nombre de composantes de GMM
(Gaussian Mixture Model) est important aussi, donc pour avoir
un bon taux de reconnaissance il faut voir le nombre d’itération
et le nombre de composantes GMM réduit ainsi la valeur
optimale et l’apprentissage sera rapide.
Pour notre exemple il faut choisir 10 itérations et un GMM à 8
composantes afin d’avoir un taux de test =96%.
Fig.9 : Résultats de test
Tableau n°2 : Evaluation de taux de reconnaissance de test en fonction de nombre d’itération et nombre de GMM

 REFERENCES
 CONCLUSION
[1] School of Computing, National University of Singapore, January 2010
Ce document a présenté une interface Homme-machine pour
commander un robot par la voix qui se base sur la [2] S. Young and al. The HTK Book (for HTK version 3.4). Cambridge
reconnaissance de la parole réalisée avec les outils HTK. Des University Engineering Department, December 2006.
http://htk.eng.cam.ac.uk
essais ont été effectués en temps réel qui a été avec succès
reconnus les commandes proposées de la voix, mais ces mots [3] BENAMMAR Ryadh, « Traitement Automatique De La Parole Arabe
Par Les HMMs » mémoire de master, 25 Septembre 2012.
sont bien prononcés, ils ont rapporté un taux de
reconnaissance très élevé 96%. [4] Mounir Gragy. Rapport de Projet sous HTK « Reconnaissance de mots
Cependant, un des avantages de la reconnaissance proposée Isolés Et Reconnaissance de mots connectés ». Université Mohammed
est son adaptation facile à de nouvelle grammaire. 1erOujda ,2006.
Les travaux futurs se focaliseront sur l’introduction des [5] L. R. Rabiner, « An introduction to Hidden Markov Models », IEEE
nouvelles grammaires et commandent d’autres types de robot. ASSP Magazine, pp: 4-16, Jan. 1986.
Ils doivent prendre en considération l’environnement du [6] L. R. Rabiner, « A Tutorial on Hidden Markov Models and selected
travail (milieu bruité), un bruit qui vient de la machine parce applications in speech recognition », Proceedings of IEEE, Vol. 77, N°2,
que ces systèmes de commande vocale seront développés dans pp: 257-286, Feb. 1989.
le domaine industriel, afin de garantir la sécurité de la tâche à [7] Jangwon Kim, “Signal Analysis and Interpretation” Laboratory (SAIL),
exécuter. University of Southern California 17. Jan. 2013
[8] L. Rabiner, B. Juang. ”Fundamentals of Speech Recognition”. PTR
Prentice Hall (Signal Processing Series), Englewood Cliffs NJ, 1993,
ISBN0-13-015157-2.
[9] Lotfi Amiar, Mokthar Sellami, « Un système basé sur une modélisation
Markovienne pour la reconnaissance de la parole Arabe » 3rd
International Conference : Sciences of Electronic, Technologies of
Information and Télécommunications, March 27-31, 2005 – TUNISIA.
[10] Jean-Paul HATON, « Reconnaissance automatique de la parole »,
techniques de l’ingénieur, paris, France, 15/01/2013.
[11] L. Gallardo- Estrella and A. Poncela, « Human/Robot Interface for
Voice Teleoperation of a Robotic Platform », Springer-Verlag Berlin
Heidelberg, 2011.

Vous aimerez peut-être aussi