• Nenhum resultado encontrado

Desenvolvimento de um programa de verificação de locutor usando como entrada para HMMs parâmetros extraı́dos do sinal de voz e do sinal glotal na emissão de palavras contendo conjuntamente sons vozeados e não-vozeados

N/A
N/A
Protected

Academic year: 2021

Share "Desenvolvimento de um programa de verificação de locutor usando como entrada para HMMs parâmetros extraı́dos do sinal de voz e do sinal glotal na emissão de palavras contendo conjuntamente sons vozeados e não-vozeados"

Copied!
113
0
0

Texto

(1)

Escola de Engenharia

Curso de Gradua¸

ao em Engenharia de

Telecomunica¸

oes

Raiane Lima dos Santos

Renato Ramos d’Oliveira

Desenvolvimento de um programa de verifica¸c˜

ao de

locutor usando como entrada para HMMs parˆ

ametros

extra´ıdos do sinal de voz e do sinal glotal na emiss˜

ao

de palavras contendo conjuntamente sons vozeados e

ao-vozeados

Niter´

oi – RJ

2018

(2)

Raiane Lima dos Santos

Renato Ramos d’Oliveira

Desenvolvimento de um programa de verifica¸c˜ao de locutor usando como entrada para HMMs parˆametros extra´ıdos do sinal de voz e do sinal glotal na emiss˜ao de palavras

contendo conjuntamente sons vozeados e n˜ao-vozeados

Trabalho de Conclus˜ao de Curso apresentado ao Curso de Gradua¸c˜ao em Engenharia de

Teleco-munica¸c˜oes da Universidade Federal Fluminense, como requisito parcial para obten¸c˜ao do Grau de

Engenheiro de Telecomunica¸c˜oes.

Orientador: Edson Luiz Cataldo Ferreira

Niter´oi – RJ

(3)

.

(4)

Raiane Lima dos Santos

Renato Ramos d’Oliveira

Desenvolvimento de um programa de verifica¸c˜ao de locutor usando como entrada para HMMs parˆametros extra´ıdos do sinal de voz e do sinal glotal na emiss˜ao de palavras

contendo conjuntamente sons vozeados e n˜ao-vozeados

Trabalho de Conclus˜ao de Curso apresentado ao Curso de Gradua¸c˜ao em Engenharia de

Teleco-munica¸c˜oes da Universidade Federal Fluminense, como requisito parcial para obten¸c˜ao do Grau de

Engenheiro de Telecomunica¸c˜oes.

Aprovada em 21 de novembro de 2018.

BANCA EXAMINADORA

Prof. Edson Luiz Cataldo Ferreira - Orientador Universidade Federal Fluminese - UFF

Prof. Murilo Bresciani de Carvalho Universidade Federal Fluminese - UFF

Prof. Tadeu Nagashima Ferreira Universidade Federal Fluminese - UFF

Niter´oi – RJ

(5)

Resumo

Pode-se dizer que a fala ´e o principal meio de comunica¸c˜ao do ser humano, e cada

in-div´ıduo apresenta caracter´ısticas ´unicas no seu sinal de voz, tornando-a uma assinatura. Dessa forma, a voz pode ser usada como meio de autentica¸c˜ao, por exemplo, para acesso

a sistemas de seguran¸ca. Neste trabalho, ser´a apresentado o aperfei¸coamento de um pro-grama de verifica¸c˜ao de locutor que usa parˆametros do sinal de voz, como os coeficientes

cepstrais de frequˆencia Mel (Mel Frequency Cepstrum Coefficients, MFCCs) e, tamb´em, parˆametros de tempo e de frequˆencia do sinal glotal (sinal obtido imediatamente ap´os a

passagem do ar pelas cordas vocais). Esses parˆametros s˜ao entradas para HMMs (Mode-los Ocultos de Markov-Hidden Markov Models) permitindo a constru¸c˜ao de um modelo

estoc´astico para a voz do locutor. Duas grandes contribui¸c˜oes s˜ao obtidas com esse traba-lho: a adi¸c˜ao de novos parˆametros de tempo extra´ıdos do sinal glotal e, principalmente,

a utiliza¸c˜ao de palavras completas, considerando sons vozeados e n˜ao vozeados na mesma palavra. Os resultados obtidos com a adi¸c˜ao dos novos parˆametros de tempo mostraram

melhora no sistema de verifica¸c˜ao e a adapta¸c˜ao do programa para palavras completas mostram ser poss´ıvel a considera¸c˜ao dos parˆametros do sinal glotal para a melhora do

sistema de verifica¸c˜ao, n˜ao apenas para sons vozeados, como anteriormente, mas tamb´em para sons n˜ao-vozeados, considerado como o grande diferencial do trabalho.

Palavras-chave: sinal glotal, MFCC, HMM, sinal de voz, verifica¸c˜ao de locutor,

(6)

Abstract

One can say that speech is the main means of communication of human beings and the

voice of each person has particular characteristics which turns it into a signature. Con-sequently, voice signals can be used as authentication, for example, to access security

systems. In this work, the improvement of a speaker verification system is presented using parameters extracted from the voice signal, as the MFCCs (Mel Frequency

Ceps-trum Coefficients) and also time and frequency parameters extracted from the glottal signal (signal obtained immediately after airflow passing through the vocal folds). These

parameters are inputs for HMMs (Hidden Markov Models) allowing the construction of a stochastic model of the speaker voice. Two great contributions are obtained with this

work: the additon of new time parameters extracted from the glottal signal and, mainly, the use of complete words, considering voiced and unvoiced sounds in the same word. The

results obtained with the adding of the new parameters showed improvement in the veri-fication system. The adaptation of the program for complete words showed it is possible

to consider the glottal signal parameters to improve the system, not only voiced sounds, as previously done, but also unvoiced sounds, considered the greater differential of the

work.

Keywords: glottal signal, MFCC, HMM, voice signal, speaker verification, complete words.

(7)

Dedicamos esse trabalho a Deus e aos nossos

(8)

Agradecimentos

A Deus por ter me amparado e me mantido firme no meu prop´osito.

Aos meus pais, K´atia e Francisco, que s˜ao os respons´aveis diretos pelo meu sucesso e sempre me deram todo o suporte necess´ario durante a minha jornada na faculdade. Sem

vocˆes tenho a plena certeza de que n˜ao estaria aqui hoje.

Ao meu noivo, Ramiro, que me acompanhou durante toda essa jornada sendo meu

melhor amigo, companheiro e incentivador, aconselhando-me sempre que o desˆanimo batia e entendendo a minha ausˆencia devido aos estudos.

Ao meu orientador, Edson, que sempre esteve dispon´ıvel para tirar as d´uvidas e soube nos conduzir muito bem na produ¸c˜ao desse trabalho, dando todo o suporte

neces-s´ario.

Aos professores queridos, Tadeu, Murilo, Leni, Ricardo, Nat´alia, Jacqueline, Pedro,

Tarc´ısio e Ren´e que sempre estiveram dispostos a ensinar e compartilhar o seu conheci-mento, e que sem d´uvida foram fundamentais na minha forma¸c˜ao. Vocˆes s˜ao inspira¸c˜oes

que vou levar para o resto da vida.

Ao meu amigo, Renato, pela parceria e horas de dedica¸c˜ao nesse trabalho.

Agra-de¸co pela confian¸ca, paciˆencia e oportunidade de termos essa troca de conhecimentos. Aos meus amigos e familiares, que me apoiaram durante toda essa trajet´oria e

dividiram comigo os sucessos e derrotas, pois sempre estavam torcendo por mim.

Ao CNPQ e `a FAPERJ, pela ajuda financeira, atrav´es de bolsa, durante o per´ıodo

da inicia¸c˜ao cient´ıfica.

(9)

Aos meus pais, Denise e S´ergio, por me educarem e me ampararem durante toda

a minha vida e terem possibilitado que eu me tornasse a pessoa que sou hoje. Agrade¸co a imensa paciˆencia, o carinho e ternura que dedicaram a mim todo esse tempo.

Aos meus familiares que me apoiaram durante toda a minha trajet´oria de vida. Ao meu orientador e professor, Edson, que me possibilitou ingressar nessa pesquisa

e me orientou durante todo o processo de elabora¸c˜ao desse trabalho.

Aos professores dessa faculdade que colaboraram na minha forma¸c˜ao acadˆemica e

me ajudaram a abrir novos horizontes.

Aos diversos amigos que me acompanharam durante a faculdade, em especial a

Raiane, pelo empenho e dedica¸c˜ao na realiza¸c˜ao desse trabalho. A Deus por estar sempre olhando por mim.

(10)

Lista de Figuras

2.1 Aparelho Fonador[4] . . . 4

2.2 Sinal glotal (fluxo glotal). [5] . . . 5

2.3 Diagrama de blocos do algoritmo IAIF [5]. . . 6

2.4 Espectro de um pulso glotal [5]. . . 9

2.5 Rela¸c˜ao entre a escala Mel e a de frequˆencias em Hertz. . . 12

2.6 Obten¸c˜ao dos coeficientes MFCC a partir de um banco de filtros [10]. . . 14

3.1 Locutor impostor a esquerda e locutor de interesse a direita . . . 31

3.2 Determina¸c˜ao do limiar pela interse¸c˜ao dos gr´aficos da densidade de pro-babilidade dos logaritmos das verossimilhan¸cas [3]. . . 32

3.3 Curva de FAR e FRR para a determina¸c˜ao do limiar 3. [3] . . . 34

3.4 L´ogica sequencial para o algoritmo. . . 35

3.5 Sinal glotal com palavra, contendo trechos n˜ao vozeados. . . 38

3.6 Sinal de voz dividido em janelas, demarcadas atrav´es dos pontos vermelhos. 42 4.1 Vis˜ao geral do algoritmo de verifica¸c˜ao do locutor. . . 45

4.2 Curva de referˆencia do primeiro locutor de interesse em azul e curva de teste do locutor impostor 3 em vermelho. . . 47

4.3 Curva de referˆencia do primeiro locutor de interesse masculino em azul e curva de teste do primeiro locutor de interesse masculino em vermelho. . . 47

4.4 Curva de referˆencia do segundo locutor de interesse masculino em azul e curva de teste do locutor impostor 2 em vermelho. . . 48

4.5 Curva de referˆencia do segundo locutor de interesse masculino em azul e curva de teste do segundo locutor de interesse em vermelho. . . 48

4.6 Curva de referˆencia do segundo locutor de interesse feminino em azul e curva de teste do quarto locutor de interesse em vermelho. . . 50

(11)

4.7 Curva de referˆencia do segundo locutor de interesse feminino em azul e

curva de teste do segundo locutor de interesse feminino em vermelho. . . . 50 4.8 Curva de referˆencia do segundo locutor de interesse feminino em azul e

curva de teste do segundo locutor de interesse feminino em vermelho. . . . 51 4.9 Taxas de erro em rela¸c˜ao `a base treinada para o primeiro locutor de interesse

