SlideShare ist ein Scribd-Unternehmen logo
1 von 10
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
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
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
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
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.
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
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
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
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
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à.

Weitere ähnliche Inhalte

Ähnlich wie Progettazione e implementazione di un algoritmo per la speaker recognition in un contesto text indipendent

Data Profiling with Metanome
Data Profiling with MetanomeData Profiling with Metanome
Data Profiling with MetanomeMatteo Senardi
 
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...Luigiantonio Ionio
 
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...Marco Potok
 
Text_to_text__Come_ragionare_con_le_AI_-_Human_Singularity.pdf
Text_to_text__Come_ragionare_con_le_AI_-_Human_Singularity.pdfText_to_text__Come_ragionare_con_le_AI_-_Human_Singularity.pdf
Text_to_text__Come_ragionare_con_le_AI_-_Human_Singularity.pdfHuman Singularity
 
Tecniche basate su machine learning per la determinazione del profilo di un a...
Tecniche basate su machine learning per la determinazione del profilo di un a...Tecniche basate su machine learning per la determinazione del profilo di un a...
Tecniche basate su machine learning per la determinazione del profilo di un a...kylanee
 
Sviluppo di metodi per la sorveglianza acustica in ambienti urbani
Sviluppo di metodi per la sorveglianza acustica in ambienti urbaniSviluppo di metodi per la sorveglianza acustica in ambienti urbani
Sviluppo di metodi per la sorveglianza acustica in ambienti urbaniDavid158026
 
Progetto e realizzazione di uno strumento per la modifica sistematica di codi...
Progetto e realizzazione di uno strumento per la modifica sistematica di codi...Progetto e realizzazione di uno strumento per la modifica sistematica di codi...
Progetto e realizzazione di uno strumento per la modifica sistematica di codi...Università degli Studi di Trieste
 
Progettazione e sviluppo di interfaccia in Natural Language Generation per la...
Progettazione e sviluppo di interfaccia in Natural Language Generation per la...Progettazione e sviluppo di interfaccia in Natural Language Generation per la...
Progettazione e sviluppo di interfaccia in Natural Language Generation per la...Giovanni Moglia
 
Riconoscimento vocale v1.4
Riconoscimento vocale v1.4Riconoscimento vocale v1.4
Riconoscimento vocale v1.4Felice Lombardi
 
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Stefano Costanzo
 
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...Francesco Komauli
 
Tecniche di image forsensic per l’identificazione della sorgente
Tecniche di image forsensic per l’identificazione della sorgenteTecniche di image forsensic per l’identificazione della sorgente
Tecniche di image forsensic per l’identificazione della sorgenteICL - Image Communication Laboratory
 
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...Marco Potok
 
Langue&parole traduzione automatica e post-editing 2015 finale
Langue&parole   traduzione automatica e post-editing 2015 finaleLangue&parole   traduzione automatica e post-editing 2015 finale
Langue&parole traduzione automatica e post-editing 2015 finaleIsabella Massardo
 
Conversione diretta ed inversa tra automi a stati non definiti (nfa) ed espre...
Conversione diretta ed inversa tra automi a stati non definiti (nfa) ed espre...Conversione diretta ed inversa tra automi a stati non definiti (nfa) ed espre...
Conversione diretta ed inversa tra automi a stati non definiti (nfa) ed espre...Paolo Oltramonti
 

Ähnlich wie Progettazione e implementazione di un algoritmo per la speaker recognition in un contesto text indipendent (17)

Data Profiling with Metanome
Data Profiling with MetanomeData Profiling with Metanome
Data Profiling with Metanome
 
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...
 
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
 
Text_to_text__Come_ragionare_con_le_AI_-_Human_Singularity.pdf
Text_to_text__Come_ragionare_con_le_AI_-_Human_Singularity.pdfText_to_text__Come_ragionare_con_le_AI_-_Human_Singularity.pdf
Text_to_text__Come_ragionare_con_le_AI_-_Human_Singularity.pdf
 
Tecniche basate su machine learning per la determinazione del profilo di un a...
Tecniche basate su machine learning per la determinazione del profilo di un a...Tecniche basate su machine learning per la determinazione del profilo di un a...
Tecniche basate su machine learning per la determinazione del profilo di un a...
 
Sviluppo di metodi per la sorveglianza acustica in ambienti urbani
Sviluppo di metodi per la sorveglianza acustica in ambienti urbaniSviluppo di metodi per la sorveglianza acustica in ambienti urbani
Sviluppo di metodi per la sorveglianza acustica in ambienti urbani
 
Progetto e realizzazione di uno strumento per la modifica sistematica di codi...
Progetto e realizzazione di uno strumento per la modifica sistematica di codi...Progetto e realizzazione di uno strumento per la modifica sistematica di codi...
Progetto e realizzazione di uno strumento per la modifica sistematica di codi...
 
Oltre il contenuto: tecnologie linguistico-computazionali per l’analisi della...
Oltre il contenuto: tecnologie linguistico-computazionali per l’analisi della...Oltre il contenuto: tecnologie linguistico-computazionali per l’analisi della...
Oltre il contenuto: tecnologie linguistico-computazionali per l’analisi della...
 
Progettazione e sviluppo di interfaccia in Natural Language Generation per la...
Progettazione e sviluppo di interfaccia in Natural Language Generation per la...Progettazione e sviluppo di interfaccia in Natural Language Generation per la...
Progettazione e sviluppo di interfaccia in Natural Language Generation per la...
 
Riconoscimento vocale v1.4
Riconoscimento vocale v1.4Riconoscimento vocale v1.4
Riconoscimento vocale v1.4
 
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
 
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
 
Tecniche di image forsensic per l’identificazione della sorgente
Tecniche di image forsensic per l’identificazione della sorgenteTecniche di image forsensic per l’identificazione della sorgente
Tecniche di image forsensic per l’identificazione della sorgente
 
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
 
Sentiment candida 27_may
Sentiment candida 27_maySentiment candida 27_may
Sentiment candida 27_may
 
Langue&parole traduzione automatica e post-editing 2015 finale
Langue&parole   traduzione automatica e post-editing 2015 finaleLangue&parole   traduzione automatica e post-editing 2015 finale
Langue&parole traduzione automatica e post-editing 2015 finale
 
Conversione diretta ed inversa tra automi a stati non definiti (nfa) ed espre...
Conversione diretta ed inversa tra automi a stati non definiti (nfa) ed espre...Conversione diretta ed inversa tra automi a stati non definiti (nfa) ed espre...
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

  1. 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
  2. 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
  3. EER: valore per il quale FAR e FRR coincidono