Polytech S4 Multimedia:TP3 locuteurs

De Wiki de Romain RUDIGER
Aller à : navigation, rechercher

Classification supervisée & non supervisée en locuteur

A quoi ressemble un signal de parole ?

  • On peut distinguer en effet des morceaux stationnaires dans le signal.Chaque morceau correspond a une longueur approximative d'environ 10 ms.
  • Nous avons ci-dessous deux phonèmes repérés. Le premier est non voisée et le second est voisée. Ils ont été reconnu à l'oreille mais se confirme par l'aspect du signal.
Le premier correspond au son [f] et le second à la voyelle [e].
  • Pour reconnaître les fréquences correspondants aux voyelles « e » et « u », nous avons reconnu plus facilement les formants f3 et f4. Les valeurs se raprochent mais nous notons quelques disparités.

Reconnaissance du locuteur (mode supervisé)

La phase d'apprentissage, décompose chaque fichier en 3 variables :

  • Attributs : représente les caractéristiques (14) pour chaque tranche de x ms, le nombre de ligne dépend donc de la longueur du fichier.
  • Moyenne : représente la moyenne des x tranches pour les 14 dimensions.
  • Covariance : permet de calculer le sens de variation des dimensions et donc de qualifier le degrès de dépendance inter dimension.

L'observation des vecteurs d'attributs sous plusieurs sous-espaces d'attributs nous montre que les vecteurs des deux locuteurs sont bien groupés. Il est alors difficile de séparer les attributs de façon systématique. Le nuage de point est trop dense pour régler, même au pifomètre, un seuillage intéressant.

  • L'histogramme nous montre pour chaque dimension une forme gaussienne plus ou moins large. Cela valide donc l'hypothèse d'obtenir un modèle gaussien, ce qui facilite les calculs de comparaisons.
  • Reconnaisance :
Tout d'abord, l'utilité d'effectuer le log de la probabilité de vraisemblance entre les fichiers est évidente, car les valeurs seraient beacoup trop faibles et proches pour les comparer et en tirer les conclusions.
  • La procédure de classification compare chaque vecteur représentant une tranche de l'échantillon (personne X), avec chacun des deux fichiers.
  • Résultats : pour le fichier « personneA.wav », le script nous donne un résultat plus favorable pour que ce locuteur soit présent dans le fichier « invite_train.wav ».
  • Le classifieur fonctionne correctement avec nos deux tests mal grès une compression des fichiers. Certains résultats sont assez serrés mal grès le log mais la réponse donnée est tout de même bonne.

Vérification du locuteur (mode supervisé)

  • Authentification vocale pour avoir le droit d'accès à un site, en cryptographie nous pouvons nous servir de la reconnaissance vocale pour la non-répudiation d'une bande sonore (écoute téléphonique).
  • Les essais lors de la reconnaissance nous ont montrés que les comparaisons étaient très proches même si on arrivait à trouver la bonne réponse. Du coup, appliquer un seuil à 5% à l'hypothèse H1 n'est pas pertinent. Nous avons tout de même besoin d'un modèle de locuteur pour pouvoir comparer et vérifier les séquences de voix. Mais il est difficile de savoir comment déterminer si le locuteur correspond à notre modèle ou non sans autre point de comparaison.
  • Avec un modèle correspondant à « monsieur tout le monde » nous apporte un point de comparaison pertinent qui nous indique un locuteur est plus proche de notre modèle à identifier ou plutôt de notre modèle UBM. Les tests que nous avons réalisés sont concluant, à chaque fois le vérificateur trouve la bonne réponse. Le seuil peut être appliqué au-delà de 5% de différence entre le modèle et UBM on peut prétendre à un résultat acceptable avec un faible taux d'erreur.

Quelques réflexions...

  • Utiliser les nuages eux-même plutôt que les moyennes et covariances (résumés statistiques), permet une nouvelle technique se basant sur la position des points et donc la forme des nuages. Cette technique aura un coût de calcul beaucoup plus important puisqu'elle doit calculer les coordonnées de chaque point et les comparer avec nos deux modèles.
  • L'analyse en composante principales permettrait de ne plus réaliser une classification sur 14 dimensions mais sur les 3 ou 4 plus intéressantes. L'ACP permet de définir de définir les dimensions les plus intéressantes.

Segmentation (mode non supervisée)

  • L'idée de la segmentation est d'avoir deux fenêtres f1 et f2 de courte durées et juxtaposées. Les fenêtres glissent par petits incréments de temps. On compare les locuteurs de f1 F2 et on calcul la vraissemblence entre les locuteurs. Si les locuteurs sont différents il y aura séparation entre les segments ce qui nous permet de faire une partition en segment homogènes qui correspondent aux différents changements de locuteur.
  • Le temps de calcul est inférieur au temps total de la séquence, il est alors envisageable de réaliser ce traitement au fur et à mesure de l'arriver de cette séquence.
  • Dans l'ensemble la technique détermine correctement les changements de locuteurs, mais les situations délicates correspondent à plusieurs changements de locuteurs dans un même bloc.
  • L'utilisation du « test de hotelling » paraît possible avec le même procédé que ci-dessus sauf qu'au lieu de calculer les moyennes statistiques des deux échantillons on calculerait la moyenne du test sur les 14 dimensions. Il suffirait alors de regarder si la moyenne est inférieur ou non à notre seuil pour déterminer s'il y a eu changement de locuteur. Le coût de calcul nous paraît au moins aussi important, sinon plus, de part le fait qu'il faut tout de même calculer les matrices de covariances et d'attributs.