masculino. . . 52 4.10 Taxas de erro em rela¸c˜ao a base treinada para o segundo locutor de interesse

masculino . . . 53 4.11 Taxas de erro em rela¸c˜ao a base treinada para o primero locutor de interesse

feminino . . . 54 4.12 Taxas de erro em rela¸c˜ao a base treinada para o segundo locutor de interesse

feminino . . . 54 4.13 Erros percentuais usando o m´etodo de recorte dos trechos n˜ao vozeados. . . 57

4.14 Erros em rela¸c˜ao a base treinada para o locutor de interesse masculino. . . 59 4.15 Erros em rela¸c˜ao a base treinada para o locutor de interesse feminino. . . . 60

4.16 Erros em rela¸c˜ao a base treinada para o locutor de interesse masculino com adi¸c˜ao dos parˆametros de tempo. . . 60

4.17 Erros em rela¸c˜ao a base treinada para o locutor de interesse feminino com adi¸c˜ao dos parˆametros de tempo. . . 61

4.18 Erros em rela¸c˜ao a base treinada para o segundo locutor de interesse mas-culino para a sequˆencia de vogais “aui‘”. . . 63

4.19 Erros em rela¸c˜ao a base treinada para o primeiro locutor de interesse femi-nino para a sequˆencia de vogais “aui‘”. . . 63

4.20 Erros em rela¸c˜ao a base treinada para o primeiro locutor de interesse femi-nino para a palavra autom´atico. . . 64

4.21 Erros em rela¸c˜ao a base treinada para o primeiro locutor de interesse femi-nino para a palavra autom´atico. . . 64

(12)

Lista de Tabelas

4.1 Coeficiente L1 para o primeiro locutor de interesse masculino de acordo

com a combina¸c˜ao de parˆametros. . . 46 4.2 Coeficiente L1para o segundo locutor de interesse masculino de acordo com

a combina¸c˜ao de parˆametros. . . 46 4.3 Coeficiente L1 para o primeiro locutor de interesse feminino de acordo com

a combina¸c˜ao de parˆametros. . . 49 4.4 Coeficiente L1 para o segundo locutor de interesse feminino de acordo com

(13)

Sum´

ario

Resumo iv Abstract v Agradecimentos vii Lista de Figuras x Lista de Tabelas xi 1 Introdu¸c˜ao 1 1.1 Objetivos . . . 3

2 Aspectos te´oricos 4 2.1 O aparelho fonador humano . . . 4

2.1.1 O sinal glotal . . . 5

2.1.2 Parˆametros no dom´ınio do tempo e da amplitude . . . 7

2.1.3 Parˆametros no dom´ınio da frequˆencia . . . 9

2.1.4 Parˆametros extra´ıdos do sinal de voz . . . 10

2.2 Coeficientes Mel cepstrais (MFCCs) . . . 12

2.2.1 Escala Mel . . . 12

2.2.2 C´alculos dos MFCCs . . . 13

2.3 Modelos ocultos de Markov (HMMs) . . . 14

2.3.1 Cadeias de Markov . . . 15

2.3.2 Defini¸c˜ao . . . 16

2.3.3 Terminologia . . . 16

2.3.4 Trˆes problemas fundamentais . . . 17

(14)

2.3.5 Calculando P (O|λ) . . . 17

2.3.6 Decodificando estados escondidos . . . 19

2.3.7 Ajuste dos parˆametros do modelo . . . 22

3 Metodologia e implementa¸c˜ao 27 3.1 Estrutura geral do c´odigo . . . 28

3.2 Crit´erios de decis˜ao . . . 30

3.2.1 Coeficiente L1 . . . 31

3.2.2 Limiar 1 . . . 32

3.2.3 Limiar 2 . . . 32

3.2.4 Limiar 3 . . . 33

3.3 Parˆametros de tempo em sequˆencia de vogais . . . 33

3.3.1 Melhoria na implementa¸c˜ao do fxrapt . . . 34

3.3.2 Ajustes no c´odigo . . . 36

3.3.3 C´alculo dos instantes de tempo . . . 36

3.3.4 C´alculo dos parˆametros . . . 37

3.4 Adapta¸c˜ao do c´odigo para utiliza¸c˜ao de palavras . . . 38

3.4.1 Recorte de trechos n˜ao vozeados . . . 39

3.4.2 Divis˜ao do ´audio em trechos vozeados e n˜ao vozeados . . . 41

4 An´alise dos Resultados 44 4.1 Adi¸c˜ao de parˆametros de tempo para a sequˆencia de vogais . . . 45

4.1.1 Crit´erio do coeficiente L1 . . . 46

4.1.2 Crit´erio dos limiares de decis˜ao . . . 52

4.2 Adapta¸c˜ao do c´odigo para palavras . . . 55

4.2.1 Testes com m´etodo de recorte . . . 56

4.2.2 Resultados para o m´etodo de divis˜ao do sinal em trechos vozeados e n˜ao vozeados . . . 57

4.3 Resumo dos melhores resultados . . . 62

5 Conclus˜oes e trabalhos futuros 65

(15)
(16)

Cap´ıtulo 1

Introdu¸

ao

O processo de produ¸c˜ao da voz ´e fascinante e ao mesmo tempo muito complexo, pois

envolve v´arios ´org˜aos do aparelho fonador humano. ´E atrav´es da pron´uncia das palavras que o ser humano se comunica com o mundo e expressa seus sentimentos e desejos. Por

isso, existe uma grande ´area de pesquisa com a finalidade de estudar e caracterizar a fala humana, ela cont´em muitas informa¸c˜oes sobre o locutor que, para a finalidade do nosso

trabalho fazem toda a diferen¸ca. Um estudo completo sobre o processo de produ¸c˜ao de voz, desde a anatomia do aparelho fonador at´e a dete¸c˜ao de patologias, pode ser encontrado

em Principles of Voice Production [1].

Um sinal de voz possui caracter´ısticas tais que um modelo determin´ıstico ´e

insufi-ciente para model´a-lo adequadamente. Contudo a partir de um conjunto de sequˆencias de ´

audio obtidas de diferentes locu¸c˜oes ´e poss´ıvel construir um modelo estoc´astico que pode

ser usado para o desenvolvimento de algoritmos de identifica¸c˜ao de locutor. O aparelho fonador humano ´e composto de uma anatomia complexa que transforma o fluxo de ar

que sai do pulm˜ao em ondas sonoras. Gra¸cas a esse processo, `as dimens˜oes e `as densida-des das estruturas anatˆomicas, o sinal de voz carrega muitas informa¸c˜oes ´unicas sobre o

seu locutor que permitir˜ao que o modelo diferencie um locutor de interesse de locutores impostores.

A procura por novos meios de autentica¸c˜ao de usu´arios em computadores e dis-positivos m´oveis fez surgir diversas maneiras de se verificar a identidade de uma pessoa

sem a utiliza¸c˜ao de senhas, como por exemplo, o uso da biometria para verifica¸c˜ao por impress˜oes digitais. Nesse contexto, o uso da voz para verifica¸c˜ao se faz bastante

(17)

certas caracter´ısticas da pessoa, podendo usar os pr´oprios microfones j´a embutidos nos

aparelhos atualmente.

Al´em da verifica¸c˜ao de locutor, existem muitas aplica¸c˜oes que utilizam a voz devido

`

as suas caracter´ısticas e `a sua importˆancia. Podemos citar, por exemplo, a cria¸c˜ao digital da voz, o reconhecimento de locutor, a identifica¸c˜ao de patologias relacionadas aos org˜aos

fonadores, a comunica¸c˜ao homem-m´aquina, entre outros.

Os primeiros trabalhos sobre m´aquinas capazes de reconhecer caracter´ısticas da

