MARCOS PAULO RIKI YANASE RECONHECIMENTO DE FALANTE Trabalho da disciplina de Processamento Digital de Sinais do curso de Engenharia Elétrica, Setor de Tecnologia da Universidade Federal do Paraná. Prof. Marcelo de Oliveira Rosa CURITIBA 2007
Introdução Este trabalho apresenta uma introdução sobre a teoria de reconhecimento de falante, processamento de voz, o processo de produção da voz, cita os métodos utilizados para o reconhecimento e algumas aplicações. Um foco maior se dá na verificação de falante dependente de texto, por ser o sistema mais simples a ser citado como exemplo.
Reconhecimento de Falante O reconhecimento de falante é uma subdivisão do processamento da voz. A figura 1 mostra a relação entre os diversos tipos de processamento de voz. Figura 1 Processamento de voz Vemos que na subdivisão de reconhecimento, temos o reconhecimento de fala, que identifica as palavras que estão sendo ditas (barco, voz, serra); a identificação da linguagem, que identifica o idioma que está sendo usado (português, inglês, alemão); e o reconhecimento de falante, que identifica quem está falando (João, Maria, Pedro). Classificando o reconhecimento de falante quanto à função, temos: Identificação do falante (speaker identification - SI) : determinação de quem está falando, dentro de um conjunto de vozes previamente cadastradas. O usuário não informa de maneira alguma sua identificação ao sistema, sendo toda a identificação determinada baseada na voz. Neste modo geralmente
assume-se que o usuário faz parte do conjunto de vozes conhecidas, não sendo externo a este grupo. Verificação do falante (speaker verification SV): determinação de se a pessoa é quem ela diz ser. A informação da identidade da pessoa ao sistema pode ser feita tanto por palavras faladas como por meio de senha ou cartão. O reconhecimento de falante, quanto ao método, pode ser classificado em: Reconhecimento dependente de texto: o sistema de reconhecimento conhece previamente o texto a ser falado pela pessoa. Este texto pode ser tanto uma frase pré-estabelecida como uma fornecida pelo sistema, sendo ou visualmente através de uma tela ou oralmente através de um alto falante. Este modalidade de reconhecimento garante um melhor desempenho do sistema. Reconhecimento independente de texto: o sistema não conhece previamente o texto, sendo uma frase aleatória a ser dita pelo usuário. Este é um sistema mais flexível mas que traz problemas mais complexos a serem resolvidos. Na figura 2, temos uma ilustração de uma configuração típica de verificação de falante. O usuário, já cadastrado no sistema, apresenta um cartão criptografado contendo informações de sua identidade. O sistema então solicita a leitura no microfone da frase apresentada no monitor, no caso uma seqüência de algarismos. A figura também mostra alguns sons indesejáveis que serão registrados no microfone, como ruído do ambiente e reflexões acústicas diversas. É importante observar que estes sons espúrios não estão presentes durante a fase de cadastramento do usuário no sistema, já que este procedimento geralmente é feito em um ambiente controlado.
Figura 2 Configuração típica em um sistema de verificação de falante Verificação genérica do falante Geralmente a verificação automática de falante pode ser dividida em cinco etapas principais: Aquisição dos dados de voz; Extração das características; Confronto com modelos cadastrados; Decisão de aceitação ou rejeição; Cadastro do usuário no sistema. Um diagrama de blocos deste procedimento básico é mostrado na figura 3. Figura 3 Sistema genérico de verificação de falante
A voz é registrada em um microfone, e este sinal analógico é passado em um filtro passa-baixas, com freqüência de corte na metade da freqüência de amostragem (para estar em conformidade com a teoria de Nyquist e evitar o aliasing). O sinal analógico passa então por um conversor analógico-digital, que faz a amostragem do sinal. Então é feita uma extração de determinadas características, onde intervalos de voz de alguns milisegundos são mapeados em um espaço multidimensional. Estes vetores são então comparados com os modelos cadastrados da pessoa que o usuário diz ser. Deste confronto resulta um valor que informa similaridades entre a amostra e o modelo. Então é feita uma decisão sobre estes valores, de aceitação ou não do usuário pelo sistema. Características para reconhecimento de falante Nós humanos usamos diferentes níveis de percepção dos sinais de voz para o reconhecimento de quem está falando, e há inúmeras pequenas diferenças subjetivas que nos permitem reconhecer o dono da voz. Na figura 4 temos uma pequena tabela mostrando características que dependem fisicamente e socialmente da pessoa, e o nível de dificuldade de se extrair algumas destas características por um sistema automático. Figura 4 Níveis de percepção da voz Na figura vemos que as características de nível físico do falante são as mais facilmente extraídas do sinal de voz.
Produção da voz Há duas características principais na voz de uma pessoa: a física (tamanho e forma do aparelho fonador) e a adquirida (pronúncia, sotaque). A forma do trato vocal é uma importante característica física para a distinção da voz, já que possui características que variam de pessoa para pessoa. O trato vocal é normalmente considerado como sendo os órgãos de produção da voz que estão acima das cordas vocais. Conforme as ondas sonoras passam pelo trato vocal, seu conteúdo espectral é alterado por ressonâncias criadas em seu interior. Então, pode-se estimar a forma do trato vocal através das características espectrais do sinal de voz. Figura 5 Produção da voz Técnicas e procedimentos utilizados As maiores dificuldades para a criação de um sistema de reconhecimento de falante estão na extração e comparação das diversas características de um sinal de voz que variam conforme a pessoa. Existem diversos modelos matemáticos e estatísticos para estas funções, onde listamos abaixo alguns destes.
Técnicas para extração de características específicas do falante: Linear Predictive Coding (LPC); Linear Predictive Cepstral Coefficients (LPCC); Filterbank-based Cepstral Coefficients, Por exemplo, Mel-Frequency Cepstral Coefficients (MFCC); Perceptual Linear Prediction (PLP); Neural Predictive Coding (NPC). Técnicas de confronto das características: Template Models: - Vector Quantization (VQ); - Dynamic Time Warping (DTW). Modelos estocásticos: - Gaussian Mixture Models (GMM); - Hidden Markov Models (HMM). Neural Networks (NN); Support Vector Machines (SVM). É perceptível a utilização do processamento digital de sinais nas técnicas listadas acima. Veja por exemplo o Mel Warped Cepstral, que é um domínio de características que pode ser obtido basicamente pelo seguinte procedimento: Extrair o sinal através de uma janela; Calcular a transformada rápida de Fourier (FFT); Calcular a magnitude; Calcular o logarítmo; Ajustar as freqüências de acordo com o modelo; Calcular a FFT inversa. Maiores detalhes sobre as técnicas utilizadas fogem do escopo deste trabalho, contudo podem ser encontradas com algum nível de detalhamento em diversos artigos.
Desempenho Entre as principais características desejadas para um sistema de reconhecimento de falante estão uma alta variação das características de voz entre os usuários e uma baixa variação em um mesmo usuário. Há uma notável diferença entre a dificuldade de se produzir um sistema dependente e outro independente do texto falado pelo usuário. De qualquer forma, é importante entender os erros produzidos pelo sistema de verificação de falante. Há dois tipos básicos de erro: Erro tipo I falsa aceitação (false acceptance FA) -. Quando um usuário inválido é aceito pelo sistema como sendo o usuário legítimo. Erro tipo II falsa rejeição (false rejection FR). Quando um usuário legítimo é rejeitado pelo sistema. O erro tipo I é o mais grave, principalmente em um sistema de alta segurança. Já o erro do tipo II já não possui tanta gravidade, pois o usuário não se importaria tanto em repetir o procedimento de verificação de voz se isto significa uma maior segurança no sistema. Diversos fatores influem no desempenho de um sistema de reconhecimento de falante, entre os quais: Características do microfone e do canal; Tipo e nível de ruídos; Diferenças entre o ambiente onde é cadastrada a voz do usuário e o ambiente onde o sistema faz a verificação; Modo de reconhecimento, se é dependente ou independente do texto; Duração e número de sessões realizadas no cadastro da voz e na verificação; Tamanho e composição do grupo de usuários cadastrados.
Aplicações Entre as aplicações de reconhecimento de falante, podemos citar a biometria para acesso em sistemas de segurança. Um sistema de alta segurança deve se basear em diversas características do usuário, como: Saber: uma combinação de caracteres, uma senha; Ter: uma chave, um cartão, um chip. Ser: a impressão digital, reconhecimento de íris ou de voz. Figura 6 Características de um sistema de segurança Destas formas de biometria, o reconhecimento de voz é aparentemente o mais prático e o mais barato, pois depende basicamente de um microfone e de um software. O reconhecimento de falante pode ser usado também em autenticações para operações realizadas por telefone, como algumas operações bancárias e financeiras.
Conclusões A área de reconhecimento de falante é uma das poucas áreas de reconhecimento biométrico onde o desempenho de um sistema automático ainda é inferior ao de um ser humano. Apesar disto, a tecnologia de reconhecimento já está disponível para algumas aplicações. Vimos que a técnica de reconhecimento de falante pode ser combinada com outras técnicas de autenticação para criar um sistema de segurança mais confiável. Pesquisas buscam a melhora do sistema para uso em ambientes menos controlados, incorporando melhores níveis de decisão e robustez quanto a ruídos espúrios e ao canal utilizado. Percebe-se que a tecnologia de reconhecimento de voz e de falante virá a ser bastante utilizada em dispositivos e serviços que possuam alguma interface de voz.
Referências Bibliográficas J. Campbell, Speaker Recognition: A Tutorial, Proc. IEEE, vol. 85, pp. 1437 1462, Set. 1997. D. A. Reynolds, L. P. Heck, "Automatic Speaker Recognition - Recent Progress, Current Application, and Future Trends. Apresentado na AAAS 2000 Meeting Humans, Computer and Speech Symposium, Fev. 2000.