1 TRANSFORMADA WAVELET APLICADA A SINAIS HUMANOS RESUMO Maximiliano de Oliveira Lima(AEDB) Monique Pacheco do Amaral(AEDB) Valéria Cristina da Costa Pinto(AEDB) Arlei Fonseca Barcelos(Prof. Orientador) Os desenvolvimentos das ciências, principalmente as computacionais, apontam para uma tendência onde o processamento dos sinais torna-se cada vez mais presente e indispensável. O processamento computacional da fala é uma área em ascensão, considerando sua ampla gama de aplicações. Assim sendo, pretende-se por meio deste trabalho, contribuir para os estudos de reconhecimento da fala e compactação de sinais, no que tange a análise e processamento de sinais, aplicando-a na segmentação e codificação desta. Para tanto, foi utilizado um conjunto de teorias recentemente estruturado e ainda em desenvolvimento, chamadas Wavelets, a qual tem se mostrado eficaz para servir o processamento da fala. Devido sua localização tanto no domínio das freqüências, quanto no domínio temporal, possibilitando assim, uma análise de sinal multi-escalar, otimizando de maneira significativa o processamento do sinal da fala. Palavras-chaves: Transformadas, Reconhecimento de Voz, Compactação de Voz
2 1 INTRODUÇÃO Existem diversas ferramentas matemáticas que provêm à transformação de uma função (sinal) do domínio do tempo para o domínio da freqüência. Sem dúvida a mais conhecida no meio científico é a Transformada de Fourier [9], desenvolvida pelo matemático Joseph Fourier em 1807. De acordo com Fourier, toda função real periódica, pode ser escrita como uma soma infinita de senos e co-senos. Wavelets formam uma alternativa bastante interessante para análise freqüencial de sinais. No mundo das wavelets a decomposição do sinal não será mais feita em termos de senos e cosenos, como acontecia no caso de Fourier, mas em termos de funções localizadas no tempo (funções que assumem valores num intervalo de tempo não definido) e sem escala fixa. Assim parte-se de uma certa função (que se quer analisar) e obtém-se a base em outra função. O presente artigo aborda aplicações da transformada Wavelet [1], na utilização em sinais humanos (compactação voz e reconhecimento de palavras). Os quais serão analisados praticamente através do software MATLAB. Baseando-se na análise de Wavelet [1] [2]. O primeiro procedimento consiste em capturar um sinal que será analisado, em seguida este sinal será amostrado para ser fracionado em duas sub-séries, apenas uma destas sub-séries será utilizada para a compactação do sinal. O sinal compactado poderá ser transmitido e recomposto (descompactado). O segundo procedimento consiste em capturar, analisar e comparar o sinal com um banco de palavras. Mas especificamente, é apresentada uma técnica capaz de autenticar uma palavra (senha) a partir de um banco de dados previamente armazenado. Utilizaremos por exemplo as palavras LIGA e DESLIGA.
3 2 CONCEITOS TEÓRICOS DE TRANSFORMADA WAVELET Há dois tipos de funções wavelets, as Contínuas e as Discretas, cada qual útil para determinadas aplicações. As wavelets contínuas são comumente utilizadas para visualizar, em um diagrama tridimensional, a relação existente entre as componentes de diferentes freqüências em função da escala temporal do sinal estudado, onde estas relações são comumente categorizadas como não lineares. Inicialmente, define-se a Transformada Wavelet Contínua considerando um sinal f (t), porém a generalização para sinais ou imagens bidimensionais f ( x, y), também pode ser obtida. A transformada wavelet continua f (t) é denotada pela equação: F( a, b) = f ( t) Ψ a, b( t) e i2πut Nesta equação, os parâmetros a e b variam continuamente em 2 l R e são a fator de escala e b a variável de deslocamento, sendo que a função wavelet mãe e definida da seguinte forma: Ψa, b ( t) = 1 t b Ψ a a dt Ψ a, b ( a =1 e b =1) é denominada Variando-se apropriadamente os termos a e b construiu-se a base de funções da transformada Wavelet. A constante Wavelet em diferentes escalas tal que: 1 é usado para normalização da energia da função a 2 Ψa, b ( t) dt = 1, para qualquer nível de dilatação. É importante ressaltar que, tendo em vista a propriedade de representação em tempofreqüência, variações no índice a relacionam-se às medidas dos intervalos nos quais as wavelets concentram maior parte de sua oscilação, de forma a se referir a tal índice como sendo relativo ao nível de resolução. As wavelets discretas são utilizadas para decomposição e filtragem de qualquer sérietemporal. A sua aplicabilidade neste aspecto advém do fato de que estas wavelets não provocam redundâncias de coeficientes entre as escalas (freqüências). Uma maneira eficiente de aplicar a transforma Wavelet é através de filtros, técnica desenvolvida por Mallat [3], onde se tem a decomposição da Wavelet implementando a
4 análise de multiresolução. A análise multiresolução é uma técnica que permite analisar sinais em múltiplas bandas de freqüência. A transformada Wavelet multiresolução pode ser considerada como um filtro passa-baixa e Figura 1 -Processo de decomposição do sinal decomposição é apresentada na figura 1. outro passa-alta. A função Wavelet Ψ (t) está relacionada a um filtro passa-alta, a qual produz os coeficientes de detalhes da decomposição Wavelet. Na análise multiresolução, há uma função adicional que está relacionada ao filtro passa-baixa. Esta é chamada de função de escalonamento φ (t), e está associada com coeficientes de aproximação da decomposição da Wavelet. O processo de filtragem de Para muitos sinais, inclusive a voz humana, as componentes de baixa freqüência são aquela que contem maior informação. Já nas componentes de alta freqüência da voz, são encontrados detalhes que, se removidos, alteram som, mas ainda é possível saber o que está falando (não há perda de inteligibilidade). A remoção das componentes de baixa freqüência, contudo, afeta drasticamente a inteligibilidade. Para sinais discretizados a Transformada Wavelet pode ser analisada conforme descrito na Figura 2. É possível observar que as amostras foram divididas em duas partes: aproximação e detalhe. Neste caso as amostras relativas a aproximação representam as componentes de baixa frequência do sinal amostrado, enquanto que o detalhe representam as de altas frequências. Figura 2 - Processo de decomposição do sinal em amostras 2.1 Algumas Aplicações de Transformada Wavelets. Em [4], Ramchandran e Vetterli propuseram um algoritmo rápido com o objetivo de encontrar a melhor base (Best Basis) na estrutura de decomposição em árvore. Este algoritmo utiliza a Transformada Wavelet Packet para compressão de sinais, empregando uma estrutura que
5 inclui taxa de distorção. A compressão utilizando a estrutura de árvore foi utilizado neste trabalho para compressão de voz. Em [5] os autores descreveram o uso da Wavelet Packet para o monitoramento de máquinas. Foi proposto um método de extração de características baseado na energia de cada nó da árvore da decomposição Wavelet. Devido ao fato das Wavelets representarem sinais comprimidos, cada decomposição possui determinada informação do sinal em diferentes células tempo-freqüência. Os autores em [7] utilizaram a combinação de coeficientes da Wavelet Packet e rede neural para classificar classes de sinais. Os tipos de sinais usados neste trabalho são sons de mamíferos marinhos, diferenciando porco do mar, cachalote (semelhante à baleia, mas com dentes) e ruído. Em [8] é apresentado um novo método de reconhecimento de faces humanas com iluminação constante. Este sistema é baseado na análise da decomposição Wavelet Packet de imagens de faces. Cada face é localizada e descrita por um subconjunto de imagens filtradas em bandas, contendo os coeficientes Wavelets. A partir destes coeficientes são construídos vetores de características as quais caracterizam a textura da face através de medidas estatísticas simples. 3 DESENVOLVIMENTO DO TRABALHO 3.1 Compactação O método de compactação utilizado neste trabalho foi do tipo multiresolução que foi explicado na seção 2 (Transformada Wavelet), neste item mostraremos a descrição de como foi realizado a trabalho de compactação através dos passos desenvolvidos no software MATLAB. Com o sinal de voz amostrado, será aplicado o método da multiresolução que foi apresentado na seção 2, que consiste em passar o sinal de voz amostrado por filtros passa-baixa e Figura 3 Decomposição mostrando a forma de onda do sinal filtros passa-alta. No sinal da Figura 3 foi aplicado uma decomposição apresentando a aproximação e o detalhe que são as saídas dos filtros passa-
6 baixa e passa-alta respectivamente. Após esta separação de sinais apenas as aproximações são aproveitadas, descartando os sinais de detalhe. Observando as formas de onda da figura 3 podemos verificar que o sinal de aproximação é muito parecido com o sinal original, apresentando assim maiores características da origem. Para realizar a compactação são retirados os detalhes já que eles não guardam grande informação do sinal, como é mostrado na figura 4, reduzindo o número de amostras reduz-se o tamanho do sinal, compactando-o. O sinal original possuía 200000 amostras no exemplo, após passar por duas compactações apresentou 50000 amostras não perdendo a inteligibilidade. Figura 4- Aproximações A figura 5 mostra a forma de onda original da palavra WAVELET que foi testada no programa de compactação. A figura 6 mostra a forma de onda da palavra WAVELET compactada com 50000 amostras, ou seja, observa-se através da Figura 5 e Figura 6 que a retirada das 50000 amostras dos detalhes não Figura 5 - forma de onda original da palavra Wavelet apresentou grandes perdas para o sinal de voz. 3.2 Reconhecimento de palavras Esta seção apresenta uma técnica para reconhecimento de palavras usando a transformada Wavelet. Mas especificamente, é apresentada uma técnica capaz de autenticar uma palavra Figura 6- forma de onda da palavra Wavelet Compactada (senha) a partir de um banco de dados previamente armazenado. Uma das etapas mais importantes de todo o processo é o calculo da transformada Wavelet. Para isso foi utilizada a Wavelet mãe Symlet 1 [6].Os sinais foram analisados com as seguintes Wavelets mãe: Haar [6], Daubechies 1 [6], Daubechies 2 [6], Daubechies 4 [6] e Symlet 1. Após testar diversas combinações de Wavelet mãe utilizou-se a Wavelet Symlet 1
7 pois foi a que apresentou melhores resultados. Após o calculo da Wavelet os dados são apresentados em forma de vetor e os sinais são normalizados para que a correlação seja efetuada em sinais com amplitudes equivalentes. Por exemplo os sinais mostrados na Figura 7 e na Figura 8 são de uma mesma palavra mas com potencias diferentes. Figura 7- palavra abre baixa potencia Figura 8- palavra abre alta potência Um dos grandes problemas encontrados é o tamanho do sinal pois uma palavra pode ser pronunciada rapidamente ou vagarosamente. O fato dos tamanhos serem diferentes dificulta o calculo de correlação entre os sinais. Após o tratamento do sinal, o mesmo é correlacionado com sinais já tratados e guardados em arquivos que chamamos de banco de vozes. Essa comparação obedece a uma escala onde quanto menor o número mais parecido é o sinal que se deseja comparar com o banco de vozes gravado, e conseqüentemente quanto maior é o número da escala menos parecido é o sinal que se deseja comparar com as palavras do banco de vozes. Se o número do sinal que se deseja comparar ficar dentro de uma faixa de tolerância pré estabelecida a palavra é reconhecida. 4 RESULTADOS 4.1 Compactação Após realizado testes utilizando o programa desenvolvido através do software Figura 9 Arquivo original, compactação Wavelet e compactação winzip MATLAB pode ser observado o sucesso e confiabilidade através dos resultados apresentados no exemplo abaixo: original, mostrando assim uma compactação de 62,4%. A palavra WAVELET original foi salva no arquivo chamado mo e a palavra WAVELET compactada foi salva no arquivo D2. O arquivo compactado ocupou 676K bytes de memória e o arquivo compactado ocupou 253K bytes este último apresentou aproximadamente 37,6% do arquivo
8 O arquivo original foi compactado utilizando outro método (Winzip) para verificação da funcionalidade do método utilizando a transformada Wavelet. O arquivo compactado com Wavelet ocupou 253K bytes de memória e o arquivo compactado com Winzip ocupou 673K bytes apresentando aproximadamente 0,5% de compactação.o resultado descrito acima é mostrado na Figura 9. Foram analisadas algumas palavras e frase diferentes para avaliar o nível de compactação que é apresentado na Tabela1. Pode-se verificar que a média de compactação utilizando a transformada Wavelet é de 60,4% enquanto que utilizando a compactação com Winzip a média é de 0,9%. Tabela 1 comparação de compactação Wavelet e Winzip Amostras Arquivo Arquivo Arquivo Original Compactado Compactado com Wavelet Com Winzip % compactação Wavelet % compactação Winzip 1 566 KB 240 KB 559 KB 57,5 1,2 2 801 KB 251 KB 798 KB 68,6 0,3 3 640 KB 248 KB 635 KB 61,2 0,7 4 590 KB 244 KB 583 KB 58,6 1,1 5 650 KB 248 KB 645 KB 61,8 0,7 6 578 KB 241 KB 571 KB 58,3 1,2 7 651 KB 249 KB 647 KB 61,7 0,6 8 579 KB 241 KB 572 KB 58,3 1,2 9 595 KB 243 KB 588 KB 59,1 1,1 10 594 KB 242 KB 588 KB 59,2 1 4.2 Reconhecimento de palavra Um dos testes realizados com sucesso foi através da palavra Liga onde aproximadamente 100% dos testes atingiram os resultados esperados. Outras palavras também foram analisadas como a palavra Desliga apresentando 70% de aceitação para o pior caso e 90% de aceitação para o melhor caso. Um fator que comprometeu a porcentagem de aceitação da palavra Desliga foi a diferença de entonação na pronúncia em relação ao banco de voz, isso pode acontecer quando o locutor está resfriado ou então possui um sotaque. E neste caso o locutor deve repetir o comando. Outro fator que pode comprometer os resultados é comparar palavras com o mesmo número de sílabas e com mesma entonação. Isto foi verificado durante os testes com as palavras Abre e Fecha onde conseguimos apenas 60% de aceitação.
9 Alguns testes foram realizados para verificar a importância do cálculo da entropia nos resultados. Primeiramente as palavras Liga e Desliga foram comparadas sem o calculo da entropia. A diferença entre a comparação das palavras Liga X Liga e Liga X Desliga foi de apenas 10% e após o calculo da entropia essa diferença aumentou consideravelmente para 79%. Isso comprova que o calculo da entropia está ligado diretamente à confiabilidade dos resultados. O sistema de identificação de palavra desenvolvido é capaz de identificar com grande eficiência a palavra que está sendo pronunciada independente do sexo do locutor. Os problemas de reconhecimento de palavra estão relacionados à estrutura complexa da voz humana que depende de fatores como: entonação, velocidade da fala, estado físico e/ou emocional etc. 5 CONCLUSÃO De acordo com os dados estatísticos e os testes realizados pode ser comprovada a funcionalidade da ferramenta Wavelet que pode ser utilizada, juntamente com o software MATLAB, tanto para compactação de sinais quanto para reconhecimento de palavras. Através desta proposta, realizou-se um estudo para diagnosticar quais ferramentas eram viáveis na utilização deste trabalho. A Transformada Wavelet possui uma gama de funções de base, as chamadas Wavelets mães, diferentemente da Transformada de Fourier que possui somente as funções seno e co-seno como funções de base. Diante desta possibilidade de escolha de diferentes Wavelets mães, foi realizado um estudo através de testes práticos, sobre quais seriam mais adequadas para utilização neste trabalho. O projeto torna-se versátil devido a sua ampla área de aplicação podendo ser utilizado em compactação de áudio e vídeo; na monitoração de sinais humanos; sistemas de segurança; aquisição de sinais para manutenção preditiva entre outras. Desta forma, acredita-se que o objetivo deste projeto foi alcançado, uma vez que a proposta inicial foi Aplicação da Transformada Wavelet Aplicada a Sinais Humanos, tal algoritmo apresentou resultados satisfatórios tanto para compactação de voz como para reconhecimento de palavras e os índices de acertos ficaram em torno de 90%.
10 6 BIBLIOGRAFIA [1] CAMPOS, T. E. "Introdução à Teoria de Wavelets". Disponível por WWW em http://www.vision.ime.usp.br/%7ecreativision/quali_feris/node4.html. (março de 2005) [2] Faria, R. R. A. "Wavelets: Teoria e Aplicações". Disponível por WWW em http://www.lsi.usp.br/~regis/wavelethome.htm. (2005). [3] Silva, A. V. e Eyng, J. "Wavelets e Wavelet Packets". Disponível por WWW em http://www.inf.ufsc.br/~visao/2000/wavelets/#3. (2005). [4] Ramchandran K. and Vetterli M. Best wavelet packet bases in a ratedistortion sense, IEEE Transactions on Image Processing, Vol. 2, No. 2, pp. 160-175, April 1993. [5] Y. Wu and Du R. Feature extraction and assessment using wavelet packets for monitoring of machining processes. Mechanical Systems and Signal Processing, 10(1):29--53, Jan. 1996. [6] Parraga A. "Aplicação da Transformada Wavelet Packet na Análise e Classificação de Sinais de Vozes Patológicas". Porto Alegre: UFRGS, 2002. Dissertação de Mestrado. [7] Intrator N., Wong Y. S., Huynh Q. Q., Lee B. H. L. Wavelet Feature Extraction for Discrimination tasks, Proceedings ofthe 1997 Canadian Workshop on information Theory. Toronto, June 1997. [8] Garcia C., Zikos G. and Tziritas G. Wavelet packet analysis for face recognition, Image and Vision Computing, Vol. 18, Issue 4, Pages 289-297, March2000. [9] Hsu, P. Hwei "Análise de Fourier ". 2. ed. Rio de Janeiro: Editora Livros Técnicos e Científicos Ltda, 1973.