voz com certo sucesso surgiram na d´ecada de 50 [2], mas este campo de pesquisa evoluiu bastante nas d´ecadas seguintes gra¸cas `as ferramentas mais robustas desenvolvidas em

computadores digitais. Pode-se dizer que a an´alise de sinais ac´usticos digitalizados ´e a precursora das outras modalidades de processamento digital de sinais como processamento

de v´ıdeo, existindo uma vasta literatura a respeito das t´ecnicas envolvidas.

O HMM ´e um modelo usado para reconhecer padr˜oes com caracter´ısticas

esto-c´asticas por meio de alguns parˆametros observ´aveis que influenciam de forma indireta o modelo. Os observ´aveis comumente usados no modelo e vistos na literatura s˜ao os

coefici-entes cepstrais de frequˆencia mel (Mel Frequency Cepstral Coefficients - MFCC) que s˜ao obtidos por meio das amplitudes do espectro de potˆencia janelado por filtros triangulares.

Esses sinais carregam caracter´ısticas essenciais do sinal de voz e s˜ao a base do modelo de reconhecimento usado. Busca-se implementar um m´etodo matem´atico estoc´astico capaz

de obter as caracter´ısticas ´unicas do locutor e realizar a verifica¸c˜ao, baseado no uso de algoritmos para implementa¸c˜ao do Modelo Oculto de Markov (Hidden Markov Model

-HMM).

No Cap´ıtulo 1 ´e feita uma introdu¸c˜ao ao tema e s˜ao descritos os objetivos deste

trabalho. Em seguida, no Cap´ıtulo 2, s˜ao apresentados os fundamentos te´oricos tais como: (i) a produ¸c˜ao do sinal de voz; (ii) obten¸c˜ao do sinal glotal e extra¸c˜ao dos seus

parˆametros; (iii) fundamentos e c´alculo dos MFCCs e (iv) defini¸c˜ao de HMMs e seus problemas fundamentais. Nos Cap´ıtulos 3 e 4, ´e discutida a metodologia utilizada e os

resultados obtidos ao aplicar tal metodologia. No Cap´ıtulo 5, s˜ao feitas as conclus˜oes sobre tudo que foi desenvolvido na realiza¸c˜ao do trabalho e tamb´em sugeridos trabalhos

(18)

1.1

Objetivos

Esse trabalho ´e uma continua¸c˜ao do trabalho de conclus˜ao de curso desenvolvido por

Carla Schueler Florentino e Filipe Moreira da Silva, orientado pelo prof. Edson Cataldo[3]. Naquele trabalho, a verifica¸c˜ao de locutor foi realizada usando apenas sequˆencias de vogais

e foi mostrado que a verifica¸c˜ao de locutor melhora consideravelmente quando parˆametros do sinal glotal s˜ao incorporados aos vetores de entrada dos HMMs.

Neste trabalho, o estudo ´e estendido do seguinte modo: (i) aumentando o n´umero de parˆametros extra´ıdos do sinal glotal, (ii) adicionando outros parˆametros obtidos a

partir do sinal de voz e do sinal glotal e, principalmente, (iii) considerando o caso de palavras, misturando vogais e consoantes. Para isso s˜ao utilizados alguns observ´aveis

adicionais para o HMM, buscando diminuir o erro percentual de verifica¸c˜ao. Para alcan¸car os objetivos descritos foram realizadas tamb´em algumas contribui¸c˜oes para o trabalho,

entre elas a melhoria do algoritmo fxrapt para an´alise completa do sinal, o desenvolvimento de algoritmos para c´alculo de instantes de tempo do sinal glotal e o desenvolvimento do

(19)

Cap´ıtulo 2

Aspectos te´

oricos

2.1

O aparelho fonador humano

Para a realiza¸c˜ao deste trabalho foi muito importante entender e aprender como ocorre

o processo de produ¸c˜ao da voz. Al´em de tudo, entender que para cada ser humano esse mesmo processo ocorre de maneira ´unica e, por isso, ´e poss´ıvel distinguir um locutor de

interesse dos impostores. O aparelho fonador humano ´e o conjunto de ´org˜aos respons´aveis pela produ¸c˜ao de voz e pode ser dividido em trˆes partes: (i) pulm˜oes, brˆonquios e traqu´eia,

´

org˜aos respirat´orios que fornecem a corrente de ar para a fona¸c˜ao; (ii) laringe, onde se localizam as cordas vocais, que produzem a energia sonora utilizada na fona¸c˜ao; (iii)

faringe, boca e fossas nasais que funcionam como caixas de ressonˆancia (Fig. 2.1).

Figura 2.1: Aparelho Fonador[4]

O fluxo de ar proveniente dos pulm˜oes, ap´os passar pela laringe, produz um sinal

(quase) peri´odico chamado sinal glotal e, ao passar pela faringe, pela l´ıngua, pelos dentes, pelos l´abios e pelas fossas nasais, esse sinal ´e filtrado e amplificado, gerando o som da fala.

(20)

Um dos ´org˜aos de maior importˆancia para a produ¸c˜ao de voz ´e a laringe, onde est˜ao

localizadas as cordas vocais. Ao falar, as cordas vocais fazem um movimento de “abre-e-fecha” em uma frequˆencia fundamental que produz uma onda sonora quase peri´odica. Esse

movimento n˜ao acontece ao assobiar, por exemplo, que produz um fluxo de ar irregular de v´arias frequˆencias, chamado som de banda larga. Assim, podemos dividir a fala em

sonora, quando as cordas vibram, e n˜ao-sonora.

Os ´org˜aos do aparelho fonador por onde passa o sinal glotal funcionam como uma

caixa de ressonˆancia, ou seja, alteram a quantidade de energia em fun¸c˜ao da frequˆencia do sinal, permitindo que algumas frequˆencias sejam enfatizadas enquanto outras s˜ao

atenu-adas. Portanto, a fun¸c˜ao resposta em frequˆencia do filtro (trato vocal) depende da vogal a ser produzida.

2.1.1

O sinal glotal

Dado que o processo da fala se baseia na filtragem do sinal glotal para formar as ondas sonoras, suas caracter´ısticas passam a ser de extrema importˆancia para o estudo da voz.

O trecho de um sinal glotal est´a representado na Fig. 2.2.

Figura 2.2: Sinal glotal (fluxo glotal). [5]

Como j´a foi dito, o sinal glotal ´e um sinal (quase) peri´odico com uma frequˆencia

fundamental chamada, comumente, de f0. Ao se mover em dire¸c˜ao `a boca, o sinal encontra

certas obstru¸c˜oes que podemos modelar como impedˆancias que causam ressonˆancias em

certos harmˆonicos do sinal glotal. Como os parˆametros das impedˆancias variam de acordo com o movimento da l´ıngua e dos dentes, por exemplo, eles se tornam importantes para

(21)

determinar certas caracter´ısticas do locutor.

Para determinar os parˆametros relacionados ao locutor, ´e preciso, primeiramente, recuperar o sinal glotal[6]. Inicialmente, tenta-se remover os efeitos da filtragem causada

pelo aparelho fonador no sinal de voz. Para realizar a filtragem inversa, utiliza-se o algoritmo IAIF (Iterative Adaptive Inverse Filtering) que ´e um m´etodo de filtragem inversa

semi-autom´atico e que utiliza um sinal de press˜ao de fala como entrada, gerando uma estimativa do sinal glotal correspondente. O procedimento tem trˆes partes fundamentais:

an´alise, filtragem e integra¸c˜ao. A contribui¸c˜ao glotal para o espectro de fala ´e inicialmente estimada usando uma estrutura iterativa. Esta contribui¸c˜ao ´e anulada e, ent˜ao, a resposta

em frequˆencia do trato vocal ´e constru´ıda. Finalmente, a excita¸c˜ao glotal ´e estimada anulando os efeitos do trato vocal (usando filtragem inversa) e a radia¸c˜ao labial (por

integra¸c˜ao). Um esquema do modelo de filtragem inversa utilizado nesta abordagem ´e mostrado na Fig. 2.3.

Figura 2.3: Diagrama de blocos do algoritmo IAIF [5].

O algoritmo foi alterado, posteriormente, substituindo a an´alise preditiva linear convencional (LPC) pelo m´etodo discreto de modela¸c˜ao de todos os p´olos (DAP)[7][8],

(22)

por´em nesse trabalho, ainda utilizamos o modelo de predi¸c˜ao linear. Na Figura 2.3, ´e

poss´ıvel observar o diagrama de blocos desse modelo com suas respectivas etapas.

Primeiramente, o sinal de fala ´e janelado e, ent˜ao, ´e utilizado um filtro passa-altas

de resposta ao impulso finita de fase linear (FIR) com uma frequˆencia de corte de 60 Hz para eliminar flutua¸c˜oes de baixa frequˆencia e polariza¸c˜ao de corrente cont´ınua. Esse sinal

filtrado de alta frequˆencia ´e utilizado como entrada para os pr´oximos est´agios. No bloco 1, o ajuste LPC de ordem 1 ´e utilizado para calcular a contribui¸c˜ao do pulso glotal para o

sinal da fala. No bloco 2, este coeficiente de ordem LPC 1 que simboliza a for¸ca do pulso glotal no sinal ´e utilizado para construir um filtro inverso que ´e aplicado para anular o

efeito glotal do sinal de fala original. Assim, a entrada para o bloco 3 representa o sinal de fala com a componente de fluxo glotal filtrada. Em seguida, no bloco 3, o ajuste de LPC

12 ´e utilizado para capturar o efeito do filtro de trato vocal em termos de coeficientes de filtro. A ordem 12 ´e escolhida de acordo com o n´umero de frequˆencias formantes, maior

que o n´umero duplo de formantes considerado para a an´alise. No bloco 4, o efeito do filtro do trato vocal ´e removido do sinal de voz original, por filtragem inversa. O efeito

deste bloco consiste no efeito do fluxo glotal e do efeito da radia¸c˜ao labial. Assim, para limpar a quest˜ao da radia¸c˜ao, ´e utilizado, no bloco 5, um integrador com fuga (com um

valor de coeficiente superior a 0,9 e menor que 1), que remove o efeito de radia¸c˜ao labial do fluxo obtido ap´os o bloco 4. A sa´ıda do bloco 5 ´e a primeira estimativa do pulso glotal.

A segunda repeti¸c˜ao funciona de forma an´aloga. A sa´ıda do bloco 10 ´e a estimativa do pulso glotal do sinal de voz original[5].

2.1.2

Parˆ

ametros no dom´ınio do tempo e da amplitude

Os parˆametros do sinal glotal trazem muitas informa¸c˜oes para serem utilizadas em aplica-¸c˜oes m´edicas. Eles podem ser divididos em trˆes partes: parˆametros no dom´ınio do tempo

e amplitude, parˆametros no dom´ınio da frequˆencia e parˆametros de deriva¸c˜ao do sinal glotal (LF).

Os parˆametros no dom´ınio do tempo e da amplitude do sinal glotal s˜ao extra´ıdos (calculados) a partir de amostras em alguns instantes de tempo. Esses instantes podem

ser especificados usando o sinal glotal e sua derivada. Esses instantes s˜ao:

(23)

• tmax - Instante de tempo em que ocorre o valor m´aximo do sinal glotal;

• tmin - Instante de tempo em que ocorre o valor m´ınimo do sinal glotal;

• Aac - Diferen¸ca entre a amplitude m´axima e m´ınima do sinal glotal;

• tc- Instante de fechamento de duas cordas vocais. Pode ser definido como o instante

de tempo em que a primeira derivada do pulso glotal cruza o zero depois de um ponto

de m´ınimo;

• to1 e to2 - Instantes de abertura. Para calcular to1, primeiro considere o instante de

tempo em que a amplitude ´e 10% ao lado esquerdo do instante tmax. Ainda ao lado

esquerdo desse ponto, procure o instante em que o pulso glotal derivativo cruzar o zero no sentido positivo. Esse ´e o ponto to1. Para obter to2, marque o instante de

tempo que ´e 5% maior que to1 e procure o valor m´aximo positivo do segundo pulso

glotal derivativo. Esse ´e o instante to2;

• tqc e tqo - Instantes de tempo em que a amplitude do sinal ´e 50% da amplitude pico

a pico Aac.

Todos os instantes acima s˜ao calculados com base no valor de tmax. E baseados

nesses instantes, podemos calcular alguns parˆametros importantes:

• OQ (Open Quotient) - Mede o tempo de abertura com rela¸c˜ao ao per´ıodo do pulso. Pode ser dividido em OQ1 e OQ2:

OQ1 = (tc− to1) T ; (2.1) OQ2 = (tc− to2) T . (2.2)

• SQ (Speed Quotient) - Mede a rela¸c˜ao entre o instante de abertura e o instante de fechamento. Pode ser divido em SQ1 e SQ2:

SQ1 = (tmax− to1) (tc− tmax) ; (2.3) SQ2 = (tmax− to2) (tc− tmax) . (2.4)

• CIQ (Closing Quotient) - ´E a raz˜ao entre o per´ıodo de fechamento e o per´ıodo T: CIQ = (tc− tmax)

(24)

• AQ (Amplitude Quotient) - ´E a raz˜ao entre o valor pico a pico do pulso glotal e a amplitude m´ınima do pulso glotal derivativo:

AQ = Aac Admin

. (2.6)

• NAQ (Normalized Amplitude Quotient) - ´E o valor de AQ normalizado que pode ser calculado dividindo o valor de AQ pelo per´ıodo T:

N AQ = AQ

T . (2.7)

• QOQ (Quasiopen Quotient) - ´E o mesmo que OQ, por´em ´e calculado por meio de tqc e tqo em rela¸c˜ao a dura¸c˜ao do per´ıodo:

QOQ = (tqc− tqo)

T . (2.8)

• OQa - ´E o equivalente de OQ para amplitudes:

OQa= Aac( π Admax + 1 Admin )fo. (2.9)

2.1.3

Parˆ

ametros no dom´ınio da frequˆ

encia

Para estimar os parˆametros no dom´ınio da frequˆencia do sinal glotal, ´e preciso considerar a densidade espectral de potˆencia do pulso glotal, como na Fig.2.4.

Figura 2.4: Espectro de um pulso glotal [5].

Existem dois desses parˆametros do pulso glotal que interessam para o nosso estudo. O primeiro ´e H1− H2 ou dH12 que ´e a diferen¸ca entre o primeiro e o segundo harmˆonicos

(25)

da forma de onda da densidade espectral de frequˆencia do sinal glotal, em decibel, e

o segundo ´e o fator de riqueza harmˆonico (HRF), conforme ´e mostrado na Eq. 2.10, que ´e definido como a raz˜ao entre as somas das amplitudes dos harmˆonicos acima da

frequˆencia fundamental e a magnitude da frequˆencia fundamental ou o primeiro harmˆonico em decib´eis: HRF = P r≥2Hr H1 . (2.10)

2.1.4

Parˆ

ametros extra´ıdos do sinal de voz

Para analisar o sinal glotal, ´e necess´ario aplicar v´arios algoritmos para extrair seus parˆ a-metros a cada ciclo glotal:

• Fun¸c˜ao de autocorrela¸c˜ao determin´ıstica: ´e uma fun¸c˜ao no dom´ınio do tempo que testa a similaridade entre quadros do sinal de voz ap´os um certo per´ıodo de tempo.

Dado um sinal de voz s(n) com uma janela de comprimento N e n´umeros de quadros igual a m, podemos definir a fun¸c˜ao de autocorrela¸c˜ao para o m-´esimo quadro por:

r(m) = 1 2N + 1 N X n=−N s(n)s(n + m). (2.11)

Quando m = 0, ent˜ao a fun¸c˜ao de autocorrela¸c˜ao passa a ser fun¸c˜ao de s2(n), ou

seja, representa a energia do sinal de voz. Quando a autocorrela¸c˜ao for 1, significa que o sinal do m-´esimo quadro ´e idˆentico ao quadro atual.

• Rela¸c˜ao de harmˆonicos e ru´ıdo (HNR): ´e a diferen¸ca de energia entre a parte pe-ri´odica do sinal de voz e o ru´ıdo em decib´eis. Quando o HNR ´e 0 dB, ent˜ao a

intensidade da voz e do ru´ıdo ´e a mesma.

• Rela¸c˜ao de ru´ıdo nos harmˆonicos (NHR): ´e uma m´edia em rela¸c˜ao `as componen-tes de energia do ru´ıdo e `as componentes de energia dos harmˆonicos na banda de frequˆencias do sinal de voz. O NHR mede a quantidade de ru´ıdo na voz.

• Energia de tempo curto (STE): ´e definido como a energia de um pequeno segmento ou quadro do sinal de voz. ´E usado para diferenciar segmentos sonoros e n˜ao-sonoros

da voz. Dado um sinal s(n), uma janela w(n) e m variando de 0, N, 2N, 3N, ... n, ent˜ao:

(26)

ST E = X

n

[s(n)w(n − m)]2. (2.12)

• Entropia de energia (EE - Entropy Energy): mede as varia¸c˜oes abruptas na energia. ´

E usado para diferenciar regi˜oes de silˆencio e de fala no sinal. Para calcul´a-la,

primeiramente dividimos um quadro em K subquadros. Dado que ei seja a energia

de cada subquadro, ent˜ao:

EE = −

K−1

X

i=0

e2ilog2(e2i). (2.13)

• Taxa de cruzamento de zero (ZCR - Zero Crossing Ratio): ´e um parˆametro no dom´ınio do tempo de um sinal de voz e ´e o n´umero de vezes que o sinal cruza o eixo por segundo num determinado quadro. O valor final do ZCR ´e calculado como uma

m´edia de todos os valores de ZCR de cada quadro.

• Centroide espectral (SC): ´e usado para determinar o centro de massa do espectro do sinal de voz. ´E a frequˆencia com mais peso num quadro, onde o peso ´e a energia normalizada de cada componente de frequˆencia num determinado quadro. Pode ser

dada por: SC = PN −1 n=0 f (n)x(n) PN −1 n=0 x(n) , (2.14)

onde x(n) representa a frequˆencia com maior peso em um quadrado de n´umero n e f (n) representa a frequˆencia central naquele quadro.

• Fluxo espectral (SF - Spectral Flow): mede qu˜ao rapidamente o espectro de potˆencia varia ao longo do tempo. ´E a varia¸c˜ao do espectro de um quadro para o outro. ´E

dado por:

SF = 1

(N − 1)(K − 1)[logF (n, k) − logF (n − 1, k)]

2, (2.15)

onde F (n, k) ´e a FFT do n-´esimo frame do sinal de voz. N ´e o n´umero total de frames e K ´e a ordem da FFT.

(27)

• Jitter: ´e a medida da flutua¸c˜ao peri´odica em torno da frequˆencia fundamental. ´E afetado principalmente pela falta de controle na vibra¸c˜ao das cordas vocais. O Jitter pode ser medido como absoluto, relativo, perturba¸c˜oes m´edias e quociente de

perturba¸c˜ao de 5 pontos por per´ıodo (ppq5).

• Shimmer: ´e a medida da varia¸c˜ao peri´odica de amplitude do sinal de voz. ´E afetado principalmente pela redu¸c˜ao da tens˜ao das cordas vocais. Pode ser medido como

absoluto, relativo, perturba¸c˜ao de 3 pontos na amplitude (apq3), perturba¸c˜ao de 5 pontos na amplitude (apq5) e perturba¸c˜ao de 11 pontos na amplitude (apq11).

2.2

Coeficientes Mel cepstrais (MFCCs)

Os coeficientes cepstrais de frequˆencia mel (MFCC - Mel Frequency Cepstrum Coeficients)

s˜ao muito utilizados nas ´areas de estudos que est˜ao relacionadas ao reconhecimento de locutor e, atualmente, muitos sistemas funcionam bem com esses coeficientes, criando

robustez na presen¸ca de ru´ıdo de fundo. O uso dos MFCCs nas t´ecnicas de reconhecimento surgiu devido aos estudos da percep¸c˜ao auditiva humana, mostrando que a percep¸c˜ao das

frequˆencias de tons puros ou de sinais de voz n˜ao seguem uma escala linear, estimulando, assim, a ideia de criar uma escala (logar´ıtmica), denominada Mel.

2.2.1

Escala Mel

A escala Mel procura aproximar caracter´ısticas da sensibilidade do ouvido humano, pois verificou-se que a percep¸c˜ao de intensidade sonora humana de frequˆencias de tons puros

ou de sinais de voz n˜ao seguem uma escala linear, conforme mostra a Fig. 2.5.

Figura 2.5: Rela¸c˜ao entre a escala Mel e a de frequˆencias em Hertz.

(28)

valor medido na escala Mel. O Mel ´e uma unidade de medida de frequˆencia. Como

referˆencia, foi definida a frequˆencia de 1 kHz, com potˆencia 40 dB acima do limiar m´ınimo da audi¸c˜ao do ouvido humano, equivalendo a 1000 mels.

A convers˜ao da frequˆencia em escala linear para a escala Mel ocorre de acordo com a Eq. 2.16: Fmel = 1127ln  1 + Flinear(Hz) 700  . (2.16)

2.2.2

alculos dos MFCCs

O primeiro passo para o c´alculo dos MFCCs ´e a pr´e-enfase que ´e uma filtragem realizada para enfatizar as frequˆencias mais altas do sinal de voz, eliminando os efeitos causados

pela varia¸c˜ao da glote e da impedˆancia de radia¸c˜ao, causados pelos l´abios no processo de produ¸c˜ao da voz. Matematicamente esse filtro ´e uma transforma¸c˜ao linear aplicada

ao sinal de voz. Considerando x[n] o sinal de voz discretizado e y[n] a sa´ıda do filtro de pr´e-ˆenfase, temos a Eq. 2.17:

y[n] = x[n] − αx[n − 1]. (2.17)

A fun¸c˜ao de transferˆencia do filtro de pr´e-ˆenfase, no dom´ınio da transformada Z, ´e

dada pela Eq. 2.18, sendo α o fator de pr´e-ˆenfase, que usualmente apresenta valores entre 0,9 e 1,0 [9]:

H(z) = 1 − αz−1. (2.18)

Ap´os a filtragem de pr´e-enfase, ´e feita a divis˜ao do sinal de voz em intervalos de tempo curtos (10 a 45 ms), pois podemos considerar esses trechos como estacion´arios [9],

com superposi¸c˜ao de 50%. A divis˜ao em trechos ´e feita a partir da multiplica¸c˜ao do sinal de voz por uma janela no dom´ınio do tempo. As medidas realizadas ser˜ao extra´ıdas para

cada um desses trechos. Ao recortar o sinal, multiplicando o sinal por uma janela, temos efeitos prejudiciais no dom´ınio da frequˆencia, como o derramamento(leakage), que ´e o

aparecimento de componentes espectrais resultantes da convolu¸c˜ao no espectro entre a DFT (Discrete Fourier Transform) do sinal de voz e a fun¸c˜ao de transferˆencia da janela.

(29)

ser aproximada pelas suas amostras(DFT). Dessa maneira utilizamos o janelamento de

