Reconnaissance des mots isolés par HTK Commande vocale du robot mentor en temps

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 USTO-MB, Oran, 31000, Algérie Fatimakhanfar@yahoo.fr HENDEL Fatiha2 MEDDBER Lila2 Abstract— la reconnaissance de parole est une technique informatique qui permet la communication entre l'homme et la machine où les hommes se sentiront plus confortables pour télé opérer un robot, dans ce papier ,on présente une approche en utilisant les modèles de Markov caché HMM (Hidden Markov Model ) utilisée sous forme des outils de Markov caché HTK (Hidden Toolkit )appliquée sur les commandes de robot, pour ce faire, une modélisation acoustique appliquée sur ces mots pour extraire les information pertinentes Ensuite ces paramètres seront utilisés dans les phases ; d'apprentissage et de reconnaissance. Le but d'utiliser le HTK car il est plus performant afin d'obtenir un taux de reconnaissance élevé et l'un des avantages de ce outil est qu’il peut être facilement adapté à une nouvelle liste de commandes. Mots clé—HMM : Hidden Markov Model, HTK : Hidden Toolkit, MFCC : Mel-Frequency Cepstral Coefficients, 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 pertinentes capables d’alimenter un algorithme de reconnaissance. Ces traitements standards en traitement de signaux sonores (échantillonnage, transformée de Fourrier rapide) Fig.1, puis plus spécifiques à la parole sont effectués afin d’obtenir une séquence de vecteurs acoustiques qui forment l’entrée de l’algorithme de reconnaissance. Ces vecteurs sont appelés MFCCs "Mel Frequency Cepstrum Coefficient" en référence à l’échelle de Mel qui est utilisée ici plutôt qu’une échelle fréquentielle classique car basée sur la perception humaine des sons (qui est non-linéaire). [3] Cette relation est donnée par la formule (1). ( ) 2595.log(1 ) 700 f mel f   (1) Avec f la fréquence en Hz De plus, dans le but de rendre la reconnaissance plus robuste, notamment au bruit, on rajoute souvent au vecteur la vitesse ∆ et l’accélération ∆2 de ces MFCCs (c’est-à-dire les dérivées et dérivées secondes du vecteur). On peut également y rajouter un terme d’énergie E qui lui aussi sera dérivé autant que les MFCCs. Enfin, divers post-traitements des MFCCs sont possibles, tels une normalisation de l’énergie, avec là encore comme but de supprimer ou rendre négligeable des bruits de fond inintéressant pour la reconnaissance [2]. Fig.1 : Étapes de calcul de MFCC  MODELISATION PAR HMM La modélisation la plus utilisée, car la plus efficace jusqu’à aujourd’hui, en reconnaissance de la parole est le modèle de Markov caché. Les HMMs sont utilisés pour modéliser les unités de base d’un système de reconnaissance. En reconnaissance de la parole [10], ces unités peuvent être : des mots, ou des phonèmes. 1. Définition des HMM : Un modèle de Markov caché (ou HMM, pour "Hidden Markov Model") [5] [6] est un modèle temporel constitué de nœuds cachés et de nœuds d’observation. Pour chaque mot, on définira le modèle "gauche-droit" qui ne permettent pas de "retour en arrière"(si i>j, aij=0). Pour cela, on donnera la topologie de chaque modèle associé, le nombre d'états et les probabilités de transition entre les états. Nous avons choisi N=5 comme nombre d'état par HMM [6]. Tel que présenté dans la Fig.2. Fig.2 : Modèle de HMM gauche droite Chaque mot est représenté par une séquence de vecteurs ou d’observations O défini par : O=O1, O2, …, OT (2) Ot est le vecteur observé au temps t T est le nombre d’observations (nombre de vecteurs). 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. 2. Définition de HTK : HTK est ‘’ Une Boite à Outils de Modèles de Markov Cachés ‘’ développée par le Département Ingénierie de l’Université de Cambridge. Cette boite à outils vise à construire et manipuler les modèles de Markov Cachés(HMM). HTK est principalement utilisé pour la reconnaissance vocale [2].  APPLICATION Notre base est constituée de dix (10) mots prononcés isolément en français. Chaque mot a été prononcé 5 fois par 10 locuteurs de sexe différent (5 hommes et 5 femmes) ; on aura à la fin 500 prononciations, ces mots sont utilisés pour faire l’apprentissage (train). Une autre base a été enregistrée et constituée de 400 mots pour faire les tests (test). L’implémentation de notre application a été réalisée sous l’environnement Linux (ubuntu12.04) avec les outils de HTK et la programmation en C Shell. Le signal de parole est enregistré par le biais d’un microphone unidirectionnel, le signal est filtré et échantillonné au niveau de carte son à une fréquence d’échantillonnage de 11025 Hz. La quantification s’effectue sur 8 bits. 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 d’augmenter le taux de reconnaissance. Ces paramètres sont calculables par le biais d’une fonction dont dispose l’outil HTK. Cette fonction est HCOPY qui prend en entrée un fichier audio et calcule ses coefficients suivant une configuration de la taille des fenêtres de cepstre le type de fenêtrage et d’autres paramètres introduits par l’utilisateur, cette procédure est présentée dans la Fig.3. Fig.3 : Conversion des données d’apprentissage Parmi ces parametres est le choix de nombre de coefficient de MFCC par exemple : MFCC_0_D_A_Z : Le nombre de coefficients MFCC utilisé est 12+l’energie+les dérivés (13) + les accélérations(13) (donc 39 coefficients) MFCC_0_D_Z : Le nombre de coefficients MFCC utilisé est 12+l’energie+les dérivés (13) (donc 26 coefficients) MFCC_0_D_A_Z MFCC_0_D_Z Taux de train 97.60% 97.19% Taux de test 92.75% 91.50% 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 probabilités de transitions et les vecteurs de variance et de moyenne. 3.2. Apprentissage : HERest est une commande qui utilise l’algorithme de Baume welch pour re-estimer les modèles HMM, elle calcule les valeurs optimales pour les paramètres HMM (probabilités de transition, plus les vecteurs de moyenne et de variance pour des fonctions d’observations) après N itération suivant un organigramme dans la Fig.4. Les ré-estimations devraient être suffisantes après 10 itérations. Voir le tableau n°2 Fig.4 : Procédure d’entrainement Fig.5 : Initialisation et l’apprentissage des mots isolés 4. Grammaire et Dictionnaire : Avant d’utiliser nos modèles de mots, nous devons définir l’architecture basique de notre Reconnaisseur (la grammaire) : un silence de départ, suivi par un mot unique (ferme/monte/…), suivi par un silence de fin. (Voir Fig.6) Si aucun mot prononcé, il va reconnaitre le silence. Et le dictionnaire contient les mots à reconnaitre qui se trouvent dans la grammaire et les noms des HMM. 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 uploads/Philosophie/ reconnaissance-des-mots-isoles-par-htk.pdf

  • 37
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager