You are on page 1of 5

RECO HECIME TO DE COMA DO DE VOZ BASEADO EM FILTROS WAVELET UTILIZA DO REDES EURAIS ARTIFICIAIS IGOR S. PERETTA, GERSON F. M.

LIMA, JOSIMEIRE A. TAVARES, KEIJI YAMANAKA cleo de Engenharia de Computao, Faculdade de Engenharia Eltrica, Universidade Federal de Uberlndia Caixa Postal 593, 38400-902 Uberlndia, MG, BRASIL E-mails: iperetta@gmail.com, gersonlima@ieee.org, josycbelo@gmail.com, keiji@ufu.br
Abstract The use of voice commands as a new way of interaction between man and machine is the subject of several re searches in recent years and has produced several commercial or freeware applications. However, considering the results achieved, there is still great development potential in this area. This work proposes the use of wavelet transform and wavelet packet filter bank as a main tool for feature extraction to feed a multi-layer artificial neural network to recognize a limited vocabulary of voice commands with low sensitivity to noise, independence for the pronunciation used and the identity of the speaker. A graphical interface was implemented to make the commands recognized by the artificial neural network able to control the movement and the color of an object inside a bi-dimensional virtual environment. Keywords Voice command recognition, DWT, wavelet packet filter bank, artificial neural network Resumo O uso de comandos de voz como nova forma de interao homem-mquina alvo de diversas pesquisas nos ltimos anos e j produziu diversos aplicativos comerciais ou de distribuio gratuita. No entanto, considerando os resultados conquistados, ainda existem grandes possibilidades de desenvolvimento nesta rea. Este trabalho prope o uso de transformadas wavelet e banco de filtros wavelet packet como ferramenta principal de extrao de caractersticas para alimentar uma rede neural artificial multicamada para o reconhecimento de um vocabulrio limitado de comandos de voz com baixa sensibilidade a rudos e com independncia da pronncia utilizada e da identidade do locutor. Uma interface grfica foi implementada para que os comandos reconhecidos pela rede neural artificial possam controlar o movimento e a cor de um objeto em um ambiente virtual bidimensional. Palavras-chave Reconhecimento de comando de voz, DWT, banco de filtros wavelet packet, rede neural artificial

Introduo

O reconhecimento da fala e de comandos de voz uma extensa rea de estudos com diversas aplicaes possveis no nosso cotidiano, como: tornar mais simples diversas tarefas dirias, possibilitar novas formas de interao homem-mquina, gerar controles inovadores para o desenvolvimento de realidade expandida, apoiar a incluso de deficientes fsicos com restries severas de movimento. No entanto, mesmo aps anos de pesquisa, no temos conhecimento de nenhum aplicativo que tenha obtido mais de 75% de preciso para locutores independentes [1]. Diversas estratgias j foram utilizadas, cada uma com suas vantagens e desvantagens [2] [3] [4] [5] [5] [6] [7]. Alguns fatores que impedem o sucesso absoluto nesta rea so: possveis indeterminaes da qualidade dos equipamentos que sero utilizados na captura da voz; os diferentes nveis de rudo aos quais os aplicativos sempre estaro sujeitos [8]; as diferenas inerentes de cada locutor independente; a prpria variao da fala de um mesmo locutor em situaes distintas, por motivo de doena ou fadiga, ou mesmo pelo chamado efeito Lombard [9] (fenmeno em que o indivduo altera sua produo vocal em ambientes ruidosos); a no compreenso da totalidade dos processos biolgicos e cognitivos utilizados na audio humana. Este trabalho parte de duas informaes principais: a primeira que as redes neurais artificiais tm

Figura 1. Diagrama funcional.

obtido vrios sucessos em reconhecimento de padres de fala [2] [4] [10]. A segunda deve-se a uma caracterstica da audio humana: a anlise de sons feita pelos nossos ouvidos, ao menos em seu primeiro estgio determinado pela funo resposta da cclea humana, pode ser representada por transformadas wavelet [11]. O uso de funes wavelet foi indicado para aumentar a robustez a rudos, emulando assim a resoluo de freqncia da cclea humana [2]. Assim, baseando-se em um banco de filtros do tipo wavelet packet com bandas de passagem inspiradas na audio humana [2] e na transformada discreta de wavelet (DWT) [11], foi desenvolvido um programa em MATLAB para o reconhecimento de um vocabulrio limitado a seis comandos de voz. Foram

Figura 2. Sobreposio de um sinal de voz e seu envelope.

Figura 3. Nodos da rvore de decomposio da wavelet packet.

escolhidas as seguintes palavras: SOBE, DESCE, ESQUERDA, DIREITA, AZUL e VERMELHO. Com o uso do aplicativo Audacity [12] de distribuio gratuita, foram capturadas trs verses de cada uma dessas palavras faladas por 50 pessoas, sendo 30 homens e 20 mulheres na faixa etria de 17 a 40 anos, totalizando 900 amostras gravadas no formato de udio Waveform (WAV). O programa foi configurado com freqncia de amostragem de 8kHz e comprimento de 16 bits por amostra de amplitude do sinal. As gravaes foram realizadas com o uso de um microfone de computador comum, com impedncia de 75, em uma sala com fluxo regular de pessoas sem nenhum controle de nvel de rudo. O objetivo foi desenvolver um aplicativo robusto a rudos e com grande capacidade de generalizao. Estes dados foram processados pelas transformadas wavelet escolhidas e tiveram suas caractersticas extradas para, agrupadas em vetores de entrada, possibilitarem o treinamento da rede neural artificial e o posterior reconhecimento dos comandos, como apresentado no diagrama funcional na Figura 1. No primeiro estgio do programa, as amplitudes do sinal de voz so normalizadas e maximizadas no intervalo de -1 a 1, conforme tipo de dados double utilizado pelo MATLAB na leitura dos padres gravados e na captura da fala no formato WAV. Em seguida, com o auxlio de um algoritmo de deteco de envelope, determinado o incio e o fim de cada palavra, isolando-a em seu respectivo sinal original. O prximo passo o ajuste da palavra isolada no tempo, a fim de adequ-la a um intervalo padronizado. utilizado um algoritmo prprio, com o intuito de inserir todas as palavras no mesmo intervalo de tempo. Esse resultado passa, ento, por dois processos diferentes: submetido a um banco de filtros wavelet packet e aplicada a ele a transformada discreta wavelet (DWT). Quando submetido ao wavelet packet, esse banco de filtros separa o sinal em componentes correspondentes s faixas crticas audveis pelo ser humano (0-4000Hz) [2]. gerada uma rvore relacional pelo banco de filtros.

A DWT do sinal visa decompor o ltimo nvel utilizado pela rvore de decomposio da wavelet packet. Cada segmento do sinal decomposto separado em intervalos pr-definidos para o clculo das intensidades e da correlao entre elas. Segue-se ento a extrao de quatro grupos principais de caractersticas: a quantidade de picos do envelope, as energias de cada nodo da rvore gerada pela wavelet packet [2], as entropias de cada intervalo pr-definido do sinal e as intensidades correlacionadas dos intervalos da DWT, gerando, assim, um vetor de 158 caractersticas para cada arquivo de som para ser submetido como entrada para a rede neural artificial (RNA). Para o reconhecimento dos comandos, foi utilizada uma RNA com arquitetura multicamada [13], treinada com 600 padres de entrada. Os outros 300 padres obtidos foram utilizados para verificar a capacidade de reconhecimento e generalizao da rede. Foi desenvolvida uma interface grfica para que os comandos reconhecidos pudessem ser utilizados para o controle do movimento e alterao de caractersticas de um objeto em um ambiente virtual bidimensional (2-D). Os resultados obtidos so apresentados no presente trabalho.
Tabela 1. Banda de passagem do banco de filtros por nodo da rvore da wavelet packet.

Banda [Hz] 0-125 125-250 250-375 375-500 500-750 750-1000 1000-1250 1250-1500 1500-2000 2000-2500 2500-3000 3000-3500 3500-4000

odo da rvore wavelet packet (5,0) (5,1) (5,2) (5,3) (4,2) (4,3) (4,4) (4,5) (3,3) (3,4) (3,5) (3,6) (3,7)

Tabela 2. Intervalos definidos para clculo de intensidades.