Hanning, pois ´e um janelamento especial que minimiza estes efeitos. Este janelamento ´e dado pela Eq. 2.19.

h(n) =    0.56 − 0.46cos(N −12πn), 0 ≤ n ≤ N − 1 0, c.c. (2.19)

Por ´ultimo, ´e preciso dividir o espectro em faixas (bandas) cujas frequˆencias cen-trais s˜ao linearmente espa¸cadas na escala Mel, determinando como a energia do sinal

vocal est´a distribu´ıda nestas bandas. Na Figura 2.6, ´e descrito o processo de obten¸c˜ao dos coeficientes mel-cepstrais utilizando um banco de filtros.

Figura 2.6: Obten¸c˜ao dos coeficientes MFCC a partir de um banco de filtros [10].

Antes de extrair esses coeficientes, o sinal de voz passa por uma etapa de pr´

e-processamento, que j´a foi descrita anteriormente. Ap´os essa etapa, ´e calculado o qua-drado do m´odulo da FFT (Fast Fourier Transform). Posteriormente, os espectros dos

segmentos s˜ao submetidos ao banco de filtros triangulares. Em seguida, calcula-se o loga-ritmo da energia resultante da sa´ıda dos filtros, com a aplica¸c˜ao da DCT (Discrete Cosine

Transform) sobre os valores obtidos do c´alculo do logaritmo e chegamos aos valores dos coeficientes Mel-cepstrais.

2.3

Modelos ocultos de Markov (HMMs)

Reconhecimento de padr˜oes, incluindo o reconhecimento de voz, que obedecem as pro-priedades de Markov, podem ser descritos como processos Markovianos. Como citado

anteriormente, o modelo que iremos utilizar para a verifica¸c˜ao de locutor ´e conhecido como Modelo Oculto de Markov (Hidden Markov Model - HMM). Este modelo ´e uma

varia¸c˜ao das Cadeias de Markov (Markov Chains - MC) e se aplica melhor ao processo de reconhecimento de voz devido ao fato de que os estados do modelo s˜ao ocultos, conforme

(30)

ser´a explicado nesta se¸c˜ao. Portanto, para entender o modelo ´e necess´ario compreender

as defini¸c˜oes b´asicas de uma Cadeia de Markov e de um processo Markoviano.

2.3.1

Cadeias de Markov

Uma Cadeia de Markov ´e uma forma de modelagem que se aplica a fenˆomenos estoc´asticos

que evoluem ao longo do tempo, assumindo estados dentro de um conjunto de estados, onde a probabilidade de transi¸c˜ao para o estado seguinte segue uma distribui¸c˜ao de

pro-babilidade que n˜ao depende da probabilidade de transi¸c˜ao dos estados imediatamente anteriores, conforme mostrado pela Eq. 2.21.

Considere uma sequˆencia de vari´aveis aleat´orias X0, X1, ..., Xt, onde 0 ≤ t ≤ T ,

que representa uma ordena¸c˜ao discreta no tempo, definidas para um mesmo espa¸co de

estados discreto e finito. A probabilidade conjunta dessas vari´aveis aleat´orias ´e:

P (X0, X1, ..., XT) =Qt=0T P (Xt|X0, X1, ..., Xt−1)

= P (X0)P (X1|X0)P (X2|X0, X1)...P (XT|X0, X1, X2...XT −1).

(2.20)

Um processo estoc´astico ´e dito Markoviano de grau 1 se satisfaz a seguinte

propri-edade:

P (XT|X0, X1, X2, ..., XT −1) = P (XT|XT −1). (2.21)

Para processos Markovianos(de grau 1) temos que:

P (X0, X1, ..., XT) = P (X0)P (X1|X0)P (X2|X1)P (X3|X2)...P (XT|XT −1). (2.22)

Definimos assim os processos Markovianos como aqueles para os quais a

proprie-dade de Markov ´e satisfeita, ou seja, a distribui¸c˜ao de probabilidade do pr´oximo estado depende unicamente do estado atual do sistema. Processos estoc´asticos Markovianos em

espa¸cos de estados discretos s˜ao chamados Cadeias de Markov, podendo esses processos ser tanto de tempo discreto como cont´ınuo.

(31)

2.3.2

Defini¸

ao

Um modelo oculto de Markov consiste em par de processos estoc´asticos[11]: uma cadeia

de Markov conforme definida na se¸c˜ao anterior, por´em agora oculta de modo que n˜ao ´e poss´ıvel saber diretamente em que estado espec´ıfico ela se encontra em cada instante de

tempo, e um segundo processo, que consiste em uma sequˆencia de s´ımbolos observ´aveis de sa´ıda associados aos estados da cadeia oculta, atrav´es de um conjunto de distribui¸c˜oes

de probabilidade de emiss˜ao de observ´aveis para cada estado, que podem ser discretas ou cont´ınuas, ou seja, os observ´aveis s˜ao vari´aveis aleat´orias com dom´ınio nos estados da

cadeia de Markov.

Para exemplificar melhor o modelo pode-se fazer um paralelo com o modelo de

previs˜ao do tempo. Nesse modelo seria como se estiv´essemos presos em um quarto sem janelas e a ´unica forma de termos conhecimento do tempo do lado de fora ´e atrav´es de uma

pessoa que vem todo dia vigiar para que n˜ao se saia do local. Essa informa¸c˜ao do tempo vem atrav´es do porte, ou n˜ao, de um guarda chuva pelo vigia. Nesse caso, os estados

seriam as condi¸c˜oes clim´aticas(ensolarado, chuvoso, nublado) e os observ´aveis seriam o vigia portar, ou n˜ao, um guarda chuva [3].

2.3.3

Terminologia

A nota¸c˜ao usada ´e um dos aspectos mais importantes em HMMs, por isso vamos intro-duzir as nota¸c˜oes utilizadas no decorrer do trabalho:

• N ´e o n´umero de estados no modelo;

• S = (s1, s2, s3, ..., sN) ´e o espa¸co de estados;

• M ´e o n´umero de s´ımbolos de observa¸c˜ao;

• Y = (y1, y2, y3, .., yM) ´e o conjunto de observ´aveis;

• T ´e o tamanho da sequˆencia de observa¸c˜ao do processo de Markov;

• Q = (q1, q2, q3, .., qT) ´e a vari´avel aleat´oria que ir´a assumir valores do espa¸co de

(32)

• O = (o1, o2, o3, .., oT) ´e a vari´avel aleat´oria que ir´a assumir valores do conjunto de

observ´aveis Y em diferentes instantes de tempo;

• Π = πi, tal que πi = P (q1 = si) ´e a matriz de probabilidade inicial de cada estado;

• A = aij, tal que aij = P (qt= sj|qt−1= si) ´e a matriz de probabilidade de transi¸c˜ao

entre estados;

• B = bij(k), tal que bij(k) = P (Ot= yk|qt−1 = si, qt = sj) ´e a matriz de probabilidade

de observa¸c˜ao associada a transi¸c˜oes do estado si para o estado sj ;

Para satisfazer a defini¸c˜ao de distribui¸c˜ao de probabilidade para cada estado, as matrizes A e B devem ser tais que a soma de suas linhas seja igual a um.

O modelo ´e definido por λ = (A, B, Π). S˜ao chamados parˆametros do modelo o conjunto de valores que o definem, onde Π ´e o vetor de probabilidade inicial de cada estado

da cadeia de Markov oculta, A ´e a matriz que define as probabilidades de transi¸c˜ao entre esses estados e B ´e a matriz de probabilidade de emiss˜ao de observ´aveis.

2.3.4

Trˆ

es problemas fundamentais

Existem trˆes problemas fundamentais que aparecem naturalmente com os HMMs:

• Calcular a probabilidade de uma sequˆencia de observa¸c˜ao.

• Encontrar uma sequˆencia de estado ideal, dada uma sequˆencia de observa¸c˜ao e o modelo.

• Ajustar os parˆametros do modelo.

Devido `a importˆancia de cada um dos problemas, faz-se necess´aria uma an´alise detalhada para a compreens˜ao do processo. A seguir ser˜ao mostradas as solu¸c˜oes para

cada um desses problemas.

2.3.5

Calculando P (O|λ)

O primeiro problema fundamental nos HMMs ´e calcular a probabilidade, P (O|λ), de uma

sequˆencia observada O, dado o modelo λ. Ou seja, dado o modelo λ = (A, B, Π) e uma sequˆencia de observa¸c˜oes O, avaliar o qu˜ao bem o modelo prediz a sequˆencia de observa¸c˜ao

(33)

dada. Quando estamos no dom´ınio discreto de observa¸c˜oes essa probabilidade pode ser

chamada de verossimilhan¸ca, pois representa a probabilidade a posteriori da sequˆencia observada ter sido gerada pelo modelo.

Solu¸c˜ao: Dada uma sequˆencia Q = (q1, q2, ..., qT) espec´ıfica de estados ´e poss´ıvel

calcular a probabilidade P (Q|λ) do modelo evoluir conforme Q segundo a Eq. 2.23.

P (Q|λ) = πq1aq1q2aq2q3, ..., aqT −1qT. (2.23)

A probabilidade de O para esta sequˆencia Q ´e dada por:

P (O|Q, λ) = P (o1|q1, λ)P (o2|q2, λ), ..., P (oT|qT, λ), (2.24)

onde P (ot|qt, λ) = bqt(ot) pois os observ´aveis subsequentes s˜ao assumidos como indepen-dentes, logo temos que:

P (O|Q, λ) = bq1(o1)bq2(o2), ..., bqT(oT). (2.25)

De acordo com o teorema de Bayes,

P (O, Q|λ) = P (O|Q, λ)P (Q|λ). (2.26)

A verossimilhan¸ca com rela¸c˜ao a O e λ ser´a ent˜ao a soma das probabilidades conjuntas de O e Q dado λ para todas as poss´ıveis sequˆencias Q:

P (O|λ) =X

∀Q

P (O|Q, λ)P (Q|λ). (2.27)

Esse ´e o resultado de P (O|λ), por´em esse c´alculo fica computacionalmente dif´ıcil para cadeias com muitos estados. Uma solu¸c˜ao melhor ´e utilizar o algoritmo foward, que

calcula a probabilidade de observa¸c˜oes parciais o1, o2, ...ot e estado qi at´e o tempo t. A

(34)

αt(i) = P (o1o2...ot, xt = qi|λ). (2.28)

E o algoritmo foward pode ser calculado recursivamente, como pode ser visto a

seguir: 1. Inicializa¸c˜ao: α1(i) = πibi(o1), 1 ≤ i ≤ N. (2.29) 2. Indu¸c˜ao: αt+1(j) = " N X i=1 αt(i)aij # bj(ot+1), 1 ≤ t ≤ T − 1 e 1 ≤ j ≤ N. (2.30) 3. Finaliza¸c˜ao: P (O|λ) = N X i=1 αT(i). (2.31)

2.3.6

Decodificando estados escondidos

O alvo desse problema ´e descobrir a sequˆencia de estados escondidos que s˜ao mais prov´aveis de terem produzido a sequˆencia de observa¸c˜ao dada. Isto ´e, dado o modelo λ = (A, B, Π)

e a sequˆencia de observa¸c˜ao O, encontrar a sequˆencia de estados ´otima. H´a duas maneiras de calcular essa solu¸c˜ao: o algoritmo foward-backward e o algoritmo de Viterbi. Que ser˜ao

explicados a seguir:

Solu¸c˜ao 1: O algoritmo foward-backward encontra o estado mais prov´avel para

qualquer ponto no tempo e ´e an´alogo ao algoritmo foward mas come¸ca no ´ultimo instante de tempo. Portanto, a vari´avel de probabilidade foward pode ser definida como:

(35)

E o algoritmo backward pode ser calculado recursivamente, como pode ser visto a

seguir: 1. Inicializa¸c˜ao:

βT(i) = 1, 1 ≤ i ≤ N. (2.33) 2. Indu¸c˜ao: βt(j) = N X j=1 βt+1(j)aijbj(ot+1), T − 1 ≤ t ≤ 1 e 1 ≤ j ≤ N. (2.34) 3. Finaliza¸c˜ao: γt(i) = P (qt= si|O, λ) = αt(i)βt(i) P (O|λ) (2.35)

que nos d´a a probabilidade de come¸car em cada estado no tempo t.

Para entender γt(i) esta probabilidade inclui as probabilidades diretas cobrindo

to-dos os eventos at´e o momento t, bem como as probabilidades de atraso que incluem todos os eventos futuros: αt(i)βt(i). Ent˜ao, dividimos pela probabilidade total da sequˆencia de

observa¸c˜ao, P (O|λ), para normalizar esse valor e extrair apenas a probabilidade de que qt = si. Sendo assim, pela defini¸c˜ao de γt(i), podemos ver que o estado mais prov´avel

no tempo t ´e o estado si para o qual γt(i) ´e m´aximo. Isto ´e, escolhemos o s´ımbolo mais

prov´avel em cada posi¸c˜ao.

Solu¸c˜ao 2: O algoritmo de Viterbi foi proposto em 1967 e desde ent˜ao ´e utilizado

em diversas aplica¸c˜oes, ´e uma solu¸c˜ao ´otima recursiva para o problema de estimar a sequˆencia de estados de um processo Markoviano de estado finito e tempo discreto.

Esse algoritmo calcula todas as sequˆencias de estados poss´ıveis e opta pela mais pro-v´avel. Para isso, ´e preciso achar a sequˆencia de estados mais prov´avel, Q = (q1, q2, ..., qT),

dada a sequˆencia de observa¸c˜ao O = (o1, o2, ..., OT) , ou mais formalmente, maximizar

P (Q|O, λ) que ´e equivalente a maximizar P (Q, O|λ), pois ambas as opera¸c˜oes de

maxi-miza¸c˜ao v˜ao devolver a sequˆencia de estados mais prov´avel. Vamos definir agora a vari´avel δt(i) da forma:

(36)

δt(i) = max q1,q2,...,qt−1

P [q1q2...qt−1, qt= si, o1o2, ..., ot|λ]. (2.36)

ou seja, δt(i) guarda a probabilidade do caminho (ou sequˆencia de estados) mais

prov´avel que leva ao estado si no instante t, gerando os primeiros t observ´aveis.

Por indu¸c˜ao temos:

δt+1(j) = [max

i δt(i)aij]bj(ot+1). (2.37)

Para encontrar a sequˆencia de estados ´e preciso determinar o argumento que ma-ximiza a Eq. 2.37 para cada t e j e, para isso, utiliza-se o vetor ψt(i). O procedimento

completo ´e mostrado a seguir:

1. Inicializa¸c˜ao: δ1(i) = πibi(o1) 1 ≤ i ≤ N. (2.38) ψ1(i) = 0. (2.39) 2. Indu¸c˜ao: δt(j) = max 1≤i≤N[δt−1(i)aij]bj(ot) 2 ≤ i ≤ N e 1 ≤ j ≤ N. (2.40) ψt(j) = [arg max 1≤i≤Nδt−1(i)aij] 2 ≤ i ≤ N e 1 ≤ j ≤ N. (2.41) 3. Finaliza¸c˜ao: P∗ = max 1≤i≤N[δT(i)] (2.42)

(37)

q∗T = arg max

1≤i≤N[δT(i)] (2.43)

4. Recria¸c˜ao do caminho (sequˆencia de estados):

qt∗ = ψt+1(qt+1∗ ), t = T − 1, T − 2, ..., 1. (2.44)

2.3.7

Ajuste dos parˆ

ametros do modelo

Esse problema consiste em como ajustar os parˆametros HMM dado o conjunto de obser-va¸c˜oes O, usando a probabilidade m´axima como crit´erio de otimiza¸c˜ao. Isto ´e, reestimar

o modelo λ = (A, B, Π) inicial para encontrar um que maximize P (O|λ).

No intuito de encontrar o modelo que melhor se adequa a uma sequˆencia de

obser-va¸c˜ao dada, para isso usaremos o algoritmo de Baum Welch, que ´e usado para determinar os parˆametros desconhecidos de um HMM maximizando a probabilidade da sequˆencia de

observa¸c˜ao dada. ´E importante saber que o algoritmo Baum-Welch possui um m´aximo local para P (O|λ), mas n˜ao garante um m´aximo global.

Esse algoritmo faz uso do algoritmo foward-backward, explicado anteriormente, junto com as seguintes vari´aveis temporais:

1. γt(i, j) ´e a probabilidade de estar no estado si no instante t e no estado sj no

instante t+1:

γt(i, j) = P (qt= si, qt+1= sj|O, λ) =

αt(i)aijbj(ot+1)βt+1(j)

P (O|λ) (2.45)

A soma de γt(i, j) em t pode ser interpretado como o n´umero esperado de transi¸c˜oes

do estado si para o estado sj dado os parˆametros do modelo e a sequˆencia de observa¸c˜oes

O.

2. γt(i), que j´a foi definido anteriormente:

γt(i) = P (qt= si|O, λ) =

αt(i)βt(i)

(38)

A soma de γt(i) em t pode ser interpretado como o n´umero esperado de vezes em

que o estado si foi visitado ou o n´umero esperado de transi¸c˜oes que tiveram origem no

estado si dado os parˆametros do modelo e a sequˆencia de observa¸c˜ao O.

Ent˜ao, usando essas duas vari´aveis, n´os reestimamos os parˆametros do modelo usando as seguintes defini¸c˜oes:

1. Para i=1,...,N, temos

πi = γ1(i) (2.47)

2. Para i=1,...,N e j=1,...,N temos

aij = PT −1 t=1 γt(i, j) PT −1 t=1 γt(i) (2.48) 3. Para j=1,...,N e k=1,...,M temos bj(k) = P t∈(1,...,T ),Ot=kγt(i, j) PT t=1γt(i) (2.49)

Ent˜ao, podemos definir a reestima¸c˜ao como um processo iterativo:

1. Inicializar λ = (A, B, Π). Se n˜ao houver uma estimativa razo´avel dispon´ıvel, podemos escolher esses valores: πi ≈ 1/N, aij ≈ 1/N e bj(k) ≈ 1/M .

2. Computar αti, βt(i), γt(i, j)eγt(i).

3. Reestimar o modelo λ = (A, B, Π).

4. Se P (O|λ) crescer, repita a partir do 2 com os parˆametros novos reestimados.

Ao trabalhar com sequˆencias extensas de observa¸c˜ao, o processo de reestimativa explicado anteriormente n˜ao pode ser implementado do mesmo jeito, ´e necess´ario que se

fa¸ca a normaliza¸c˜ao.

A normaliza¸c˜ao ´e necess´aria, pois αt(i) consiste na soma de um grande n´umero

de termos, cada um dos quais envolvendo produtos de probabilidades. Como todos esses termos s˜ao inferiores a um, quando t aumenta cada termo de αt(i) come¸ca a diminuir

(39)

exponencialmente para zero, o que poderia causar problema de underflow no momento

em que a m´aquina fosse calcular esses valores.

Normaliza¸c˜ao: O procedimento de normaliza¸c˜ao consiste em multiplicar αt(i) por um

coeficiente de normaliza¸c˜ao, dependente do tempo(independente de i) e, tamb´em, fazer o

mesmo com βt(i). Para entender melhor o procedimento de normaliza¸c˜ao, vamos

consi-derar a f´ormula de reestima¸c˜ao do coeficiente aij:

aij = PT −1 t=1 γt(i, j) PT −1 t=1 γt(i) = PT −1 t=1 αt(i)aijbj(ot+1)βt+1(j) PT −1 t=1 PN j=1αt(i)aijbj(ot+1)βt+1(j) (2.50)

Considerando o c´alculo de αt(i), para cada t, primeiro calcula-se o αt(i) e depois

normaliza-se cada termo multiplicando pelo coeficiente de normaliza¸c˜ao

ct=

1 PN

i=1αt(i)

(2.51)

Ent˜ao, para um valor fixo de t, calculamos

αt(i) = N

X

j=1

( ˆαt−1(j)aij)bj(ot) (2.52)

O coeficiente normalizado ˆαt(i) ´e calculado como

ˆ αt(i) = PN j=1αˆt−1(j)aijbj(ot) PN i=1 PN j=1αˆt−1(j)aijbj(ot) (2.53)

Por indu¸c˜ao, podemos escrever ˆαt−1(j) como

ˆ αt−1(j) = ( t−1 Y T =1 cT)αt−1(j) (2.54)

(40)

ˆ αt(i) = αt(i) PN i=1αt(i) (2.55)

Uma vez que temos αt(i) normalizado, normalizamos βt(i) usando o mesmo fator de escala

para cada instante t. Consequentemente,

ˆ

βt(i) = ctβt(i) (2.56)

Ent˜ao, usando os valores normalizados, a f´ormula de reestima¸c˜ao do aij torna-se

aij = PT −1 t=1 αˆt(i)aijbj(ot+1) ˆβt+1(j) PT −1 t=1 PN j=1αˆt(i)aijbj(ot+1) ˆβt+1(j) (2.57)

Mas sabendo que ˆαt(i) e ˆβt+1(j) podem ser escritos como

ˆ αt(i) = [ t Y k=1 ck]αt(i) = Ctαt(i), (2.58) ˆ βt+1(j) = [ T Y k=t+1 ck]βt+1(j) = Dt+1βt+1(j) (2.59)

A f´ormula de reestima¸c˜ao pode ser escrita como

aij = PT −1 t=1 Ctαt(i)aijbj(ot+1)Dt+1βt+1(j) PT −1 t=1 PN j=1Ctαt(i)aijbj(ot+1)Dt+1βt+1(j) (2.60)

J´a que o termo CtDt+1 ´e independente de t(CtDt+1 = CT), ele pode ser cancelado

na f´ormula acima, e obteremos a mesma f´ormula de reestima¸c˜ao antes de fazer a nor-maliza¸c˜ao. Sendo assim, todas as f´ormulas de reestima¸c˜ao permanecem v´alidas usando o

procedimento de normaliza¸c˜ao descrito.

A mudan¸ca mais importante ´e a maneira de calcular P (O|λ) quando usamos os valores normalizados. Como ˆαt(i) est´a normalizado, n˜ao podemos somar seus termos

para calcular P (O|λ), pois seriam obtidos valores maiores do que um. Nesse caso vamos considerar a seguinte propriedade:

(41)

T Y t=1 ct N X i=1 αT(i) = CT N X i=1 αT(i) = 1 (2.61)

Ent˜ao, temos

T Y t=1 ctP (O|λ) = 1 (2.62) e P (O|λ) = 1 T Y t=1 ct (2.63)

para evitar o underflow, usamos log[P (O|λ)] = −PT

t=1log ct.

Portanto, a medida log[P (O|λ)] = PT

t=1log ct, que ´e o logaritmo da verossimilhan¸ca da

sequˆencia O com rela¸c˜ao ao modelo λ, ´e calcul´avel e torna-se uma medida extremamente importante para se avaliar a semelhan¸ca da sequˆencia com o modelo.

(42)

Cap´ıtulo 3

Metodologia e implementa¸

ao

Todo o processo implementado em c´odigo neste trabalho apresenta uma metodologia para

a realiza¸c˜ao da verifica¸c˜ao de um locutor. Essa metodologia se mant´em para qualquer altera¸c˜ao realizada no trabalho com o fim de melhorar o desempenho no programa. Ela

apresenta trˆes etapas b´asicas: a aquisi¸c˜ao de dados a partir dos ´audios do locutor; o treinamento de um modelo para o locutor de interesse; e a realiza¸c˜ao de testes para

verifica¸c˜ao da autenticidade do locutor.

Para o primeiro passo, ´e necess´ario que o locutor de interesse possua uma base de

´

audios contendo a pron´uncia de uma certa palavra-chave que ser´a usada para a verifica¸c˜ao. Desses ´audios, ser˜ao extra´ıdos alguns dados que s˜ao caracter´ısticos do locutor de interesse

de forma a diferenci´a-lo de um poss´ıvel locutor impostor. Esses dados podem ser divididos em coeficientes cepstrais na escala Mel (MFCC), parˆametros de frequˆencia extra´ıdos do

sinal glotal e parˆametros de tempo extra´ıdos do sinal glotal. Como citado anteriormente, os MFCCs s˜ao os coeficientes mais usados na an´alise da voz e s˜ao os parˆametros base do

trabalho proposto. Ser´a mostrado a melhora nos resultados ao se adicionar os parˆametros relativos ao tempo do sinal glotal para melhorar a verifica¸c˜ao, pois os parˆametros de

frequˆencia j´a haviam sido explorados no trabalho anterior [3].

Ap´os coletar os dados relativos aos ´audios, ´e necess´ario treinar um modelo para

o locutor de interesse. A modelagem estoc´astica seguiu os Modelos Ocultos de Markov (HMMs), pois eles se adaptam bem ao processo de verifica¸c˜ao de locutor. Conforme j´a

apresentado no Cap´ıtulo 2, o HMM ´e uma Cadeia de Markov onde os estados do modelo s˜ao ocultos. Dessa forma, o modelo ´e constru´ıdo a partir dos observ´aveis que, no caso

(43)

ser os MFCCs, os parˆametros de frequˆencia e os parˆametros de tempo. Dessa forma, o

algoritmo utilizado para encontrar uma HMM espec´ıfica considera esses observ´aveis e, a cada conjunto deles, converge para um modelo espec´ıfico para o locutor de interesse.

Quanto mais diversas forem as situa¸c˜oes em que os ´audios forem gravados, melhor ser´a a verifica¸c˜ao. Isso se deve ao fato de que se os ´audios apresentarem variadas situa¸c˜oes

em que o locutor se encontra, o modelo conseguir´a distinguir quais caracter´ısticas s˜ao intr´ınsecas ao locutor e quais s˜ao vari´aveis dependendo da situa¸c˜ao.

Ap´os ter obtido o modelo com o treinamento, ´e poss´ıvel realizar a verifica¸c˜ao, ou seja, ´e poss´ıvel decidir se um novo ´audio pertence ao locutor de interesse ou pertence a

um locutor impostor. Para esse novo locutor, tamb´em s˜ao extra´ıdos os mesmos dados usados para o treinamento do modelo. A partir desses dados e do modelo j´a treinado,

´e usado o algoritmo para o c´alculo do logaritmo da verossimilhan¸ca (definido na Eq. 2.27) que ´e uma medida do qu˜ao pr´oximo esses novos dados est˜ao do modelo treinado.

Quanto maior a verossimilhan¸ca, mais pr´oximo eles est˜ao do modelo, indicando que o ´

audio provavelmente pertence ao locutor de interesse. Caso contr´ario, indicar´a que o

´

audio pertence a um locutor impostor. Como o valor de verossimilhan¸ca geralmente ´e muito pequeno, a an´alise ´e feita a partir do seu logaritmo e o crit´erio de decis˜ao ´e baseado

em um limiar preestabelecido que servir´a como referˆencia para a decis˜ao. Caso o logaritmo da verossimilhan¸ca seja maior do que o limiar, o programa verificar´a que o ´audio testado

realmente pertence ao locutor de interesse, e caso o contr´ario, ele ser´a do locutor impostor.

3.1

Estrutura geral do c´

odigo

Como este trabalho consiste na continua¸c˜ao de um trabalho anterior [3], ´e necess´ario

enfatizar as mudan¸cas realizadas neste projeto em compara¸c˜ao com o que j´a foi feito. ´

E importante explicar a estrutura geral do c´odigo de onde foi iniciado o projeto para

entendermos as mudan¸cas aplicadas que geraram os avan¸cos na verifica¸c˜ao do locutor. Seguindo a l´ogica apresentada no in´ıcio do cap´ıtulo, o c´odigo inicialmente foi dividido em

algumas partes: leitura dos ´audios e extra¸c˜ao dos dados referentes ao locutor de interesse; treinamento do modelo HMM e testes com os ´audios do locutor de interesse; leitura e

extra¸c˜ao dos dados referente aos ´audios dos locutores impostores; e testes com os ´audios dos locutores impostores. Essa se¸c˜ao, portanto, destina-se a explicar essa estrutura do

(44)

c´odigo e, para isso, ´e importante dizer que todos os algoritmos foram implementados em

MATLAB[12]. Os c´odigos est˜ao disponibilizados no Apˆendice.

A parte de leitura dos ´audios referentes ao locutor de interesse ´e realizada a partir

de um processo iterativo onde cada itera¸c˜ao ir´a considerar um ´audio do locutor de interesse e extrair seus parˆametros. No caso desse trabalho, foram lidos 200 ´audios, onde 160 s˜ao

para o treinamento do HMM e 40 para os testes referentes ao locutor de interesse. No in´ıcio de cada itera¸c˜ao, ´e criado um vetor com as caracter´ısticas extra´ıdas. Em seguida, ´e

feito um recorte dos momentos de silˆencio do sinal, pois o silˆencio n˜ao carrega informa¸c˜ao e aumenta a carga computacional. Esses momentos de silˆencio s˜ao os trechos no in´ıcio e no

fim do ´audio onde o locutor permanece um tempo sem emitir nenhum som e consistem no instante em que ´e iniciada a grava¸c˜ao e demora um tempo at´e come¸car a fala propriamente

dita e, depois, quando ela termina at´e encerrar a grava¸c˜ao. O algoritmo usado nessa parte relaciona a energia do sinal de fala e a taxa de cruzamento de zeros num curto intervalo

de tempo [9] [13].

A extra¸c˜ao dos parˆametros ´e toda realizada atrav´es de uma mesma fun¸c˜ao e tem

como sa´ıda um vetor contendo os parˆametros. A primeira parte do vetor corresponde aos MFCCs extra´ıdos. Em seguida, o sinal glotal ´e obtido do sinal de voz, por filtragem

inversa(IAIF) e, ent˜ao, parˆametros s˜ao extra´ıdos do sinal glotal para completar o vetor. O pacote voicebox do MATLAB ´e usado para extrair a frequˆencia fundamental do sinal,

atrav´es da fun¸c˜ao fxrapt [14]. Com a frequˆencia fundamental de cada ciclo, o per´ıodo pode ser determinado atrav´es da rela¸c˜ao:

T = 1

f0

, (3.1)

onde f0´e a frequˆencia fundamental e T ´e o per´ıodo do ciclo. Dado o per´ıodo

funda-mental, o programa calcula os parˆametros de jitter, shimmer e parˆametros de frequˆencia, conforme s˜ao mostrados nas se¸c˜oes 2.1.2 e 2.1.4. Para calcular esses parˆametros, o sinal

de voz e o sinal glotal s˜ao divididos em trechos que ser˜ao analisados individualmente. Se o c´odigo utilizar um conjunto de N parˆametros, o resultado da an´alise ser´a um vetor de

comprimento N, onde cada elemento ´e o valor de um parˆametro.

Ao t´ermino do c´alculo, os parˆametros s˜ao incorporados a uma matriz denominada

dados. Essa matriz cont´em todos os dados calculados de todos os ´audios e ´e passada para o HMM que utiliza o algoritmo de Baum-Welch e ´e implementado pelo Hidden Markov

(45)

Model (HMM) Toolbox for Matlab [15]. Para cada ´audio, s˜ao calculados os logaritmos

da verossimilhan¸ca a partir da fun¸c˜ao denominada de mhmm logprob e s˜ao armazenados em um vetor chamado de alllog. Esse ´e o vetor referente `as probabilidades do locutor

de interesse. Cerca de 80% dos ´audios s˜ao usados para treino do modelo e 20% para testes, conforme dito anteriormente. As porcentagens foram decididas ap´os v´arios testes

de acordo com o trabalho anterior [3].

Para os testes com os ´audios dos locutores impostores, repetimos o mesmo

procedi-mento. Primeiramente, ´e implementada uma estrutura de repeti¸c˜ao onde cada repeti¸c˜ao analisa um ´audio individualmente. Cada ´audio ´e convertido em um vetor a ser passado

para a fun¸c˜ao parametros para o c´alculo dos MFCCs e dos outros parˆametros. A partir desses dados, ´e calculado o logaritmo da verossimilhan¸ca. Para an´alise dos resultados,

calcula-se o coeficiente L1(distˆancia entre as fun¸c˜oes densidade de probabilidade) a partir

das fun¸c˜oes densidade de probabilidade dos logaritmos das verossimilhan¸cas. O c´alculo

do coeficiente L1 ser´a melhor explicado na pr´oxima se¸c˜ao.

Por ´ultimo, calculam-se os limiares e a decis˜ao sobre a autenticidade do ´audio.

Neste c´odigo, s˜ao calculados 3 limiares distintos que ter˜ao seus desempenhos analisados para decidir qual est´a mais pr´oximo do limiar de decis˜ao ideal e seus c´alculos tamb´em ser˜ao

