Conversione diretta ed inversa tra automi a stati non definiti (nfa) ed espre...
Progettazione e implementazione di un algoritmo per la speaker recognition in un contesto text indipendent
1. Università degli studi di Salerno
Facoltà di Scienze Matematiche Fisiche e Naturali
Laurea Magistrale in Informatica
a.a. 2013-2014
Progettazione e implementazione
di un algoritmo per la speaker recognition in
un contesto text indipendent
Relatore:
Prof. Michele Nappi
Candidato:
Interlandi Bruno
05225/00048
2. Speaker Recognition
“Speaker recognition” è l’insieme di strumenti che rendono
possibile l’identificazione della persona tramite la voce.
Ci sono due tipi di identificazione:
1.Text dependent: riconoscimento dipendente da ciò che
l’utente pronuncia
2. Text independent: riconoscimento indipendente da ciò che
l’utente pronuncia
Il riconoscimento del parlatore si articola in due fasi:
• Registrazione: Estrazione delle caratteristiche e creazione di
un modello
• Riconoscimento: Confronto del campione con i modelli
presenti nel database
3. Speaker Recognition: stato dell’arte
Le caratteristiche estratte dalla voce sono:
• Short term spectral features
• Voice source features
• Spectro-temporal features
• Prosodic features
• High-level fetures
Esistono vari approcci per la modellazione dello speaker:
• Vector quantization
• Misture di gaussiane
• Support vector machine
Approcci più recenti si basano sui cosiddetti supervectors, ossia
combinano vettori di piccole dimensioni in vettori
multidimensionali
4. Speaker recognition text-dependent:
Algoritmo di mapping di campioni in immagini 2D
In un lavoro di tesi precedente è stato messo a punto un
algoritmo di tipo text-dependent che si basa sulla creazione di
immagini caratterizzanti lo spettro del campione e sul confronto
tra esse per determinare il grado di similarità tra due campioni.
Sono stati progettati e testati tre algoritmi diversi per il mapping
di campioni vocali in immagini 2D:
• Mel
• Bark
• Segmenti
5. Speaker Recognition text-indipendent:
L‘algoritmo sviluppato
Si è pensato di sfruttare gli alberi binari per poter confrontare i
campioni e realizzare quindi un algoritmo di tipo text-indipendent.
Dividendo il campione in parti di dimensione minore e inserendoli
all’interno dei nodi di un albero binario si possono utilizzare le
proprietà degli alberi per effettuare i confronti, definendo
opportuni algoritmi di ricerca.
6. Fase di enrollment
Sono stati sviluppati due algoritmi per suddividere il campione e
inserire all’interno dei nodi dell’albero le parti ottenute tramite
la suddivisione:
• Bisezione ricorsiva: Il campione viene suddiviso a metà ad
ogni passo, si considera l’intero campione come nodo
radice
• Divisone word-based: si suddivide il campione in parole, si
considera sempre l’intero campione come nodo radice ma
le parole della prima metà del campione vengono inserite
nel nodo sinistro, quelle della seconda metà nel nodo
sinistro
7. Fase di riconoscimento
Il confronto fra due campioni si basa sull’indice di correlazione di
Pearson:
d(A,B) = 1 – (corr2(A,B) + 1)/2
Il campione da confrontare con l’albero generato dalla traccia
registrata nella base di dati viene dapprima suddiviso e poi ogni sua
suddivisione viene confrontata con i nodi dell’albero, se si ottiene
un valore accettabile, ossia una distanza inferiore ad una soglia
prefissata, l’algoritmo si arresta selezionando quella come distanza,
altrimenti prosegue nel confronto nei nodi successivi dell’albero. Se
la distanza non scende sotto la soglia, l’algoritmo seleziona il
minimo dei valori calcolati.
Si costruisce poi la matrice delle distanze che servirà per l’analisi
delle performance
8. Misure di prestazioni utilizzate
• FRR(False Rejection Rate): percentuale di falsi rifiuti, cioè la
probabilità che il sistema respinga chi invece è autorizzato ad
entrare nel sistema
• FAR(False Acceptance Rate): percentuale di false accettazioni,
cioè la probabilità che utenti non autorizzati riescano ad
accedere al sistema.
FAR (t*) = FRR (t*)= EER
t* rappresenta il punto di equilibrio
del sistema attraverso il quale è
possibile regolare il rapporto
FRR/FAR
9. Esperimenti effettuati
Il Database proposto dalla Carnegie Mellon University contiene
frasi registrate da 16 utenti differenti e vi sono 16 frasi differenti
per ogni utente.
Sono stati effettuati due esperimenti utilizzando tale base di dati:
• Confronto tra tracce differenti: In questo esperimento sono
state confrontate tracce in cui gli utenti pronunciano frasi
totalmente differenti rispetto a quelle inserite come modelli
nella base di dati.
• Confronto tra tracce registrate in tempi differenti: In questo
esperimento ci si è serviti di tracce nelle quali gli utenti
ripetono le stesse frasi ma registrate in tempi differenti
Entrambi gli esperimenti hanno dato risultati con un Equal Error
Rate di poco inferiore a 0,4
10. Conclusioni e sviluppi futuri
La text indipendent speaker recognition trova applicazione in molti
campi.
In questo lavoro di tesi è stato progettato e implementato un nuovo
algoritmo per il riconoscimento dello speaker text independent,
basato sulla trasformazione della voce in immagini 2D.
I risultati ottenuti non sono ancora del tutto soddisfacenti, tuttavia
l’algoritmo originario è stato reso text independent, quindi questo
obiettivo può dirsi realizzato.
L’auspicio è che si possa migliorare questa metodologia sviluppata
portando a risultati migliori, in quanto l’utilizzo degli alberi permette
confronti più rapidi ed efficaci, cosicché esso possa essere utilizzato
per applicazioni di pubblica utilità.
Hinweis der Redaktion
Short term spectral features: frames di 20-30 ms ognuno. Segnale pre-enfatizzato con una funzione finestra. Mel cepstral coefficient
Voice-source features: segnale vocale prodotto dall’eccitazione della glottide caratterizzato da forma d’impulso e la frequenza fondamentale.
Spectro-temporal features: segnale spettro-temporale contenente informazioni utili. Differenze di tempo tra vettori di caratteristiche adiacenti
Prosodic: aspetti del parlato come ritmica, intonazione. Si possono utilizzare le differenze nel modo di parlare, lingua ecc.
High-level: vocabolario utilizzato. N-gramma come classificatore.
Vector quantization: detta anche centroid model, si serve della distorsione media con distanza euclidea per calcolare la distanza tra il vettore di test e quello di riferimento
Misture di gaussiane: modello stocastico composto da una mistura finita di componenti gaussiane multivariate
Svm: classificatore discriminante. Usato sia per spectral che per prosodic features. Classe di vettori dello speaker e un’altra classe consiste in vettori provenienti da impostori. Iperpiano separato che massimizza il margine di separazione tra le classi
Mel: scala psicofisica che ha come obiettivo una rappresentazione delle altezze dei suoni coerente con la percezione umana.
Conversione di frequenze in scala Mel e creazione dell’immagine.
Bark: conversione in scala Bark
Segmenti: tempo preso in considerazione per la