Aplicação de ICA - Método de BSS

Post on 18-Dec-2015

5 views 0 download

description

Este artigo mostra como pode ser aplicado a BSS, mais especificamente o algoritmo de ICA, buscando as componentes independentes.

Transcript of Aplicação de ICA - Método de BSS

  • Separao de fontes de sinais de udio

    Gustavo Leito Programa de Ps-Graduao em Engenharia Eltica e Computao PPGEE

    Processos Estocsticos 09 de Dezembro de 2009

    Resumo

    Este trabalho realiza um estudo para a aplicao prtica de tcnicas de separao de udio em gravaes onde envolva mais de uma fonte sonora e mais de uma fonte de captura simultaneamente. As tcnicas analisadas foram a separao cega utilizando o mtodo de anlise de componentes independentes (ICA) e a separao no cega atravs de algoritmo gentico.

    Abstract

    This work makes a study for the practical application of separation techniques in audio recording which involve more than one sound source and more than one source captures simultaneously. The techniques analyzed were blind source separation using independent component analysis (ICA) and the separation "not blind" through genetic algorithm.

    1. Introduo

    Para se entender melhor o problema, analisaremos a Figura 1.

    Figura 1 Esquemtico do problema.

    Como se pode observar pela Figura 1, existe duas fontes sonoras e um microfone posicionado em frente a cada uma delas. O microfone em frente a fonte s1 ir capturar no somente o sinal emitido pela prpria fonte s1,

    mas tambm uma frao do sinal emitido por s2. Analogamente, o sinal captado pelo microfone s2 tambm ser uma mistura dos dois sinais das fontes s1 e s2.

    O problema mostrado acima pode ser modelado idealmente da seguinte forma:

    a a a a

    Sendo a um coeficiente que pondera amistura os sinais (por exemplo, distncia do microfone, tempo de propagao do som, etc.). Assume-se que tais coeficientes so desconhecidos, pois no possvel determinar seus valores sem conhecer a estrutura fsica exata do ambiente. A fim de se facilitar a notao, as equaes (1) e (2) podem ser reescritas a forma matricial como:

    Deseja-se, a partir dos sinais capturados x1 e x2, obter os sinais originados pelas fontes s1 e s2. Se a matriz de mistura A fosse conhecida, o problema poderia ser resolvido simplesmente calculando-se a sua inversa e obtendo novamente os sinais originais da seguinte forma:

    Como a matriz A no conhecida necessita-se de um algoritmo que estime esta matriz a fim de se obter o sinal de cada fonte.

    Logo, o trabalho resume-se a encontrar a matriz estimada de aqui denotada por W para se estimar o sinal original de cada fonte:

    Para a realizao deste trabalho foram analisadas duas tcnicas: a separao cega atravs da anlise de componentes

  • independentes (ICA) e a separao no-cega atravs de um algoritmo gentico.

    O propsito do trabalho avaliar se alguma dessas tcnicas suficientemente boa para a separao de sinais de udios em um ambiente real.

    2. Anlise de componentes Indepentes (ICA)

    A primeira abordagem utilizada neste trabalho foi atravs da anlise de componentes independentes (ICA). A ICA um poderoso mtodo utilizado principalmente para o tratamento de problemas de separao cega de sinais de fontes independentes, tambm conhecido como Blind Source Separation (BSS).

    Uma das maneiras de se obter a matriz W desejada calcular a matriz que maximiza a no-gaussianidade do vetor . Esta tcnica est relacionada com o teorema do limite central. Por este teorema, a distribuio estatstica de uma mistura de duas ou mais variveis aleatrias mais gaussiana do que a distribuio de cada componente individual [2] [5]. Portanto, ao maximizar a no-gaussianidade dos componentes, estamos na verdade obtendo sinais estatisticamente o mais independente quanto possvel, se assemelhando do sinal das fontes originais.

    Desde quando foi proposto, diversas formas de se estimar o modelo ICA j foram apresentadas. Entre as alternativas existentes, pode-se citar a abordagem FastICA proposta por Hyvrinen [1] em que a convergncia do algoritmo ocorre em tempo significativamente menor que as abordagens tradicionais antes aplicadas e que, portanto, torna muito mais vivel a sua aplicao em diversos tipos de problemas mais complexos.

    Neste trabalho foi utilizado o algoritmo fastICA por negentropia o qual ser melhor explicado a seguir.

    2.1 ICA por negentropia

    A entropia um conceito fundamental da Teoria da Informao e avalia o grau de informao que pode ser obtida atravs da observao de uma varivel. Neste sentido, quanto mais imprevisvel for a varivel observada, maior ser sua entropia. Se uma varivel possui uma tendncia, ou seja, se h uma grande probabilidade de um evento especfico ocorrer, o ganho informacional no to grande em cada observao, pois j se espera que este evento altamente provvel ocorra.

    Uma varivel gaussiana possui a maior entropia entre variveis de mesma varincia [2]. Neste sentido, a entropia pode ser ento, utilizada como uma medida de no-gaussianidade da seguinte forma:

    Desta forma obtm-se uma medida que sempre positiva e mede a diferena de Entropia existente entre a varivel observada e uma varivel gaussiana com os mesmos parmetros. Esta medida recebe o nome de negentropia, e nada mais do que uma verso normalizada da Entropia e que pode ser utilizada pelo algoritmo do modelo ICA para encontrar os Componentes Independentes baseando-se na no-gaussianidade da distribuio.

    O clculo da entropia, por conseguinte da negentropia, uma medida que exige muito tempo computacional. Devido a isso, geralmente so utilizadas aproximaes para se estimar a negentropia. Uma boa aproximao exaustivamente utilizada na literatura dada por:

    !"#$ !"#%$&'

    (

    Na equao acima uma constante, % uma varivel gaussiana com mdia zero e varicia unitria, a varivel a ser calculada com varincia unitria e mdia zero, e # uma funo no-quadrtica. Para o problema em questo foi utilizado a seguinte funo no-quadrtica:

    #) log cosh)

  • 2.2 Pr-processamento

    Antes de aplicar o algoritmo ICA necessrio realizar um pr-processamento nos dados de entrada. Isso se deve ao fato de facilitar a convergncia do algoritmo e servir de normalizao para o clculo da negentropia.

    O pr-processamento constitudo de duas grandes operaes: a centralizao e o branqueamento. A Figura 2 mostra as etapas do pr-processamento do sinal a serem realizadas antes da anlise de componentes independentes.

    Figura 2 Etapas do Pr-processamento.

    Centralizao

    Consiste na remoo do nvel DC do sinal, ou seja, torn-lo com mdia nula. Para isso, deve-se subtrair de cada amostra o valor mdio do sinal como um todo.

    01 0 !203

    A imposio de mdia nula no afeta a matriz de mistura. Aps a estimao da matriz de mistura A com os dados centrados, repe-se o valor mdio aos sinais separados.

    Branqueamento

    Aps a centralizao do sinal necessrio realizar o branqueamento do sinal. O branqueamento tem o objetivo de tornar o sinal com suas componentes descorrelacionadas e sua varincia unitria.

    Para realizar o branqueamento dos dados aplica-se uma transformao linear invertvel 4, de forma que as observaes 5 401 tenham matriz de covarincia identidade, isto , sejam incorrelacionadas com varincia unitria, ou seja:

    67 89%: !"55;$ <

    Como 5 401 podemos reescrever a equao acima da seguinte forma:

    !"55;$ !"401401;$ 4!"0101;$4; <

    A matriz de covarincia das observaes de 01, designada por 6=1, simtrica, pois os seus vetores so ortogonais entre si e os valores prprios so reais [4], assim pode-se escrever:

    6=1 !"0101;$ !>!;,

    onde ! uma matriz ortogonal cujas colunas so os vetores prprios normalizados de !?0 0 ;@ e D = diag(d1,...,dn) matriz diagonal com os valores prprios de 6=. O branqueamento realizado atravs da seguinte transformao linear invertvel no ortogonal:

    4 >!;

    Contudo, 4 no a nica matriz de branqueamento; qualquer matriz A4 em que U uma matriz ortogonal conduz ao mesmo resultado.

    Desta forma, o branqueamento reduz o nmero de parmetros a estimar, reduzindo o espao de pesquisa s matrizes ortogonais. Em vez de estimar os B parmetros (elementos) de uma matriz de mistura genrica B C B, necessrio estimar DD parmetros, dado que este o nmero de graus de liberdade de uma matriz ortogonal. O branqueamento uma forma adequada de reduzir a complexidade do problema.

    2.2 FastICA

    Aps o pr-processamento os dados so encaminhados para o operador que ir realizar a anlise de componentes independentes, neste caso o FastICA.

    FastICA uma abordagem proposta por Hyvri Nen[1,2] utilizada para se estimar o modelo ICA. Entre as vantagens deste mtodo, se

  • comparado ao algoritmo gradiente, pode-se citar:

    No h necessidade de escolha de parmetros para a execuo do algoritmo, tal como a taxa de aprendizado do gradiente para atualizao da matriz. Desta forma o modelo se torna mais confivel, pois no depende de uma boa escolha de valores por parte do usurio.

    consideravelmente mais veloz que a abordagem por gradiente (convergncia de 10 a 100 vezes mais rpida [1]).

    Para tanto, os componentes so estimados utilizando-se um algoritmo de ponto-fixo [2], capaz de encontrar com maior eficincia o ponto de maximizao dos valores da funo aplicada para a estimativa do algoritmo.

    Os passos da execuo do algoritmo FastICA so descritos a seguir:

    1.Inicializa-se aleatoriamente uma matriz ; 2. DE !"0 F #; F 0$ !"#G ; F 0$ F ; 3. DE/||DE||; 4. Repetir o passo 2 at que haja convergncia.

    Onde # uma funo no-quadrtica e #G sua derivada, a saber:

    #) 1/L F M9N 89OL)

    #G ) LBOL)

    Onde L uma constante positiva tal que 1 P L P 2. Neste trabalho fixou-se L 1;

    3. Algoritmo gentico

    Os algoritmos genticos so uma famlia de modelos computacionais inspirados na evoluo. Incorporam uma soluo potencial para um problema especfico numa estrutura semelhante a de um cromossomo e aplicam operadores de seleo e "cross-over" a essas estruturas de forma a preservar informaes crticas relativas soluo do problema. Normalmentes os algoritmos genticos so vistos como otimizadores de funes, embora a

    quantidade de problemas para o qual estes se aplicam seja bastante abrangente.

    Uma implementao do algoritmo gentico comea com uma populao (geralmente randmica) de cromossomos. Estas estruturas so ento avaliadas para gerar oportunidades reprodutivas de forma que, cromossomos que representam uma soluo "melhor" tenham maiores chances de se reproduzirem do que os que representam uma soluo "pior". A definio de uma soluo melhor ou pior mensurada atravs do clculo da funo que se deseja maximizar ou minimizar, chamada de funo de aptido. Selecionado os cromossomos a serem reproduzidos so realizadas operaes de cross-over e de mutao. A operao de cross-over realiza a combinao de dois cromossomos gerando, geralmente, dois novos indviduos a partir da troca de informaes entre os cromossomos pais. A mutao por sua vez insere um carater aleatrio operao de reproduo objetivando com que o algoritmo no convirja para um mnimo local.

    As etapas de um tpico algoritmo gentico so mostradas na Figura 3.

    Figura 3 Etapas de um Algoritmo Gentico.

    No presente trabalho o algoritmo gentico foi utilizado com o intuito de procurar a matriz de mistura em um ambiente real atravs da maximizao de uma funo baseada na transformada de Fourier dos sinais fontes previamente fornecidos separadamente para o

  • sistema numa etapa que aqui chamaremos de calibrao.

    As etapas do algoritmo gentico implementado sero descritas a seguir.

    Incio da Populao

    Esta etapa consiste na gerao aleatria de um conjunto soluo, chamado aqui de populao.

    Para o problema em questo os melhores resultados foram obtidos com uma populao inicial de 3000 cromossomos.

    Clculo de Aptido

    O clculo da aptido consiste em fornecer uma maior nota a matriz de mistura que gere o sinal estimado que mais se aproxime do sinal de calibrao previamente fornecido.

    Os sinais de calibrao utilizados foram sinais senoidais com de freqncias bem distintas. Por isso, o clculo da funo de aptido foi realizado a partir da semelhana das transformadas de Fourier do sinal de calibrao e do sinal estimado . Abaixo segue a funo de aptido utilizada:

    B R S TT,

    Onde R corresponde a isima freqncia do sinal e TT a sua magnitude normalizada.

    Tal clculo visa dar baixas notas para sinais com freqncias fundamentais ligeiramente diferentes dos sinais de calibrao e notas altas para sinais com transformada de Fourier bastante semelhantes.

    O problema se resume, ento, a encontrar uma matriz de mistura que minimize o erro mdio quadrtico entre a funo de aptido dos sinais estimados e dos sinais de calibrao.

    Seleo

    Consiste na etapa de selecionar os cromossomos para a etapa de reproduo. No presente trabalho, escolheu-se 50% da

    populao para a reproduo e o restante dos cromossomos eram descartados. A escolha baseava-se na preservao dos melhores indivduos segundo o clculo de aptido previamente realizado.

    Reproduo

    Consiste na etapa onde os indivduos selecionados na etapa de seleo geraro novos indivduos a partir de uma combinao dos indivduos pais.

    No presente trabalho a reproduo foi realizada pela permutao de linhas selecionadas aleatoriamente da matriz de mistura dos cromossomos em questo, gerando dois novos indivduos para cada par de progenitores. Dessa forma, a quantidade de cromossomos na populao mantm-se constante durante todo o processo.

    Mutao

    A operao de mutao bastante importante para a convergncia do algoritmo gentico. Esta operao tem a finalidade de manter a diversidade da populao e evitar a convergncia para um mnimo local.

    Para este trabalho inseriu-se um componente aleatrio na matriz de mistura gerada pela permutao durante a reproduo. A taxa de mutao que se obteve os melhores resultados foi em torno de 20%. Ou seja, em 20% das reprodues pelo menos um componente aleatrio era inserido na matriz.

    4. Metodologia

    Para a realizao dos testes foram utilizadas duas abordagens. Na primeira, dois sinais senoidais um de 50hz e outro de 1100hz foram gerados e posteriormente combinados. A mistura destes sinais de udio foi realizada de forma computacional a partir de uma matriz de mistura gerada aleatoriamente. Em seguida os sinais foram submetidos a separao via FastICA e via algoritmo gentico.

    Na segunda abordagem, os mesmos sinais foram emitidos por dois monitores de referncia

  • e capturados por dois microfones. Cada monitor foi responsvel por emitir um determinado sinal senoidal: 50hz e 1100hz. Neste casoacontece de maneira real devido particularidades do ambiente e equipamentosutilizados.

    No caso dos testes realizados com o algoritmo gentico, previamente foi feita uma calibrao. Esta calibrao consiste no fornecimento dos sinais a serem misturados previamenteda reproduo atravs dos monitores de referncia separadamente para quecalculada a funo de aptido desses sinaisreais. O objetivo desta abordagem verificar se existe uma matriz W, inversa da matriz de mistura, que reestabelea o sinal original em um ambiente real. Ou seja, se os sinais podem ser recuperados por uma operao linear. A Figura 4 mostra o ambiente de teste utilizado.

    Figura 4 Ambiente de teste

    5. Resultados

    Sero apresentados dois tipos de resultados: das misturas realizadas computacionalmente e das misturas reais atravs da captura dos sinais senoidais atravs de microfones.

    5.1 Misturas Computacionais

    Nesta abordagem os sinais senoidais foram misturados computacionalmente a partir de uma matriz de mistura gerada aleatoriamente. Feito isso, os sinais foram submetido ao FastICA e ao algoritmo gentico.

    Cada monitor responsvel por emitir um determinado sinal

    este caso, a mistura acontece de maneira real devido s

    equipamentos

    No caso dos testes realizados com o algoritmo feita uma calibrao.

    Esta calibrao consiste no fornecimento dos previamente a parir

    da reproduo atravs dos monitores de e possa ser

    a funo de aptido desses sinais O objetivo desta abordagem verificar se

    , inversa da matriz de mistura, que reestabelea o sinal original em um ambiente real. Ou seja, se os sinais podem ser

    por uma operao linear. A Figura 4 mostra o ambiente de teste utilizado.

    Ambiente de teste

    Sero apresentados dois tipos de resultados: os computacionalmente e

    misturas reais atravs da captura dos sinais

    os sinais senoidais foram misturados computacionalmente a partir de uma matriz de mistura gerada aleatoriamente. Feito

    FastICA e ao

    Os resultados podem ser observados pela anlise das Figura 6 e 7 para o Figura 10 e 11 para o algoritmo gentico.

    FastICA

    Figura 5 Sinais misturados artificialmente.

    Figura 6 Resultado da separao pelo

    Figura 7 FFT do resultado da separao pelo FastICA.

    Os resultados podem ser observados pela para o FastICA e da

    gentico.

    Sinais misturados artificialmente.

    Resultado da separao pelo FastICA.

    FFT do resultado da separao pelo

  • Gentico

    Figura 8 Sinais de calibrao.

    Figura 9 Sinais misturados artificialmente.

    Figura 10 Resultado da separao pelo Algoritmo gentico.

    Figura 11 FFT do resultado da separao pelo Algoritmo gentico.

    Sinais de calibrao.

    Sinais misturados artificialmente.

    Resultado da separao pelo Algoritmo

    FFT do resultado da separao pelo

    5.2 Misturas Reais

    Nesta abordagem os sinais senoidais foram emitidos por dois monitores de referencia. A frente dos monitores dois microfones adjacentes e idnticos captavam os sinais emitidos. Feito isso, os sinais foram submetido ao algoritmo gentico.

    Os resultados podem ser observados pela anlise das Figuras 13 e 14 para o das Figuras 16 e 17 para o algoritmo

    FastICA

    Figura 12 Sinais misturados naturalmente.

    Figura 13 Sinais separados via

    Figura 14 FFT Sinais separados via

    Nesta abordagem os sinais senoidais foram emitidos por dois monitores de referencia. A frente dos monitores dois microfones adjacentes e idnticos captavam os sinais emitidos. Feito isso, os sinais foram submetido ao FastICA e ao

    sultados podem ser observados pela para o FastICA e

    algoritmo gentico.

    Sinais misturados naturalmente.

    Sinais separados via FastICA.

    FFT Sinais separados via FastICA.

  • Gentico

    Figura 15 Sinais misturados naturalmente

    Figura 16 Sinais separados via algotitmo gentico.

    Figura 17 FFT Sinais separados via Algoritmos Genticos.

    5.3 Discursses

    Como pode ser observado pela anlise dos resultados, tanto o FastICA quanto o algoritmo gentico se demonstraram eficientes para a separao de sinais de udios cuja misturas foram realizadas artificialmente.

    Para misturas naturais, ou seja, aplicao no foi observada a separao plena dos sinais.Houve sim uma separao, porm no se deu de

    naturalmente.

    separados via algotitmo

    separados via

    Como pode ser observado pela anlise dos quanto o algoritmo

    gentico se demonstraram eficientes para a cuja misturas

    Para misturas naturais, ou seja, aplicao real, a separao plena dos sinais.

    Houve sim uma separao, porm no se deu de

    forma to completa como para misturas naturais.

    A dificuldade da separao plena nos casos reais nos leva a suspeita de que no so perfeitamente lineares. existe uma matriz nica que represente a mistura dos sinais observados.

    Referncias

    [1] Aapo Hyvrinen, A Fast Fixed-for Independent Component Analysis, Neural Computation 9 (1997), 14831492. [2] Aapo Hyvrinen, Juha Karhunen, and Erkki Oja, Independent Component Analysis,Wiley interscience Publication, 2001.

    [3] A. J. Bell and T. J. Sejnowski, An information maximization approach to blind separation and blind deconvolution, Neural Computation 7 (1995),1159.

    [4] G. Strang and K. Borre. Linear Algebra, Geodesy, and GPS. Wellesley-Cambridge Press, 1997.

    [5] Papoulis, A. (1993). Probability, Random Variables, and Stochastic Processes (3Hill.

    forma to completa como para misturas

    plena nos casos a suspeita de que essas misturas

    Ou seja, no existe uma matriz nica que represente a

    -Point Algorithm for Independent Component Analysis, Neural

    arhunen, and Erkki Oja, dent Component Analysis,Wiley

    T. J. Sejnowski, An information maximization approach to blind separation and blind

    onvolution, Neural Computation 7 (1995), 1129

    g and K. Borre. Linear Algebra, Cambridge Press,

    Papoulis, A. (1993). Probability, Random Variables, and Stochastic Processes (3 ed.). McGraw