apresentados na pr´oxima se¸c˜ao. Tendo o valor desses limiares, o c´odigo realiza a decis˜ao. Para todos os ´audios analisados, o programa nos diz a quantidade de falsos positivos

e falsos negativos que ficam armazenados em duas matrizes de dados denominadas de ErroFP e ErroFN. Esses valores de erros ser˜ao a base para a an´alise dos resultados que

ser´a apresentada no Cap´ıtulo 4.

3.2

Crit´

erios de decis˜

ao

Para a verifica¸c˜ao do locutor, deve ser tomada uma decis˜ao sobre a sua identidade, a

partir de algum crit´erio. Este ´e baseado em um limiar de verossimilhan¸ca de forma que se o resultado obtido for maior ou menor do que o limiar obtido na an´alise, o programa

decidir´a se o indiv´ıduo ´e o locutor de interesse ou um locutor impostor. Portanto, quando o ´audio analisado for do locutor de interesse, o valor do logaritmo da verossimilhan¸ca

tende a ser mais alto, e quando o ´audio analisado for de um locutor impostor, o valor tende a ser mais baixo. Isso ocorre pois o logaritmo da verossimilhan¸ca ´e a medida que

(46)

determina o qu˜ao pr´oxima uma sequˆencia de observ´aveis est´a do modelo e ´e necess´ario que

seja escolhido um limiar adequado para o problema apresentado. Intuitivamente, o limiar deveria ser um valor menor do que a verossimilhan¸ca dos ´audios do locutor de interesse

e maior do a verossimilhan¸ca dos ´audios dos locutores impostores. O grande desafio deste problema ´e que os resultados n˜ao s˜ao determin´ısticos, podendo ser influenciados por

diversas caracter´ısticas e fatores. Portanto, ´e essencial que o melhor limiar seja escolhido para que possa ser feita a verifica¸c˜ao de forma a minimizar os erros de decis˜ao. Nesta se¸c˜ao,

ser˜ao apresentados os c´alculos dos trˆes limiares utilizados no trabalho e um coeficiente que nos auxiliar´a na avalia¸c˜ao dos resultados. Esses limiares foram utilizados por Schueler e

Silveira[3] no caso de vogais e, agora, conseguimos mostrar sua validade para palavras.

3.2.1

Coeficiente L

1

O crit´erio do coeficiente L1 ´e usado essencialmente para a avalia¸c˜ao de resultados com uma grande quantidade de ´audios para determinar seu valor de forma coerente. Ele baseia-se

no uso direto da curva de referˆencia e das curvas de teste dos locutores impostores e do locutor de interesse. Essas curvas s˜ao as fun¸c˜oes densidade de probabilidade ajustadas

pelas medidas de logaritmo de verossimilhan¸ca de diversos ´audios de testes do locutor de

interesse e dos locutores impostores.

Figura 3.1: Locutor impostor a esquerda e locutor de interesse a direita

Seu valor ´e dado pelo c´alculo da integral do m´odulo diferen¸ca das fun¸c˜oes, ou seja,

a distˆancia entre elas, conforme mostra a Eq. 3.2.

L1 = 1 2 Z ∞ −∞ |fX1 − fX2| dx 0 ≤ L1 ≤ 1, (3.2)

onde fX1 e fX2 s˜ao as fun¸c˜oes densidade de probabilidade dos logaritmos das ve-rossimilhan¸cas. Quanto maior o coeficiente sabemos que menos parecido o ´audio teste ´e

(47)

em rela¸c˜ao ao verdadeiro locutor. Pode ser observado na Fig. 3.1, como exemplo, onde a

curva azul representa o locutor de teste e a vermelha o locutor que gerou a base.

3.2.2

Limiar 1

O c´alculo do limiar 1 ´e feito atrav´es da curva de referˆencia, gerada pelos ´audios do locutor

que treinou a base, o de interesse, e da curva de teste, feita atrav´es dos ´audios do locutor impostor. Essa curva de teste, diferentemente das curvas de teste tratadas at´e aqui,

´e gerada a partir de um conjunto de ´audios-teste pertencentes a um grupo misto de locutores impostores. O seu valor ´e escolhido como a abscissa do ponto onde as curvas se

encontram, entre os seus m´aximos, como mostrado na Fig. 3.2.

Figura 3.2: Determina¸c˜ao do limiar pela interse¸c˜ao dos gr´aficos da densidade de probabi-lidade dos logaritmos das verossimilhan¸cas [3].

Como o limiar 1 se encontra no eixo das abscissas em rela¸c˜ao `a ´area de interse¸c˜ao sob as curvas, ´e intuitivo que ele tenda a equilibrar a quantidade de resultados falsos

po-sitivos e falsos negativos, ou seja, o resultado de aceita¸c˜ao do ´audio sendo ele do locutor impostor e resultado de rejei¸c˜ao do ´audio sendo ele do locutor de interesse,

respectiva-mente. Por causa disso, para aplica¸c˜oes mais cr´ıticas em que a taxa de falsos positivos tem que ser baixa, o limiar 1 talvez n˜ao seja a melhor escolha. Esse limiar foi criado pela

Schueler e Silveira [3].

3.2.3

Limiar 2

O limiar 2 [16] se baseia em estat´ısticas para buscar um melhor resultado na decis˜ao. Seu

(48)

referˆencia e a curva de teste. Para o c´alculo ´e usado os valores de m´edia e o desvio padr˜ao

dos dados. Esse limiar ´e calculado segundo a Eq. 3.3:

Limiar 2 = σ1µ2− σ2µ1 σ1σ2

, (3.3)

onde σ1 e µ1 s˜ao, respectivamente, a m´edia e o desvio do grupo de medidas que

geraram a curva de referˆencia, enquanto σ2 e µ2 s˜ao, respectivamente, a m´edia e o desvio

do grupo de medidas que geraram a curva de teste.

3.2.4

Limiar 3

Para calcular o limiar 3 [17] ser˜ao utilizados trˆes parˆametros, s˜ao eles a taxa de falsa

aceita¸c˜ao (False Acceptance Rate - FAR), a taxa de falsa rejei¸c˜ao (False Rejection Rate - FRR) e o valor de igualdade de erro (Equal Error Rate - EER). O FAR mede a

por-centagem de ´audios dos locutores impostores que s˜ao aceitos como se fossem do locutor de interesse que treinou a base, j´a o FRR mede a porcentagem de ´audios do locutor de

interesse que s˜ao recusados pelo mesmo sistema.

Para calcular essas medidas primeiramente ´e feita uma sugest˜ao de faixa de valores

poss´ıveis para o limiar e para esse valores calcula-se o FAR e o FRR, dados pelas Eq. 3.4 e 3.5. O valor do limiar 3 ´e definido atrav´es da abscissa do ponto de interse¸c˜ao das curvas,

ponto EER, mostrado na Fig. 3.3. Dessa forma, ´e escolhido o valor que garante o menor par de FAR e FRR.

F AR = N ´umero de ´audios dos locutores impostores aceitos

N ´umero de tentativa de acesso dos impostores × 100% (3.4) F RR = N ´umero de ´audios dos locutor de interesse recusados

N ´umero de acessos do locutor de interesse × 100% (3.5)

3.3

Parˆ

ametros de tempo em sequˆ

encia de vogais

A primeira altera¸c˜ao feita para aperfei¸coar o c´odigo e melhorar a verifica¸c˜ao de locutor

foi a inser¸c˜ao de parˆametros de tempo para ´audios que s˜ao sequˆencias de vogais. Dando continua¸c˜ao ao trabalho anterior que j´a realizava a verifica¸c˜ao com base em sequˆencia

de vogais, foi decidido implementar mais observ´aveis ao modelo para tentar melhorar o reconhecimento, ou seja, causar uma diminui¸c˜ao nos erros de decis˜ao.

Referências

Documentos relacionados

c.4) Não ocorrerá o cancelamento do contrato de seguro cujo prêmio tenha sido pago a vista, mediante financiamento obtido junto a instituições financeiras, no

forficata recém-colhidas foram tratadas com escarificação mecânica, imersão em ácido sulfúrico concentrado durante 5 e 10 minutos, sementes armazenadas na geladeira (3 ± 1

No Estado do Pará as seguintes potencialidades são observadas a partir do processo de descentralização da gestão florestal: i desenvolvimento da política florestal estadual; ii

No primeiro, destacam-se as percepções que as cuidadoras possuem sobre o hospital psiquiátrico e os cuidados com seus familiares durante o internamento; no segundo, evidencia-se

Garantia, bem como de todas as determinações contidas no Manual do Proprietário. Antes de colocar o veículo em uso, leia atentamente todas as instruções e recomendações da

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Obter polpa de guavira desidratada pelo processo de liofilização com adição de maltodextrina e avaliar o conteúdo de vitamina C no produto em pó.. Material