Decomposio do sinal D1 D2 D3 D4 D5 A5

Figura 4. Decomposio do sinal pela DWT.

Proporo com relao ao tamanho do sinal 2 -1 2 -2 2 -3 2 -4 2 -5 2 -5

mero de intervalos 64 32 16 8 4 4

2 Desenvolvimento 2.1 Pr-Processamento Este um dos mais importantes estgios em qualquer aplicao destinada a processamento de sinais. Seu objetivo tratar o sinal de maneira a minimizar as variaes apresentadas, padronizando as amostras obtidas. No presente caso de reconhecimento de comandos de voz, foram realizadas algumas etapas de padronizao. Na primeira etapa, so realizadas a normalizao e a maximizao dos sinais, de modo a enquadr-los dentro do espectro de amplitude definido pelo intervalo entre -1 e 1. A prxima etapa compreende a deteco de incio e fim das palavras inseridas nos sinais capturados. Para isso, foi utilizado inicialmente um algoritmo de deteco de envelope que utiliza a transformada rpida de Fourier do sinal e um filtro passa-baixa com 4 Hz de freqncia de corte [2]. Sobrepondo a forma de onda desse envelope ao sinal normalizado, detectamos o incio da palavra a 6,2% da amplitude mxima do envelope e o seu final a 5% da mesma amplitude mxima. Esses valores percentuais foram obtidos experimentalmente para as amostras capturadas e escolhidos por atingir os melhores resultados. Com o incio e o fim da palavra, isolado seu sinal equivalente. Na ltima etapa deste estgio, realizado o ajuste no tempo do sinal isolado. Para minimizar o impacto de diferentes velocidades de fala, foram enquadrados todos os sinais isolados dentro do perodo de 0,5 segundo (ou 4.000 amostras de amplitude do sinal), escolhido arbitrariamente. Com esse objetivo, foi desenvolvida uma funo no MATLAB para realizar o ajuste linearmente. 2.2 Pr-Processamento Wavelet Este estgio a principal contribuio deste trabalho. Com referncia nos resultados de trabalhos que reforam a utilizao de wavelets em reconhecimento de padres de voz [2] [3] [7] [10], foram utilizados o banco de filtros wavelet packet e a DWT para transformar os sinais obtidos at aqui, criando estratgias para aquisio de novas informaes contidas nesses sinais. So dois processos independentes utilizados para analisar o sinal. O primeiro consiste em submet-lo a um banco de filtros wavelet packet para a gerao da rvore de decomposio apresentada na Figura 3. Os coeficientes encontrados em cada nodo desta rvore correspondem s respostas no tempo do sinal filtrado com diferentes faixas de freqncia. As faixas de freqncias apresentadas na Tabela 1 foram concebidas para simular o sistema de audio humana [2]. O outro processo refere-se aplicao da DWT ao sinal. Esta transformao decompe o mesmo em coeficientes de aproximao (cAi, com i = nvel da wavelet) e coeficientes de detalhamento (cDj, com j = 1, ..., nvel escolhido da wavelet), conforme pode ser visto na Figura 4. A cada nvel da wavelet, os nmeros de coeficientes de aproximao e de detalhamento so reduzidos pela metade. A wavelet-me escolhida para ambos os processos a Daubechies 4 (db4) com nvel 5 de decomposio. 2.3 Extrao de Caractersticas A partir dos estgios anteriores, so extrados quatro grupos de caractersticas: Quantidade de picos no envelope detectado. Energia nos nodos da rvore da decomposio wavelet packet. Entropias de intervalos do sinal. Intensidades correlacionadas da DWT do sinal. A quantidade de picos (mximos da funo) encontrados no envelope a primeira caracterstica extrada. Como no houve controle algum da pronncia dos locutores independentes amostrados, no foi verificado como realidade o fato de que a quantidade de picos do envelope equivaleria quantidade de slabas na palavra. O nmero de picos no envelope o primeiro elemento do vetor de caractersticas. Os coeficientes encontrados na wavelet packet foram base para o clculo da energia em cada nodo da rvore de decomposio. Esse grupo de caractersticas gera 13 novos elementos para o vetor de entrada. O sinal ajustado da palavra arbitrariamente dividido em 16 intervalos de 2 -5 segundos para o clculo das entropias de Shannon de cada intervalo. Os

valores de entropia encontrados so 16 novos elementos para o vetor de entrada. Os coeficientes da DWT do sinal foram divididos nos grupos cA5, cD5, cD4, cD3, cD2 e cD1. Cada grupo dividido em intervalos definidos arbitrariamente, como pode ser visto na Tabela 2, e em cada intervalo calculada a sua intensidade I, como na equao (1). E I= (1) A t Onde: E a energia no intervalo do sinal, A a rea da curva no intervalo do sinal e t o intervalo de tempo considerado. Como diferentes nveis de rudo podem alterar os clculos de intensidade de determinado sinal, foi decidido correlacionar essas intensidades, referenciando-as sempre ao mximo de seu intervalo. Como teremos tantas intensidades correlacionadas quanto intervalos, so mais 128 elementos ao vetor de caractersticas. Aps a extrao 158 caractersticas de todos os padres de treinamento, a matriz de caractersticas normalizada, enquadrando os seus elementos dentro do intervalo de -1 a 1. Devido funo de ativao dos neurnios da RNA escolhida, esse intervalo permite o melhor aprendizado da rede. 2.4 Rede eural Artificial Foi utilizada uma RNA com arquitetura multicamada (MLP), com 158 neurnios de entrada, 158 neurnios na camada oculta, e 6 neurnios de sada. A funo de ativao dos neurnios escolhida foi a tangente hiperblica. A RNA foi treinada com 600 padres de entrada, cada qual com seu vetor de 158 caractersticas. Os outros 300 padres gravados foram utilizados posteriormente para verificao de capacidade de reconhecimento da rede. Os neurnios de sada equivalem cada qual a um comando a ser reconhecido. Os critrios utilizados para reconhecer um comando so: Se nenhum ou mais de um neurnio de sada ativado, comando no reconhecido; Se apenas um neurnio ativado, sua sada comparada com um valor de confiabilidade; se for maior, o comando reconhecido; Se a ativao nica, mas no atinge o valor mnimo de confiabilidade, o comando tambm no reconhecido. Para os resultados de testes apresentados neste trabalho, foram utilizadas trs diferentes estratgias: Confiabilidade igual a 10%; Confiabilidade igual a 70%; Sada com maior valor positivo de ativao, aceitando mais de uma sada ativa.

Grfico 1. Comparativo entre acertos de reconhecimento em padres gravados.

Grfico 2. Comparativo entre erros de reconhecimento em padres gravados.

2.5 A interface grfica Foi implementada uma interface grfica com um ambiente bidimensional (2-D) para visualizao dos resultados. Com base nos comandos reconhecidos pela RNA, um objeto controlado ou alterado nesse ambiente. Os autores optaram por esse tipo de implementao por ser uma forma visual intuitiva que reflete os resultados de reconhecimento da RNA de maneira a minimizar o processo cognitivo do usurio. 3 Resultados e Concluso Foram realizados dois tipos de testes: o primeiro tratou o reconhecimento de arquivos gravados, usados ou no para treinamento (50 locutores), com as estratgias de 10% de confiabilidade, 70% de confiabilidade e considerando o maior valor de ativao. O segundo tipo de teste tratou o reconhecimento em tempo real (5 locutores). Dentre os resultados encontrados, o que mais se destacou foi o total de acertos no reconhecimento de arquivos gravados, em que se obteve uma abrangncia entre 69% a 84% do total de padres reconhecidos (90% a 99% de reconhecimento apenas nos padres treinados, dependendo da palavra). Entre as diferentes estratgias de reconhecimento de comandos, obteve-se melhor resultado de acerto para a estratgia de maior valor (75% a 84%). No entanto, apresentou maior percentual de erros (5% a 14%). Com a confiabilidade de 70%, temos uma reduo do percentual de acertos (69% a 79%) e, conseqentemente, o menor percentual de erros (3% a 7%). Esses comparativos podem ser vistos nos Grficos 1 e 2.

70%
64%

60% 50%

60% 56% 48% 40% 34% 36% 54% 56%

