Implémentation de l'algorithme de reconnaissance du locuteur 1
Mixtures de Gaussiennes - 1 gaussienne 1D seule = 1 moyenne + 1 variance - dans un GMM (à matrice de covariance diagonale) 1 gaussienne 1D = 1 moyenne + 1 variance + 1 poids
Mixtures de Gaussiennes - 1 gaussienne 1D seule = 1 moyenne + 1 variance - dans un GMM (à matrice de covariance diagonale) 1 gaussienne 1D = 1 moyenne + 1 variance + 1 poids - Estimation des densités de probabilité par une somme pondérée de gaussiennes.
Mixtures de Gaussiennes - 1 gaussienne 1D seule = 1 moyenne + 1 variance - dans un GMM (à matrice de covariance diagonale) 1 gaussienne 1D = 1 moyenne + 1 variance + 1 poids - Estimation des densités de probabilité par une somme pondérée de gaussiennes. - 1 gaussienne nd seule = n moyennes + n variances - dans un GMM (à matrice de covariance diagonale) 1 gaussienne nd = n moyennes + n variances + 1 poids
Mixtures de Gaussiennes - 1 gaussienne 1D seule = 1 moyenne + 1 variance - dans un GMM (à matrice de covariance diagonale) 1 gaussienne 1D = 1 moyenne + 1 variance + 1 poids - Estimation des densités de probabilité par une somme pondérée de gaussiennes. - 1 gaussienne nd seule = n moyennes + n variances - dans un GMM (à matrice de covariance diagonale) 1 gaussienne nd = n moyennes + n variances + 1 poids 1 gaussienne nd = 2n +1 paramètres
Données Audio Découpage du signal en échantillons de quelques ms
Données Audio Découpage du signal en échantillons de quelques ms Calcul des coefficients cepstraux (discriminants) et de leurs dérivées. Le nombre de ces coefficients fixe la dimension des gaussiennes.
Données Audio Découpage du signal en échantillons de quelques ms Calcul des coefficients cepstraux (discriminants) et de leurs dérivées. Le nombre de ces coefficients fixe la dimension des gaussiennes. En phase d'apprentissage : utilisation de ces trames (ou features) pour créer et adapter les modèles GMM.
Données Audio Découpage du signal en échantillons de quelques ms Calcul des coefficients cepstraux (discriminants) et de leurs dérivées. Le nombre de ces coefficients fixe la dimension des gaussiennes. En phase d'apprentissage : utilisation de ces trames (ou features) pour créer et adapter les modèles GMM. En phase de test : comparaison des trames avec les différents mots de passe
Schéma général Modèle du monde (UBM) Adaptation des n meilleures moyennes Locuteur 1
Schéma général Modèle du monde (UBM) Adaptation des n meilleures moyennes Locuteur 1 Adaptation des m meilleurs poids Mot de passe 1 Etat n 1 Mot de passe 1 Etat n 2 Mot de passe 1 Etat n 3
Phase de Test Algorithme de Viterbi Une fois le meilleur chemin trouvé on a un score pour le mot de passe. On calcule en même temps le score du locuteur.
Phase de Test Algorithme de Viterbi Une fois le meilleur chemin trouvé on a un score pour le mot de passe. On calcule en même temps le score du locuteur. L'information provenant de la vidéo sera intégrée aux probabilités de transition entre états.
Apprentissage Adaptation du modèle de locuteur à partir du modèle du monde en modifiant les n meilleures moyennes Création du modèle de mot de passe par un procédé itératif
Apprentissage Adaptation du modèle de locuteur à partir du modèle du monde en modifiant les n meilleures moyennes Création du modèle de mot de passe par un procédé itératif Initialisation : on associe les trames de façon régulière aux états du mot de passe. On adapte le modèle du locuteur pour obtenir le premier modèle des états. Algorithme de Viterbi, on associe les trames aux états du mot de passe. On adapte les états avec les nouvelles trames associées et on répète les 2 dernières étapes
Données stockées Modèles stockés en permanence Mémoire utilisée pendant les phases de test UBM : - 2 vecteurs de dimension n (moyennes et variances)par gaussienne. - 1 vecteur de poids de dimension le nombre de gaussiennes du GMM Locuteur X : - 1 vecteur de dimension n par gaussienne(moyennes) - 1 vecteur de poids Etat Xi : - Vecteur des poids (dimension : nombre de gaussiennes) - Vecteur d'index des poids Locuteur X : - Gaussiennes modifiées (on stocke les moyennes et les variances) Etat Xi : - Vecteur des poids (dimension : nombre de gaussiennes)
Occupation mémoire Modèles à 2048 gaussiennes Gaussiennes de dimension 32 UBM : 2048 x 32 x 2 + 2048 = 133 120 paramètres On modifie les n meilleures moyennes pour chaque locuteur Locuteur X : n x 32 + n (avec n = 20 : 660 paramètres) Index des moyennes modifiées Mot de Passe : M poids modifiés sur E états : 2 x M x E paramètres (2 car on stocke l'index et la valeur)
Occupation mémoire Paramètres : double (8 octets) UBM : 1040 ko SpkModel avec 5 PassWord: 20,785 ko SpkModel avec 20 moyennes modifiées: 5,16 ko PassWord à 10 états et 20 poids modifiées : 3,125 ko Modèle UBM + 20 locuteurs avec 5 Password chacun : 1455 ko
Coût de Calcul Log Vraisemblance d'une gaussienne avec une trame : additions : distribution x [[dimension x 2] + 1] multiplications : distribution x ([[dimension x 2] + 2]+1) 1 logarithme 1 exponentielle Dans le cas précédent : 133 120 additions 137 216 multiplications
Coût de Calcul Log Vraisemblance d'une gaussienne avec une trame : additions : distribution x [[dimension x 2] + 1] multiplications : distribution x ([[dimension x 2] + 2]+1) 1 logarithme 1 exponentielle Dans le cas précédent : 133 120 additions 137 216 multiplications Pour une séquence de T trames ( 300 trames par mot de passe): (133 120 x T) + T-1 additions (137 216 x T) + T-1 multiplications 1 logarithme et 1 exponentielle (à supprimer lors de l'optimisation)
Coût de Calcul Pour un test Pour un mot de passe à E états et un mot de passe à T trames : on calcule E x T log vraisemblances et (T 1 ) x E additions
Coût de Calcul Pour un test Pour un mot de passe à E états et un mot de passe à T trames : on calcule E x T log vraisemblances et (T 1 ) x E additions Dans le cas précédent : 10 états et 300 trames : Additions : 399 362 990 Multiplications : 411 648 000
Coût de Calcul Pour un test Pour un mot de passe à E états et un mot de passe à T trames : on calcule E x T log vraisemblances et (T 1 ) x E additions En réalité compte tenu des redondances de distributions : Additions : Multiplications : 40 328 366 41 569 167
Schémas UML
Schémas UML Alize
Schémas UML Mémoire
Schémas UML Apprentissage
Schémas UML Décodage
Conclusion Partie décodage entièrement codée et testée. Partie apprentissage en cours de codage. Intégration des données issues de la vidéo à faire