based on phoneme identification, Computing, Communication and etworking. pp. 16 [2] Gandhiraj, R., Sathidevi, P.S. (2007). AuditoryBased Wavelet Packet Filterbank for Speech Recognition Using Neural Network, Advanced Computing and Communications, pp. 666673. [3] Chen, S. H., Wu, H. T., Chen C. H., Ruan, J. C., Truong, T.K. (2005). Robust voice activity detection algorithm based on the perceptual wavelet packet transform, Intelligent Signal Processing and Communication Systems, pp. 4548. [4] Omar, M., Abdalgader, K. (2004). Designing A Neural Network Based Audio Classification System, Masters Thesis, Universiti Utara Malaysia. [5] Sun, H., Ma, B., Li, H. (2008). An Efficient Feature Selection Method for Speaker Recognition, Chinese Spoken Language Processing, ISCSLP '08, pp. 14. [6] Dakkak, O., Harba, Y. (2006). Vocal Commands to a Robot by an Isolated Words Recognition System using HMM, Information and Communication Technologies ICTTA '06, 2nd Volume 1, pp. 12191224. [7] Siafarikas, M., Mporas, I., Ganchev, T., Fakotakis, N. (2008). Speech Recognition using Wavelet Packet Features, Journal of Wavelet Theory and Applications, Volume 2, Number 1, pp. 4159. [8] Ming, J. (2006). Noise compensation for speech recognition with arbitrary additive noise, Audio, Speech, and Language Processing, IEEE Transactions, Volume 14, Issue 3, pp. 833844. [9] Lau, P. (2008). The Lombard Effect as a Communicative Phenomenon, UC Berkeley Phonology Lab Annual Report 08. [10] Crovato, C. D. P., Schuck Jr, A. (2007). The Use of Wavelet Packet Transform and Artificials Neural Networks in Analysis and Classification of Dysphonic Voices, IEEE Transactions on Biomedical Engineering, v. 54, pp. 1898-1900. [11] Daubechies, I. (1992), Ten lectures on wavelets, CBMS- SF conference series in applied mathematics, SIAM Ed. [12] http://audacity.sourceforge.net/?lang=pt [13] Fausett, L. (1994) Fundamentals of neural networks, Prentice-Hall.

Percentual

40% 30%

24%

26% 22% 18% 18% 18%

20% 10% 0% Sobe Desce Azul


10% 0%

16%

Verm elho

Direita

Es querda

Palav ras

Acertos

Insucessos

Erros

Grfico 3. Comparativo dos resultados em tempo real.

Nos testes em tempo real, em um ambiente no controlado, com trs locutores cujas vozes amostradas integraram o conjunto de padres utilizados para o treinamento da RNA e dois locutores com vozes inditas. Cada locutor repetiu dez vezes cada palavra apresentada. O resultado, registrado no Grfico 3, reflete a mdia de reconhecimento de todos os locutores. O desempenho da RNA gerou resultados promissores, comparveis aos apresentados nos estudos referenciados nesse trabalho embora tenha sido realizado em um ambiente no controlado para a coleta das amostras, sem controle de rudos e nem regras de entonao para os locutores independentes. Para o prosseguimento deste trabalho, pretendese: Aumentar o banco de vozes de locutores independentes, gerando melhorias na capacidade de generalizao da RNA. Melhorar os algoritmos utilizados no prprocessamento dos sinais. Alterar configuraes da RNA para ampliar sua capacidade de generalizao (nmero de ciclos de treinamento e taxa de aprendizagem). Pesquisar ou desenvolver uma nova wavelet me que possa se aproximar dos processos utilizados pela audio humana. Estudar outras arquiteturas de RNA, hbridas ou no, buscando agilizar o treinamento sem perder a capacidade de generalizao. Agradecimentos Aos Professores Doutores Edna Lcia Flres, Gilberto Arantes Carrijo, Jos Wilson Resende e Luciano Vieira Lima que, de forma direta ou indireta, colaboraram para a realizao deste trabalho. Agradecemos tambm aos alunos da Universidade Federal de Uberlndia (UFU) que contriburam solicitamente na coleta de amostras. Referncias Bibliogrficas [1] Uma Maheswari, N., Kabilan, A.P., Venkatesh, R. (2008). Speaker independent speech system

You might also like