- 6º Simpósio de Processamento de Sinais da UNICAMP
Transcrição
- 6º Simpósio de Processamento de Sinais da UNICAMP
Anais do I Simpósio de Processamento de Sinais da UNICAMP 18 – 20 de outubro de 2010 Faculdade de Engenharia Elétrica e de Computação UNICAMP COMISSÃO ORGANIZADORA André Kazuo Takahata (FEEC - DECOM) Cristiano Agulhari (FEEC - DT) Everton Zaccaria Nadalin (FEEC - DCA) Leonardo Tomazeli Duarte (FEEC - DMO) Marcos Ricardo Covre (FEEC - DECOM) Rafael Ferrari (FEEC - DMO) Rafael Krummenauer (FEEC - DECOM) Vanessa Testoni (FEEC - DECOM) COORDENADOR GERAL CONVIDADO João Marcos T. Romano (FEEC - DMO) COORDENADOR TÉCNICO Renato da Rocha Lopes (FEEC - DECOM) COLABORADORES Gustavo Fraidenraich (FEEC - DECOM) José Candido Silveira Santos Filho (FEEC - DECOM) Max Henrique Machado Costa (FEEC - DECOM) Ricardo Suyama (UFABC) Romis Ribeiro de Faissol Attux (FEEC - DCA) APOIO Faculdade de Engenharia Elétrica e de Computação Sessão 1 – Processamento de Sinais de Voz Chair: Prof. Fábio Violaro Sistema de Reconhecimento de Locutor Baseado em Mistura de Gaussianas ....................................... 1 Diana C. Gonzalez, Lee Luan Ling, Fábio Violaro Estimação de parciais em sinais acústicos harmônicos ............................................................................ 4 Tiago Fernandes Tavares, Jayme Garcia Arnal Barbedo, Romis Attux, Amauri Lopes Processamento e manipulação de efeitos sonoros através de Transformada Wavelet Packet .............. 7 Bruno Novaes Silva, Rafael Santos Mendes Sessão 2 - Inteligência Computacional Chair: Leonardo Tomazeli Duarte Support Vector Machine em Aplicações de Processamento de Sinais ..................................................... 8 Gilson Ronchi, Munemasa Machida BSS para grande quantidade de fontes......................................................................................................... 9 Everton Z. Nadalin, Ricardo Suyama, Romis Attux Aprendizado Baseado em Teoria da Informação: Fundamentos e Perspectivas ..................................... 12 Daniel G. Silva, Romis Attux Separação Cega de Misturas com Não-Linearidade Posterior Utilizando Estruturas Monotônicas e Computação Natural ............................................................................................................. 15 Filipe O. Pereira, Leonardo T. Duarte, Ricardo Suyama, Romis Attux, João Marcos Travassos Romano Sessão 3 - Codificação de Áudio Chair: Prof. Max Costa Codificador de áudio HE-AAC v2 ................................................................................................................... 18 José M. L. Filho, Vinícius J. A. Braga, Júlia J. D. Chanquini, Luís G. P. Meloni Áudio Multicanal e o Codificador MPEG-4 AAC ........................................................................................... 22 Júlia J. D. Chanquini, José M. L. Filho, Vinícius J. A. Braga, Luís G. P. Meloni Sessão 4: Busca e Classificação de Imagens Chair: Prof. Ricardo da Silva Torres Classificação de Imagens usando Programação Genética ......................................................................... 26 Fabio Augusto Faria, Anderson Rocha, Ricardo da Silva Torres Anotação Automática de Imagens Usando Dicionários Visuais e Regras de Associação ...................... 29 Guilherme Moraes Armigliatto, Eduardo Valle, Ricardo Torres Realimentação de Relevância para Recuperação Visual e Textual de Imagens ....................................... 32 Rodrigo Tripodi Calumby, Ricardo da Silva Torres Explorando Dicionários Visuais em Buscas de Imagens na Web .............................................................. 35 Otávio Augusto Bizetto Penatti, Ricardo da Silva Torres Análise e processamento de imagens em um sistema de animação facial 2D......................................... 38 Paula Dornhofer Paro Costa, José Mario De Martino Classificação Semi-automática de Regiões em Imagens de Sensoriamento Remoto Utilizando Realimentação de Relevância ...................................................................................................... 41 Jefersson A. dos Santos, Ricardo da S. Torres, Alexandre X. Falcão Exploiting Shape Matching and Re-Ranking Strategies for Content-Based Image Retrieval Tasks ...... 44 Daniel Carlos Guimarães Pedronette, Ricardo da S. Torres Estudo Comparativo de Descritores Locais de Imagens Aplicado a Grandes Bases de Dados ............ 47 Lucas Moutinho Bueno, Eduardo Valle, Ricardo da Silva Torres Visualização para Sistemas de Recuperação de Imagens por Conteúdo ................................................. 49 Sheila Maricela Pinto Cáceres, Ricardo da Silva Torres Sessão 5: Implementação em DSP/FPGA Chair: Prof. Luís G. P. Meloni Implementação de filtros digitais IIR usando o DSP TMS320C6711........................................................... 52 Johannes Dantas de Medeiros Júnior, Bruno Barbosa Albert Técnicas de Otimização para DSPs (Blackfin).............................................................................................. 55 Vinícius J. A. Braga, José M. L. Filho, Júlia J. D. Chanquini, Luís G. P. Meloni Exploração de Paralelismo Computacional em Sistemas Embarcados para Compressão de Imagens Digitais .................................................................................................................. 60 Éricles Rodrigues Sousa, Luís Geraldo Pedroso Meloni Sessão 6: Arranjo de Sensores e Estimação de Parâmetros Chair: Prof. Renato Lopes Modelagem de Fila para Fluxos de Tráfego Multifractal de Rede ............................................................... 63 Jeferson Wilian de Godoy Stênico, Lee Luan Ling Mitigação de Interferentes com Arranjos de Antenas e Processamento Largamente Linear ................. 66 Adilson Chinatto, Cynthia Junqueira, João Marcos T. Romano Uma Proposta de Uso de Filtragem em Estimação DOA............................................................................. 69 Levy Boccato, Amauri Lopes, Romis Attux Estimação de direção de chegada de sinais digitalmente modulados ...................................................... 72 Rafael Krummenauer, Amauri Lopes Sessão 7: Processamento, Rastreamento e Codificação de Vídeo Chair: Prof. Anderson Rocha Recuperação de Vídeos Digitais: Métodos, Propostas e Desafios ............................................................ 75 Jurandy Almeida, Neucimar J. Leite, Ricardo da S. Torres Rastreamento de jogadores de futsal usando Visão Computacional ........................................................ 78 Erikson Freitas de Morais, Anderson Rocha, Siome Goldenstein Block-based 3-D Fast Transforms applied to an Embedded Color Video Codec ..................................... 81 Vanessa Testoni, Max H. M. Costa Combinação de Descritores Locais e Globais para Reconhecimento de Objetos em Vídeo .................. Felipe Andrade, Ricardo Torres, Hélio Pedrini 84 Sessão 8: Processamento, Reconhecimento e Codificação de Imagens Chair: Léo Pini Magalhães Processando Sinais e Evidências: Desafios em Computação Forense Digital ........................................ 87 Ewerton Almeida Silva, Anderson Rocha Melhoria da Atratividade de Faces em Imagem ............................................................................................ 90 Tatiane Silvia Leite, Lucas Carrilho Pessoa, José Mario De Martino Detecção de Bordas e Cantos em Imagens a partir de Módulos Máximos e Direções de Coeficientes da Transformada Shearlet ........................................................................................................ 94 Ricardo Dutra da Silva, Hélio Pedrini Implementação de um algoritmo de watershed utilizando CUDA .............................................................. 97 André Körbes, Giovani Bernardes Vitor, Roberto de Alencar Lotufo Processamento e análise de Imagens de Tensores de Difusão ................................................................. 100 Leticia Rittner, Roberto A. Lotufo On The Adaptive Coefficient Scanning of JPEG XR / HD Photo ................................................................. 103 Vanessa Testoni, Max H. M. Costa, Darko Kirovski, Henrique S. Malvar Desenvolvimento de uma interface virtual tátil para controle de acesso em áreas restritas.................. 106 Frank C. Cabello, Yuzo Iano Sessão 9: Processamento de Sinais Biomédicos Chair: Prof. José W. M. Bassani Pré-processamento de imagens de difusão do cérebro no ambiente Adessowiki .................................. 109 Luiz F. S. Wetzel, Leticia Rittner, Roberto Lotufo Compressão de sinais ECG com métodos de Compressed Sensing ........................................................ 112 A. K. Takahata, C. M. Agulhari, L. T. Duarte, R. R. Lopes, P. L. D. Peres, J. M. T. Romano Identificação Automática de Lupus Eritematoso Discóide ......................................................................... 115 Kesede, R Julio, Lee, Luan L., Bassani, J.W.M Pitfalls in the definition of the epileptogenic zone in ictal EEG and functional MRI ................................ Guilherme C. Beltramini, Ana C. Coan, Fernando Cendes, Roberto J. M. Covolan 118 Sessão 1 - Processamento de Sinais de Voz Sistema de Reconhecimento de Locutor Baseado em Mistura de Gaussianas Diana C. Gonzalez, Lee Luan Ling e Fábio Violaro DECOM - Departamento de Comunicações Faculdade de Eng. Elétrica e de Computação Universidade Estadual de Campinas (Unicamp) [email protected]; [email protected]; [email protected] RESUMO Este projeto de pesquisa propõe a implementação de um sistema básico de reconhecimento de locutor empregando coeficientes Mel-cepstrais e mistura de gaussianas (GMM). A partir do desempenho desse sistema básico, se passará em seguida a investigar novos parâmetros característicos do sinal de fala que exploram seu grau de singularidade, como é o caso do expoente Holder. Palavras-chave: Reconhecimento de locutor, GMM, Mel-cepstral, Holder. 1. Introdução Nas últimas décadas, os sistemas biométricos baseados em reconhecimento de fala têm tido uma excelente aceitação, por serem métodos econômicos para resolver problemas de autorização/senha. Como sugere [1], a combinação da anatomia inerente ao trato vocal e dos hábitos usados pelos diferentes indivíduos, torna o sistema de reconhecimento de locutor um método bastante eficaz. Os sistemas de reconhecimento de locutor são classificados usualmente em duas categorias, identificação e verificação. No sistema de identificação de locutor, o usuário não fornece nenhuma informação sobre sua identidade, e assim o sistema fica responsável por determinar quem é o locutor, dentro de um grupo de N indivíduos. Por outro lado, no sistema de verificação, o locutor fornece sua identidade (senha específica) e o sistema decide aceitar ou recusar o usuário, dependendo da comparação com o seu padrão armazenado. Este trabalho está enfocado no desenvolvimento de um sistema de identificação de locutor independente do texto, onde os usuários são treinados e testados com frases diferentes. Basicamente um sistema de identificação de locutor é composto por 3 módulos: aquisição do sinal digital, extração de parâmetros e comparação com um modelo (pattern matching). 2. Projeto do sistema O projeto do sistema básico é desenvolvido em duas etapas. A primeira é a extração dos coeficientes Melcepstrais a partir de um banco de filtros na escala Mel, seguido do cálculo da DCT do logaritmo da energia na saída de cada filtro. Na segunda etapa o classificador será implementado como uma mistura de gaussianas multidimensionais (HMM) para modelar a distribuição estatística desses coeficientes gerados na fase de treinamento. A partir dos resultados (taxa de reconhecimento) obtidos com esse sistema básico, se passará para a experimentação de novos parâmetros, isoladamente ou combinados com os Melcepstrais. Inclusive se pretende fazer alguns testes com o Expoente Holder. Essa idéia decorre da teoria apresentada em The Fractal Geometry of Nature [2], onde Mandelbrot mostra que alguns fenômenos naturais podem ser modelados por parâmetros como auto-similaridade, correlação e séries temporais. 2.1 Implementação do sistema clássico Extração dos parâmetros O sinal de fala sofre inicialmente uma pré-ênfase, é janelado por uma janela de Hamming de 20 ms que é deslocada de 10 em 10 ms. A partir do sinal janelado são calculados os coeficientes Mel-cepstrais. Atualmente o sistema opera com 13 coeficientes Mel-cepstrais. Embora o coeficiente de ordem zero do Anais do I SPS UNICAMP Outubro de 2010 1 Sessão 1 - Processamento de Sinais de Voz vetor não seja usado com parâmetro, ele contém uma informação sobre a energia do sinal, o que permite determinar e suprimir silêncios presentes no sinal. Construção de modelo Para a geração do modelo de cada locutor foi usado um mistura de gaussianas λ, a qual é parametrizada por um vetor de médias u, uma matriz de covariância Σ e um vetor de pesos das gaussianas w [3], (1) onde M é o número de componentes gaussianas e a mistura é formada pela soma ponderada de M densidades gaussianas dada pela equação (2), (2) onde x é o vetor de parâmetros de entrada de dimensão D, bi(x) são as densidades gaussianas de cada componente da mistura (equação 3) e pi é o peso de cada mistura, com a somatória dos M coeficientes pi igual a 1. Em nosso modelo empregamos matriz de covariância Σ diagonal (componentes independentes entre si). (3) Após a especificação de parâmetros iniciais do modelo empregando a técnica K-means, um algoritmo iterativo é empregado para reestimar os parâmetros visando uma maximização da verossimilhança (Maximum Likelihood – ML) frente aos dados de treinamento[4]. Identificação do locutor No processo de treinamento o sistema gera um modelo (λ1, λ2, λ3... λN) para cada um dos N locutores. No processo de teste ou avaliação, o sistema recebe novas locuções pertencentes a qualquer um dos locutores treinados e, após submeter seus parâmetros a cada um dos modelos, procura o modelo que assegura a máxima verossimilhança. Base de dados Para a avaliação do sistema de reconhecimento de locutor foram usadas duas bases de fala criadas originalmente por Carlos Alberto Ynoguti no Laboratório de Processamento Digital de Fala do DECOM/FEEC/UINICAMP para aplicação em reconhecimento de fala. A primeira base é composta por sinais de fala de 71 locutores (50 homens e 21 mulheres) digitalizados a 22,05 kHz com 16 bits/amostra. O treinamento foi feito com 20 locuções de cada locutor, com aproximadamente 90 s de duração total. O sistema foi testado usando 10 locuções de cada locutor, cada uma com duração variável entre 2,5 s e 7 s. A segunda base foi implementada com uma freqüência de amostragem de 11,025 kHz e é constituída por 30 locutores, 15 homens e 15 mulheres. Cada locutor leu um total de 40 frases foneticamente balanceadas com uma duração total aproximada de 70 s. Dessas 40 frases, 30 foram usadas para o treinamento e as 10 restantes para teste do sistema. Análises de resultados Para a avaliação experimental tem-se projetado diferentes testes usando as bases de dados, nos quais os parâmetros envolvidos no sistema (número de gaussianas na mistura, deslocamento das janelas, etc.) são Anais do I SPS UNICAMP Outubro de 2010 2 Sessão 1 - Processamento de Sinais de Voz modificados para determinar uma configuração adequada, que melhore o desempenho do sistema, tanto em esforço computacional como em eficiência. No modelamento de cada locutor foram empregadas misturas de 5 gaussianas de dimensão 12. O primeiro parâmetro testado foi o deslocamento de janela, que vai definir o número de vetores (coeficientes Mel-cepstrais) extraídos de cada locução. A Tabela 1 mostra a percentagem de identificação correta em função desse deslocamento. Note que o deslocamento de 10 ms assegurou um melhor desempenho. Ordem do modelo Base de dados Deslocamento das janelas 5 ms 10 ms M=5 Primeira 90 seg 98,59 99,01 Segunda 70 seg 98,7 98,7 Tabela 1. Desempenho do sistema com diferentes deslocamentos das janelas. A Tabela 2 apresenta a percentagem de identificação correta, empregando-se misturas com 3, 5 e 8 gaussianas (ordem do modelo). Observa-se que o desempenho do sistema incrementa ao se aumentar o número de gaussianas. Deve-se destacar, entretanto, que o número de gaussianas não pode aumentar indefinidamente, uma vez que uma quantidade maior de parâmetros demanda uma quantidade maior de fala para o seu correto treinamento. Ordem do modelo M=3 M=5 M=8 Primeira 90 seg 90,2 99,01 99,5 Segunda 75 seg 94 98,7 99,7 Tabela 2. Desempenho do sistema de reconhecimento com diferentes ordens do modelo. Base de dados 2.2 Trabalho futuro A partir dos resultados obtidos com o desenvolvimento deste sistema básico, se partirá para a inserção de parâmetros adicionais baseados no conceito de grau de singularidade do sinal de fala de cada locutor, como é o caso do expoente Holder. Para tal algumas tarefas serão realizadas, tais como: - Verificar a natureza do sinal de fala e determinar se ele pode ser caracterizado como um sinal multiescalar ou multifractal. - Determinar os parâmetros e os critérios de avaliação, para aplicar a função Expoente Holder. - Fazer um estudo aprofundado da função do Expoente Holder como índice de medição de singularidade nos sinais de fala. - Analisar um sistema de reconhecimento de locutor, combinando os parâmetros tradicionais (coeficientes Mel-cepstrais) com o expoente Holder. 3. Referências [1] J. Campell, Speaker Recognition: A Tutorial, Proceeding of the IEEE, vol.85, no 9, 1998. [2] B.B. Mandelbrot, The Fractal Geometry of Nature, W. H. Freeman, 1982. [3] Douglas A. Reynolds and Richard C. Rose, Robust Text-Independent Speaker Identification Using Mixture Speaker Model, IEEE Trans. Speech Audio Processing, vol. 3, no 1, pp.72-82, Jan. 1995. [4] K. V. Mardia, J. T. Kent and J. M. Bibby, Multivariate Analysis. San Diego: Academic Press, Series of Monographs and Textbooks. Anais do I SPS UNICAMP Outubro de 2010 3 Sessão 1 - Processamento de Sinais de Voz Estimação de parciais em sinais acústicos harmônicos Tiago Fernandes Tavares1 , Jayme Garcia Arnal Barbedo2 , Romis Attux3 , Amauri Lopes4 Departamento de Computação e Automação Industrial1,3 e Departamento de Telecomunicações2,4 Faculdade de Engenharia Elétrica e Computação Universidade Estadual de Campinas (Unicamp) {tavares1 ,attux3 }@dca.fee.unicamp.br, {jgab2 ,amauri4 }@decom.fee.unicamp.br Resumo – Estimar parciais em sinais acústicos significa encontrar quais componentes de freqüência formam os sons harmônicos que foram misturados para gerar o sinal em questão. Neste trabalho, um conjunto de regras, desenvolvidas de acordo com modelos físicos e auditivos conhecidos, é aplicado a quadros de áudio, buscando assim encontrar as freqüências e amplitudes das parciais existentes. O conjunto de regras proposto é testado sobre uma base de dados construída sobre amostras de gravações acústicas. Palavras-chave: Áudio, estimação, freqüência, parcial, harmônica. 1. Introdução Sinais acústicos estacionários são comumente descritos como uma somatória de sinais senoidais com freqüências harmonicamente relacionadas, por modelos já bem conhecidos e estudados [1, 2]. A amplitude e freqüência de cada uma das componentes harmônicas presentes em um sinal é informação valiosa em diversos processos cognitivos relacionados a áudio, como a estimação da freqüência fundamental (F0) de uma série harmônica [3] ou a estimação do número de fontes presentes em um sinal [4]. Apesar disso, é sabido que, quando sons provenientes de diferentes fontes (ou seja, diferentes notas musicais) se misturam, torna-se mais difícil estimar quais são as freqüências das parciais harmônicas existentes [5]. Por esse motivo, métodos que confiam na estimação de parciais ou são limitados [3] ou dependem de esforços computacionais intensos [4]. Neste trabalho, propõe-se a aplicação de um conjunto de regras para a identificação das parciais existentes e estimação de suas freqüências em um dado sinal de áudio. Hipóteses contidas em uma etapa inicial de estimação são confirmadas e eliminadas através da aplicação explícita de conhecimentos sobre a natureza do sinal analisado. O trabalho se organiza como descrito a seguir. A base de dados empregada e as medidas utilizadas para avaliação dos resultados são descritas na Seção 2. As regras aplicadas, assim como seus fundamentos físicos e os resultados de suas aplicações, são apresentadas na Seção 3. Por fim, a conclusão do trabalho e as perspectivas futuras são descritas na Seção 4. 2. Métodos empregados A base de dados utilizada para testes foi construída a partir de amostras disponibilizadas pela Universidade de Iowa [6]. Um sistema automático escolhe aleatoriamente um quadro de 93 ms de qualquer uma das amostras e então aplica dois métodos para detecção de sua freqüência fundamental [3, 7]. Se os dois métodos indicam freqüências fundamentais com diferença inferior a 2.93% (equivalente à metade da diferença de freqüências entre duas notas consecutivas na escala temperada), então o quadro é ajustado para que tenha média zero e variância unitária e é adicionado à mistura, tomando-se o cuidado de não se adicionar sons com freqüências fundamentais correspondentes à mesma nota. Utilizando esse processo, foram construídas quatro mil misturas, igualmente distribuídas entre misturas de um, dois, quatro e seis tons. O sistema de detecção de parciais construído deve fornecer uma lista de valores de freqüência correspondentes às parciais harmônicas do sinal. Os resultados são avaliados em função do número de falsos positivos e falsos negativos obtidos. Um falso positivo é uma harmônica que, considerando um erro de 2.93%, não faz parte da série harmônica de nenhuma freqüência fundamental presente no sinal. Para essa avaliação, considera-se um limite de Anais do I SPS UNICAMP Outubro de 2010 4 Sessão 1 - Processamento de Sinais de Voz 7 harmônicas na série, uma vez que, a partir desse número, a diferença de freqüências passa a ser inferior ao erro de 2.93% considerado. Falsos negativos são registrados em um vetor de 7 posições, no qual o valor em cada posição m é a fração de freqüências fundamentais para as quais quais foram detectados menos que m parciais de alguma série harmônica (em relação ao total de F0s no conjunto de testes, 13000). Assim, um vetor f n = [10%, 0, 0, 0, 0, 0, 0] significa que em 10% das F0s presentes no conjunto de testes nenhuma parcial foi encontrada. Novas regras foram desenvolvidas buscando reduzir o número de falsos positivos, sem que isso leve a um aumento significativo no número de falsos negativos, como será visto a seguir. 3. Conjuntos de regras Cada uma das regras utilizada no sistema foi desenvolvida com o objetivo de aplicar, explicitamente, conhecimento prévio sobre o comportamento esperado do sinal. Após a aplicação de cada regras, avalia-se o vetor de falsos negativos f n e o número total de falsos positivos f p considerando as quatro bases de dado em conjunto. 3.1. Regra dos máximos locais com restrição de freqüências A presença de uma parcial pode ser indicada pela existência de um máximo local no espectro do sinal analisado. Parciais abaixo de 55 Hz são ignoradas, uma vez que raramente são encontradas notas musicais cuja freqüência fundamental seja abaixo desse valor [2]. Parciais acima de 10 kHz também são ignoradas pois, acima dessa freqüência, a capacidade humana de distinguir tons é prejudicada [1]. Após obter todas os máximos locais no alcance esperado, temos: • f n = [0, 0, 0, 0, 0.56%, 1.81%], • f p = 826451. É importante perceber que, nesta etapa, ao menos três parciais de cada um dos sons existentes foram encontradas, embora haja grande número de falsos positivos. 3.2. Regra da concentração de energia em freqüências esperadas Supõe-se que o sinal contém misturas de notas musicais que estejam afinadas de acordo com uma certa escala, o que significa que suas parciais também estarão em posições conhecidas. Assim, varrendo-se cada tom da escala, apenas o maior valor (considerando um erro possível de meio semi-tom) é mantido e os outros picos obtidos são considerados espúrios. Como resultado, observa-se grande redução de falsos positivos, sem que o número de falsos negativos aumente significativamente: • f n = [0, 0.01%, 0.01%, 0.06%, 1.41%, 6.06%], • f p = 153336. 3.3. Regra da harmonicidade De acordo com o modelo harmônico utilizado para análise, a existência de uma parcial implica na existência de outras. Assim, cada parcial encontrada até o momento é considerada como a fundamental, segunda harmônica, e assim por diante, até a sétima harmônica de uma série. Para cada uma dessas considerações, verifica-se quantas parciais da série são hipoteticamente encontradas. Apenas candidatas que fazem parte de pelo menos uma série com no mínimo quatro parciais encontradas, considerando um erro de meio semitom, são consideradas. Ao fim dessa etapa, verifica-se diminuição no número de falsos positivos, embora isso implique num aumento do número de falsos negativos: • f n = [0, 0.02%, 0.06%, 0.63%, 3.51%, 12.41%], • f p = 137737. Anais do I SPS UNICAMP Outubro de 2010 5 Sessão 1 - Processamento de Sinais de Voz 3.4. Regra da intensidade mínima A intensidade da série harmônica de freqüência fundamental f é medida através da soma das magnitudes P 1 das parciais, ponderadas pelo inverso de sua posição na série harmônica, ou seja, I = 7m=1 m Q(n), onde Q(n) é a amplitude da n-ésima parcial estimada. A intensidade relacionada a cada parcial é a intensidade máxima de uma série harmônica com mais de quatro elementos da qual ela faça parte, seguindo os critérios da regra da harmonicidade. Séries harmônicas com intensidade menor que três centésimos (valor obtido heuristicamente) da soma de todas as intensidades calculadas são descartadas. Com a aplicação dessa regra, temos os seguintes resultados: • f n = [26.74%, 40.95%, 50.99%, 58.56%, 62.90%, 68.48%], • f p = 9067. Verifica-se significativa redução no número de falsos positivos, embora isso tenha levado a um aumento, também significativo, no número de falsos negativos. 3.5. Regra da média Picos muito salientes, por hipótese, indicam parciais que fazem parte da mistura. Todos os picos de magnitude superior à media das magnitudes estimadas são incluídos novamente no conjunto de hipóteses, mesmo que tenham sido eliminados anteriormente. Essa etapa dá os resultados: • f n = [0, 2.51%, 9.46%, 18.88%, 30.55%, 45.80%], • f p = 13619. Verifica-se redução significativa do número de falsos negativos, ao mesmo tempo que há um pequeno aumento no número de falsos positivos. 4. Discussões Com o uso das regras propostas, foi possível reduzir o número de falsos negativos da faixa de 8 × 105 para a faixa de 13 × 104 , o que representa uma melhoria na faixa de 85%. Apesar disso, é importante melhorar o algoritmo proposto, de forma que os sistemas construídos tomando-o como base possam ser, também, melhorados. Embora o uso de amplitudes de parciais seja uma abordagem importante, durante o desenvolvimento das regras propostas não foi encontrada uma regra que pudesse filtrar componentes cuja amplitude fosse muito baixa, sem que isso gerasse um número excessivo de falsos negativos. Também, não foi possível encontrar uma regra que pudesse ser aplicada sobre o formato dos picos encontrados. Assim, o trabalho demanda a busca por regras de classificação mais eficazes. É possível que melhores soluções sejam encontradas combinando-se métodos heurísticos, que utilizam explicitamente modelos físicos relacionados a instrumentos musicais, com métodos de inteligência computacional, que buscam obter classificadores ótimos para problemas genéricos. Referências [1] Helmholtz, H. On the Sensation of Tone. Dover Publications Inc., 4 edition, 1885. [2] Olson, H. F. Music, Physics and Engineering. Dover Publications Inc., 2 edition, 1967. [3] Mitre, A., Queiroz, M., and Faria, R. R. A. Accurate and Efficient Fundamental Frequency Determination from Precise Partial Estimates. In Proceedings of the 4th AES Brazil Conference, pages 113–118, May 2006. [4] Barbedo, J., Lopes, A., and Wolfe, P. J. Empirical methods to determine the number of sources in singlechannel musical signals. Audio, Speech, and Language Processing, IEEE Transactions on, 17(7):1435– 1444, 2009. [5] Oppenheim, A. V., Schafer, R. W., and Buck, J. R. Discrete-time signal processing. Prentice Hall Inc., 2 edition, 1999. [6] University of Iowa. Musical Instrument Samples. "http://theremin.music.uiowa.edu/MIS.html", 2005. [7] Cheveigné, A. and Kawahara, H. YIN, a fundamental frequency estimator for speech and music. J. Accoust. Soc. Am., 111(4):1917–1930, April 2002. Anais do I SPS UNICAMP Outubro de 2010 6 Sessão 1 - Processamento de Sinais de Voz Processamento e manipulação de efeitos sonoros através de Transformada Wavelet Packet Bruno Novaes Silva, Rafael Santos Mendes (Orientador) DCA Faculdade de Engenharia Elétrica e de Computação Universidade Estadual de Campinas (Unicamp) [email protected],[email protected] Resumo No trabalho é proposto um novo método para efeitos sonoros menos repetitivos nos videogames. Preservando as características principais do som, o método o manipula baseado na Transformada Wavelet Packets do sinal digital. Os coeficientes da transformada formam uma matriz de coeficientes onde as linhas representam divisões na frequência e as colunas, divisões no tempo. É possível fazer manipulações nos espectros temporal e frequencial, derivando sons diferentes, ou embaralhados no tempo, gerando texturas sonoras contínuas. A matriz de coeficientes pode ser manipulada de três formas principais: alterando o valor dos coeficientes, alterando-se o tamanho da matriz ou a posição dos coeficientes. Para a primeira forma, podemos mudar o espectro da onda, como um equalizador. Alterando-se o tamanho da matriz e fazendo uma reamostragem dos coeficientes no tempo, podemos fazer o som mais longo ou mais curto. Alterando-se a posição dos coeficientes no tempo é possível inverter o som, embaralhá-lo ou mesmo sintetizar um textura sonora contínua a partir de um sample base desta textura. Anais do I SPS UNICAMP Outubro de 2010 7 Sessão 2 - Inteligência Computacional Support Vector Machine em Aplicações de Processamento de Sinais Gilson Ronchi , Munemasa Machida (Orientador) Departamento de Eletrônica Quântica Instituto de Física “Gleb Wataghin” Universidade Estadual de Campinas (Unicamp) [email protected],[email protected] Resumo O Support Vector Machine (SVM) é uma método de aprendizado de máquina supervisionado desenvolvida por Vapnik e que, devido a sua habilidade de generalização, possui uma vasta gama de aplicações em problemas de classificação. Sua boa eficiência em problemas de alta dimensionalidade faz com que seja uma técnica aplicável em problemas de visão computacional, como no reconhecimento de padrões e filtragem, embora seja utilizada também em bioinformática, classificação textual e regressão não-linear. Neste trabalho introduzimos a teoria envolvida no SVM e realizamos um review de algumas aplicações recentes desse método em processamento de sinais, particularmente em sinais biomédicos como eletrocardiogramas (para diagnóstico de doenças cardíacas) e na fala humana. Anais do I SPS UNICAMP Outubro de 2010 8 Sessão 2 - Inteligência Computacional BSS para grande quantidade de fontes Everton Z. Nadalin1, Ricardo Suyama2, Romis Attux1 1 – Departamento de Engenharia de Computação e Automação Industrial (DCA) Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (Unicamp) 2 – Universidade Federal do ABC (UFABC) {nadalin,attux}@dca.fee.unicamp.br,[email protected] Resumo – Neste trabalho, apresentamos uma breve revisão do problema de separação cega de fontes e de dois métodos para resolvê-lo: a clássica abordagem de análise de componentes independentes (ICA) e a mais recente metodologia de análise de componentes esparsos. Em seguida, são apresentadas algumas características de problemas de separação definidos no contexto de uma grande quantidade de fontes e das dificuldades associadas ao uso de técnicas de separação nesse contexto, com ênfase no uso da característica de esparsidade. Palavras-chave: separação cega de fontes, análise de componentes independentes (ICA), análise de componentes esparsos (SCA). 1. Introdução Na área de processamento de sinais, vêm merecendo significativo destaque os problemas relacionados ao tratamento cego ou não-supervisionado, entre os quais se encontra aquele que recebe o nome de Separação Cega de Fontes (BSS – Blind Source Separation) [1]. O um problema que ilustra muito bem a tarefa de BSS é o chamado cocktail part problem: numa sala com várias pessoas falando e vários microfones instalados em lugares aleatórios, o intuito é conseguir separar o sinal de voz de cada pessoa tendo acesso somente aos sinais dos microfones. 2. Separação Cega de Fontes A priori, o conceito de separação de fontes de forma cega implicaria em nenhum conhecimento das fontes ou do sistema de mistura, o que tornaria a tarefa de processamento matematicamente impossível. Na prática, adotam-se suposições consideradas plausíveis e tão pouco restritivas quanto possível, como: as fontes foram geradas de forma independente; há menos fontes do que misturas; o sistema de mistura é invariante no tempo. Para cada suposição feita, existe um leque de técnicas que podem ser consideradas mais ou menos adequadas ao caso. 2.1. Análise de Componentes Independentes (ICA) Dentre as técnicas utilizadas para abordar o problema de separação de fontes, a mais popular é a análise de componentes independentes (ICA – Independet Component Analysis) [2], que, tomando os sinais misturados, procura encontrar uma matriz que os torne tão mutuamente independentes quanto possível. Neste caso, se as fontes que geraram as misturas forem independentes e a matriz de mistura for inversível, o processo levará a uma efetiva separação. O problema pode ser descrito como mostra a Figura 1: são dadas N fontes s(t) desconhecidas e M medidas x(t) obtidas através dos sensores, a partir das fontes, por meio de um canal modelado como uma matriz A. O intuito é encontrar sinais y(t) que sejam estimativas de s(t) a partir da aplicação de uma matriz W ao vetor de misturas x(t). Anais do I SPS UNICAMP Outubro de 2010 9 Sessão 2 - Inteligência Computacional s1 x1 s2 x2 . . . sN A . . . xM y1 y2 W . . . yN Figura 1. Cenário clássico de separação de fontes 2.2. Análise de Componentes Esparsos (SCA) Uma limitação fundamental da técnica de ICA é que seu funcionamento é garantido apenas se o número de fontes for menor ou igual ao número de sensores. Em boa parte dos casos práticos, o número de fontes é maior do que o número de sensores – e.g. pelo fato de a mistura conter ruído – e, ademais, pode-se não ter certeza do número de fontes presentes na mistura. Em casos como estes, se as fontes são esparsas, ou seja, com várias regiões de “silêncio”, podemos supor que nem todas as fontes estão ativas ao mesmo tempo. Desta forma, o sistema chamado subparametrizado passa a se tornar localmente determinado: decorre dessa idéia a noção de Análise de Componentes Esparsos (SCA – Sparse Component Analysis) [3]. A idéia principal de SCA é encontrar alguma transformada linear que gere uma representação suficientemente esparsa dos dados, ou seja, na qual a maior parte dos coeficientes possua valor nulo ou próximo de zero. Se, nesta representação, pudermos garantir que, em cada instante, o número de fontes ativas não seja maior do que um determinado valor, seremos capazes de realizar a identificação da matriz de mistura A, ou mesmo a separação das fontes em alguns casos especiais. O caso mais restritivo e também um dos mais utilizados se vincula à idéia de ortogonalidade disjunta, segundo a qual é garantido que não existam duas ou mais fontes ativas ao mesmo tempo [4]. 3. Problema da Grande Quantidade de Fontes Em diversos problemas práticos, a quantidade de fontes na mistura é da ordem de centenas a milhares. Nestes casos, são utilizadas matrizes com muitos sensores, mas, mesmo assim a proporção de fontes por sensores continua muito grande, da ordem de centenas a milhares. Como exemplos, podemos citar aplicações envolvendo o eletroencefalograma / interface cérebro-computador (BCI – brain-computer interface), processamento geofísico e ruído acústico em veículos motorizados. Nesse contexto, há diversos problemas que causam dificuldades à maioria das técnicas existentes, como: − não é sempre possível determinar com clareza o número de fontes: devido à natureza do problema, pode requerer algum esforço definir o que será considerado fonte e o que será ruído; − as misturas normalmente não são instantâneas, ou seja, pode haver múltiplos percursos entre as fontes e sensores, o que dificulta o modelamento do canal de mistura; − as misturas podem não ser lineares, havendo mesmo, em muitos casos, saturação tanto no sistema de mistura quanto nos próprios sensores; − em diversos casos, as fontes não são estáticas: nesse caso, o sistema de mistura é variante no tempo; − as fontes não são necessariamente independentes. 3.1. SCA aplicada à grande quantidade de fontes Como dito anteriormente, uma das restrições adotadas quando aplicamos técnicas de SCA em separação de fontes é a chamada ortogonalidade disjunta. Porém, se avaliarmos a probabilidade de termos ortogonalidade disjunta numa mistura, podemos verificar que ela depende de três fatores: número de fontes; proporção de valores não-nulos em relação aos valores nulos dos sinais; quantidade de amostras do sinal. Desta forma, este valor independe do número de sensores. Para conseguirmos aproveitar a diversidade de informação gerada pelos sensores, temos que fazer uma busca que considere a existência de mais de uma fonte ativa em cada instante: dessa forma, a Anais do I SPS UNICAMP Outubro de 2010 10 Sessão 2 - Inteligência Computacional procura é feita em mais dimensões, limitadas pelo tamanho da dimensão do espaço gerado pelos sensores, ou seja, M. Assim, deixamos de procurar por apenas um vetor da matriz de mistura por vez, como tradicionalmente é feito [5]. Para tanto, é preciso considerar o espaço gerado pelas misturas como sendo um subespaço das fontes. Sabemos que, se a mistura tem mais fontes do que sensores, o espaço das fontes é maior e o algoritmo visará somente procurar por projeções das fontes tendo por limite a dimensão gerada no espaço das misturas. Porém, sabemos que as fontes são esparsas e, desta forma, nem todas elas estão ativas ao mesmo tempo. Portanto, se considerarmos que, para cada instante, o espaço das fontes ativas não é maior do que o das misturas, é possível encontrar todas as direções destas fontes ativas. Desse modo, o espaço das fontes ativas será projetado no subespaço gerado pelas misturas, e o espaço das fontes inativas será projetado num espaço nulo. [6] 4. Conclusões e sugestões de trabalhos futuros Atualmente, acredita-se que, para solucionar o problema de grandes quantidades de fontes, é necessário explorar a esparsidade dos sinais, e, para isto, parece ser necessário avançar nos estudos relacionados à procura por projeções das fontes nos subespaços gerados pelos sensores. Sem isto, a diversidade gerada pelos sensores acaba não sendo tão explorada e, conseqüentemente, o universo de problemas solucionáveis acaba sendo bem restringido. Como sugestão de trabalhos futuros, pretendemos estudar melhor a questão da probabilidade de haver mais de uma fonte ativa em cada instante e sua relação com a procura por projeções das fontes. Além disto, pretendemos também relacionar os casos de separação de fontes usando esparsidade com Compressive Sensing [7], técnica que atualmente só é utilizada com uma fonte e um sensor. Referências [1] Hyvärinen, A., Karhunen, J., Oja, E.: Independent Component Analysis. John Wiley & Sons, New-York (2001) [2] Comon, P.: Independent component analysis, A new concept?: Signal Processing, vol. 36, pp. 287-314, 1994 [3] Bofill, P., Zibulevsky, M.: Underdetermined blind source separation using sparse representations. Signal Processing. 81, 2353--2363 (2001) [4] Rickard, S., “Sparse sources are separated sources”, em Proceedings of the 16th Annual European Signal Processing Conference, Florença, Italia, 2006 [5] Nadalin, E.Z., Takahata, A.K., Duarte, L.T., Suyama, R. Attux, R.: Blind Extraction of the Sparsest Component. In: In Proceedings of the 9th international Conference on Independent Component Analysis and Signal Separation , Saint-Malo, França, 2010. [6] Kim, S.; Yoo, C.D., "Underdetermined Blind Source Separation Based on Subspace Representation," Signal Processing, IEEE Transactions on, vol.57, no.7, pp.2604-2614, Julho 2009. [7] Candès, E. J., Wakin, M. B., “An Introdution to Compressive Sampling”, IEEE Signal Processing Magazine, vol. 25, pp. 21-30, Março 2008 Anais do I SPS UNICAMP Outubro de 2010 11 Sessão 2 - Inteligência Computacional Aprendizado Baseado em Teoria da Informação: Fundamentos e Perspectivas Daniel G. Silva , Romis Attux Departamento de Engenharia de Computação e Automação Industrial Faculdade de Engenharia Elétrica e de Computação Universidade Estadual de Campinas (Unicamp) [email protected], [email protected] Resumo – Este artigo apresenta brevemente a nova área de pesquisa denominada Aprendizado Baseado em Teoria da Informação ou Information Theoretic Learning, que se baseia no uso de estatísticas que sejam mais informativas em comparação com aquelas subjacentes aos tradicionais algoritmos adaptativos com critérios de segunda ordem. Além da motivação e definição desta nova área, alguns exemplos de aplicações e oportunidades de estudo são apresentados. Palavras-chave: aprendizado, teoria da informação, ITL, algoritmos adaptativos. 1. Introdução Os algoritmos de aprendizado se caracterizam por realizarem o ajuste de parâmetros através da otimização de um critério que indique o desempenho do modelo frente aos dados apresentados. Ao longo dos anos, um critério que vem sendo largamente utilizado para essa tarefa baseia-se em estatísticas de segunda ordem, como o erro quadrático médio entre o sinal de saída do mapeador e um sinal de referência. Há diversas razões para o uso de um critério baseado no segundo momento dos dados. Entre elas, podem-se destacar [3, 12]: (i) é simples de usar; (ii) possui o significado físico de ser uma medida de energia do sinal em questão; (iii) é um critério com propriedades interessantes no contexto de otimização, como diferenciabilidade e simetria; (iv) é muito bem sucedido na solução de problemas pertencentes ao domínio linear-gaussiano e (v) origina uma enorme variedade de algoritmos adaptativos. Por outro lado, sabendo que é ideal extrair o máximo de informação dos dados durante a adaptação dos parâmetros, há evidências que indicam que o segundo momento é uma medida pobre para essa tarefa de avaliar a equivalência de informação entre o sinal desejado e a saída do mapeador [6]. Além disso, o atual avanço da capacidade computacional e o estudo de problemas mais complexos em processamento de sinais levam-nos a cenários onde esta tradicional família de critérios pode não ser a mais satisfatória. A Teoria da Informação (TI), desenvolvida a partir de 1948 por Claude E. Shannon [9], lida com a quantificação da incerteza e da dependência estatística em processos aleatórios, ao mesmo tempo que vincula tais medidas ao conceito de informação. Esta área do conhecimento contribuiu em parte com o enorme desenvolvimento dos sistemas de comunicação daquela época até hoje. Através do trabalho pioneiro de Principe et al., de 2000, que define o Aprendizado Baseado em Teoria da Informação ou Information Theoretic Learning (ITL) [6], surge então no estudo dos algoritmos adaptativos o interesse pelo uso de critérios derivados a partir de TI e que permitiriam superar as limitações das estatísticas de segunda ordem. Nas próximas seções, resumem-se brevemente os passos dados pela pesquisa em ITL até a atualidade e busca-se apontar caminhos para novas contribuições, as quais serão alvo do trabalho de doutorado do autor. 2. Entropia e Informação Mútua Entropia é o conceito primordial no estudo de TI e indica o grau de incerteza médio associado a uma determinada variável aleatória, contínua ou discreta. Para o caso contínuo, define-se a entropia diferencial de uma variável aleatória contínua X como Hs (x) = − Anais do I SPS UNICAMP Z p(x)ln[p(x)]dx = E{−ln[p(x)]}, Outubro de 2010 (1) 12 Sessão 2 - Inteligência Computacional onde p(x) é a função densidade de probabilidade de X. Outro conceito fundamental é o de Informação Mútua entre duas variáveis aleatórias, X e Y, contínuas: Is (x, y) = Z Z p(x, y) p(x, y)ln dxdy, p(x)p(y) (2) onde p(x, y) é função densidade de probabilidade conjunta e p(x), p(y) são as funções de densidade marginais. A entropia pode ser vista como uma generalização da variância para processos com distribuições não-gaussianas, enquanto a informação mútua é uma medida de independência entre as variáveis, generalizando o conceito de correlação [3]. Dadas estas definições, ITL é a otimização não-paramétrica de sistemas adaptativos através do uso de critérios de desempenho baseados em TI, como a Entropia, a Informação Mútua e outros [1]. 3. Aplicações de ITL Há diversas formulações de critérios baseados em TI para solucionar problemas de aprendizado supervisionado e não-supervisionado. Para o primeiro caso considere, por exemplo, uma máquina que realiza o mapeamento f (x, w) = y de dados de um vetor entrada x para uma saída y e que tem o conjunto de parâmetros w ajustados de tal forma que y se “aproxime” ao máximo da saída d desejada, o que, no contexto de TI, é tentar aproximar a distribuição conjunta pw (x, d) da distribuição p(x, d). É possível demonstrar que, no contexto de identificação de sistemas, isto ocorre se for solucionado o problema de minimizar a entropia do sinal de erro e = d − y [2]: minw Hs (e) = − Z pw (e)ln[pw (e)]de. (3) Já em um problema de aprendizado não-supervisionado, pode-se utilizar o princípio de máxima transferência de informação (InfoMax), que consiste em maximizar com respeito a w a informação mútua entre o sinal de entrada do mapeador (x) e o sinal de saída (y) [3]. Outra abordagem, utilizada no contexto de análise de componentes independentes, é a de minimizar a informação mútua entre os componentes da saída do modelo. Identificação de sistemas não-lineares [2], separação cega de fontes [4], extração de características [10] e clusterização [5] são exemplos de problemas com aplicação de algoritmos baseados nas formulações apresentadas e em outras formulações de critérios baseados em TI. 4. Estimadores Dado que, nos problemas de aprendizado de máquina, há uma amostra finita de dados para treinamento e geralmente não se conhece sua distribuição, uma questão crucial para derivar o algoritmo de adaptação em ITL é que se utilizem estimadores das distribuições e da entropia (ou outra medida associada a TI). Os principais trabalhos nesse sentido utilizam o método de janela de Parzen para estimar a distribuição dos dados, o qual consiste de aproximar a distribuição por uma soma de funções Kernel centradas nas amostras. Quanto ao cálculo do critério de otimização, os trabalhos de maior destaque na comunidade utilizam a definição de entropia de Renyi [7] para propor um estimador universal de entropia que permite aplicar algoritmos de otimização dos parâmetros com busca pelo gradiente [1]. A entropia de Renyi pode ser vista como um caso geral da entropia de Shannon e até então mostra-se mais simples, com α = 2, para derivação de um estimador eficiente computacionalmente. Todavia, além da eficiência e dos bons resultados empíricos, ainda não há argumentos teóricos que justifiquem a escolha da entropia de Renyi em detrimento da definição clássica de Shannon ou de outras definições alternativas. Por isso também existem trabalhos que derivam estimadores baseados na entropia de Shannon e apresentam aplicações práticas [8, 11], embora ainda representem uma menor parcela dentro dos resultados práticos de ITL. Anais do I SPS UNICAMP Outubro de 2010 13 Sessão 2 - Inteligência Computacional 5. Conclusões O Aprendizado Baseado em Teoria da Informação é uma área de pesquisa bastante nova e que já apresenta resultados promissores, extrapolando o paradigma da otimização pelo erro quadrático médio ou por outras estatísticas de segunda ordem como a variância e correlação. Problemas de natureza não-linear e com distribuição dos dados não obrigatoriamente gaussiana podem atualmente ser abordados por ITL de uma forma mais robusta. Mas por ser um campo de estudo novo, muitas questões ainda permanecem em aberto e assim fornecem oportunidades para contribuições: • Não há um consenso sobre qual é a melhor abordagem para cálculo da entropia, se pela definição de Shannon ou se pela generalização de Renyi, o que dá oportunidade para se estudar comparativamente o desempenho de algoritmos adaptativos com os dois métodos. Além disso, precisa-se investigar mais profundamente o motivo da escolha da definição de entropia de Renyi. • Os algoritmos de treinamento com os estimadores de entropia até agora possuem complexidade O(N 2 ) em função do número de amostras, enquanto que os algoritmos clássicos de treinamento (ex.: gradiente descendente) em batelada possuem complexidade O(N ). Logo há o desafio de aprimorar os estimadores de entropia para ganhar eficiência computacional com garantia de precisão. • A aplicação de ITL necessita ser ampliada para outros problemas a fim de que se saiba se o seu uso é de fato superior frente a estatísticas de segunda ordem, seja em problemas já solucionados ou seja em problemas de maior complexidade e que ainda não possuem soluções satisfatórias pelos critérios tradicionais. Este artigo apresenta de maneira bastante resumida esta nova área de pesquisa, sua definição e motivação. Para se aprofundar, são recomendadas as leituras dos trabalhos de Principe et al. [6] e Erdogmus [1, 3]. Referências [1] D. Erdogmus. Information Theoretic Learning: Renyi’s Entropy And Its Applications To Adaptive System Training. PhD thesis, University of Florida, 2002. [2] D. Erdogmus and J.C. Principe. An error-entropy minimization algorithm for supervised training of nonlinear adaptive systems. IEEE Transactions on Signal Processing, 50(7):1780 – 1786, 2002. [3] D. Erdogmus and J.C. Principe. From linear adaptive filtering to nonlinear information processing. IEEE Signal Processing Magazine, 23:14–33, 2006. [4] S. Haykin, editor. Unsupervised Adaptive Filtering: Blind Source Separation. Wiley, 2000. [5] T. Lehn-Schiøler, A. Hegde, D. Erdogmus, and J.C. Principe. Vector quantization using information theoretic concepts. Natural Computing, 4(1):39–51, 2005. [6] J.C. Principe, D. Xu, and J. Fisher. Information theoretic learning, chapter 7, pages 265–319. Wiley, 2000. [7] A. Renyi. Probability Theory. North-Holland, 1970. [8] N.N. Schraudolph. Gradient-based manipulation of nonparametric entropy estimates. IEEE Transactions on Neural Networks, 15(4):828–837, 2004. [9] C.E. Shannon. A mathematical theory of communication. Bell System Technical Journal, 27:379–423, 623–656, 1948. [10] V. Sindhwani, S. Rakshit, D. Deodhare, D. Erdogmus, J.C. Principe, and P. Niyogi. Feature selection in MLPs and SVMs based on maximum output information. IEEE Transactions on Neural Networks, 15(4):937–948, 2004. [11] Paul Viola, Nicol N. Schraudolph, and Terrence J. Sejnowski. Empirical entropy manipulation for real-world problems. In Neural Information Processing Systems 8, pages 851–857. MIT Press, 1996. [12] Z. Wang and A.C. Bovik. Mean squared error: love it or leave it?-a new look at signal fidelity measures. IEEE Signal Processing Magazine, 26(1):98–117, 2009. Anais do I SPS UNICAMP Outubro de 2010 14 Sessão 2 - Inteligência Computacional Separação Cega de Misturas com Não-Linearidade Posterior Utilizando Estruturas Monotônicas e Computação Natural Filipe O. Pereira1 , Leonardo T. Duarte2 , Ricardo Suyama3 , Romis Attux1 , João Marcos Travassos Romano2 1 - Departamento de Engenharia de Computação e Automação Industrial (DCA) 2 - Departamento de Microondas e Óptica (DMO) 3 - Universidade Federal do ABC (UFABC) Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (Unicamp) {filipe, attux}@dca.fee.unicamp.br,{ltduarte, rsuyama, romano}@dmo.fee.unicamp.br Resumo – Neste trabalho, investiga-se o problema de separação de fontes de misturas com não-linearidade posterior (PNL) baseado na minimização da informação mútua, visto que, no modelo PNL ainda é possível recuperar as fontes através da análise de componentes independentes (ICA). No entanto, há duas dificuldades maiores no emprego da ICA em modelos PNL. A primeira delas diz respeito a uma restrição sobre as funções não-lineares: a de que elas devem ser monotônicas. O segundo problema se encontra no processo de otimização da informação mútua, pois pode haver mínimos locais. Para lidar com o primeira problema, aplicamos três tipos distintos de estruturas não-lineares monotônicas e, para contornar a presença de mínimos locais, empregamos um algoritmo bio-inspirado com capacidade de busca global. Palavras-chave: separação cega de fontes, misturas com não-linearidade posterior, estruturas monotônicas, computação natural. 1. Introdução De maneira geral, o problema de separação cega de fontes (blind source separation - BSS) consiste em recuperar um conjunto de sinais denominados fontes, a partir de observações que são misturas desconhecidas destas fontes. Primeiramente, o problema BSS foi tratado em sua versão linear, mas, em algumas situações práticas, o processo de mistura possui elementos não-lineares, o que motivou a extensão denominada BSS não-linear [4]. Em BSS não-linear, merece destaque o modelo de mistura com não-linearidade posterior (post-nonlinear - PNL) [9], pois este modelo permite o tratamento do problema de BSS via análise de componentes independentes (Independent Component Analysis - ICA). Para efetuar a separação de misturas PNL, adota-se tipicamente um sistema separador composto por um conjunto de não-linearidades monotônicas e por uma matriz inversível. Além disso, é necessária uma função custo baseada numa métrica de informação mútua, a qual pode ser dotada de múltiplos ótimos locais. Essas dificuldades evidenciam dois problemas fundamentais de projeto: a escolha cautelosa de modelos não-lineares que sejam monotônicos e a necessidade de técnicas capazes de realizar otimização em ambientes multimodais. Neste trabalho, é proposta uma metodologia que busca lidar com ambos os problemas de uma forma tão ampla quanto possível. Para tanto, investigamos três estruturas monotônicas: Polinômios com restrição de monotonicidade, Rede neural monotônica de Sill [8] e Rede MLP Monotônica [5]. Para lidar com o problema de otimização da função custo, optamos pelo algoritmo CLONALG [2]. Em todos os casos, a estimação da função custo adotada - a informação mútua - foi feita por meio de uma metodologia baseada em estatísticas de ordem. 2. Separação de Misturas com Não-Linearidade Posterior Através de ICA Seja s(t) = [s1 (t), . . . , sN (t)]T o vetor de sinais das fontes e x(t) = [x1 (t), . . . , xN (t)]T o vetor de misturas (consideramos um número igual de misturas e fontes). Portanto, o problema de BSS é recuperar as fontes a partir somente dos valores do vetor de misturas. No caso de misturas instantâneas e lineares - o mais usual da literatura [4] -, matematicamente, as misturas são combinações lineares das fontes e podem ser representadas na forma matricial: x(t) = As(t), (1) Anais do I SPS UNICAMP Outubro de 2010 15 Sessão 2 - Inteligência Computacional onde A denota a matriz de misturas. Neste caso uma possibilidade natural é realizar a separação multiplicando o vetor por uma matriz de separação W: y(t) = Wx(t). (2) A aplicação de ICA ao problema de separação se liga à ideia de escolher W de modo que os elementos de y(t) sejam estatisticamente independentes [4]. Quando é estruturalmente possível inverter a mistura, isso leva à recuperação das fontes a menos de ambiguidades de permutação e fator de escala [1]. A extensão para o caso post-nonlinear, ilustrado na Fig.1, leva ao seguinte modelo de mistura [9]: x(t) = f (As(t)), (3) onde f (·) = [f1 (·), . . . , fN (·)]T corresponde a um conjunto de não-linearidades inversíveis e sem memória. A matriz A também deve ser inversível para que a separação seja viável. Um candidato natural a sistema separador nesse caso é: y(t) = Wg(x(t)), (4) onde g(·) = [g1 (·), . . . , gN (·)]T são funções não-lineares que devem ser corretamente ajustadas para "anular o efeito" de f (·), ou seja, a composição de funções gi (·) e fi (·), para i = 1, . . . , N , deve ser uma função linear. Diante desses modelos, o processo de separação passa depender de dois aspectos fundamentais: a escolha de um critério que permita quantificar o grau de independência entre as saídas do separador e de um método de parametrização das funções não-lineares g(·). Figura 1. Sistema com Não-Linearidade Posterior. Neste trabalho, adotamos a informação mútua (estimada com a ajuda de estatísticas de ordem) como critério de separação e uma parametrização de g(·) baseada em três estruturas monotônicas. Vejamos o problema de otimização e as estruturas em mais detalhes. 3. Função Custo Baseada na Informação Mútua e Estruturas Monotônicas Considerando a estrutura de separação mostrada na Fig.1, pode-se expressar a informação mútua das saídas do separador, considerando que as funções gi (·) são inversíveis, da seguinte forma: I(y) = ∑ { H(yi ) − H(x) − log(| det(W) |) − E log( i ∏ } ′ | gi (xi ) |) , (5) i ′ onde gi denota a primeira derivada da i-ésima não-linearidade gi (·) do sistema separador. Analisando essa expressão, vemos que a estimação de I(y) requer a estimação das entropias marginais H(yi ), já que H(x) é constante e os demais termos são determinados pelos parâmetros do separador. Em nosso trabalho, a estimação das entropias marginais tem sido realizada por meio de uma metodologia baseada em estatísticas de ordem [7]. O problema de minimizar a informação mútua das saídas do separador, gera uma tarefa de otimização altamente multimodal e complicada no que se refere ao uso de informações como derivadas. Percebemos, então, que se trata de um cenário propício ao uso de ferramentas de computação natural. Deste modo, Anais do I SPS UNICAMP Outubro de 2010 16 Sessão 2 - Inteligência Computacional empregamos um algoritmo inspirado no princípio da seleção clonal denominado CLONALG [2], pois, como visto em [3], tem bom desempenho para o problema em questão. A outra dificuldade de modelos PNL se encontra na parametrização das funções g(·). Neste trabalho, utilizamos três estruturas monotônicas gerais, que são: • Polinômios [6] com restrição de monotonicidade, • Rede neural monotônica de Sill [8], • Rede MLP Monotônica [5]. 4. Resultados Para avaliar o desempenho das três estruturas monotônicas, relizamos simulações em diversos cenários distintos. No primeiro caso, os polinômios conseguiram inverter a ação das não-linearidades aplicadas em f (·), o que resultou na recuperação das fontes de maneira satisfatória. No caso da rede monotônica de Sill e da rede MLP monotônica, obtivemos resultados inferiores aos dos polinômios. Ambas estruturas são capazes de inverter as não-linearidades aplicadas no sistema misturador, mas, para estes casos, o problema em geral torna-se custoso no âmbito da multimodalidade da função custo. Deste modo, o principal problema que encontramos no emprego destas duas estruturas, foi no processo de otimização. De modo a contornar esse problema de otimização, reduzimos a dimensão do problema fixando a diagonal da matriz W em 1. Desta forma os resultados foram melhores, mas abaixo do que esperávamos. 5. Conclusões A proposta foi testada para três modelos não-lineares - um aproximador polinomial, a rede neural monotônica de Sill e uma rede MLP monotônica. Os testes indicaram a consistência da proposta, especialmente quando se empregam polinômios com restrição de monotonicidade. As demais estruturas também foram capazes de levar condições de separação, porém com menos eficiência. 6. Agradecimentos Gostaríamos de agradecer à CAPES e à FAPESP pelo apoio financeiro. Referências [1] P. Comon. Independent Component Analysis, a New Concept? Signal Processing, 36(6):287–314, 1994. [2] L. N. de Castro and F. J. Von Zuben. Learning and Optimization Using the Clonal Selection Principle. IEEE Transactions on Evolutionary Computation, Special Issue on Artificial Immune Systems, 6(3):239–251, 2002. [3] R. Suyama F. O. Pereira, E. Z. Nadalin and R. R. de F. Attux. Análise do emprego de ferramentas de computação natural no problema de separação de misturas com não-linearidade posterior. Technical report, XXVII Simpósio Brasileiro de Telecomunicações (SBrT 2009), Blumenau, Setembro 2009. [4] A. Hyvärinen, J. Karhunen, and E. Oja. Independent Component Analysis. Wiley, 2001. [5] Bernhard Lang. Monotonic Multi-layer Perceptron Networks as Universal Approximators. In Artificial Neural Networks: Formal Models and Their Applications - ICANN 2005, pages 31–37, 2005. [6] V. John Mathews and Giovanni L. Sicuranza. Polynomial Signal Processing. Wiley, 1 edition, 2000. [7] D.-T. Pham. Blind Separation of Instantenaous Mixtures of Sources Based on Order Statistics. IEEE Transactions on Signal Processing, 48(2):363–375, 2000. [8] Joseph Sill. Monotonic networks. In in Advances in Neural Information Processing Systems (NIPS, pages 661–667, 1998. [9] A. Taleb and C. Jutten. Source separation in post-nonlinear mixtures. IEEE Transactions on Signal Processing, 47(10):2807–2820, 1999. Anais do I SPS UNICAMP Outubro de 2010 17 Sessão 3 - Codificação de Áudio Codificador de áudio HE-AAC v2 José M. L. Filho , Vinícius J. A. Braga , Júlia J. D. Chanquini , Luís G. P. Meloni Departamento de Comunicações - DECOM Faculdade de Eng. Elétrica e de Computação - FEEC Universidade Estadual de Campinas (Unicamp) {matias,vinicius,juliajdc,meloni}@decom.fee.unicamp.br Resumo – Este artigo tem como objetivo apresentar as principais evoluções da família dos codificadores de áudio padronizada pela Moving Picture Experts Group (MPEG) existentes até a última versão do Advanced Audio Coding (AAC). Projetado para ser o sucessor do formato MP3, o ACC é utilizado como codificador de áudio no padrão do Sistema Brasileiro de TV Digital (SBTVD). Palavras-chave: Codificadores, Áudio, Padrão. 1. Introdução Em 1982, com o surgimento do CD, o áudio digital se tornou cada vez mais presente no dia-a-dia. Em um único CD passou a ser possível o armazenamento de mais de 60 minutos de áudio de alta qualidade. No contexto de seu surgimento, isto era excelente, mas com o surgimento do compartilhamento de arquivos de áudio, através da internet, houve a necessidade de se criar mecanismos de compressão ainda maiores diante das limitações de largura de banda. Para suprir esta necessidade de limitação de largura de banda, foi necessário a criação de um formato que conseguiria reproduzir som com qualidade de CD com uma taxa de compressão razoável. Foi assim, que em 1987, o Institut Integrierte Schaltungen (IIS) juntamente com a Universidade de Erlangen, ambas localizadas na Alemanha, começaram a pesquisar uma codificação perceptual de áudio para transmissão digital de áudio. Todo o trabalho resultou num algoritmo de compressão de áudio chamado MP3. No decorrer deste artigo, é apresentado a evolução dos principais codificadores MPEG. Este trabalho teve sua origem em uma das meta físicas do projeto da Rede H.264 - SBTVD, coordenado pelo Professor Luís G. P. Meloni. O projeto permitiu o estudo de diversos codificares de áudio para a transmissão digital, algumas técnicas de otimização em hardware [2] e áudio multicanal [3] do MPEG-4 AAC . Para embarcar os códigos foram empregados no kit de desenvolvimento da Analog Device. 2. Evolução dos Codificadores MPEGs Com o intuito de estabelecer padrões para codificadores digitais visando um melhor aproveitamento das novas tecnologias aliadas à alta qualidade alguns grupos se reuniram. Um dos primeiros e mais importantes grupos se reuniram com a finalidade de estabelecer um padrão, foi assim que em 1988 o MPEG padronizou a compressão/descompressão, o processamento e a representação codificada de áudio, vídeo e dados, e esta versão foi chamada de MPEG-1(ISO/IEC 11172) [4]. Uma das partes deste padrão trata especificamente da codificação de áudio (ISO/IEC 11172-3) e nela são descritas a sintaxe e a semântica para três classes de métodos de compressão conhecidos como layers. O mais conhecido deles é o MPEG-1 Audio Layer III, mais conhecido como MP3, que desde seu surgimento tornou-se o principal padrão e até hoje está presente em diversos lugares. Algumas das características que fizeram do MP3 algo tão popular foi a utilização de uma variante da Trasformada Discreta de Cosseno (MDCT), do inglês Modified Discrete Cosine Transform, e, também, por introduzir a utilização de recursos da psico-acústica para a redução da taxa de dados necessária para para um fluxo de áudio. Alguns anos mais tarde o MPEG se reuniu novamente com a finalidade de melhorar este padrão. Em 1994, foi criado o MPEG-2 (ISO/IEC 13818) que trouxe uma versão do MP3 com algumas melhorias principalmente a codificação multicanais, com até 5.1 canais, e a implementação do AAC (ISO/IEC 138187). Em 1998, mais um encontro do mesmo grupo foi criado um novo padrão, o MPEG-4 (ISO/IEC 14496) onde ao invés de aumentar a eficiência da compressão optou-se pela inclusão de novas funcionalidades, como por exemplo o Temporal Noise Shaping (TNS), o Long Term Prediction (LTP) e o Transformationdomain Weighted Interleave Vector Quantization (TWIN-VQ). Anais do I SPS UNICAMP Outubro de 2010 18 Sessão 3 - Codificação de Áudio Na década de 2000, o padrão AAC foi novamente melhorado com a introdução de duas novas tecnologias. Em 2003 foi introduzido o Spectral Band Replication (SBR) e com isso surgiu a primeira versão High Efficiency AAC (HE-AAC), e, em 2006, foi introduzido o Parametric Stereo (PS) sendo então nomeado como a segunda versão do HE-AAC. O SBR aumenta a largura de banda e permite ao codificador de áudio entregar o mesmo resultado utilizando a metade da taxa de bits que o código do codificador necessitaria, se utilizando seus próprios recursos. Já o PS aumenta a eficiência da codificação uma segunda vez explorando uma representação paramétrica da imagem estéreo de um sinal. O MPEG não foi o único nesta busca de um padrão de codificadores de áudio. Outras instituições também criaram seus padrões de acordo com suas necessidades. Entre os demais padrões vale a pena citar o Dolby AC-2/3 desenvolvido pela Dolby Digital e o Sony ATRAC desenvolvido pela Sony. Assim como os padrões MPEG seus objetivos eram fornecer a melhor qualidade possível para uma determinada aplicação. A seguir, Tabela 1 [1], mostra um quadro comparativo entre os principais padrões de codificação de áudio. Tabela 1. Principais codificadores de áudio disponíveis no mercado. Nome Taxa (kbps) Complexidade Principais Aplicações MPEG-1 Layer I 192 por canal de áudio estéreo 128 por canal de áudio estéreo 96 por canal de áudio estéreo 128 por canal baixa para codificador e decodificador baixa para decodificador baixa para decodificador baixa para codificador e decodificador baixa para decodificador baixa para codificador e decodificador baixa para decodificador Cassete compacto digital MPEG-1 Layer II MPEG-1 Layer III Dolby AC-2 Dolby AC-3 Sony ATRAC MPEG-2 AAC 384 para os 6 canais de áudio 140 por canal 384 para os 6 canais de áudio DAB,CD-1,DVD ISDN, Sistemas de Rádio via satélite, aúdio de internet Ponto a ponto, cabo Ponto a multiponto, HDTV, cabo DVD, Cinema, LaserDisc MiniDisc HDTV, DVD, rádio na internet, etc. DVD, Cinema, LaserDisc 3. O sistema de codificação MPEG-2/4 AAC Tanto o MPEG-2 AAC quanto o MPEG-4 AAC tem uma estrutura semelhante que é mostrada na Figura 1. Sua estrutura básica é composta das seguintes partes: Psychoacoustic Model (PAM), Modified Discrete Cosine Transform (MDCT), Spectrum Process (SPP) e Quantization Loop (Q-Loop). Figura 1. Blocos básicos para o codificador MPEG2/4. A MDCT transforma as amostras do sinal de entrada, que estão no domínio do tempo, em espectros, que estão no domínio da frequência. Ao mesmo tempo o PAM calcula a relação sinal-máscara (SMR), do inglês Signal-to-Masking Ratio, que é usada para determinar a precisão do Q-Loop. A saída do PAM também inclui a informação do tipo de bloco que é usado para decidir o bloco que será utilizado pela MDCT. Depois da MDCT converter os dados em espectros, os coeficientes da MDCT são transferidos para o SPP que é usado para remover suas redundâncias e irrelevâncias através da codificação Joint Stereo (JS) e do (Temporal Noise Shaping) (TNS). Finalmente, os espectros realizam a quantização não-uniforme e a codificação sem ruído baseado no limiar de mascaramento e no número disponível de bits para minimizar o erro de quantização audível no Q-Loop [5]. 3.1. HE-AAC v1 Como foi dito anteriormente, a implantação da nova tecnologia SBR ao AAC deu origem ao que chamamos de HE-AAC v11 . O principal problema dos codificadores tradicionais de áudio que precisam operar com 1 norma ISO/IEC 14496-3:2001/Amd 1 Anais do I SPS UNICAMP Outubro de 2010 19 Sessão 3 - Codificação de Áudio taxas de compressão muito baixas é o fato que que necessitam de mais bits para representar o espectro do que as taxas disponíveis. Para resolver esse problema utiliza-se o SBR. A idéia por trás do SBR é a observação de que normalmente existe uma forte correlação entre as características da faixa de alta frequência de um sinal e as características da faixa de baixa frequência do mesmo sinal. Assim, uma boa aproximação para a representação das altas frequências do sinal de entrada pode ser alcançada pela transposição das baixas frequências, Figura 2. Figura 2. Por transposição criando altas frequências e ajustando o envelope [6]. Além da transposição, a reconstrução das altas frequências, como pode ser visto na Figura 2, é realizado pelo envelope espectral do sinal de entrada original ou através de informações adicionais para compensar uma potencial falta de componentes de alta frequência [6]. Além do SBR, o HE-AAC v1 adicionou algumas ferramentas úteis ao núcleo do codificador AAC, Figura 3, como a análise Quadrature Mirror Filterbank (QMF), Cálculo do Envelope de Dados e Down-Sampler. Figura 3. Diagrama de blocos do MPEG-4 HE AAC v1. Todas as taxas de amostragem do sinal são transferidos para o codificador SBR e para o Down-Sampler diretamente. Os sinais PCM com a metade da taxa de amostragem que são a alimentação para o codificador AAC serão produzidas a apartir do Down-Sampler. O codificador SBR fica a cargo de estimar os parâmetros de controle para garantir que o resultado da reconstrução das altas frequências seja o mais semelhante possível com o sinal original. 3.2. HE-AAC v2 A descoberta de uma nova tecnologia fez mais uma vez mudar o padrão de codificação de áudio. Considerando que o SBR explora as possibilidades de uma representação parametrizada das altas frequências, a idéia pro trás do PS é parametrizar os sinais estéreo. O princípio do PS é a transmissão de um sinal mono codificado em conformidade com o formato HEAAC em conjunto com a descrição de uma imagem estéreo. A Figura 4 mostra este princípio. Anais do I SPS UNICAMP Outubro de 2010 20 Sessão 3 - Codificação de Áudio Figura 4. Princípio básico do processo de codificação do PS [6]. A junção das tecnologias AAC, SBR e PS são os principais blocos do HE-AAC v2. O AAC é usado para codificar as baixas frequências, o SBR codifica as altas frequências e o PS codifica a imagem estéreo de uma forma parametrizada. O diagrama de blocos do codificador HE-AAC v2 é mostrado na Figura 5. Figura 5. Diagrama de blocos do HE-AAC v2 [6]. Se a ferramenta PS for usada o codificador PS extrai informações baseadas nas amostras QMF. Do contrário, o sinal de entrada é realimentado na proporção de 2:1 e, outra vez, realimenta o codificador AAC. 4. Conclusões Neste artigo apresentou a evolução dos codificadores de áudio criadas pela MPEG. A última versão, HEAAC v2, é utilizada no padrão do Sistema Brasileiro de TV Digital (SBTVD). O processo de codificação de áudio é um caminho que sempre busca de algoritmos e métodos cuja adaptabilidade e inteligência sigam os parâmetros da produção para satisfazer as necessidades humanas. Referências [1] BARBEDO , J. G. A. Avaliação objetiva de qualidade de sinais de Áudio e voz. Tese de Doutorado Unicamp, 2004. [2] B RAGA , V. J. A. Técnicas de otimização aplicadas na decodificação de Áudio digital em sistemas embarcados com processadores Blackfin. Dissertação de Mestrado - Unicamp, 2010. [3] C HANQUINI , J. J. D. Áudio multicanal e o codificador mpeg-4 aac. Dissertação de Mestrado Unicamp, 2010. [4] H ARTE , L. Introduction to MPEG; MPEG-1, MPEG-2 and MPEG-4. Athos Publishing. 2006. [5] L UO , J. H. Design and VLSI Implementation of Low Complexity MDCT-based Psychoacoustic-Model Co-Processor for MPEG-2/4 AAC Encoder. National Central University, Taiwan, 2006. [6] MELTZER, S., AND MOSER, G. MPEG-4 HE-AAC v2 Audio Coding for Today Digital media World. EBU Technical Review, 2006. Anais do I SPS UNICAMP Outubro de 2010 21 Sessão 3 - Codificação de Áudio Áudio Multicanal e o Codificador MPEG-4 AAC Júlia J. D. Chanquini, José M. L. Filho, Vinícius J. A. Braga, Luís G. P. Meloni Departamento de Comunicações - DECOM Faculdade de Eng. Elétrica e de Computação - FEEC Universidade Estadual de Campinas (Unicamp) (juliajdc,matias,vinicius,meloni)@decom.fee.unicamp.br Resumo – Este artigo tem como objetivo apresentar um breve resumo sobre codificação de sinais de áudio multicanal apresentando o codificador do padrão MPEG-4 AAC, usado no Sistema Brasileiro de TV Digital SBTVD. Palavras-chave: áudio, multicanal, codificador, AAC. 1. Introdução O termo áudio multicanal se refere a áudio gerado e reproduzido em múltiplos canais para criar uma sensação envolvente do som no ouvinte. E é usado em cinemas e home theaters. A configuração mais comum é a 5.1, que são cinco canais discretos cobrindo toda a faixa de freqüências audíveis distribuídos em um par estéreo frontal, um canal central e outro par estéreo traseiro. E mais um canal para efeitos de baixa freqüência (até 120Hz), conhecido como canal Low Frequency Effect (LFE) a ser reproduzido por um subwoofer, que é limitado em freqüência e tem um décimo da largura de banda dos outros canais, por isso a denominação “.1”. Os padrões de televisão digital atuais já compreendem a transmissão de áudio em formato multicanal. A norma brasileira usa o formato padrão MPEG-4 AAC [2] para codificar o áudio a ser transmitido e prevê além do estéreo, a configuração de canais 5.1[1]. O AAC é um codificador perceptual de áudio que possui ferramentas para codificação de áudio incluindo vários canais. Neste artigo serão apresentados conceitos básicos de um codificador perceptual e uma breve apresentação do codificador MPEG-4 AAC e suas principais ferramentas. O estudo e implementação deste codificador faz parte do projeto Rede H.264 do qual o laboratório RT-DSP participa. 2. Codificação Perceptual de Áudio A codificação perceptual de áudio visa reduzir o número de bits necessários para codificar um sinal de áudio eliminando partes do sinal que não são percebidas pela audição humana. Um sinal de áudio que é perceptualmente igual ao original é chamado de transparente. Para calcular onde alocar mais ou menos bits os codificadores usam os chamados modelos psicoacústicos, que são modelos matemáticos de como o sistema auditivo humano processa subjetivamente o som. A partir desse modelo é calculado um limiar de mascaramento, que é um limite de energia abaixo do qual um tom ou ruído não será percebido. Este limiar pode ser usado para definir limites de ruído de quantização e partes do áudio que não serão percebidas e podem ser descartadas ou codificadas com menos bits. 2.1. O Modelo Psicoacústico O modelo psicoacústico envolve alguns conceitos baseados no estudo do sistema auditivo humano que serão apresentados brevemente a seguir. 2.1.1 Percepção de volume A percepção do volume pelo ouvido humano não é linear. O ser humano é mais sensível a variações de pressão da onda sonora para as baixas pressões do que para as altas, por isso as ondas sonoras são normalmente caracterizadas em nível logarítmico. A unidade mais usada para a o nível de pressão sonora é a Sound Pressure Level (SPL), a qual expressa o nível de pressão sonora em escala logarítmica em relação a um nível de referência. Anais do I SPS UNICAMP Outubro de 2010 22 Sessão 3 - Codificação de Áudio 2.1.2 Limiar Absoluto de Audibilidade em Silêncio É a quantidade de energia necessária para que um ouvinte possa detectar um som com apenas um componente em freqüência (um tom) em um ambiente em silêncio absoluto. É tipicamente expressado em dB SPL. 2.1.3 Bandas Críticas Uma banda crítica define uma faixa em torno de uma freqüência central, a qual está associada a um ponto da membrana basilar, que é responsável pela análise em freqüência do som, de modo que a cada ponto é possível definir uma banda crítica. Quando dois sinais se situam dentro de uma banda crítica, o de maior energia poderá dominar a percepção e mascarar o outro estímulo sonoro. Dependendo dos níveis, dois tons distintos só serão distinguidos um do outro quando estiverem em bandas críticas diferentes. Este é o fenômeno responsável pelo mascaramento simultâneo. Apesar das bandas críticas serem contínuas na freqüência, para aplicações práticas é comum ser utilizado um conjunto discreto. O conjunto discreto mais utilizado é denominado escala Bark. Uma distância de um Bark corresponde à largura de uma banda crítica. 2.1.4 Mascaramento O mascaramento ocorre quando um som torna-se imperceptível para um ouvinte devido à presença de outro som. Quando isso ocorre, o sinal que se torna imperceptível é o mascarado e o que provoca o mascaramento é o mascarador. O nível de energia abaixo do qual um componente do sinal é mascarado por outros componentes é chamado de limiar de mascaramento. Além de depender da localização dos sinais mascarador e mascarado no plano tempo-freqüência, o limiar de mascaramento progressivo também depende da duração do mascarador. O mascaramento normalmente é classificado em duas categorias principais: simultâneo e não simultâneo (ou temporal). 2.1.5 Espalhamento do Mascaramento Apesar dos efeitos do mascaramento serem muito maiores dentro da banda crítica, eles propagam-se pelas demais regiões do espectro. Esse efeito é conhecido como espalhamento do mascaramento. Tipicamente, o espalhamento do mascaramento é aproximado por uma função triangular na escala Bark, independentemente da freqüência e do nível do sinal mascarador. Essa função é conhecida como função de espalhamento. 2.1.6 Entropia Perceptual A entropia perceptual é uma medida proposta por Johnston para representar a quantidade de informação relevante em um determinado sinal de áudio, em bits por amostra (ou bits/s), para atingir a codificação transparente[3]. 2.2. O padrão MPEG-4 AAC O AAC é divido em perfis que definem a complexidade do codificador e as ferramentas que serão aplicadas. Existem três perfis principais: principal (main), baixa complexidade (low complexity - LC) e de taxa de amostragem escalável (Scalable Sample Rate - SSR). O mais usado é o de baixa complexidade, que não inclui as ferramentas de controle de ganho e predição e usa uma ordem menor de filtro na ferramenta Temporal Noise Shaping (TNS). 2.2.1 Análise do Sinal pelo AAC O AAC usa a transformada discreta de cosseno modificada (MDCT) para a conversão dos sinais de entrada do domínio do tempo para a freqüência. A MDCT usa blocos de amostras sobrepostas com metade do bloco anterior e outra metade do posterior. O tamanho de quadro do AAC é de 1024 amostras para janela longa e 128 para curta. A transformada é feita com duas vezes o tamanho do quadro, isto é 2048 amostras para a janela longa e 256 para curta. O bloco curto é usado para melhorar a resolução em transientes e evitar que espalhamento de ruído, que pode gerar um artefato chamado de pré-eco. Como não é muito eficiente codificar todo o Anais do I SPS UNICAMP Outubro de 2010 23 Sessão 3 - Codificação de Áudio sinal com blocos curtos, o sinal de entrada é analisado e é alternado o tamanho de bloco se é detectado transiente. Após estar no domínio da freqüência o sinal passará pelo modelo psicoacústico do AAC que irá extrair os limiares para o ruído de quantização permitido no quantizador. Também é aplicada a ferramenta TNS, que é usada para melhorar a qualidade da codificação em transientes, pois apenas a troca do tamanho de bloco não é sempre suficiente para evitar problemas com o pré-eco. O TNS realiza predição no domínio da freqüência para melhorar a resolução temporal do codificador, para isto é aplicado um filtro noise shaping que usa codificação de predição linear (LPC). A filtragem não é aplicada em todo o espectro, o AAC só ativa a filtragem TNS em faixas de freqüência onde for necessário. O TNS nunca é ativado para o canal LFE. 2.2.2 Análise para fontes estéreo e multicanal Na sintaxe do bitstream do AAC, os canais e pares de canais são separados em elementos de sintaxe, um canal mono comum é um elemento single channel element (SCE), um par estéreo é um channel pair element (CPE) e o canal LFE é um lfe element. Um CPE é composto por duas streams de canal individuais e informações extras para codificação do par. Os dois canais podem também compartilhar informação lateral. Uma fonte 5.1 é composta pela seqüência de elementos: SCE, CPE, CPE, LFE, representando respectivamente os canais central, par estéreo frontal, par estéreo traseiro e o canal LFE. Existe também um elemento para canal de acoplamento, o coupling channel element (CCE)[2]. O AAC também usa a codificação joint stereo que é específica para pares estéreo e também é aplicada para fontes multicanal. Este módulo inclui duas técnicas: mid/side(M/S) stereo (também conhecida como codificação de soma e diferença) e intensity stereo. O M/S é aplicado às áreas de menor freqüência do sinal. Substitui-se então os canais pela soma que se torna o canal meio (mid - M) e a diferença como canal lateral (side - S). Este módulo também pode ser habilitado ou não de acordo com as características do sinal de entrada. O intensity stereo já é direcionado ás regiões de freqüências mais altas do sinal. Ele baseia-se no princípio de que as componentes de alta freqüência do som são percebidas pelo ouvido pela análise de seus envelopes de energia no tempo ao invés dos sinais em si. Então o codificador poderia transmitir apenas um conjunto de valores espectrais e os compartilhar entre vários canais de áudio mantendo uma boa qualidade, apenas sendo necessário adicionar a energia dos envelopes como dados auxiliares para o decodificador recuperar o nível correto de energia original do sinal[6]. O intensity stereo pode envolver dois mecanismos: O primeiro, chamado de intensity stereo coding, é aplicado às componentes de maior freqüência e consiste em substituir o sinal do canal direito pela soma dos canais multiplicados pela raiz quadrada da energia da sub-banda do canal direito dividida pela energia de sub-banda do canal esquerdo e o sinal do canal esquerdo por zero. O segundo é o canal de acoplamento do AAC onde a energia espectral seria compartilhada por mais canais além do par estéreo. 2.2.3 Quantização A etapa de quantização no AAC tem dois objetivos: reduzir os bits usados para após a codificação de entropia, os bits necessários ficarem dentro do limite desejado e controlar o ruído de quantização para que o limite do modelo psicoacústico possa ser atingido ou nenhum ruído perceptual ser introduzido após a quantização. A quantização é feita em dois passos. Um é a quantização para amostras espectrais, o outro é para bandas de fator de escala (scale-factor band). Para as amostras espectrais é usado um quantizador não uniforme e é usada codificação de Huffman para codificar os coeficientes do quantizador. No AAC, o codificador aplica uma amplificação para cada grupo individual de coeficientes espectrais, que são as bandas de fator de escala. O objetivo é formatar o ruído de quantização em unidades similares às bandas críticas, para os requerimentos do modelo psicoacústicos serem atingidos com mais eficiência. Isto é feito no AAC adicionando um parâmetro sf na quantização e incluindo informação lateral destes parâmetros de cada banda de fator de escala no bitstream. Na teoria o ideal seria atingir os requerimentos tanto do modelo psicoacústico como da taxa de bits, mas na pratica é comum não ser possível atingir esses valores. O codificador deve então aumentar os bits usados ou diminuir os requerimentos psicoacústicos. Anais do I SPS UNICAMP Outubro de 2010 24 Sessão 3 - Codificação de Áudio No AAC, o limite de bits para cada quadro é normalmente a média de bits por quadro que pode ser calculada a partir da taxa de bits desejada e a taxa de amostragem do sinal de entrada. Além disso, existe um reservatório de bits disponível para cada quadro para permitir uma distribuição variável de bits extra entre quadros consecutivos. O procedimento para alterar requerimentos e número de bits não esta disponível no padrão, pois o MPEG não padroniza a parte do codificador apenas o bitstream gerado por ele que deve seguir a sintaxe definida na norma. 3. Conclusões Neste artigo apresentamos conceitos básicos de codificação perceptual de áudio e o codificador de áudio padrão MPEG-4 AAC, que é o usado pelo padrão brasileiro de televisão digital. Este codificador tem suporte à codificação de áudio de alta qualidade e multicanal, podendo ser usado para transmitir áudio criado com vários canais usando menos banda e mantendo uma boa qualidade na parte de áudio das transmissões. Referências [1] ABNT. Televisão digital terrestre — Codificação de vídeo, áudio e multiplexação Parte 2: Codificação de áudio. NBR 15602-2, 2007. [2] ISO/IEC. Information technology - coding of audio-visual objects - part 3: Audio. 14496-3, Dez 2005. [3] J. D. Johnston. Estimation of perceptual entropy using noise masking criteria. Proc. ICASSP-88, Mai 1988. [4] Silvio B. Leite. Melhoria do codificador de fala G.722.1 através do uso de um modelo Perceptual. Tese de Mestrado - UNICAMP, Dez 2003. [5] T.Painter, A. Spanias. Perceptual coding of digital audio. Proceedings of the IEEE , vol.88, no.4, pp.451-515, Abr 2000. [6] D. T. Yang, C. Kyriakakis, C.-C. Jay Kuo. High-Fidelity Multichannel Audio Coding. Hindawi, 2004. Anais do I SPS UNICAMP Outubro de 2010 25 Sessão 4 - Busca e Classificação de Imagens Classificação de Imagens usando Programação Genética Fabio Augusto Faria, Anderson Rocha, Ricardo da Silva Torres Instituto Computação Universidade Estadual de Campinas (Unicamp) {ffaria,rocha,rtorres}@ic.unicamp.br Resumo – Técnicas de aprendizagem de máquina vêem sendo empregadas em diversas áreas do conhecimento (medicina, biologia, segurança, entre outras). Este trabalho, busca mostrar o uso da técnica de Programação Genética (PG) em tarefas de classificação de imagens. PG é uma técnica da inteligência artificial que busca soluções ótimas inspirada pela teoria de seleção natural das espécies. Indivíduos mais aptos (melhores soluções) tendem a evoluir e se reproduzir nas gerações futuras. Este artigo discute como a PG pode ser utilizada para combinar diferentes evidências visuais psara melhorar o desempenho em tarefas de classificação de imagens. Palavras-chave: programação genética, classificação de imagem, aprendizagem de maquina. 1. Introdução Nos dias atuais, com o avanço das tecnologias de aquisição e armazenamento de imagens, juntamente com o uso da internet, verifica-se o surgimento de grandes coleções de imagens. Além disso, a redução de custos associados ao armazenamento e processamento de grandes coleções de imagens fizeram aumentar a utilização de sistemas computacionais inteligentes, os quais fazem uso de técnicas de aprendizagem. Estas técnicas de aprendizagem são empregadas na área de processamento de imagem, na análise e reconhecimento de padrões, classificação e recuperação de imagens e têm sido utilizadas em diversas aplicações em medicina, segurança, biologia, entre outras. No domínio de classificação de imagens, descritores de imagens são usados para caracterizar propriedades visuais. Um descritor é caracterizado por duas funções: (1) um algoritmo de extração de características que codifica as propriedades visuais (cor, textura e forma) em um vetor de características; e (2) uma medida de similaridade (função de distância) que calcula a similaridade entre duas imagens utilizando os vetores de características correspondentes (vide Figuras 1(a) e 1(b)). Diferentes descritores potencialmente fornecem diferentes informações que se complementam. Cada descritor pode caracterizar diferentemente propriedades visuais distintas (e.g., cor, textura e forma) ou até uma mesma propriedade visual (os descritores BIC [5] e JAC [6] caracterizam propriedades visuais de cor de maneiras diferentes). Certamente, um descritor pode ser mais eficaz para uma base de imagens que para outra, mas nenhum descritor é “perfeito” para qualquer coleção. O uso de técnicas de aprendizagem para combinar diferentes evidências visuais caracterizados por descritores tem o objetivo de melhorar o desempenho em tarefas de classificação de imagens, explorando as vantagens de bons descritores e minimizando eventuais efeitos negativos de descritores ruins. Uma técnica que vem sendo estudada em diversas áreas como mineração de dados, processamento de sinais, evolução interativa, classificação e recuperação de imagens é a programação genética (PG) [1, 4]. Esta técnica da área de inteligência artificial busca soluções ótimas se baseando na seleção natural das espécies. Os indivíduos mais aptos (melhores soluções) tendem a se reproduzir e evoluir em gerações futuras. Este artigo discute como a PG pode ser utilizada para combinar diferentes evidências visuais para melhorar o desempenho em tarefas de classificação de imagens. 2. Programação Genética Programação genética (PG) [4] é uma técnica da inteligência artificial para a solução de problemas baseados nos princípios da herança biológica e evolução. Nesse contexto, cada solução potencial é chamada de indivíduo (vide Figura 1(c)) em uma população. Sobre essa população são aplicadas transformações genéticas, como crossover e mutações, com o intuito de criar indivíduos mais aptos (melhores soluções) Anais do I SPS UNICAMP Outubro de 2010 26 Sessão 4 - Busca e Classificação de Imagens em gerações subsequentes. Uma função de adequação (fitness) é utilizada para atribuir valores para cada indivíduo com o intuito de definir o seu grau de evolução. Os principais componentes de um arcabouço de PG são: • Terminais: Nós folhas na estrutura de árvore. • Funções: Nós não-folhas utilizados para combinar os nós folha. Operações numéricas comuns: +, -, *, /, log, sqrt . • Função de Adequação (fitness): O objetivo da função de adequação é medir a eficácia de um indivíduo. • Reprodução: Um operador genético que copia os indivíduos com os melhores valores de adequação diretamente para a próxima geração, sem passar pela operação de crossover. • Crossover: Um operador genético que troca sub-árvores de dois pais para formar dois novos descendentes. • Mutação: Um operador genético que troca uma sub-árvore de um determinado indivíduo, cuja raiz é um ponto de mutação escolhido, com uma sub-árvore gerada aleatóriamente. d d δD v ^I D: A δD v ^I d1 D: ε D1 εD εD I^A I^B (a) d2 δD1 B dk δD2 ε D1 ε D2 δDk ε D2 ^I A ... ε Dk ε Dk ^I B (b) (c) Figura 1. (a) Descritores Simples (b) Descritor Composto (c) PG. D é a função de extração de car~ ˆ é o vetor de características de uma imagem I, ˆ δD é a função de similaridade e d é a acterísticas, V I distância calculada entre as duas imagens. 3. Classificação utilizando Programação Genética Segundo [7], PG pode ser usada em tarefas de classificação para combinar diferentes tipos de evidências. O método consiste de 5 etapas. 1. Para cada classe, gere uma população de indivíduos (funções de similaridade); 2. Para cada classe, execute as sub-etapas seguintes no conjunto de imagens de treinamento para Ngen gerações (a) Calcule a aptidão de cada indivíduo usando o algoritmo de adequação; (b) Guarde os indivíduos de maiores similaridades Ntop ; (c) Crie uma nova população por: reprodução, crossover, e mutação; 3. Aplique os (Ngen × Ntop ) indivíduos (candidatos), anteriormente gravados, a um conjunto de imagens válidos e selecione o melhor indivíduo bc que será único para cada classe Ci ; 4. Para cada classe Ci , use o indivíduo bc em um classificador k-vizinhos mais próximos (kN N ) e aplique o resultado a um conjunto de imagens de teste; 5. Combinar a saída de cada classe por meio de votação. As etapas 1, 2 e 3 consistem no processo de aprendizagem com o objetivo de descobrir a melhor função de similaridade para cada classe. Cada função pode ser usada somente para calcular similaridade entre pares de imagens. As etapas 4 e 5 fazem a classificação das imagens. No algoritmo kN N , para uma dada imagem de teste d é calculado um score, sci ,d , associado a d para cada classe candidata ci . Este score está definido na Eq. 1. Anais do I SPS UNICAMP Outubro de 2010 27 Sessão 4 - Busca e Classificação de Imagens sci ,d = ∑ similaridade(d, d0 )f (ci , d0 ) (1) d0 ∈Nk (d) onde Nk (d) são as k imagens mais similares a d no conjunto de treinamento e f (ci , d0 ) é uma função que retorna 1 se a imagem d0 pertence a classe ci e 0 caso contrário. No passo 4 a função “genérica” de similaridade do kN N é substituída pela função descoberta para cada classe. No problema de classificação multi-classes com n classes, o sistema utiliza n classificadores kN N . Para produzir o resultado final da classificação, a saída de todos os n classificadores são combinadas usando um esquema de votação. A classe de um imagem di é decidida pela classe mais votada pelos n classificadores. 4. Conclusões Uma técnica muito utilizada em diversas áreas, a programação genética, foi alvo dos estudos desenvolvidos neste trabalho. Esta técnica, que está inserida no contexto de inteligência artificial, busca soluções ótimas se baseando na seleção natural de espécies, nas quais os indivíduos mais aptos tendem a se reproduzir e evoluir nas gerações futuras. A seleção natural é realizada por uma função de adequação que verifica o quão apto o indivíduo está para resolver um determinado problema. As operações de mutação e crossover são usadas para evoluir os indivíduos e a reprodução faz com que os melhores indivíduos passem para próxima geração. O uso de programação genética tem obtido bons resultados em estudos realizados recentemente [1,3,7]. Por exemplo, no trabalho de Torres et al. [1], essa técnica é empregada na combinação dos valores de similaridade obtidos a partir de descritores de imagens, gerando uma função de similaridade mais eficaz. Em [2], PG é usada para otimizar as funções de ordenação em sistemas de busca por imagens textuais. Nos experimentos realizados com imagens de borboletas o método proposto obteve considerável resultado quando comparado com outras técnicas da literatura. Foi possível comprovar a dificuldade que as diferentes técnicas de classificação encontram quando utilizadas em pequenos conjuntos de treinamento. Classificador PG + KNN-7 KNN-7 SVM-RBF BAGG-7 BAGG-13 SVM-LINEAR KNN-3 KNN-13 Eficácia (%) 60,80 56,80 54,40 54,40 52,00 49,60 46,40 45,60 Desvio 2,06 13,68 2,19 16,15 11,66 4,56 9,21 6,07 Descritores 5 (BIC, CCV, GCH, HTD e LAS) 1 (BIC) 1 (BIC) 1 (BIC) 1 (BIC) 1 (BIC) 1 (BIC) 1 (BIC) Tabela 1. Os valores de eficácia de cada um dos classificadores para a base Borboletas. Referências [1] R. da S. Torres, A. X. Falcão, M. A. Goncalves, J. P. Papa, B. Zhang, W. Fan, and E. A. Fox. A genetic programming framework for content-based image retrieval. Pattern Recognition, 42(2):283–292, 2009. [2] W. Fan, M. D. Gordon, and P. Pathak. Genetic programming-based discovery of ranking functions for effective web search. Journal of Management Information Systems, 21(4):37–56, 2005. [3] C. D. Ferreira, R. da S. Torres, M. A. Goncalves, and W. Fan. Image Retrieval with Relevance Feedback based on Genetic Programming. In SBBD, pages 120–134, 2008. [4] J. Koza. Genetic Programming: On the programming of computers by natural selection. MIT Press, 1992. [5] R. Stehling, M. Nascimento, and A. Falcão. A compact and efficient image retrieval approach based on border/interior pixel classification. In CIKM, pages 102–109, 2002. [6] A. Williams and P. Yoon. Content-based image retrieval using joint correlograms. Multimedia Tools and Applications, 34(2):239–248, 2007. [7] B. Zhang, Y. Chen, W. Fan, E. A. Fox, M. Gonçalves, M. Cristo, and P. Calado. Intelligent gp fusion from multiple sources for text classification. In CIKM, pages 477–484, 2005. Anais do I SPS UNICAMP Outubro de 2010 28 Sessão 4 - Busca e Classificação de Imagens Anotação Automática de Imagens Usando Dicionários Visuais e Regras de Associação Guilherme Moraes Armigliatto , Eduardo Valle , Ricardo Torres Instituto de Computação Universidade Estadual de Campinas (Unicamp) [email protected], [email protected], [email protected] Resumo – Com os avanços tecnológicos, grandes coleções de imagens são geradas, manipuladas e armazenadas em bancos de imagens. Dado o grande tamanho desses bancos, verifica-se a necessidade de criar ferramentas que gerenciem de forma eficaz as imagens neles contidas. Um dos problemas desse gerenciamento é a recuperação das imagens no banco, e uma forma de fazê-lo é baseada no uso de anotações textuais associadas a imagem. Entretanto, a anotação manual das bases implica grandes custos, além de ser demorada. Este trabalho tem por objetivo explorar técnicas para anotação automática de imagens usando dicionários visuais e regras de associação. Palavras-chave: Anotação Automática de Imagens, Dicionários Visuais, Regras de Associação. 1. Introdução O avanço das tecnologias de aquisição e armazenamento de imagens, juntamente com o uso da internet, proporcionou o surgimento de grandes coleções de imagens que vêm sendo usadas em várias áreas do conhecimento. Um dos problemas do gerenciamento dessa grande quantidade de dados é a recuperação de informação. A abordagem mais comum para recuperação de imagens é baseada na associação de descrições textuais e no uso de técnicas tradicionais de bancos de dados [5], operação que exige uma etapa prévia de anotação. Outra abordagem é a Recuperação de Imagens Baseado em Conteúdo utilizando descritores de imagem, cujo processo de busca consiste basicamente em, dada uma imagem, calcular a sua similaridade em relação a outras armazenadas no banco de imagens. A recuperação por texto tem a vantagem de ser mais rápida e mais simples de ser realizada. O processo de se anotar uma imagem consiste em associar metadados textuais à imagem, por exemplo, palavras-chaves. A anotação manual de uma grande quantidade de imagens é custosa e pode conter problemas, como a não padronização dos termos utilizados para descrever a mesma característica. Também existe a abordagem de se anotar automaticamente uma imagem, aumentando assim o desempenho da recuperação. Esta abordagem, por outro lado, exige a criação de uma base de imagens bem anotadas para realizar um treinamento. Nesse trabalho é proposta uma técnica de anotação automática de imagens abordando aspectos de dicionários visuais e regras de associação, sendo que a principal contribuição é investigar e analisar o comportamento e a sinergia dessas duas técnicas em conjunto. O dicionário visual é uma técnica que utiliza a agregação de características locais de uma imagem para representá-la. Por meio deles, podemos sintetizar o conteúdo visual de imagens em uma representação chamada “saco de palavras visuais” (do inglês “bag of visual words”), em que “palavras” arbitrárias são associadas aos padrões visuais mais marcantes dos dados. A metáfora da “palavra” visual abre a oportunidade de utilizar no universo da multimídia, metodologias que antes estavam disponíveis apenas para o texto e para dados estruturados ou semi-estruturados. Uma dessas metodologias é a mineração de dados, que envolve um conjunto de técnicas que permitem extrair conhecimentos a partir de massas de dados. Em particular, as chamadas regras de associação permitem encontrar os padrões de co-ocorrência mais freqüêntes nos dados, a partir dos quais se procura inferir correlações, causalidades e outras relações lógicas existentes na base. Anais do I SPS UNICAMP Outubro de 2010 29 Sessão 4 - Busca e Classificação de Imagens 2. Dicionários e Palavras Visuais A técnica de dicionários visuais consiste em representar uma imagem por meio de suas características visuais locais [8]. Os dicionários são usualmente obtidos aplicando-se um algoritmo de clustering em uma região de interesse, agrupando pequenas quantidades de características semelhantes, chamadas de palavras visuais, calculadas por meio de um descritor que distribui essas características em um vetor de características. Os centros dos agrupamentos são as representações das palavras visuais do dicionário [3]. Podemos descrever de forma simplificada o processo de geração dos dicionários em três etapas: 1. Detecção de regiões de interesse: esta etapa é normalmente feita por detectores como o Hessianaffine detector ou o Harris-Laplace. Alguns trabalhos consideram como regiões de interesse a imagem dividida em células de tamanho fixo (grids). 2. Descrição das regiões detectadas: são utilizados descritores de imagens para calcular o vetor de característica da região de interesse, sendo que o mais utilizado é o SIFT ou variações dele. 3. Agrupamento dos vetores de características: o espaço dos vetores de características é agrupado e cada grupo representa uma palavra visual. Este agrupamento é feito na maioria dos trabalhos pelo algoritmo k-means. Após a geração do dicionário visual, tem-se um conjunto finito de grupos (palavras visuais) no espaço de características, com pouco conteúdo semântico. Neste momento, pode-se realizar uma etapa de treinamento para realizar a associação de conceitos semânticos a um conjunto de palavras visuais do vocabulário. Para isso, podem ser usadas imagens para as quais já se sabem os conceitos existentes. Uma abordagem para associar conceitos semânticos a grupos de palavras visuais (grupos no espaço de características) é a classificação supervisionada. A maioria dos trabalhos usa Support Vector Machines (SVM) [6]. Outra abordagem, que será investigada neste projeto, são as regras de associação, discutidas na seção 3. Terminada a associação dos conceitos semânticos às palavras visuais, o dicionário está criado e pronto para ser usado para o reconhecimento de cenas e objetos. Uma aplicação possível seria, dado os objetos de uma imagem, anotá-la textualmente, como em [3]. Outro uso seria a classificação completa de uma imagem de acordo com o tipo de cena (floresta, montanha, estrada, cidade, etc) e cada uma de suas regiões receberia rótulos semânticos. 3. Regras de Associação Regras de associação, primeiramente introduzida em [1], é uma área de mineração de dados que busca encontrar padrões que descrevam dependências significativas entre conjuntos de eventos em uma base de dados. Ou seja, tem como objetivo encontrar itens que frequentemente ocorrem juntos. O APRIORI [2] é um dos algoritmos mais conhecidos para minerar regras de associação. Para eliminar algumas regras que possivelmente não serão desejáveis, o algoritmo utiliza parâmetros como o suporte, que indica a porcentagem mínima de registros em que uma regra se aplica, e a confiança, que indica o grau de acerto da regra. Em [7] é proposto um classificador associativo chamado Lazy Associative Classification (LAC). Esse classificador, diferentemente do APRIORI, gera as regras por demanda, focando somente nas características (“features”) que realmente acontecem nas instâncias de teste. Por esse motivo, ele é extremamente rápido e eficiente, sendo adequado para grandes quantidades de dados. Neste projeto utizaremos o LAC para regrar as regras que associam palavras visuais e anotações. 4. Detalhes de Implementação e Resultados O objetivo desse projeto é apresentar um novo método de anotação automática de imagens. Utilizam-se para isso as técnicas de dicionários visuais e regras de associação, associando certos padrões obtidos das imagens com anotações. Anais do I SPS UNICAMP Outubro de 2010 30 Sessão 4 - Busca e Classificação de Imagens O primeiro passo foi construir um dicionário visual a partir das imagens de treinamento (imagens já anotadas). Primeiro, alguns detectores de pontos de interesse foram utilizadas, como o Fast Hessian e o Harlap. A extração de características das regiões dos pontos foi feita com descritores como SIFT e o SURF. Por último, determinou-se para cada dicionário um número K de pontos aleatórios para serem os centros dos clusters e agrupamos os restantes dos pontos. Com o dicionário construído, tem-se para cada imagem um histograma de palavras visuais (quantidade de ocorrência de cada palavra). Porém, como as regras de associação trabalham no espaço nominal e não no numérico, foi necessário discretizar os dados desse dicionário. Essa discretização foi feita por ocorrência (binariamente), isto é, não foi analisada a quantidade de cada palavra visual, somente se ela está presente ou não. A outra possibilidade seria discretizar os valores numéricos em intervalos. Ao final, utiliza-se o LAC para anotar as imagens de teste (imagens não anotadas). Os primeiros experimentos foram realizados na base MIRFLICKR [4] de 25 mil imagens, sendo que essa possui 38 tipos de anotações (“keywords”), onde cada imagem pode ter várias anotações. A base também possui tags, que são textos livres (palavras ou frases) associados a uma imagem. Nos testes, usamos somente as tags mais comuns, que são as que aparecem em no mínimo 20 imagens da base. Finalmente, utilizou-se o LAC para relacionar palavras visuais com anotações, obtendo regras do tipo: {w1, w3, w5 ⇒ “Car”}, ou seja, o conjunto de palavras visuais {w1, w3, w5} implica a anotação “Car”. Relacionamos também tags com anotação e tags + palavras visuais com anotação, por exemplo {w1, w3, “Person driving” ⇒ “Car”}. Um trabalho futuro é tentar associar palavras visuais + anotações com anotação, por exemplo: {w1, w4, “T ransport”⇒“Car”}. Desse modo, nessa base relacionamos palavras visuais com anotação, tags com anotação e palavras visuais + tags com anotação, usando uma acurácia padrão. Identificou-se uma “preferência” ou um “viés” para algumas classes, que tentamos resolver com uma meta-aprendizagem, aumentando em 10% a acurária. Basicamente foram testados vários valores de K e vários descritores no dicionário visual, tendo um resultado médio de 40% de acurária para os testes que só usam palavras visuais, e 60% para os que usam tags e tags + palavras visuais. 5. Conclusões Uma forma de se recuperar uma imagem em um banco de imagens é por meio de sua descrição textual. Porém, anotar manualmente uma grande quantidade de imagens é inviável. Neste contexto, este projeto de pesquisa tem como objetivo especificar e implementar técnicas para anotação automática de imagens usando dicionários visuais e regras de associação. Referências [1] Rakesh Agrawal, Tomasz Imieliński, and Arun Swami. Mining association rules between sets of items in large databases. In SIGMOD ’93, pages 207–216, 1993. [2] Rakesh Agrawal and Ramakrishnan Srikant. Fast algorithms for mining association rules. pages 580– 592, San Francisco, CA, USA, 1998. Morgan Kaufmann Publishers Inc. [3] Shuiwang Ji, Lei Yuan, Ying-Xin Li, Zhi-Hua Zhou, Sudhir Kumar, and Jieping Ye. Drosophila gene expression pattern annotation using sparse features and term-term interactions. In KDD ’09, 2009. [4] B. Thomee Mark J. Huiskes and Michael S. Lew. New trends and ideas in visual concept detection: The mir flickr retrieval evaluation initiative. In MIR ’10, pages 527–536. ACM, 2010. [5] V. E. Ogle and M. Stonebraker. Chabot: Retrieval from relational database of images. IEEE Computer, 28(9):40–48, Sep 1995. [6] K. van de Sande, T. Gevers, and C. Snoek. Evaluation of color descriptors for object and scene recognition. In CVPR 2008, pages 1–8, June 2008. [7] Adriano Veloso, Wagner Meira Jr., and Mohammed J. Zaki. Lazy associative classification. In ICDM ’06, pages 645–654, Washington, DC, USA, 2006. IEEE Computer Society. [8] Jun Yang, Yu-Gang Jiang, Alexander G. Hauptmann, and Chong-Wah Ngo. Evaluating bag-of-visualwords representations in scene classification. In MIR ’07, pages 197–206, 2007. Anais do I SPS UNICAMP Outubro de 2010 31 Sessão 4 - Busca e Classificação de Imagens Realimentação de Relevância para Recuperação Visual e Textual de Imagens Rodrigo Tripodi Calumby, Ricardo da Silva Torres (Orientador) Departamento de Sistemas de Informação Instituto de Computação Universidade Estadual de Campinas (Unicamp) [email protected],[email protected] Resumo – Este trabalho apresenta uma abordagem para recuperação multimodal de imagens com realimentação de relevância baseada em programação genética. Supõe-se que cada imagem da coleção possui informação textual associada, além de ter suas propriedades visuais codificadas em vetores de características. A partir da informação obtida ao longo das iterações de realimentação de relevância, programação genética é utilizada para a criação de funções de combinação de medidas de similaridades eficazes. Com essas novas funções, valores de similaridades diversos são combinados em uma única medida, que mais adequadamente reflete as necessidades do usuário. A abordagem proposta mostrou melhores resultados para recuperação multimodal frente a utilização das modalidades isoladas. Além disso, foram obtidos resultados para recuperação multimodal superiores as melhores submissões para a ImageCLEF Photographic Retrieval Task 2008. Palavras-chave: realimentação de relevância, programação genética, recuperação de imagens. 1. Introdução Atualmente, com os avanços tecnológicos, um grande conjunto de dados digitais multimídia tem sido gerado, manipulado e armazenado em grandes bases de dados. Esses acervos são empregados em várias aplicações, tais como sensoriamento remoto, medicina e bibliotecas digitais [6]. Outro fator que influencia a disponibilidade destes tipos de dados é o surgimento a cada dia de novas aplicações web que permitem fácil publicação de conteúdo. Tudo isso é impulsionado pela crescente capacidade de captura, armazenamento e transferência de dados, por exemplo, a partir de dispositivos móveis. Dado o tamanho desses bancos, prover meios de recuperar informação útil de tais acervos de forma eficiente e eficaz é essencial. Em se tratando de imagens, a abordagem mais comum para recuperação é baseada na criação de descrições textuais e no uso de técnicas tradicionais de bancos de dados para recuperá-las [7], operação que exige a anotação prévia das imagens. Um outro paradigma para recuperação utiliza a descrição do conteúdo visual de imagens para indexá-las e manipulá-las. Nesses sistemas de recuperação de imagens por conteúdo, o processo de busca consiste em, dada uma imagem, calcular a sua similaridade em relação a outras armazenadas numa dada coleção de imagens. Várias técnicas são utilizadas para implementar esse processo [2]. Descrições visuais e textuais codificam diferentes propriedades de uma imagem. Porém, na maioria das vezes, deseja-se recuperar uma imagem em função de múltiplas propriedades. Assim, descritores são combinados com o intuito de suprir tais necessidades. Vários métodos são utilizados para essa combinação [3]. Grande parte desses métodos são baseados na atribuição de pesos aos descritores. Esses pesos determinam a relevância de cada descritor na composição. Entretanto, nesse tipo de abordagem não há nenhuma interação entre o usuário e o sistema. Esse fato dificulta a aquisição de imagens relevantes quando se consideram vários usuários. Isso acontece porque diferentes pessoas podem ter percepções visuais distintas diante de uma mesma imagem. Com isso, surge a necessidade de aprimorar essa estratégia para que ela se adapte a diferentes usuários. Para suprir essa necessidade pode-se utilizar uma técnica interativa chamada realimentação de relevância em que um usuário interage com o sistema de busca e assim refina o resultado de uma determinada consulta de acordo com sua necessidade. Anais do I SPS UNICAMP Outubro de 2010 32 Sessão 4 - Busca e Classificação de Imagens 2. Recuperação de Imagens com Realimentação de Relevância Realimentação de relevância é uma técnica inicialmente utilizada na recuperação de informações por texto, mas que atualmente é alvo de pesquisa na área de recuperação de dados multimídia [5]. O processo de recuperação por meio dessa técnica consiste basicamente na: (i) realização de uma consulta em que é retornado um pequeno número de objetos; (ii) indicação dos itens relevantes e/ou irrelevantes pelo usuário; (iii) re-combinação dos descritores de forma automática, considerando a indicação do usuário. Esse processo é repetido até que um resultado satisfatório para o usuário seja obtido. Em geral, uma grande eficácia no resultado de uma consulta é obtida após poucas iterações [6]. Recentemente, foi proposta no IC-Unicamp uma nova técnica de realimentação de relevância baseada em programação genética que vem sendo utilizada no processo de recuperação de imagem por conteúdo [4]. Essa técnica busca soluções ótimas baseando-se na seleção natural de indivíduos que representam soluções do problema-alvo dentro de uma população. Assim, a Programação Genética é utilizada para combinar descritores pré-definidos, com o intuito de obter uma melhor eficácia no processo de recuperação de imagens. Em [1] foram propostos e implementados dois arcabouços para manipulação de objetos digitais. O primeiro, RFCore, é um arcabouço genérico para atividades de realimentação de relevância na manipulação de objetos digitais. O segundo, MMRF-GP, é um arcabouço para recuperação de objetos digitais com realimentação de relevância baseada em programação genética, construído sobre o RFCore. Utilizando estes dois arcabouços, foi parcialmente implementado um sistema para recuperação de imagens por conteúdo a partir de informações visuais e textuais. A abordagem proposta mostrou melhores resultados para recuperação multimodal frente a utilização das modalidades isoladas. Além disso, foram obtidos resultados para recuperação visual e multimodal melhores do que as melhores submissões para a ImageCLEF Photographic Retrieval Task 2008 [8]. 3. Resultados A abordagem de recuperar imagens utilizando características visuais e descrições textuais foi avaliada utilizando a coleção da ImageCLEF Photographic Retrieval Task 2008. Esta coleção contém 20.000 imagens com descrições textuais associadas. Foi utilizado um conjunto de 39 consultas compostas de 3 imagens de exemplo e um conjunto de palavras para consulta textual. Comparativo de Modalidades 0.5 MAP 0.4 0.3 0.2 0.1 0 0 1 0 1 0 1 11 00 0 1 0 00 11 0 1 1 0 1 00 11 0 1 0 1 00 11 0 1 0 1 00 11 0 1 0 1 00 11 0 1 0 1 00 11 0 1 0 1 00 11 0 1 0 1 00 11 0 1 0 1 00 11 0 1 0 1 00 11 0 1 0 1 00 11 0 1 0 1 00 11 0 1 0 1 00 11 0 1 0 1 00 11 0 1 0 1 00 11 0 1 0 1 00 11 0 1 0 00 11 0 1 1 0 1 ICphoto 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 01 1 0 1 00mm−mm 11 mm−txt 00 11 00mm−vis 11 00 11 11 00 txt vis Figura 1. Comparativo entre os diferentes tipos de execução para 39 consultas. A Figura 1 mostra um comparativo de eficácia entre as diferentes abordagens de execução para 39 consultas. Fica claro que as abordagens multimodais (mm-*) superam em 25% de MAP com relação à abordagem visual (vis), o que em valor relativo equivale a um ganho de 110%. Frente a abordagem textual (txt) a multimodalidade alcança valor de MAP 22% maior, o que equivale a 85% de ganho. A Figura 2 mostra os resultados comparativos de eficácia entre a melhor submissão multimodal ao ImageClef 2008 e o melhor resultado multimodal obtido com o MMRF-GP. Os resultados apresentados na Figura 2 mostram que o MMRF-GP obteve ganho, de 21%, 8% e 8% para MAP, GMAP e P20, respectivamente, em relação ao método de referência. Outros experimentos e detalhes da validação podem ser encontrados em [1]. Anais do I SPS UNICAMP Outubro de 2010 33 valor Sessão 4 - Busca e Classificação de Imagens Comparativo de Busca Multimodal (visual + textual) 1 0 1 0ImageCLEF’08 1 1MMRF−GP 0 0.8 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 0.6 00 111 11 000 111 000 111 00 11 000 111 00 11 000 111 000 111 00 11 000 111 00 11 000 111 000 111 00 11 000 111 00 11 000 111 000 111 000 111 0.4 00 11 000 111 00 11 000 111 00 11 000 111 000 111 00 11 000 111 00 11 000 111 00 11 000 111 000 111 00 11 00 11 000 111 00 11 000 111 00 11 000 111 000 111 00 11 00 11 000 111 00 11 000 111 00 11 000 111 000 111 00 11 00 11 000 111 00 11 000 111 0.2 00 11 000 111 000 111 00 11 00 11 000 111 00 11 000 111 00 11 11 000 111 000 111 00 00 11 000 111 00 11 000 111 00 11 000 111 000 111 00 11 00 11 000 111 00 11 000 111 00 11 000 111 000 111 00 11 00 11 000 111 00 11 000 111 00 11 000 111 0 MAP GMMAP BPREF P20 Figura 2. Comparativo entre resultados de recuperação multimodal entre ImageCLEFphoto 2008 e o MMRF-GP. Resultado médio para 39 consultas. 4. Conclusões Este trabalho propôs a utilização de diferentes modalidades e fontes de evidências no processo de recuperação de objetos digitais e a utilização de realimentação de relevância baseada em programação genética. Os experimentos foram realizados utilizando um conjunto de descritores visuais e métricas de similaridade textual. Resultados indicam a superioridade da combinação de diferentes fontes de evidências (multimodalidade) frente a abordagens puramente textuais ou visuais. Além disso, experimentos comparativos indicaram desempenho superior da utilização do MMRF-GP para recuperação multimodal de imagens quando comparados com os melhores resultados das submissões para o ImageCLEF 2008. 5. Agradecimentos Agradecemos aos colegas do Laboratório de Sistemas de Informação e do RECOD, aos professores Cláudia Bauzer Medeiros (IC/UNICAMP) e Marcos André Gonçalves (DCC/UFMG), ao Instituto de Computação da Unicamp e ao CNPq pelo financiamento do projeto. Referências [1] R. T. Calumby. Recuperação multimodal de imagens com realimentação de relevância baseada em programação genética. Master’s thesis, Universidade Estadual de Campinas, 2010. [2] S. Deb and Y. Zhang. An overview of content-based image retrieval techniques. In Proceedings of the 18th International Conference on Advanced Information Networking and Applications, volume 1, pages 59–64, 2004. [3] R. Dorairaj and K.R. Namuduri. Compact combination of MPEG-7 color and texture descriptors for image retrieval. In Conference Record of the Thirty-Eighth Asilomar Conference on Signals, Systems and Computers, volume 1, pages 387–391, November 2004. [4] C. D. Ferreira, R. da S. Torres, M. Gonçalves, and W. Fan. Image retrieval with relevance feedback based on genetic programming. In Brazilian Symposium on Databases, pages 120–134, 2008. [5] W. Jiang, G. Er, Q. Dai, and J. Gu. Hidden annotation for image retrieval with long-term relevance feedback learning. Pattern Recognition, 38(11):2007–2021, November 2005. [6] M. S. Lew, editor. Principles of Visual Information Retrieval – Advances in Pattern Recognition. Springer-Verlag, London Berlin Heidelberg, 2001. [7] H. Lieberman, E. Rosenzweig, and P. Singh. Aria: An Agent for Annotating and Retrieving Images. IEEE Computer, 34(7):57–62, 2001. [8] A. Thomas, C. Paul, M. Sanderson, and M. Grubinger. Overview of the ImageCLEFphoto 2008 photographic retrieval task. In Evaluating Systems for Multilingual and Multimodal Information Access, volume 5706 of Lecture Notes in Computer Science, pages 500–511. Springer Berlin / Heidelberg, 2009. Anais do I SPS UNICAMP Outubro de 2010 34 Sessão 4 - Busca e Classificação de Imagens Explorando Dicionários Visuais em Buscas de Imagens na Web Otávio Augusto Bizetto Penatti , Ricardo da Silva Torres (Orientador) Instituto de Computação Universidade Estadual de Campinas (Unicamp) [email protected],[email protected] Resumo – O uso de dicionários visuais vem crescendo nos últimos anos e vem se mostrando atrativo para muitas aplicações. Seus principais benefícios estão relacionados à capacidade de entender o conteúdo visual de imagens e vídeos, como por exemplo, indicar e classificar os objetos existentes em uma imagem. Este entendimento ocorre por meio da associação automática de conceitos semânticos aos padrões visuais dos dados. Este projeto visa especificar e implementar um sistema de busca de imagens na Web explorando o uso dicionários visuais. As principais contribuições deste trabalho são: estudo comparativo das abordagens atuais para a geração de dicionários visuais; especificação e implementação de novas técnicas para a geração de dicionários visuais; especificação e implementação parcial de sistema de busca de imagens na Web baseado em dicionários visuais. Palavras-chave: dicionários visuais, Web, busca de imagen. 1. Introdução A quantidade de conteúdo multimídia disponível atualmente vem crescendo rapidamente. Este fenômeno se observa devido à facilidade, alcançada nos últimos anos, para a geração e disponibilização de conteúdo multimídia em domínio público. O aumento na capacidade de armazenamento dos dispositivos também contribuiu para este crescimento. Hoje, a Internet possui uma quantidade extremamente grande de conteúdo e boa parte dele é representado por dados multimídia, como imagens e vídeos. Esta tendência gerou a necessidade de criação de técnicas e mecanismos para lidar com imagens e vídeos. As comunidades científica e industrial obtiveram vários avanços neste sentido nos últimos anos, desenvolvendo diversas técnicas para armazenamento, indexação, interpretação e recuperação destes dados [1]. Nos dias de hoje, são comuns algumas abordagens para a indexação e recuperação de conteúdo multimídia. Uma delas consiste em agregar descrições textuais aos dados, por exemplo, associando palavras-chaves às imagens. Estas palavras são obtidas nos ambientes nos quais as imagens ou vídeos são encontrados na Web, como páginas HTML, por exemplo. Dessa maneira, os algoritmos já existentes para a indexação e recuperação de texto podem ser reaproveitados. Apesar do sucesso desta abordagem, ela apresenta algumas deficiências, como a dependência de descrições textuais realizadas pelos disponibilizadores de conteúdo e a dificuldade de se descrever em palavras a informação visual. Uma outra abordagem para a manipulação de conteúdo multimídia surgiu no início da década de 1990 e vem ganhando espaço nos últimos anos. Conhecida como recuperação baseada em conteúdo (content-based retrieval), esta técnica analisa o conteúdo de imagens e vídeos considerando suas propriedades visuais, como cores, texturas e forma de objetos. Dessa maneira, a indexação do conteúdo multimídia pode ser feita de forma automática, eliminando um dos problemas da abordagem anterior. Apesar dos avanços nesta área, várias pendências ainda existem. Entre elas, a de que as similaridades visuais não necessariamente correspondem à similaridade semântica. Este problema é conhecido como semantic gap. Outros problemas também aparecem em questões relacionadas a indexação e compreensão das necessidades do usuário. Recentemente, uma nova abordagem vem ganhando força na comunidade acadêmica. Esta abordagem, que possui base em técnicas de reconhecimento de objetos, consiste em tentar interpretar o conteúdo visual de imagens e vídeos. Ela basicamente tenta associar informação semântica, muitas vezes usando palavraschaves, a imagens e vídeos de maneira automática considerando apenas o conteúdo visual destes. Seu uso mais comum atualmente concentra-se em reconhecer cenas, como montanha, lago, estrada, cidade, e reconhecer ou buscar objetos em imagens ou vídeos, como por exemplo, encontrar determinado objeto no decorrer de um filme [9]. A Figura 1 apresenta alguns exemplos de categorização de cenas e objetos. Seu Anais do I SPS UNICAMP Outubro de 2010 35 Sessão 4 - Busca e Classificação de Imagens funcionamento consiste em encontrar pontos de interesse na imagem, descrever estes pontos de maneira invariante a condições de iluminação, escala, rotação e oclusão, e agrupar conceitos semelhantes visualmente em conceitos semânticos. Na literatura são encontradas variadas denominações para esta abordagem, entre elas: palavras visuais [7], dicionários visuais [12], bag-of-visual-words [10]. Uma das vantagens deste tipo de abordagem está relacionada ao possível reaproveitamento de técnicas usadas em busca textual e a não dependência de descrições textuais prévias para entender o conteúdo de uma imagem. Céu Grama Céu Avião Céu Mar Céu Casa Grama Compu tador Praia Pessoa Computa dor Árvore Pessoas Areia Pessoa Edifício Carro Grama Estrada Grama Grama Casa Carro Rua Cidade Computa dor Computa dor Interior Figura 1. Exemplos de categorização de cenas e objetos. O uso de dicionários visuais agrega os benefícios das abordagens baseadas em texto e baseadas em conteúdo, no entanto, existem pontos passíveis de melhorias [10]. Entre eles está o problema de escala para grandes conjuntos de dados. A geração do conjunto de palavras visuais é dependente da base de dados usada e determinar o tamanho ótimo do dicionário é um problema ainda em aberto. O tempo para a geração do dicionário pode tornar-se proibitivo e, na maioria das propostas atuais, existe perda da informação espacial das palavras encontradas em uma imagem, pois muitos trabalhos usam histogramas para representar a imagem (apenas contam a freqüência de cada palavra na imagem). A grande maioria dos trabalhos sobre reconhecimento de cenas e objetos [12, 3, 7, 2, 6, 4, 11, 13, 5, 8] considera bases de imagens restritas e com poucas categorias de objetos. Em um ambiente heterogêneo e de grandes dimensões como a Web, o comportamento das técnicas atuais ainda não é conhecido. Os dicionários visuais podem resolver os problemas apresentados pelas técnicas baseadas apenas em texto e em conteúdo e pode ajudar a melhorar o aproveitamento da informação disponível em imagens e vídeos da Web. O uso de dicionários visuais pode beneficiar uma vasta gama de aplicações. Dentre elas podem-se citar: a busca de imagens, a busca de determinados objetos em imagens ou vídeos e a interpretação do conteúdo de uma imagem. Esta última está associada a novas oportunidades de pesquisa. Assim como o ser humano consegue realizar diversas tarefas devido à sua capacidade de entender o que vê, a compreensão de uma imagem pelo computador pode torná-lo possível de realizar muitas novas tarefas. Este projeto tem como objetivo a especificação e implementação de um sistema que se beneficie do uso de dicionários visuais para a busca de imagens na Web. Para isto, vários pontos do processo envolvidos na geração de dicionários visuais serão atacados. Conseguir um bom funcionamento dos dicionários visuais em um ambiente heterogêneo e grande como a Web significa tornar possível o uso de dicionários visuais em praticamente qualquer ambiente, já que os principais problemas atuais estão relacionados à flexibilidade da abordagem. As contribuições desse projeto de pesquisa seguem algumas das direções propostas no seminário “Grandes Desafios da Pesquisa em Computação no Brasil - 2006 - 2016”, da Sociedade Brasileira de Computação (SBC). Mais especificamente as relacionadas ao desafio de lidar com grandes volumes de dados multimídia distribuídos. As contribuições esperadas são: • estudo comparativo das abordagens atuais para a geração de dicionários visuais, • especificação e implementação de novas técnicas para a geração de dicionários visuais, • especificação e implementação parcial de sistema de busca de imagens na Web baseado em dicionários visuais. Para a melhoria no processo de geração de dicionários visuais, as seguintes ações serão tomadas: verificar influência do detector de regiões de interesse, verificar influência do descritor de imagens, investigar Anais do I SPS UNICAMP Outubro de 2010 36 Sessão 4 - Busca e Classificação de Imagens métodos de agrupamento, investigar outras formas de representar a imagem de palavras visuais, considerar informação de relacionamento espacial entre as palavras visuais, investigar outras técnicas para aprendizado dos conceitos semânticos, investigar o uso de categorização multi-escala, melhorar o processo de busca de imagens usando a categorização realizada e usar busca por conteúdo para refinar os resultados. Referências [1] R. da S. Torres, J. A. M. Zegarra, J. A. dos Santos, C. D. Ferreira, O. A. B. Penatti, F. A. Andaló, and J. Almeida. Recuperaçãoo de imagens: Desafios e novos rumos. In Seminário Integrado de Software e Hardware (SEMISH), July 2008. [2] F. Jurie and B. Triggs. Creating efficient codebooks for visual recognition. In Computer Vision, 2005. ICCV 2005. Tenth IEEE International Conference on, volume 1, pages 604–610 Vol. 1, Oct. 2005. [3] S. Lazebnik, C. Schmid, and J. Ponce. Beyond bags of features: Spatial pyramid matching for recognizing natural scene categories. In Computer Vision and Pattern Recognition, 2006 IEEE Computer Society Conference on, volume 2, pages 2169–2178, 2006. [4] L. Li and L. Fei-Fei. What, where and who? classifying events by scene and object recognition. In Computer Vision, 2007. ICCV 2007. IEEE 11th International Conference on, pages 1–8, Oct. 2007. [5] D. Liu, G. Hua, P. Viola, and T. Chen. Integrated feature selection and higher-order spatial feature extraction for object categorization. In Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on, pages 1–8, June 2008. [6] A. Rabinovich, A. Vedaldi, C. Galleguillos, E. Wiewiora, and S. Belongie. Objects in context. In Computer Vision, 2007. ICCV 2007. IEEE 11th International Conference on, pages 1–8, Oct. 2007. [7] J. Sivic, B. C. Russell, A. A. Efros, A. Zisserman, and W. T. Freeman. Discovering objects and their location in images. In Computer Vision, 2005. ICCV 2005. Tenth IEEE International Conference on, volume 1, pages 370–377 Vol. 1, Oct. 2005. [8] J. Sivic, B. C. Russell, A. Zisserman, W. T. Freeman, and A. A. Efros. Unsupervised discovery of visual object class hierarchies. In Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on, pages 1–8, June 2008. [9] J. Sivic and A. Zisserman. Video google: a text retrieval approach to object matching in videos. In Computer Vision, 2003. Proceedings. Ninth IEEE International Conference on, pages 1470–1477 vol.2, Oct. 2003. [10] P. Tirilly, V. Claveau, and P. Gros. Language modeling for bag-of-visual words image categorization. In CIVR ’08: Proceedings of the 2008 international conference on Content-based image and video retrieval, pages 249–258, New York, NY, USA, 2008. ACM. [11] M. Wang, X. Zhou, and T. Chua. Automatic image annotation via local multi-label classification. In CIVR ’08: Proceedings of the 2008 international conference on Content-based image and video retrieval, pages 17–26, New York, NY, USA, 2008. ACM. [12] J. Winn, A. Criminisi, and T. Minka. Object categorization by learned universal visual dictionary. In Computer Vision, 2005. ICCV 2005. Tenth IEEE International Conference on, volume 2, pages 1800–1807 Vol. 2, Oct. 2005. [13] L. Yang, R. Jin, R. Sukthankar, and F. Jurie. Unifying discriminative visual codebook generation with classifier training for object category recognition. In Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on, pages 1–8, June 2008. Anais do I SPS UNICAMP Outubro de 2010 37 Sessão 4 - Busca e Classificação de Imagens Análise e processamento de imagens em um sistema de animação facial 2D Paula Dornhofer Paro Costa , José Mario De Martino (Orientador) Departamento de Engenharia de Computação e Automação Industrial Faculdade de Engenharia Elétrica e de Computação Universidade Estadual de Campinas (Unicamp) [email protected],[email protected] Resumo – Este artigo apresenta um sistema de animação facial sincronizada com a fala baseado em imagens (2D) desenvolvido no Departamento de Engenharia de Computação e Automação Industrial (DCA) da Faculdade de Engenharia Elétrica e de Computação (FEEC) da Unicamp. O artigo descreve o processo de construção de uma base de imagens e a metodologia de síntese adotada, destacando algumas das principais técnicas de processamento digital de imagens aplicadas na implementação do sistema. Palavras-chave: animação facial, 2D, metamorfose, características faciais. 1. Introdução Sistemas de animação facial sincronizados com a fala são uma alternativa promissora para a implementação de interfaces e aplicações mais intuitivas e humanizadas, encontrando aplicações como: personagens de jogos, apresentadores, atores virtuais, tutores para aplicações de ensino, vendedores virtuais, etc.. Na abordagem baseada em imagens, ou 2D, adotada neste trabalho, fotografias de uma face real são analisadas, rotuladas, manipuladas e colocadas numa sequência que resulta na síntese da animação final. Esta abordagem possui como característica principal a aparência inerentemente fotorrealista da animação, uma vez que as características estáticas da face (como textura da pele e geometria e aparência dos elementos da face) são capturadas de uma face real. O processo de síntese implementado neste trabalho é ilustrado pela Figura 1. A entrada do processo é a transcrição fonética temporizada do áudio da fala a ser visualmente animada. A partir de uma base de imagens de posturas labiais (visemas) e das informações fornecidas pelo arquivo de transcrição fonética temporizada, o sistema define uma sequência de poses-chave da animação final. A transição entre poseschave é realizada por um algoritmo de metamorfose entre imagens. A animação final é obtida combinandose um visema a uma imagem de uma face-base, resultando na sequência de imagens apresentadas em sincronia com o áudio da fala correspondente. A seguir são descritas, de maneira simplificada, as técnicas empregadas na etapa de construção da base de imagens e durante o processo de síntese da animação facial. Figura 1. Sistema de Animação Facial 2D Anais do I SPS UNICAMP Outubro de 2010 38 Sessão 4 - Busca e Classificação de Imagens Figura 2. Exemplos de posturas labiais, ou visemas, associados aos fonemas representados pelos símbolos do alfabeto fonético internacional. 2. Construção da base de imagens O processo de construção da base de visemas é realizado a partir da captura de um corpus audiovisual em condições controladas. Desta maneira, obtiveram-se quadros de vídeo correspondentes a imagens frontais de uma face feminina, sem maquiagem, acessórios ou marcadores, diante de um fundo de cor azul. Após a captura, as principais necessidades em relação às imagens obtidas eram: • correção de pose e enquadramento ou registro das imagens em relação a uma imagem de referência; • detecção e medições de pontos característicos dos lábios visando a rotulação e extração de informações para a base de imagens; • extração da região de interesse a ser aplicada à face-base. É importante ressaltar que, ao contrário de aplicações de rastreamento ou reconhecimento de faces por exemplo, é importante que a detecção dos elementos característicos da face (olhos, narinas e lábios, por exemplo) seja realizada de maneira precisa para que se obtenha um elevado nível de videorrealismo da animação final, evitando efeitos visuais indesejados, como o “jitter” na região dos lábios. Levando-se em conta esta necessidade e o fato da base de imagens ser constituída por apenas 34 imagens correspondentes a visemas, optou-se pela marcação manual dos pontos característicos mostrados na Figura 3(a). Tais pontos foram escolhidos por serem pontos que se mantêm estáticos na face e não são afetados pelos movimentos articulatórios da fala. Tendo-se uma imagem como referência, o registro das imagens foi realizado a partir da distorção (warping) das imagens processadas de maneira que o posicionamento dos pontos característicos medidos coincidam com os pontos correspondentes na imagem de referência. A função de distorção implementada baseou-se em funções de base radial (RBF - Radial Basis Function), utilizadas como uma abordagem eficiente ao problema de interpolação de dados espaciais esparsos [1]. Uma descrição aprofundada da metodologia adotada pode ser encontrada em [2]. Uma vez registradas as imagens extraídas do corpus, realizou-se a operação de extração da região de interesse e medição manual dos pontos-âncora apresentados na Figura 3(b). Um exemplo das imagens armazenadas na base de imagens é apresentado na Figura 2. (a) Registro (b) Rotulação Medição e Figura 3. Pontos fiduciais utilizados no procedimento de registro das imagens (a) e na construção da base de visemas (b). 3. Síntese da Animação Os dois passos relativos a processamento de imagens na etapa de síntese da animação final são: a metamorfose entre duas imagens correspondentes a poses-chave ou visemas-chave da animação e a combinação da sequência de imagens resultantes a uma face-base. Anais do I SPS UNICAMP Outubro de 2010 39 Sessão 4 - Busca e Classificação de Imagens Uma vez definidos as poses-chave da animação, o processo de metamorfose é realizado segundo uma função não-linear no tempo que define a trajetória espacial dos pontos da Figura 3(b) no domínio da imagem. A trajetória de tais pontos (da pose-chave de origem para a pose-chave destino) guia o processo de metamorfose. O warping das imagens intermediárias é realizado com a mesma abordagem da etapa de modelagem (Seção 2.), sendo baseada em funções RBF. Por último, a sequência de imagens que modela visualmente a fala a ser animada deve ser combinada a uma face base. Esta combinação é realizada a partir de uma máscara de transparência que permite que as imagens da região dos lábios e queixo sejam adicionadas a uma imagem facial de maneira harmoniosa com com a face (Figura 4). A metodologia de síntese implementada é detalhada em [2]. Figura 4. Geração do quadro final da animação a partir de uma face base. 4. Conclusões e Trabalhos Futuros Neste artigo apresentou-se um sistema de animação facial baseado em imagens, destacando as principais técnicas de análise e processamento digital de imagens aplicadas em sua implementação. A partir de uma base de imagens de apenas 34 visemas, o sistema é capaz de sintetizar animações faciais com elevado nível de videorrealismo capazes de, por exemplo, melhorar a inteligibidade da fala em situações em que o áudio é fortemente contaminado por ruído [2]. Um passo seguinte de desenvolvimento é a modelagem de movimentos relacionados à comunicação não-verbal (como movimentos da cabeça e expressões faciais) presentes na comunicação face-a-face. A reprodução destes movimentos está intimamente relacionada à percepção de um maior grau de naturalidade da animação facial sincronizada com a fala.Nesta direção, a análise e estudo de movimentos e expressões em imagens de faces reais é fundamental. Desta maneira, faz-se necessária a aplicação de técnicas de detecção automática de elementos da face, uma vez que a marcação manual de um elevado número de imagens se torna desvantajosa e por vezes inviável. Um desafio que se apresenta é o fato de que enquanto em certas aplicações como detecção, segmentação e rotulação de elementos faciais, algumas técnicas existentes produzem resultados satisfatórios, na área de animação facial muitas vezes não se alcança a precisão desejada na detecção e medição destes elementos. Neste caso, muitas vezes a análise de informações obtidas a partir de um simples conjunto de imagens sem marcadores é substituída pela análise de dados fornecidos por aparatos mais complexos e de maior custo como sistemas de captura de movimento (MOCAP - Motion Capture). Referências [1] Nur Arad, Nira Dyn, Daniel Reisfeld, and Yehezkel Yeshurun. Image warping by radial basis functions: applications to facial expressions. CVGIP: Graph. Models Image Process., 56(2):161–172, 1994. [2] Paula Dornhofer Paro Costa. Speech synchronized 2d facial animation based on phonetic context dependent visemes images. Master’s thesis, State University of Campinas, 2009. Anais do I SPS UNICAMP Outubro de 2010 40 Sessão 4 - Busca e Classificação de Imagens Classificação Semi-automática de Regiões em Imagens de Sensoriamento Remoto Utilizando Realimentação de Relevância Jefersson A. dos Santos , Ricardo da S. Torres (Orientador) e Alexandre X. Falcão (Co-orientador) RECOD – Instituto de Computação Universidade Estadual de Campinas (Unicamp) {jsantos,rtorres,afalcao}@ic.unicamp.br Resumo – O uso de imagens de sensoriamento remoto (ISRs) como fonte de informação em aplicações voltadas para o agronegócio é bastante comum. Nessas aplicações, saber como é a ocupação espacial é fundamental. Entretanto, reconhecer e diferenciar regiões de culturas agrícolas em ISRs ainda não é uma tarefa trivial. Embora existam métodos automáticos propostos para isso, os usuários preferem muitas vezes fazer o reconhecimento manualmente. Isso acontece porque tais métodos normalmente são feitos para resolver problemas específicos, ou quando são de propósito geral, não produzem resultados satisfatórios fazendo com que o usuário tenha que revisar os resultados manualmente. Esse trabalho apresenta um método semi-automático para vetorizar regiões em ISRs utilizando realimentação de relevância baseada em programação genética. Palavras-chave: reconhecimento de padrões, imagens de sensoriamento remoto, processamento de imagens. 1. Introdução Há uma grande demanda por sistemas de informação que forneçam suporte ao monitoramento e ao planejamento de atividades agrícolas no Brasil. Uma das abordagens mais utilizadas para monitoramento de safras é baseada no uso de Imagens de Sensoriamento Remoto (ISRs). O sensoriamento remoto [6] proporciona a base para a criação de sistemas que ajudam no processo de tomada de decisão baseado nas mudanças de ocupação do solo. Nesse contexto, conhecer as áreas plantadas é uma questão fundamental na maioria das aplicações. Para isso, entretanto, é necessário realizar o reconhecimento das regiões e, posteriormente, definir polígonos em torno delas, processo denominado vetorização. A tarefa de identificação normalmente requer a aplicação de estratégias de classificação que exploram aspectos das ISRs relativos aos padrões espectrais e de textura identificados nas regiões. A classificação pode ser feita automática ou manualmente. As abordagens manuais são baseadas no uso de editores de imagens digitais integrados a um Sistema de Informação Geográfica (SIG). Com o uso desses editores, o usuário pode definir ou desenhar polígonos que representam regiões de interesse usando a ISR como “pano de fundo”. Muitas vezes os usuários preferem identificar manualmente as regiões de interesse uma vez que os resultados dos métodos automáticos nem sempre são satisfatórios. Os métodos bem sucedidos de classificação de ISRs normalmente são desenvolvidos para um alvo ou tipo de dado específico [8]. Os de propósito geral, por outro lado, são muito sensíveis a ruídos (como distorções causadas que podem ser encontradas em áreas montanhosas). Além disso, uma mesma cultura agrícola pode ser plantada de diferentes formas e esse fator aliado às diversas fases da vida de uma plantação tendem a dificultar a diferenciação entre regiões. Por esses motivos, em situações práticas, os resultados obtidos precisam ser revisados. Um exemplo dessas dificuldades é a identificação de regiões de cultivo de café. A Figura 1 ilustra uma ISR com algumas amostras de classes “café” e “não-café”. Nessa figura é possível visualizar diferentes padrões para a classe “café”, sendo que algumas delas (por exemplo região 5) inclusive são mais próximas de amostras da classe “não-café” (região 10) do que das outras amostras da classe “café”. A pesquisa realizada e apresentada nesse artigo propôs a especificação e implementação de um sistema interativo para reconhecimento e vetorização de regiões em ISRs. Para isso, foi usada uma estratégia interativa, chamada realimentação de relevância [9], que se baseia no fato de o sistema de classificação poder aprender quais são as regiões de interesse utilizando indicações de relevância feitas pelo usuário do sistema ao longo de iterações. A combinação das preferências do usuário com as características extraídas pelos descritores de imagens foi feita com o uso de programação genética [5]. A Seção 2. apresenta uma descrição do método proposto com comentários dos resultados obtidos. A Seção 3. apresenta algumas conclusões e extensões do método proposto. Anais do I SPS UNICAMP Outubro de 2010 41 Sessão 4 - Busca e Classificação de Imagens Figura 1. Imagem de sensoriamento remoto indicando amostras de regiões com café com diversos padrões espectrais e de textura. 2. Método Proposto O processo de reconhecimento e vetorização de ISRs proposto é composto por 8 etapas, como ilustrado na Figura 2. Seja I uma ISR e p uma subimagem de I composta de n × n pixels (etapa 1). A imagem I é particionada em um conjunto de sub-imagens de mesmo tamanho (etapa 2). Depois, para cada sub-imagem p, são extraídos os vetores de características utilizando descritores de imagem (etapa 3). No próximo passo, o usuário seleciona uma sub-imagem que será o padrão de consulta (etapa 4). Utilizando a similaridade com relação ao padrão de consulta, as demais sub-imagens da imagem são classificadas e o resultado é mostrado ao usuário (etapa 5). Nesse ponto, se inicia o processo de realimentação de relevância (etapa 6) em que o usuário deve indicar as sub-imagens relevantes e não relevantes. O processo se repete enquanto o usuário achar necessário. Quando o usuário estiver satisfeito se inicia a próxima etapa do processo que consiste em utilizar as sub-imagens classificadas para extrair sementes para segmentar a imagem I (etapa 7). Com a imagem I segmentada, são extraídos polígonos referentes às regiões de interesse. Essa etapa é o que chamamos de vetorização (etapa 8). Figura 2. Etapas do processo de vetorização. A proposta de utilização de realimentação relevância na classificação de subimagens de ISRs foi publicada em [2]. A idéia foi validada comparando os resultados até a etapa 6 do método proposto com o tradicional MaxVer. O uso de programação genética como máquina de aprendizado das preferências do usuário e combinação de características das subimagens (arcabouço GPSR ) é apresentado detalhamente em [1]. Nessas publicações, os resultados foram comparados com o mais popular método de classificação de ISRs, apresentando melhores resultados. Anais do I SPS UNICAMP Outubro de 2010 42 Sessão 4 - Busca e Classificação de Imagens 3. Conclusões e Trabalhos Futuros Embora o método proposto tenha apresentado bons resultados, existem diversos tópicos que podem ser aprimorados para melhorar os resultados obtidos no processo de classificação das ISRs. Estrutura do Particionamento: o tamanho das subimagens é baseado empiricamente no tamanho estimado que um talhão da cultura agrícola que se deseja identificar na imagem normalmente possui. Um problema em aberto é encontrar uma forma automática de estimar o tamanho das sub-imagens. Descritores de Imagens: a seleção dos descritores de imagem utilizados nesta pesquisa foi feita baseando-se em trabalhos de CBIR. Verificar a relevância de descritores para classificação de ISRs poderia melhorar a qualidade e o tempo de execução do processo. Experimentos com vários descritores foram realizados para avaliar o uso deles em aplicações de ISRs. Os resultados foram publicados em [3]. Padrões de Consulta: o sistema atual utiliza apenas um padrão de entrada para consulta. Entretanto, uma mesma classe pode possuir padrões que confundem alvos distintos (por exemplo, Figura 1). Possibilitar um número maior de padrões de consulta iniciais poderia melhorar o processo de classificação. Realimentação de Relevância: a etapa de realimentação de relevância é a responsável por agregar ao processo de classificação as informações fornecidas pelo usuário. Para isso, um arcabouço baseado em programação genética foi adaptado. Entretanto, não foram realizados experimentos para selecionar os melhores parâmetros para o módulo de PG [5]. Além disso, os experimentos realizados até o momento foram feitos com usuários simulados. O ideal, no entanto, seria realizar testes com os especialistas da área para verificar a eficácia e eficiência na prática. 4. Agradecimentos Os autores agradecem à FAPESP, ao CNPq e à CAPES pelo apoio financeiro. Referências [1] J. A. dos Santos, C. D. Ferreira, R. da S. Torres, M. A. Gonçalves, and R. A. C. Lamparelli. A relevance feedback method based on genetic programming for classification of remote sensing images. Information Sciences, In Press, Accepted Manuscript, 2010. [2] J. A. dos Santos, R. A. C. Lampareli, and R. da S. Torres;. Using relevance feedback for classifying remote sensing images. In XIV Brazilian Remote Sensing Symposium, pages 7909–7916, Natal, RN, Brazil, Abril 2009. [3] J. A. dos Santos, O. A. B. Penatti, and R. da S. Torres. Evaluating the potential of texture and color descriptors for remote sensing image retrieval and classification. In VISAPP, Angers, France, May 2010. [4] J.A. dos Santos, R. da S. Torres, and R.A.C. Lamparelli. An intelligent interactive framework for vectorization of remote sensing images. Computers and Electronics in Agriculture. Submitted. [5] J. R. Koza. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA, USA, 1992. [6] T. M. Lillesand, R. W. Kiefer, and Jonathan W. Chipman. Remote Sensing and Image Interpretation. Wiley, 2007. [7] J.P. Papa, A.A. Spadotto, A.X. Falcão, and J.C. Pereira. Optimum path forest classifier applied to laryngeal pathology detection. In 15th International Conference on Systems, Signals and Image Processing, pages 249–252. IEEE, 2008. [8] G.G. Wilkinson. Results and implications of a study of fifteen years of satellite image classification experiments. IEEE Transactions on Geoscience and Remote Sensing, 43(3):433–440, March 2005. [9] X. S. Zhou and T. S. Huang. Relevance feedback in image retrieval: A comprehensive review. Multimedia Systems, 8(6):536–544, 2003. Anais do I SPS UNICAMP Outubro de 2010 43 Sessão 4 - Busca e Classificação de Imagens Exploiting Shape Matching and Re-Ranking Strategies for Content-Based Image Retrieval Tasks Daniel Carlos Guimarães Pedronette , Ricardo da S. Torres (Advisor) RECOD Lab - Institute of Computing University of Campinas (Unicamp) [email protected],[email protected] Abstract – This paper describes ongoing research concerning the proposal of new methods methods proposed aiming to improve the effectiveness of Content-Based Image Retrieval (CBIR) systems. Conducted experiments on MPEG-7 database demonstrates the effectiveness of our methods. Keywords: content-based image retrieval, shape matching, re-ranking, contextual information. 1. Introduction Technological improvements in image acquisition and the decreasing cost of storage devices have enabled the dissemination of large image collections. In this scenario, there is the need of methods for indexing and retrieving these data. One of the most common approaches to support image searches relies on the use of Content-Based Image Retrieval (CBIR) systems. Basically, given a query image, a CBIR system aims at retrieving the most similar images in a collection by taking into account image visual properties (such as, shape, color, and texture). Collection images are ranked in decreasing order of similarity, according to a given image descriptor. A descriptor is characterized by [4]: (i) an extraction algorithm to encode image features into feature vectors; and (ii) a similarity measure to compare two images. The similarity between two images is computed as a function of the distance of their feature vector. In this paper, we present new methods for CBIR systems: a shape descriptor and re-ranking algorithms aiming to improve the effectiveness of CBIR tasks. 2. Shape Matching Shape is clearly an important cue for recognition since humans can often recognize characteristics of objects solely on the basis of their shapes. This distinguishes shape from other elementary visual features, which usually do not reveal object identity [1]. Several shape descriptors proposed in the literature analyze certain features of shapes, measuring properties associated with each pixel of the object contour, such as angle [3] and area of regions [2]. Those works have shown that many of those features are able to characterize the shape complexity of objects. However, most approaches uses only one feature. We proposed a new shape description model [9], called “Contour Feature Descriptor” (CFD), that allows the combination of several features computed for each pixel of an object contour. Thus, an object image can be described based on features that analyze different properties, but that can be combined for a more accurate description. These features can be classified as local, regional, or global, according to the proximity of the pixels that are analyzed. For distance computation between two images a matching is performed. The main goal the proposed matching approach is to handle rotation variations. One feature vector is taken as reference, and the second feature vector is shifted considering different offset values. For each shift, the distance between the two feature vectors is computed. 3. Distance Optmization Algorithm We can use CBIR Descriptors to process queries in an image collection C = {img1 , img2 , . . . , imgn }. For a given query image imgq , we can compute the distance among imgq and all images of collection C. Next, collection images can be ranked according to their similarity to imgq , generating a ranked list Rq . We expect that similar images to imgq are placed at first positions of the ranked list Rq . Our strategy Anais do I SPS UNICAMP Outubro de 2010 44 Sessão 4 - Busca e Classificação de Imagens for distance optimization [9] relies on exploiting the fact that if two images are similar, their ranked lists should be similar as well. Basically, we propose to redefine the distance among images, given the similarity of their ranked lists. A clustering approach is used for that. Images are assigned to the same cluster if they have similar ranked lists. Next, distances among images belonging to same cluster are updated (decreased). This process is repeated until the “quality” of the formed groups does not improve and, therefore, we have “good” ranked lists. We use a cohesion measure for determining the quality of a cluster. Algorithm 1 outlines the main steps of our method. Algorithm 1 Distance Optimization Algorithm Require: Distance matrix W Ensure: Optimized distance matrix Wo 1: lastCohesion ← 0 2: currentCohesion ← computeCohesion(W ) 3: while curCohesion > lastCohesion do 4: Cls ← createClusters(W ) 5: W ← updateDistances(W, Cls) 6: lastCohesion ← currentCohesion 7: currentCohesion ← computeCohesion(W ) 8: end while 9: Wo ← W 4. Contextual Information for Image Re-Ranking Recently, contextual information have also been considered for improving the effectiveness of image retrieval [10, 11]. The objective of these methods is somehow to mimic the human behavior on judging the similarity among objects by considering specific contexts. More specifically, the notion of context can refer to updating image similarity measures by taking into account information encoded on the ranked lists defined by a CBIR system [11]. We proposed a new post-processing method that re-ranks images by taking into account contextual information [8]. We propose a novel approach for retrieving contextual information, by creating a gray scale image representation of distance matrices computed by CBIR descriptors. The gray scale image is constructed for k-nearest neighbor of a query and analyzed using image processing techniques (filtering and binarization). The use of image processing techniques for contextual information representation and processing is the main novelty of our work. We believe that our strategy opens a new are of investigation related to the used of image processing approaches for image re-ranking in CBIR systems. 5. Results We perfomed the evaluation of Distance Optimization Algorithm and Contextual Re-Ranking involving shape, color and texture descriptors. However the main evaluation of this methods is based on shape matching, using the CFD Descriptor. Table 1 presents experimental results of our methods in comparison to other shape matching algorithms. We consider the MPEG-7 [6] dataset, composed by 1400 shapes dividied in 70 classes. As score we used the so-called bullseye score, which counts all matching objects within the 40 most similar candidates. Since each class consists of 20 objects, the retrieved score is normalized with the highest possible number of hits. We can observe that the proposed methods achieve effectiveness scores comparable to other state-of-the-art methods for shape matching. 6. Conclusions In this paper we presented new approaches for CBIR tasks: • CFD Shape Descriptor: a shape descriptor based on multiple contor features; • Distance Optimization Algorithm: a method that exploits the similarity among ranked lists for improving the effectiveness of CIBR tasks; Anais do I SPS UNICAMP Outubro de 2010 45 Sessão 4 - Busca e Classificação de Imagens Table 1. Shape matching algorithms comparison on MPEG-7 database (Recall@40). Algorithm Descriptor Contour Features Descritpor (CFD) [9] Inner Distance Shape Context (IDSC) [7] Graph Transduction (LP) [12] Distance Optmization [9] Locally Constrained Diffusion Process (LCDP) [13] Mutual kNN Graph [5] Contextual Re-Ranking [8] IDSC CFD IDSC IDSC CFD Score [%] 84.43% 85.40% 91.00% 92.56% 93.32% 93.40% 94.55% Gain +6.56% +9.63% +9.27% +9.37% +11.99% • Contextual Re-Ranking: a re-ranking algorithm for CBIR that uses image processing techniques for analysing contextual information. Experimental results demonstrated the effectiveness of proposed methods. 7. Acknowledgment Authors thanks CAPES, FAPESP and CNPq for financial support. Authors also thanks DGA/UNICAMP for its support in this work. References [1] Tomasz Adamek and Noel E. OConnor. A multiscale representation method for nonrigid shapes with a single closed contour. IEEE Trans. Circuits Syst. Video Techol., 14 i5:742–753, 2004. [2] Naif Alajlan, Ibrahim El Rube, Mohamed S. Kamel, and George Freeman. Shape retrieval using triangle-area representation and dynamic space warping. Pattern Recogn., 40(7):1911–1920, 2007. [3] Nafiz Arica and Fatos T. Yarman Vural. Bas: a perceptual shape descriptor based on the beam angle statistics. Pattern Recogn. Lett., 24(9-10):1627–1639, 2003. [4] Ricardo da S. Torres and Alexandre X. Falcao. Content-Based Image Retrieval: Theory and Applications. Revista de Informática Teórica e Aplicada, 13(2):161–185, 2006. [5] Bischof Horst Kontschieder Peter, Donoser Michael. Beyond pairwise shape similarity analysis. ACCV ’09, pages 655–666, 2009. [6] Longin Jan Latecki, Rolf Lakmper, and Ulrich Eckhardt. Shape descriptors for non-rigid shapes with a single closed contour. In CVPR, pages 424–429, 2000. [7] Haibin Ling and David W. Jacobs. Shape classification using the inner-distance. PAMI, 29(2):286– 299, 2007. [8] Daniel Carlos Guimaraes Pedronette and Ricardo da S. Torres. Exploiting contextual information for image re-ranking. CIARP, pages 541–548, 2010. [9] Daniel Carlos Guimaraes Pedronette and Ricardo da S. Torres. Shape retrieval using contour features and distance optmization. In VISAPP, volume 1, pages 197 – 202, 2010. [10] F. Perronnin, Yan Liu, and J.-M. Renders. A family of contextual measures of similarity between distributions with application to image retrieval. CVPR, pages 2358–2365, 2009. [11] Olivier Schwander and Frank Nielsen. Reranking with contextual dissimilarity measures from representational bregmanl k-means. In VISAPP, volume 1, pages 118–122, 2010. [12] Xingwei Yang, Xiang Bai, Longin Jan Latecki, and Zhuowen Tu. Improving shape retrieval by learning graph transduction. ECCV, 5305:788–801, 2008. [13] Xingwei Yang, Suzan Koknar-Tezel, and Longin Jan Latecki. Locally constrained diffusion process on locally densified distance spaces with applications to shape retrieval. In CVPR, pages 357–364, 2009. Anais do I SPS UNICAMP Outubro de 2010 46 Sessão 4 - Busca e Classificação de Imagens Estudo Comparativo de Descritores Locais de Imagens Aplicado a Grandes Bases de Dados Lucas Moutinho Bueno , Eduardo Valle , Ricardo da Silva Torres (Orientador) Instituto de Computação Universidade Estadual de Campinas (Unicamp) [email protected], [email protected], [email protected] Resumo – Descritores locais de imagens são amplamente utilizados em diversas aplicações de reconhecimento de objetos ou cenas, bem como em recuperação de semi-réplicas. Muitos descritores locais foram propostos na literatura para caracterizar regiões em torno de pontos de interesse em imagens. Pontos de interesse em imagens são determinados por detectores. Apesar das pesquisas em comparação entre descritores locais estarem avançadas, pouco foi feito quando à avaliação deles para grandes bases de imagens. O objetivo desse trabalho é fazer um estudo comparativo entre descritores locais com enfoque na escalabilidade deles em relação ao tamanho da base. Palavras-chave: imagem, descritor local, grandes bases. 1. Introdução Uma grande e crescente quantidade de imagens digitais é encontrada na internet ou em bases específicas, como em bancos de impressões digitais ou de imagens médicas. Quando deseja-se encontrar uma imagem em uma base, uma forma comum de busca é textual. Recuperação de imagens por texto requer um extenso trabalho de anotação, muitas vezes subjetivo. Em alguns casos, como quando se deseja encontrar o dono de uma impressão digital desconhecida, recuperação de imagens por texto torna-se impossível. É necessário, nesses casos, avaliar o conteúdo das imagens, fazendo uma recuperação de imagens por conteúdo [1], em inglês Content-Based Image Retrieval (CBIR). Tradicionalmente, a recuperação de uma imagem de consulta por CBIR é feita usando-se descritores globais de imagens. Descritores globais aplicam um algoritmo em cada imagem e gera um vetor de características para representá-las. A comparação entre imagens é feita por uma função de distância aplicada aos vetores de características computados, de forma que imagens mais semelhantes tenham menor distância entre si. Todavia, descritores globais são pouco adequados para localizar detalhes e pouco robustos a deformações nas imagens. Assim, descritores globais tem dificuldade em detectar objetos iguais presentes em imagens diferentes, ou encontrar semi-réplicas (imagens distorcidas de uma mesma cena) [1]. Uma técnica que diminui problemas encontrados em descritores globais é o uso de descritores locais sobre diversos pontos de interesse em imagens [2]. Assim, em vez de apenas um vetor de características calculado por imagem, tem-se diversos (um vetor por ponto de interesse). Pontos de interesse em imagens são encontrados por detectores. Eles possuem a finalidade de identificar vértices de contornos (cantos) ou regiões homogêneas (blobs). Um bom detector deve ser invariante a deformações na imagem (como transformações geométricas ou aplicação de ruído). Dessa forma, os mesmos pontos de interesse devem ser encontrados antes e depois de uma imagem sofrer algum tipo de deformação. Exemplos de detectores são: Hessian[3], MSER [3], DoG [2], Fast Hessian [4]. Vários deles são comparados em [3]. Detectados os pontos de interesse das imagens, são calculados os vetores de características para representar em Rn , em que n é a dimensionalidade do vetor, regiões entorno de cada ponto de interesse. O cálculo dos vetores de características é feito por descritores locais. Um bom descritor local deve ser robusto (invariante à deformações na imagem) e distinguir bem regiões em torno de pontos de interesse diferentes. Exemplos de descritores locais são: PCA-SIFT [5], SIFT [2], SURF [4] e DAISY [6]. 2. Avaliação de descritores em grandes bases Para comparar a qualidade de descritores locais aplicados a grandes bases de dados, implementa-se um sistema de CBIR por votação [7]. Esse sistema é especificamente eficaz para recuperar semi-réplicas da consulta e avaliar a robustez e distintividade do descritor usado. A figura 1 ilustra os principais componentes de um sistema de CBIR por votação que utiliza descritores locais. Para montar a base de vetores de características (offline), para todas as imagens da base de dados, devem-se detectar seus pontos de interesse. Em seguida, são descritas as regiões determinadas em torno de cada ponto de interesse, gerando um vetor de características por ponto. Com os vetores armazenados apropriadamente, consultas já podem ser feitas (on-line). Dada uma imagem de consulta (entrada), repete-se nela os procedimentos de detecção e descrição. Em seguida, cada um de seus vetores de características vota pela imagem a qual pertence o vetor mais próximo (usando a função de distância apropriada do descritor) da base. A imagem com mais voto é retornada (saída). Anais do I SPS UNICAMP Outubro de 2010 47 Sessão 4 - Busca e Classificação de Imagens Figura 1. Sistema de recuperação por conteúdo com descritores locais [7]. Para determinar se a imagem retornada por uma consulta é a correta, o conjunto de imagens de consulta são criadas a partir de deformações conhecidas das imagens da base. Se a saída for a imagem originária da entrada, então a busca está correta. Para avaliar a qualidade de um descritor com o sitema de CBIR por votação, deseja-se que, além da imagem retornada seja a correta, o número de correspondências erradas (votos errados) seja mínima. Uma boa métrica é o matching score, que consiste no número de votos corretos sobre o total de votos de uma imagem de consulta. 3. Conclusões Esse trabalho visa avaliar a qualidade de descritores locais para grandes bases de imagens, com enfoque na robustez e distintividade do descritor. Para isso é usado um sistema de CBIR por votação e a métrica matching score sobre cada voto. Entre outros, os seguintes resultados referentes a esse trabalho foram obtidos: • O descritor SIFT escala muito bem, com matching score de 76%, 74% e 73%, para bases com 225, 62 mil e 115 mil imagens, respectivamente. • O histograma gerado pelas distâncias entre correspondências do SIFT e do SURF são bem ajustados pelas f.d.p. chi-quadrado e gaussiana, respectivamente. O ajuste de histogramas pode ser útil em pesquisas de busca rápida como em [7]. • O descritor SURF é mais eficaz quando se usa distância de quarteirão em vez de euclidiana na votaão. O matching score sobe de 63% para 73% apenas alterando a função de distância. 4. Referências [1] [2] [3] [4] [5] [6] [7] S. Deb, Y. Zhang. An overview of content-based image retrieval techniques. IEEE, Advanced Information Networking and Applications, vol.1, p. 59-64, 2004. David G. Lowe. Object Recognition from Local Scale-Invariant Features. Seventh International Conference on Computer Vision (ICCV’99), p.1150, Vol. 2, 1999. K. Mikolajczyk, T. Tuytelaars, C. Schmid, A. Zisserman, J. Matas, F. Schaffalitzky , T. Kadir, L. Van Gool. A Comparison of Affine Region Detectors, International Journal of Computer Vision, Vol. 65, No.1/2, p.43-62, 2005. H. Bay, A. Ess, T. Tuytelaars, L. Gool. Speeded-Up Robust Features (SURF). Computer Vision and Image Understanding (CVIU), Vol. 110, No.3, p.346-359, 2008. Y. Ke, R. Sukthankar. PCA-SIFT: A more distinctive representation for local image descriptors. IEEE, Conference on Computer Vision and Pattern Recognition, Washington, EUA, vol. 1, p. 511-517, Junho 2004. E. Tola, V. Lepetit, and P. Fua. A fast local descriptor for dense matching. Conference on Computer Vision and Pattern Recognition (CVPR), 2008. E. Valle, M. Cord, S. Philipp-Foliguet. Fast Identification of Visual Documents Using Local Descriptors. 8th ACM Symposium on Document Engineering - DOCENG 2008, p. 173-176. São Paulo, Brasil. Setembro, 2008. Anais do I SPS UNICAMP Outubro de 2010 48 Sessão 4 - Busca e Classificação de Imagens Visualização para Sistemas de Recuperação de Imagens por Conteúdo Sheila Maricela Pinto Cáceres, Ricardo da Silva Torres (Orientador) Instituto de Computação Universidade Estadual de Campinas (Unicamp) [email protected], [email protected] Resumo – Um sistema de Recuperação de Imagens por Conteúdo (CBIR) oferece mecanismos necessários para busca e recuperação de imagens baseando-se em características visuais como cor, textura, forma, etc. Em um processo de busca de imagens, a apresentação de resultados é um componente essencial, pois representa a última etapa de um complexo processo e a obtenção desses resultados é o motivo da existência do sistema. Consequentemente, a visualização dos resultados pode determinar o sucesso ou o fracasso de um sistema CBIR. Técnicas de visualização são valiosas ferramentas na exploração de grandes quantidades de dados, como coleções de imagens. Contudo, técnicas para visualizar imagens resultantes de sistemas CBIR têm sido pobremente exploradas. Como parte deste trabalho, foi realizado um estudo comparativo de várias técnicas de visualização para sistemas CBIR. Além disso, foi proposta uma técnica original denominada Clustering Set, que tenta suprir algumas das limitações identificadas em métodos da literatura. Dentre as características da técnica proposta, destacam-se o enfoque baseado no centro e o uso de técnicas de mineração de dados para representar a similaridade intrínseca entre as imagens. Resultados experimentais mostram que o método proposto supera outras estratégias de visualização, considerando-se diversos critérios, como satisfação de usuário, grau de entendimento, etc. Palavras-chave: CBIR, visualização, técnicas de visualização. 1. Introdução Na decada de 1990, surgiu uma abordagem de recuperação de imagens denominada “Content-Based Image retrieval” (Recuperação de imagens por conteúdo) [1, 3, 4], doravante referida como CBIR. Os sistemas CBIR tentam recuperar as imagens similares a padrões de consulta definidos pelo usuário como imagens, esboços do usuário, características visuais específicas desejadas, etc. Em um sistema CBIR, a busca é baseada em propriedades visuais das imagens, como cor, textura, forma, relações espaciais entre objetos, etc. Cada uma dessas propriedades é caracterizada por descritores específicos. Cada imagem é representada por um vetor de caracteristicas com um número de dimensões que representa as propriedades visuais das imagens extraídas com a ajuda de descritores. O conjunto de imagens encontra-se em um espaço n-dimensional. A grande maioria dos sistemas CBIR têm sido desenvolvidos no ambiente acadêmico. Lamentavelmente, na maior parte desses protótipos, não se teve o devido interesse nem a preocupação suficiente pela apresentação do conjunto de imagens resultantes que permitisse uma exploração confortável do universo de imagens ao usuário. Isso representa um problema crítico já que estamos lidando com a parte final de um processo CBIR e que este pode determinar o sucesso ou fracasso do sistema. Em uma técnica para visualizar adequadamente o conjunto de imagens mais relevantes a uma consulta CBIR, podem-se utilizar mecanismos de agrupamento para representar o universo de imagens. Esses mecanismos permitem agrupar as imagens em grupos coerentes nos quais imagens próximas no espaço multidimensional estejam localizadas em lugares próximos no espaço bidimensional. 2. Técnica Proposta Analisaram-se as vantagens e desvantagens das abordagens propostas na literatura para propor uma técnica de visualização que supra algumas das características ausentes nos métodos existentes. Por um lado, as técnicas com enfoque no centro oferecem boa navegabilidade e exploração de uma maneira organizada sobre o conjunto de imagens. Contudo, essas técnicas geralmente não mantêm imagens similares próximas umas das outras. Por outro lado, técnicas baseadas em agrupamento proveem uma distribuição coerente de imagens, exibindo imagens similares próximas umas das outras. Usualmente, esse último conjunto de técnicas Anais do I SPS UNICAMP Outubro de 2010 49 Sessão 4 - Busca e Classificação de Imagens apresenta uma grande quantidade de informação sem, em muitos casos, tomar cuidado de um design adequado para distribuir os grupos de imagens permitindo, muitas vezes, que as imagens fiquem sobrepostas. Isso normalmente causa confusão para os usuários. Propoe-se uma técnica denominada Clustering Set (Figura 1) cujo objetivo é combinar os aspectos positivos dessas duas abordagens. A nova técnica utiliza um enfoque central enquanto preserva relações intrínsecas entre imagens similares. Ela oferece a exploracão confortável e a boa navegabilidade das técnicas com enfoque no centro, combinada com a informação de similaridade visual entre as imagens oferecida pelas técnicas baseadas em clustering. Uma vez extraidos os vetores de características de cada imagem, qualquer técnica de agrupamento que possa produzir um número dado k de grupos pode ser usada. A técnica escolhida de agrupamento deve fornecer também a possibilidade de encontrar um elemento representativo dentro de cada grupo (não necessariamente deve ser parte do conjunto de dados). Desse modo, a comparação entre clusters reduz-se à comparação entre seus elementos representativos, o que leva a uma redução significativa no tempo de processamento. No contexto CBIR, deseja-se obter os grupos mais parecidos com um padrão de consulta dado. Assim, fazemos uma ordenação dos grupos mediante a ordenação dos elementos representativos de cada grupo. O grupo mais relevante será aquele cujo elemento representativo fique mais próximo do padrão de consulta. Se usarmos k-means, por exemplo, o elemento representativo usado é o centróide (média aritmética de cada dimensão) dos elementos. Porém, visualmente precisamos de uma imagem representativa existente no grupo. Assim, escolhemos aquela dentro do grupo que seja mais próxima do centróide. Inicialmente os centróides são estabelecidos aleatoriamente, com exceção de um deles. O centroide não aleatorio será o elemento que representa a imagem de consulta. Assim, após rodar k-means, as chances da imagem de consulta ficar perto do centroide de um grupo serão incrementadaso centroide do grupo mais relevante estará, muito provavelmente próximo da imagem de consulta. Posteriormente, distribuímos o universo de imagens na estrutura visual. Colocamos a imagem de consulta no centro da área de visualização e distribuímos agrupamentos concentricamente em ordem. A imagem representativa de cada grupo é ligada por uma aresta á imagem central. Visualmente, agrupamentos mais relevantes serão maiores e suas arestas serão mais largas e terão cores mais acetuadas. Da mesma maneira, cada agrupamento é representado por um conjunto de imagens distribuídas ao redor de um círculo implícito. No centro do círculo, situa-se a imagem representativa de cada agrupamento. Essa estrutura pode ser entendida como uma árvore, cuja raiz seria a imagem de consulta, os filhos da raiz seriam as imagens representativas dos grupos e os filhos das imagens representativas seriam as imagens restantes de cada grupo. Essa árvore pode-se estender a qualquer número de níveis. Visualmente, isto significaria que cada imagem poderia ser substituída por uma nova instancia da estrutura visual e assim por diante. Implementamos um arcabouço que permite a criação deste tipo de estruturas com vários níveis. Porém, somente foram considerados dois níveis, dado que uma maior quantidade de níveis ocasionaria a existência de imagens imperceptíveis ao olho humano. No entanto, experimentos futuros poderiam fazer uso desse tipo de estruturas multiníveis com ajuda de zoom, o que já foi implementado. Figura 1. Estrutura Clustering Set Anais do I SPS UNICAMP Outubro de 2010 50 Sessão 4 - Busca e Classificação de Imagens 3. Avaliação experimental Foram avaliadas cinco técnicas de visualização. Quatro delas são técnicas existentes na literatura (duas delas denominadas Anéis Concêntricos e Espiral nunca antes foram avaliadas) e uma delas foi a técnica de Clustering Set recentemente proposta. As técnicas avaliadas neste experimento foram: Grid, Anéis Concêntricos [2], Espiral [2], Incremental Board [5] e Clustering Set. O experimento foi realizado com a colaboração de três conjuntos de usuários que correspondem às três turmas de três disciplinas do Instituto de Computação, totalizando 38 usuários. Os participantes foram divididos por faixa etária, sendo que 76, 3% dos usuários tinham entre 20 a 25 anos e o restante, 23, 7%, tinham entre 26 e 35 anos. Todos os participantes cursavam ensino superior, dos quais 68, 4% cursavam estudos de pós-graduação e 31, 6% estudavam graduação. Os resultados experimentais realizados, considerando o intervalo de confiança, mostraram a superioridade da técnica proposta. Uma síntese da avaliação de cada critério por cada técnica de visualização é mostrada na Figura 2. Nela, a escala (1-5) do eixo vertical representa as médias dos valores alocados pelos usuários para cada critério do eixo horizontal. De acordo com a Figura 2, o método melhor avaliado foi o Clustering Set (linha roxa), o qual obteve a ponderação média melhor para todos os critérios. Isso mostra que a união de técnicas de agrupamento organizadas em estruturas com enfoque central facilitam a cognição do conjunto de imagens. Técnicas de visualização por critério avaliado Avaliação média 5 4 3 2 1 Sa tisf En açã o ten dim ent o Grid Anéis Concêntricos Espiral Incremental Board Clustering Set F. F. im +r age el. m con s. F. −r el. Figura 2. Avaliação de estruturas visuais. 4. Conclusões Recomenda-se o uso da estrutura Clustering Set para a visualização de sistemas CBIR, pois ela preserva as relaçoes intrínsecas do conjunto de imagens organizando-as baseado numa estrutura com enfoque central, o que permite uma boa navegabilidade e exploração do conjunto de dados. Referências [1] [2] [3] [4] [5] DA S. T ORRES , R., AND FALCÃO , A. X. Content-Based Image Retrieval: Theory and Applications. Revista de Informática Teórica e Aplicada 13, 2 (2006), 161–185. DA S. T ORRES , R., S ILVA , C. G., M EDEIROS , C. B., AND ROCHA , H. V. Visual structures for image browsing. In CIKM ’03: Proceedings of the twelfth international conference on Information and knowledge management (New York, NY, USA, 2003), ACM, pp. 49–55. DA S. T ORRES , R., Z EGARRA , J. A. M., DOS S ANTOS , J. A., F ERREIRA , C. D., P ENATTI , O. A. B., A NDALÓ , F., AND A LMEIDA , J. Recuperação de imagens: Desafios e novos rumos. In Seminário Integrado de Software e Hardware (SEMISH) (July 2008). DATTA , R., J OSHI , D., L I , J., AND WANG , J. Z. Image retrieval: Ideas, influences, and trends of the new age. ACM Computer Survey 40, 2 (2008), 1–60. P INHO , R. Espaço incremental para a mineração visual de conjuntos dinâmicos de documentos. PhD thesis, Doutorado em Ciências da Computação e Matemática Computacional, São Carlos, SP, 2009. Anais do I SPS UNICAMP Outubro de 2010 51 Sessão 5 - Implementação em DSP/FPGA Implementação de filtros digitais IIR usando o DSP TMS320C6711 Johannes Dantas de Medeiros Júnior1, Bruno Barbosa Albert2 (Orientador) 1 Departamento de Engenharia Biomédica / FEEC / Unicamp 2 Departamento de Engenharia Elétrica / CEEI / UFCG [email protected], [email protected] Resumo – Atualmente processamento digital de sinais é aplicado em diversas áreas, este trabalho tem como objetivo mostrar uma possibilidade de implementação em hardware de filtros digitais IIR. São descritas as aproximações que podem ser utilizadas para projetar os filtros desejados e como implementá-los utilizando o DSP TMS 320C6711. Ao final é mostrado o resultado de filtragem de um sinal de voz. Palavras-chave: filtros IIR, DSP. 1. Introdução Processamento de sinais é uma área presente há décadas em diversas áreas como medicina, comunicações e exploração espacial. Até o início da década de 1960 esse processamento era basicamente analógico, no entanto com a evolução dos computadores digitais e microprocessadores surgiu um novo meio de realizar esse processamento, o processamento digital de sinais [1]. Muitas vezes não é possível utilizar um computador para realizar o processamento dos sinais, para solucionar esse problema foi desenvolvido um dispositivo específico para esse fim: o Processador Digital de Sinais (DSP – Digital Signal Processor). Em geral os DSPs são usados para processamento em tempo real e têm várias vantagens sobre os sistemas analógicos, como facilidade de reprogramação e são menos afetados pelas condições ambientais [2]. A filtragem de sinais é aplicada em diversas áreas como no processamento de imagens, processamento da fala, engenharia biomédica e comunicações. Sob essa perspectiva foi utilizado um DSP para implementar filtros digitais IIR (Infinite Impulse Response) para aplicação em áudio. Nesse artigo são apresentados os procedimentos para implementação desse tipo de filtro utilizando o software Matlab® e o DSP TMS320C6711 da Texas Instruments (TI) ®, também são apresentados alguns resultados de filtragem de sinais de áudio. 2. Materiais e Métodos Os filtros IIR são também chamados de filtros recursivos, a equação que descreve um filtro digital desse tipo é [3] : N M k 0 k 0 a(k ) y(n k ) b(k ) x(n k ); a(0) 1 (1) onde x é o sinal de entrada e y a saída depois do sinal x ser filtrado. Desse modo a função de transferência do filtro é: M H(z) b( k ) z k a(k ) z k k 0 N ; a(0) 1 k 0 (2) Alguns tipos de filtros digitais IIR são: Passa Alta, Passa Baixa, Passa Faixa e Rejeita Faixa. Um filtro IIR possui uma curva de resposta, onde são determinadas as atenuações que devem ser aplicadas ao sinal de entrada para cada faixa de freqüência, para obter a equação que corresponde à curva são feitas aproximações. Neste trabalho foram utilizadas as aproximações de Butterworth, Chebyshev e Cauer (Elíptica). Anais do I SPS UNICAMP Outubro de 2010 52 Sessão 5 - Implementação em DSP/FPGA A aproximação de Butterworth apresenta curva de resposta plana na banda de passagem, que é a faixa que se deseja preservar do sinal original, já na banda de rejeição (faixa de freqüências que se deseja atenuar) ela cresce monotonicamente. Com a aproximação de Chebyshev é possível obter valores de atenuação maiores para filtros da mesma ordem, contudo há oscilação (ripple) na faixa de passagem (Chebyshev tipo I) ou na banda de rejeição (Chebyshev tipo II). Já a aproximação Elíptica permite que a faixa de transição entre a banda de passagem e a banda de rejeição seja bem estreita com um filtro de mesma ordem das outras aproximações, isso é possível porque há oscilação tanto na banda de passagem como na de rejeição [4]. Para determinar as aproximações dos filtros e os coeficientes a(k) e b(k) (equação 1) foi utilizada a ferramenta fdatool do Matlab®, nessa ferramenta é possível escolher qual a atenuação desejada na banda de passagem, na banda de rejeição, bem como os valores de freqüência que determinam essas bandas e a aproximação desejada. Foi feita uma rotina também em Matlab® para gerar o arquivo com os coeficientes a(k) e b(k) que são utilizados por uma rotina desenvolvida em C por [2]. Utilizando o software Code Composer Studio (CCS) da TI® e a rotina em C é gerado o arquivo executável que será gravado no DSP, para isso também é possível utilizar o CCS. O DSP TMS320C6711 é do tipo ponto flutuante baseado na arquitetura de palavras de instrução muito longas (VLIW – Very Long Instruction Word), o que é apropriado para algoritmos que realizam muito cálculos, essas instruções são de 32 bits e é possível executar oito delas por ciclo [2]. Foi utilizado um kit de desenvolvimento (DSK – DSP Starter Kit) que consiste de uma placa que contém o DSP, um codec AD535 que permite conversão de sinais de digital para analógico e de analógico para digital com taxa de amostragem fixa de 8 kHz; conectores P2 para entrada e saída de som, além de 16 MB de memória SDRAM e 128 KB de memória flash ROM, Para visualização dos sinais de entrada e saída do DSP foi o utilizado software Scope desenvolvido por Christian Zeitnitz (zeitnitz.de/Christian/Scope/Scope_en.html), ele funciona como um osciloscópio e analisador de espectro em conjunto com a placa de som do computador. Na maior parte dos experimentos realizados o sinal de entrada foi ruído branco gerado pelo programa SigJenny da NaTCH Engineering (www.natch.co.uk); também foi utilizado como sinal de entrada do DSP um sinal de voz gravado anteriormente. O sinal que foi filtrado, seja ruído ou voz, foi enviado para a saída de som da placa de som do computador e conectado ao DSK através de um cabo de conexão P2 macho-P2 macho, depois do processamento ser realizado pelo DSP o sinal foi enviado de volta para a entrada de áudio da placa de som usando outro cabo do mesmo tipo. Todos os filtros projetados foram de ordem 10 e com taxa de amostragem de 8 kHz, as outras especificações variaram conforme o tipo de filtro e a aproximação utilizada, já que para filtros com aproximação Butterworth a ferramenta fdatool não permite que a atenuação na faixa de passagem seja diferente de 3 dB. Foram implementados nove filtros, três para cada aproximação (Butterworth, Chebyshev e Elíptico) e para cada aproximação foi feito um filtro passa baixa, um passa alta e um passa faixa. Os filtros passa alta tiveram freqüência de corte de 500 Hz. Já nos passa faixa a banda de passagem foi de 300 Hz a 3400 Hz, essa é faixa do filtro de áudio utilizada em micro-filtros ADSL. Para os passa baixas a freqüência de corte foi de 3400 Hz, esse é o filtro utilizado em telefonia digital quando se utiliza modulação PCM [5]. As demais especificações para o projeto dos filtros são mostradas na Tabela 1. Tabela 1: Atenuações utilizadas Passa Alta Butterworth Ap = 3 dB Chebyshev Ap = 1 dB Passa Baixa Passa Faixa Ap = 3 dB Ap = 3 dB Ap = 1 dB Ap = 1dB Elíptico Ap = 1 dB Ar = 60 dB Ap = 3 dB Ap = 1 dB Ar = 20 dB * Ap = atenuação na banda de passagem; Ar = atenuação na banda de rejeição Anais do I SPS UNICAMP Outubro de 2010 53 Sessão 5 - Implementação em DSP/FPGA Na figura 1 é mostrado um sinal utilizado como sinal de entrada para um filtro Butterworth passa baixa. Figura 1. Espectro de sinal de Voz 3. Resultados Na figura 2.a é mostrado o detalhe da curva do filtro utilizado para processar o sinal de voz da figura 1; na figura 2.b o resultado obtido. Figura 2: a) Filtro passa baixa Butterworth; b) Espectro do sinal da figura 1 depois de filtrado Como pode ser visto comparando as figuras 1 e 2.b, o sinal foi filtrado e as freqüências acima de 3,4 kHz foram removidas, de acordo com o filtro especificado e projetado (figura 2). 4. Conclusões Processamento digital de sinais é uma área importante atualmente e um dos meios de realizar esse tipo de processamento é utilizando os DSPs, que são dispositivos de hardware específicos para tal função. Os experimentos realizados com o DSP serviram para demonstrar o potencial de aplicação do mesmo e apresentam também caráter didático, podendo ser utilizado no ensino de disciplinas de processamento digital de sinais. Referências [1] OPPENHEIM, A. V.; SCHAFER, R. W.; BUCK, J. R. Discrete-Time Signal Processing. 2ª ed. Prentice Hall. 1999. [2] CHASSAING, R. DSP Applications Using C and the TMS320C6X DSK. 1ª ed. John Wiley & Sons, 2002. [3] SHENOI, B. A. Introduction to Digital Signal Processing and Filter Design. 1ª Ed. John Wiley & Sons. 2006. [4] ANTONIOU, A. Digital Filters: Analysis, Design and Applications. 2ª ed. McGraw-Hill, 1993. [5] BELLAMY, J. C. Digital Telephony. 3ª ed. John Wiley & Sons, 2000. Anais do I SPS UNICAMP Outubro de 2010 54 Sessão 5 - Implementação em DSP/FPGA Técnicas de Otimização para DSPs (Blackfin) Vinícius J. A. Braga , José M. L. Filho , Júlia J. D. Chanquini , Luís G. P. Meloni Departamento de Comunicações - DECOM Faculdade de Eng. Elétrica e de Computação - FEEC Universidade Estadual de Campinas (Unicamp) {vinicius,matias,juliajdc,meloni}@decom.fee.unicamp.br Resumo – Este artigo tem como objetivo apresentar algumas das opções existentes para a otimização de códigos de processamento digital de sinais a serem implementados em DSPs da família Blackfin de forma a poder atender aos requisitos de aplicações em tempo-real. Palavras-chave: Otimização, Blackfin, VisualDSP++. 1. Introdução A cada dia é maior o número de aplicações de Processamento Digital de Sinais que estão sujeitas à restrições de tempo-real. Aplicações desse tipo exigem um hardware dedicado, pois demandam uma quantidade muito grande de memória e processamento principalmente. Estes hardwares são conhecidos como Digital Signal Processors (DSP). Cada um desses DSPs tem uma arquitetura de acordo com sua funcionalidade específica. Conhecer e compreender o funcionamento da arquitetura do DSP, além do seu compilador e do código-fonte que está sendo produzido é de fundamental importância para gerar resultados com um melhor desempenho. Além desse conhecimento prévio em relação à arquitetura do dispositivo a ser utilizado podese utilizar algumas técnicas de otimização também com o intuito de obter uma aplicação mais eficiente e com um desempenho maior. Neste artigo serão discutidos alguns tópicos com a finalidade de se obter o melhor desempenho para a família de DSPs Blackfin da Analog Devices e também algumas técnicas de otimização para a melhoria do desempenho. Para a realização de testes o DSP ADSP-BF533 foi tomado como padrão. 2. Otimização Otimização é um procedimento que visa maximizar ou minimizar um ou mais índices de performance [8]. Estes índices incluem: • • • • Taxa de Transferência Uso de Memória Largura de banda de E/S Dissipação de Energia A otimização deve ser realizada em um ou mais itens para que se possa obter resultados satisfatórios. Mas este não é um problema de fácil resolução visto que a otimização de um item pode influenciar na não melhora do desempenho de um outro item. Se fizermos uma aplicação onde a velocidade seja prioridade por exemplo, pode haver a necessidade de um maior uso de memória, o que dificulta a obtenção de uma aplicação totalmente otimizada. Uma das possibilidades para se obter significativas melhorias é através da otimização do código. Os códigos-fontes das aplicações para Blackfin são realizadas normalmente em linguagem ANSI C. A linguagem C é utilizada principalmente por ser uma linguagem de programação barata tanto para o desenvolvimento quanto para a manutenção além de ser relativamente portátil. No entanto ela tem alguns pontos que não são ideais para este tipo de utilização, principalmente o fato de não ter sido desenvolvida para o processamento de sinais e não ter uma vocação matemática muito forte [5]. Podemos citar também como um fator negativo o fato dos DSPs usualmente esperarem o uso de linguagem Assembly em áreas tidas como críticas tal como modos de endereçamento especializados. Anais do I SPS UNICAMP Outubro de 2010 55 Sessão 5 - Implementação em DSP/FPGA Por todas estas razões o desempenho do código compilado utilizando uma abordagem simplista de programação na escrita do código em C deve ser muito menor do que se tivesse sido escrito em linguagem Assembly. A estratégia básica para obter um programa mais eficaz é apresentar o algoritmo de uma forma que dê ao compilador excelente visibilidade das operações e dados, daí a maior liberdade para manipular seguramente o código [1]. 3. Ferramentas de Otimização 3.1. Optimizer Uma forma de se iniciar a otimização é utilizar a ferramenta Optimizer apresentada no ambiente de desenvolvimento VisualDSP++5.0 do Blackfin que gera de forma automática um código otimizado até 20 vezes mais rápido escalonando o código de controle para o loop interno do DSP. Mas seu alcance é limitado e por isso não descarta a necessidade de otimização manual. 3.2. Statistical Profiler A otimização manual em si começa com o entendimento de onde estão as áreas da aplicação que mais necessitam serem otimizadas. Para isso o VisualDSP disponibiliza a ferramenta Statistical Profiler. Enquanto o programa está sendo executado o Statistical Profiler é atualizado periodicamente com o valor do contador do processador, que associado com os valores locais no programa apresenta a porcentagem de tempo de execução a ser gasto em cada função. A Figura 1 mostra a janela do Statistical Profiler. Figura 1. Janela do Statistical Profiler 3.3. Disassembly Uma ferramenta útil para entender os pontos fortes e as fraquezas dos compiladores é o Disassembly. Esta ferramenta através do código objeto gera a sequência correspondente de instruções em linguagem Assembly, o que permite ver exatamente como o compilador implementou seu código [6]. De mão deste resultado muitas vezes poderão ser encontradas algumas situações onde, por exemplo, o compilador gera um código incorreto com possibilidades óbvias de otimização. Outra possibilidade é também encontrar situações onde existam hardware ou instruções especializadas que possam substituir alguma parte do código que já era esperada por aquele dispositivo. Como exemplos podemos citar o AD1836 que é o codec de áudio presente no ADSP-BF533 que entre outras funções disponibiliza um hardware especializado com alguns Analog to Digital Converter (ADCs). Anais do I SPS UNICAMP Outubro de 2010 56 Sessão 5 - Implementação em DSP/FPGA Figura 2. Janela do Disassembly e seu correspondente em C 3.4. Tipo de Dados A escolha dos tipos de dados a serem utilizados é algo muito importante. O conhecimento de como o compilador vai implementar seu código vai ter um efeito significativo sobre a eficiência do código compilado. A linguagem C define vários tipos de dados mas não o tamanho deles, o que pode variar de um processador para outro. Por isso é fundamental conhecer quais são os tipos de dados suportados pelo seu processador para gerar um código otimizado. Os Processadores Blackfin suportam palavras de 16 ou 32 bits e bytes. As palavras de 32 e 16 bits podem ser inteiras ou fracionárias, mas bytes são sempre inteiros. Tipo de dados inteiros podem ser sinalizados ou não-sinalizados, mas tipo de dados fracionários são sempre sinalizados [2]. O Blackfin tem uma arquitetura de ponto-fixo mas consegue emular dados do tipo ponto-flutuante. Os tipos de dados suportados são mostrados nas Tabelas 1 e 2. Tabela 1. Tipos de Dados em Ponto-Fixo (Aritmética Nativa) char unsigned short unsigned int unsigned long unsigned char short int long 8-bit signed integer 8-bit unsigned integer 16-bit signed integer 16-bit unsigned integer 32-bit signed integer 32-bit unsigned integer 32-bit signed integer 32-bit unsigned integer Tabela 2. Tipos de Dados em Ponto-Flutuante (Aritmética Emulada) float double 32-bit floating point 32-bit floating point Como foi dito operações com a aritmética de ponto-flutuante são implementadas por rotinas de bibliotecas e consequentemente são muito mais lentas dos que as operações de aritmética fixa. Alguns trabalhos para melhoria e otimização destes casos podem ser vistos em [3] e em [7]. 3.5. Funções Built-In As funções Built-in, também conhecidas como funções intrínsicas do compilador, permitem usar eficientemente características de baixo-nível do hardware do processador durante a programação em alto-nível Anais do I SPS UNICAMP Outubro de 2010 57 Sessão 5 - Implementação em DSP/FPGA (C) [4]. Assim o programador pode acessar recursos do processador de uma forma otimizada sem a necessidade da programação ser em Assembly. O programa faz uso dessas funções através de chamadas de funções normais. O compilador nota a invocação e gera um ou mais instruções de máquinas. Cada função built-in começa com o indicador “__” que é reservado pelo padrão C. Existem vários grupos de funções built-in que são encarregadas de tipos específicos de operações. Dentre os diversos grupos podemos citar as Fractional Value Built-In Functions que são funções que vão fornecer acesso à aritmética fracionária e operações paralelas de 16 bits suportadas pelas instruções do processador Blackfin. O arquivo fract.h fornece acesso às definições de cada uma das funções que suportam valores fracionários. A Figura 3 mostra o exemplo de uma função não otimizada e uma função otimizada pelo uso de algumas funções built-in. Figura 3. Exemplo de Função Não Otimizada (E) e de Função Otimizada (D) usando built-in 3.6. Inline Os processadores da família Blackfin suportam o uso de código assembly integrado, usando o construtor ()asm dentro de um programa C. Este recurso faz o compilador inserir o código assembly no compilador de código assembly de saída. Esta é uma boa maneira de começar o acesso a recursos especializados do processador e isto pode ser executado mais rapidamente do que uma chamada a uma função separada escrita em assembly. No entanto, em algumas circunstâncias o uso do inline pode afetar negativamente a performance do código C. O compilador não analisa o código definido com o construtor ()asm. Ele apenas passa esse código diretamente para o assembler. Isto significa que o compilador não pode aplicar qualquer solução habilitada para erros que podem ser desencadeados pelo conteúdo do construtor ()asm. A Figura 4 mostra um exemplo de uso de inlines. Figura 4. Exemplo de Inline Asm (Uma multiplicação “alargada”). Anais do I SPS UNICAMP Outubro de 2010 58 Sessão 5 - Implementação em DSP/FPGA 3.7. Pragmas Uma forma de modificar o compilador suportada pelo Blackfin é utilizando pragmas. Os pragmas são diretrizes de implementação específicas que modificam o comportamento do compilador [4]. Dentro das possíveis mudanças de comportamento uma delas pode ser relacionada ao nível de otimização. Vários pragmas são disponíveis. Para exemplificar seu funcionamento a Figura 5 mostra a comparação entre um código sem e com a utilização de pragmas. Figura 5. Exemplo de Função Não Otimizada (E) e de Função Otimizada (D) usando pragmas No exemplo em questão o pragma vector_for avisa ao optimizer que ele está seguro para executar duas iterações de loop em paralelo. 4. Conclusões Neste artigo apresentamos algumas das possíveis opções para a otimização de um código baseado no conhecimento das características e das funcionalidades do processador Blackfin. O intuito deste artigo não é de criar um manual de otimização, mas sim mostrar que é possível projetar um código para processamento digital de sinais baseado na linguagem C que será executado em um DSP de forma a corresponder as necessidades de utilização em situações de tempo-real. Referências [1] A NALOG , D. EE-149 Tuning C Source Code for Blackfin Processor Compiler, May 2003. [2] A NALOG , D. ADSP-BF533 Blackfin Processor Hardware Reference, 3 ed., July 2006. [3] A NALOG , D. Fast Floating-Point Arithmetic Emulation on Blackfin Processors, 4 ed. Central Apps, 2007. [4] A NALOG , D. VisualDSP++ 5.0 C/C++ Compiler and Library Manual for Blackfin Processors, 5 ed., September 2009. [5] A NDERSON , A. Programming and Optimizing C Code, part 1. http://www.dspdesignline. com/197006981, February 2007. (acessado em 09/09/2010). [6] BTDI. Get Better DSP Code from your Compiler. http://www.bdti.com, October 2006. (acessado em 09/09/2010). [7] L ENZI , K ARLO G. E S AOTOME , O. Implementação de Funções Matemáticas de Ponto-Flutuante de Alto Desempenho em Plataforma DSP Ponto-Fixo. XXV Congresso da Sociedade Brasileira de Computação VI WPERFORMANCE (Julho 2005), 2906–2925. [8] O SHANA , R. Optimizing Compilers and Embedded DSP Software. http://www.eetimes.com, November 2006. (acessado em 09/09/2010). Anais do I SPS UNICAMP Outubro de 2010 59 Sessão 5 - Implementação em DSP/FPGA Exploração de Paralelismo Computacional em Sistemas Embarcados para Compressão de Imagens Digitais Éricles Rodrigues Sousa , Luís Geraldo Pedroso Meloni Departamento de Comunicações Faculdade de Engenharia Elétrica e de Computação Universidade Estadual de Campinas (Unicamp) {ericles, meloni}@decom.fee.unicamp.br Resumo – Este artigo tem como objetivo descrever a exploração de paralelismo computacional baseado em Aritmética Distribuída (AD) de rotinas Discrete Cosine Transform (DCT) que é um dos principais componentes envolvidos no processo de compressão de imagens digitais. A proposta aqui apresentada, consiste no uso de uma arquitetura híbrida de sistemas embarcados baseada em DSP e FPGA, permitindo elevadas taxas de processamento e um gerenciamento flexível do fluxo dos dados e do processamento das rotinas computacionais, garantido ainda uma alta capacidade de manutenção e reconfiguração dos códigos e circuitos gerados. Palavras-chave: Aritmética Distribuída, DCT, Paralelismo Computacional, Sistemas Embarcados. 1. Introdução A exploração do paralelismo em sistemas embarcados possibilita o aumento do desempenho de rotinas computacionais, as quais devem ser executadas de forma múltipla e em diferentes segmentos, interconectadas de tal modo que possam operar de forma cooperativa [5]. Sabe-se que a transformada discreta do cosseno (DCT) é um dos principais componentes envolvidos na compressão de imagens ou vídeos digitais, ela é adotada em vários padrões de esquemas de codificação, como, JPEG, MPEGx e H.26x [3]. Quando a DCT é calculada em duas dimensões (DCT-2D), ocorre o consumo de um grande número de multiplicadores, que são rotinas de elevado custo computacional. Mesmo adotando processadores dedicados de processamento multimídia, a execução dos cálculos ainda é muito demorada e pode não atender a necessidade de execução tempo real [6]. Este trabalho consiste na proposta de uma arquitetura híbrida e flexível baseada em Digital Signal Processor (DSP) e FieldProgrammable Gate Array (FPGA) para compressão de imagens. Neste trabalho optamos pela utilização da Aritmética Distribuída (AD) para decompor os cálculos da DCT-2D. 1. Transformada Discreta do Cosseno (DCT) Devido a DCT permitir a diminuição das redundâncias estatísticas, ela tem sido um dos principais elementos envolvidos no processo de compressão de imagens ou vídeos digitais, ela transforma um conjunto de pontos do domínio espacial em uma representação no domínio da frequência [6]. Na compressão de imagens, a DCT converte um bloco de pixels em uma matriz de coeficientes, descorrelacionando a informação da imagem. Os coeficientes computados são mantidos no início do bloco que contém as informações mais significativas, logo, deve-se garantir que esses coeficientes (de menor índice) sejam armazenados, porque os cossenos fornecidos pela transformada diminuem em amplitude conforme os índices aumentam de valor [2]. Para se aplicar a DCT no processamento de imagens é necessário para efeitos de eficiência computacional, dividir a imagem original em matrizes quadradas, como por exemplo, 4x4, 8x8, 16x16, 32x32 ou 64x64. Geralmente se utiliza a divisão em blocos de 8x8, por fornecerem resultados satisfatórios. A DCT-2D é uma extensão direta da DCT-1D, ela pode ser representada como na Eq. 1 [6]. N −1 N −1 C u , v=α u α v ∑ ∑ x=0 y=0 f x , y cos[ π 2x1u π 2y1 v ]cos [ ], 2N 2N (1) onde [u, v] = {0, 1, 2, 3 …, N-1}, α(u) e α(v) são definidos nas Eq. 2 e Eq. 3. Anais do I SPS UNICAMP Outubro de 2010 60 Sessão 5 - Implementação em DSP/FPGA α u = 1 2 , para u=0 ou α u= , para u≠0 N N (2) α v= 1 2 , para v =0 ou α v= , para v≠0 N N (3) Devido as multiplicações demandarem um alto custo computacional em implementações de sistemas, grande parte dos desenvolvimentos atuais procuram utilizar o menor número possível dessas operações, aumentando o número de somadores [2]. Em nossa arquitetura proposta, utilizamos a extensão do conceitos de Unidade Lógica Aritmética (ULA) para paralelizar ao máximo os cálculos utilizando algoritmos que minimizam a complexidade das operações e maximizam a quantidade de dados processados simultaneamente. 2. Aritmética Distribuída (AD) A Aritmética Distribuída (AD), tem sido utilizada como alternativa para o desenvolvimento de muitos cálculos de processamentos digitais. A Eq. 3 representa a sua formulação [7]. K Z =∑ a k x k , k=0 (4) onde: k refere-se aos índices, ak = {a0, a1, a2,..., aN-1} é o vetor dos coeficientes e x k = {x0, x1, x2,..., xN-1}, são os valores de entrada. A Aritmética Distribuída não faz o uso explícito de multiplicadores, portanto, é um caminho eficiente para a computação parcial de um produto interno entre um vetor de dados fixos ou variáveis. 3. Sistema Proposto Modernas aplicações de processamento digital de sinais, possuem características específicas que exigem flexibilidade, adaptabilidade e em muitos casos a reprogramação de seus códigos. Em nossa arquitetura proposta, optamos por uma composição híbrida baseada em Digital Signal Processor (DSP) e Field-Programmable Gate Array (FPGA ), unindo o que esses dispositivos possuem de mais robusto e eficiente para aplicações de processamento de imagens digitais. Sistemas de processamento em tempo real exigem um desempenho computacional elevado, para isso optou-se em adotar na Unidade de Processamento (UP) a FPGA como dispositivo padrão de execução dos cálculos aritméticos, tal escolha se justifica, devido ao grande potencial de execução paralela e reconfigurabilidade característicos desses dispositivos. A UP contém pelo menos uma FPGA, mas, devido a flexibilidade do sistema proposto, a quantidade de FPGAs contidas na Unidade de Processamento pode variar até o número de três, dependendo da necessidade de expansão da aplicação. Deve-se considerar ainda, a necessidade de uma Unidade Central de Controle (UCC), capaz de determinar o fluxo de execução dos dados, controlando a taxa de processamento preferencialmente de forma adaptativa em relação à taxa dos dados de entrada. Sendo ainda, rápida o suficiente para o atendimento às chamadas de interrupções e acessos à memória. Assim, optou-se pelo uso de um DSP que além de contar com as rotinas de interrupções mapeadas em hardware e/ou software possui um controlador de acesso direto à memória (DMA controler), podendo transferir de forma bidirecional os dados provenientes de qualquer origem para qualquer destino, sem utilização do processador para essa atividade [4]. Em nossa arquitetura existe um módulo especifico para controle dos periféricos, o qual está relacionado a todas as interfaces previstas de entrada e/ou saída de dados, como por exemplo, as interfaces HDMI, SDI, ASI e USB para conexão com um host. A Figura 1, ilustra a arquitetura proposta. Anais do I SPS UNICAMP Outubro de 2010 61 Sessão 5 - Implementação em DSP/FPGA Unidade Central de Controle FPGA Controlador DMA EBIU Memória L1 Controlador USB 2.0 Região de Memória Externa Processador FPGA FPGA Periféricos Interface Óptica Unidade de Processamento Figura 1. Arquitetura Proposta Além de existir a possibilidade de expansão dos módulos internos da Unidade de Processamento, pode-se optar também pela interconexão de uma ou mais arquiteturas via a interface óptica, permitindo que o sistema tenha sua capacidade de processamento multiplicada. Entretanto, nessa configuração deve-se selecionar um dos módulo como master e os demais como slaves. A interconexão entre a Unidade Central de Controle e a Unidade de Processamento é realizada usando conceitos de memória compartilhada, sob controle do External Bus Interface Unit (EBIU), garantindo assim um alto desempenho e maior independência na comunicação dos dados. Em nosso algoritmo proposto utilizamos a Aritmética Distribuída em DCT, substituindo o uso de multiplicadores por um vetor de produtos calculados pela Unidade de Processamento. Os coeficientes são armazenados em região de memória compartilhada entre o DSP e as FPGAs, de tal forma que a cada novo vetor disponível o DSP os utiliza para prosseguir com etapas seguintes do processamento. 4. Conclusões Neste artigo apresentamos uma proposta de arquitetura específica para exploração de paralelismo computacional em sistemas embarcados, a partir da integração de forma cooperativa entre DSP e FPGA para compressão de imagens digitais em tempo real. Este estudo encontra-se em fase de desenvolvimento dentro do programa de mestrado em Engenharia Elétrica da UNICAMP. Em breve espera-se poder divulgar os resultados práticos do estudo aqui apresentado. Referências [1] J. Battle, et al. A New FPGA/DSP-Based Parallel Architecture for Real-Time Image Processing. Real-Time Imaging archive. Volume 8 , Issue 5, 2002 [2] M. Bousselmi, et al. New Parallel Architecture of the DCT and Its Inverser for Imagem Compression. The 7th IEEE International Conference on Electronics, Circuits and Systems, 2000. [3] Yanling Chen, et. al. An Area Efficient High Performance DCT Distributed Architecture for Video Compression. The 9th International Conference on Advanced Communication Technology, 2007. [4] Duan Jinghong, et al. Development of Image Processing System Based on DSP and FPGA. 8th International Conference on Electronic Measurement and Instruments, 2007. [5] Nenel Thinner, et al. Parallel Processing for a DSP Application Using FPGA. IEEE 24th Convention of Electrical and Electronics Enginners in Israel, 2006. [6] S. Saravanan e Vidyacharan Bhaskar. A High Performance Parallel Distributed Arithmetic DCT Architecture for H.264 Video Compression. European Journal of Scientific Research, 2010 [7] Stanley A. White. Applications of Distributed Arithmetic to Digital Signal Processing: A Tutorial Review. IEEE ASSP Magazine, Vol. 6(3), pp. 4-19, July 1989. Anais do I SPS UNICAMP Outubro de 2010 62 Sessão 6 - Arranjo de Sensores e Estimação de Parâmetros Modelagem de Fila para Fluxos de Tráfego Multifractal de Rede Jeferson Wilian de Godoy Stênico, Lee Luan Ling (Orientador) Departamento de Comunicação Faculdade Engenharia Elétrica e Computação Universidade Estadual de Campinas - Unicamp {jstenico,lee}@decom.fee.unicamp.br Resumo – Neste artigo, propomos duas expressões para o cálculo de probabilidade de perda de bytes para séries de tráfego com características multifractais em uma fila com um servidor simples. Inicialmente apresentamos a teoria necessária referente a processos multifractais, destacando o conceito de expoente de Hölder. Em seguida, tratamos sobre a estimação dos momentos de segunda ordem para processos multifractais. Por fim, avaliamos o desempenho das abordagens propostas em estimar a probabilidade de perda em um servidor em comparação aos resultados obtidos por meio de simulações com tráfego real. Palavras-chave: Probabilidade de Perda, Processos Multifractais e Tráfego de Redes. 1. Introdução As pesquisas sobre tráfego de redes envolvendo a teoria dos fractais se intensificaram a partir da publicação do trabalho de Leland, Taqqu, Willinger e Wilson, Leland [4]. Leland et al. constataram experimentalmente que o tráfego coletado na rede Ethernet do Bellcore Morristown Reaserch and Engineering Center exibia propriedades fractais tais como auto-similaridade e dependência de longa duração. Investigações envolvendo tráfego TCP/IP, em [2], constatou que as diferentes propriedades do tráfego observadas em pequenas escalas de tempo eram convenientemente descritas utilizando-se a análise multifractal. Tais propriedades, presentes em pequenas escalas de tempo, são oriundas da ação dos protocolos predominantes nas redes em questão, e dos mecanismos fim-a-fim de controle de congestionamento existentes na Internet atual, que determinam o comportamento do fluxo de informações entre diferentes camadas na hierarquia de protocolos TCP/IP. Processos multifractais correspondem a uma generalização dos processos auto-similares, possibilitando regularidade e leis de comportamento em escala variantes no tempo e, portanto, proporcionando uma melhor descrição de processos irregulares. O artigo está organizado da seguinte forma: na Seção II apresentamos a definição dos processos de tráfego multifractais, mostrando alguns conceitos principais e analisando as características dos momentos de segunda ordem estatística. Na Seção III, nós apresentamos a derivação analítica das expressões para o cálculo de probabilidade de perda baseada em teoria de filas. Na Seção IV, fazermos uma comparação para as duas expressões propostas. Finalmente, na Seção V, apresentamos nossas conclusões. 2. Processos Multifractais de Trafego e suas características Seja T > 0, um processo de tráfego acumulativo X(t), é dito ser multifractal com escala de tempo T, se as condições seguintes forem satisfeitas: i. X(t) tem incremento estacionário com escala de tempo T; ii. X(T) tem distribuição a. Log Normal L(ω; θ2), Definição 1 : (1) 2 onde os parâmetros ω e θ são encontrados através da média µ e da variância σ do processo X(t). b. Pareto, para onde e iii. 2 (2) , são a média e a variância respectivamente. µ e σ satisfaz as seguintes condições: a. µ = λT, onde λ é a taxa média de entrada do tráfego b. Existe 0 < γ(t) < 1 e uma constante є > 0 tal que para qualquer τ є {τ : T- ε < τ < T + ε , τ > 0} σ2~τ2γ(T) A) MOMETOS DE SEGUDA ORDEM PARA PROCESSOS MULTIFRACTAIS Processos com comportamento multifractal dependem fortemente dos momentos de primeira e segunda ordem. Esses momentos são dados respectivamente pelas expressões (iii a) e (iii b). Nota-se pela eq. (iii b) que a variância de processos multifractais se relaciona com o expoente de Hölder γ(T). Para simplificar os cálculos geralmente se assume que estes expoentes apresentam uma distribuição 2 normal em uma escala de tempo T, onde e são respectivamente a média e a variância dos expoentes de Hölder. Assim, obtemos a seguinte equação para a variância em relação à escala de tempo: Anais do I SPS UNICAMP Outubro de 2010 63 Sessão 6 - Arranjo de Sensores e Estimação de Parâmetros (3) Seja z = T , então γ = ln(z)/(2ln(T)) e dγ/dz = dz/(2ln(T)z). Então a equação (3) pode ser reescrita como: 2γ $ # "! ! (4) O lado direito da expressão (4) nada mais é do que a distribuição lognormal com parâmetros 2ln(T) α~ e (2ln(T) σ~ )2. Para a distribuição lognormal dada por (4), as seguintes equações para a média µ e variância σ2 de um processo multifractal são válidas: Portanto (5) (6) % (7) % & (8) Da distribuição lognormal, podemos mostrado imediatamente que: (9) 3. Estimação da Probabilidade de Perda envolvendo Processos Multifractais Nesta seção derivamos as expressões analíticas para a probabilidade de perda em uma fila. Seja o comprimento da fila em servidor em um tempo ; $ tráfego acumulado no período $, e $ , a carga de trafego deixada em (t0, t). Em uma fila em equilíbrio temos: Fazendo e $ $ $ em t = 0 e t0 = 0, podemos escrever o comprimento da fila $ a carga de (10) como: Q(t ) = max(V (t ) − O(t ),0) Seja a taxa de serviço da fila e (11) o total de servidores inativos até o tempo t. Com isso temos que: O(t ) = C (t − I (t )) (12) Sendo Y(t)=V(t)-Ct e substituído (12) em (11) temos: Q(t ) = max(Y (t ) + ∆(t ),0) (13) onde ∆(t)=CI(t). Esse resultado em conjunto com a lei de probabilidade nos permite escrever a probabilidade de perda na fila como: Ploss (t ) = P(Q(t ) > q) = P(Y (t ) + ∆(t ) > q, Y (t ) > q) + P(Y (t ) + ∆(t ) > q, Y (t ) ≤ q ) (14) Ploss (t ) = P (Y (t ) > q ) + P (Y (t ) ≤ q < Y (t ) + ∆ (t )) O primeiro termo é chamado de probabilidade de perda absoluta (Pabs) e o segundo termo P(Y(t) ≤ q ≤ Y(t)+ 4(t)) a probabilidade oportuna (Popp). Assumindo Q(t) estacionário, e seja ρ = 1 – η = 1 – λ/C, usando o resultado de Benes [1] o segundo termo (Popp) pode ser escrito como: t (15) Popp (t ) = P (Y (t ) ≤ q < Y (t ) + ∆ (t )) = ρ ∫ fV ( u ) (v) |v = Cu + q du 0 A probabilidade de perda absoluta Pabs é equivalente a: Pabs (t ) = P(Y (t ) > q) = P(V (t ) > Ct + q) = ∫ ∞ Ct + q fV ( t ) (v )dv (16) Então o comportamento exato da fila em qualquer tipo de tráfego é dado por: (17) A primeira integral da expressão acima tende ao valor zero como pode ser visto em [5][6]. Dessa forma, a probabilidade de perda em regime permanente pode ser dada por: (18) Como um processo multifractal apresenta distribuição Lognormal ou Pareto, a probabilidade de perda para esses processos em uma fila, usando uma aproximação exponencial para caracterizar a variância eq. (9) em lognormal e a relação entre média e variância eq. (iii a) e eq. (9) em Pareto, pode ser dada por [5],[6]: Anais do I SPS UNICAMP Outubro de 2010 64 Sessão 6 - Arranjo de Sensores e Estimação de Parâmetros − [ln((Cx + q) (k λ2 )a exp(bx) + 1) − ln(λx)]2 exp 2 ln((k λ2 )a exp(bx) + 1) λ ∞ Psteady = (1 − )∫ dx 2 C 0 2π ln((k λ )a exp(bx) + 1) (Cx + q) e (19) +*<= "789:;9# 039 − "789:;9# 395 3 ()*+,- . = 01 − 5 6 49 + ?+*<=& 4 $ @9 (20) 4. Testes Experimentais Utilizamos nas simulações traços de tráfego TCP/IP (lbl-pkt-5, dec_pkt_1)[3]. A Tabela I apresenta as configurações utilizadas nas simulações para o servidor de rede. Tabela I Configuração do Sistema Série de Trafego Capacidade do Servidor (Bytes/s) Tamanho do Buffer (Bytes) lbl_pkt_5 1.4 x 104 3 x 104 5 dec_pkt_1 12 x 10 3 x 105 A Tabela II compara a probabilidade de perda estimada (em bytes) para os traços de tráfegos da Tabela I. Calculamos a probabilidade de perda de bytes em um simples servidor alimentado por essas séries de tráfego através das equações (19) e (20). Tabela II Probabilidade de Perda Série de Trafego Simulação Lognormal Pareto lbl_pkt_5 8.14x10-4 2.31x10-4 4.92x10-4 dec_pkt_1 1.30x10-3 4.39x10-5 3.847x10-3 A Figura 1 mostra capacidade do servidor versus probabilidade de perda para a séries lbl_pkt_5 e a Figura 2 mostra o tamanho do buffer versus probabilidade de perda para a série dec_pkt_1. 10 0 10 10 10 Simulação Lognormal Pareto -10 10 10 -10 Simulação Lognormal Pareto -20 -15 10 10 0 -5 Probabilidade de Perda Probailidade de Perda 10 -20 10 500 600 700 800 900 1000 Capacidade do Servidorr (Bytes/s) 1100 Figura 1: Testes para lbl_pkt_5 1200 1300 1400 -30 -40 0.7 0.8 0.9 1 1.1 1.2 1.3 Tamanho do Buffer (Bytes) 1.4 1.5 1.6 x 10 6 Figura 2: Testes para dec_pkt_1 5. Conclusão Neste artigo, apresentamos duas equações para o cálculo de probabilidade de perda para o tráfego de redes que possuem características multifractais. Utilizamos teoria de filas e propriedades multifractais (por exemplo, distribuição lognormal e Pareto) para propor as equações. Pode-se notar que os resultados obtidos com as equações propostas estão próximos das simulações com tráfego real, sendo assim poderemos tanto usar o método Lognormal ou Pareto para a caracterização de perdas em um servido de fila. Referências [1]Benes V.(1963) General Stochastic Processes in the Theory of Queues Reading, MA: Addison Wesley [2]Feldmann, A.; Gilbert, A.; Willinger, W (1998). Data networks as cascades: Explaining the multifractal nature of Internet WAN traffic, Proceedings of ACM Sigcomm, 42-55. [3]http://ita.ee.lbl.gov/html/traces.html [4]Leland, W. E. et al. (1994) On the self similar nature of Ethernet Traffic (extended version). IEEE/ACM Transactions on Networking, v.2, n.1, 1-15. [5] STENICO, Jeferson Wilian de Godoy; Lee, L.L. A Multifractal Based Dynamic Bandwidth Allocation Approach for Network Traffic Flows. In: International Communications Conference - ICC, Cape Town,2010. [6]STENICO, Jeferson Wilian de Godoy ; Lee, L.L. A New Multifractal Traffic Model and Its Impacts on Buffer Queueing Performances. In: International Telecommunications Symposiom – ITS, Manaus, 2010. Anais do I SPS UNICAMP Outubro de 2010 65 Sessão 6 - Arranjo de Sensores e Estimação de Parâmetros Mitigação de Interferentes com Arranjos de Antenas e Processamento Largamente Linear Adilson Chinatto , Cynthia Junqueira, João Marcos T. Romano Departamento de Microondas e Óptica Faculdade de Engenharia Elétrica e de Computação Universidade Estadual de Campinas (Unicamp) [email protected],[email protected],[email protected] Resumo – Este artigo tem como objetivo apresentar e avaliar o desempenho de um arranjo de antenas na tarefa relacionada à mitigação de interferentes através da comparação da SER obtida pela utilização de Processamento Largamente Linear (WLP) ou do Processamento Estritamente Linear (SLP). O algoritmo de controle utilizado será o LMS nas versões SLP e WLP. Palavras-chave: processamento largamente linear, arranjo de antenas, antena adaptativa. 1. Introdução Um arranjo de antenas adaptativas é um dispositivo que, a partir de técnicas de processamento de sinais, permite a modificação do seu diagrama de irradiação, fazendo com que tenha a capacidade privilegiar ou de cancelar sinais, com consequente melhora no desempenho do receptor [1], [2]. Para tanto, historicamente aplicam-se métodos clássicos ou estritamente lineares de filtragem (Strictly Linear Processing – SLP) bem conhecidos [3]. Por outro lado, o Processamento Largamente Linear (Widely Linear Processing – WLP), proposto por Brown e Crane em 1969 [4], vem recebendo recentemente uma maior atenção nos casos em que os sinais que iluminam o arranjo são não circulares. Isto abre perspectivas de melhoria de desempenho quando a propagação e os multi-percursos introduzem efeitos tipicamente não circulares. No presente trabalho, junto a arranjos de antenas, implementa-se o algoritmo LMS (Least Mean Square) supervisionado, nos casos estritamente e largamente linear, para múltiplos cenários de simulação. Em extensão a trabalhos teóricos no tema [5], propõe-se aqui uma análise baseada na medida da taxa de erro de símbolo (Symbol Error Rate – SER). A estrutura do trabalho inclui na seção 2 considerações sobre o arranjo de antenas e o processamento largamente linear, na seção 3 uma breve revisão do algoritmo LMS estritamente linear e largamente linear. Os resultados de simulações e conclusões são apresentadas em 4 e 5 respectivamente. 2. Arranjo de Antenas e o Processamento Largamente Linear A rede em estudo é linear e uniforme (ULA) com espaçamentos entre elementos d = λ/2, onde λ corresponde ao comprimento de onda dos sinais incidentes. Sobre o arranjo incidem NS sinais (ondas planas) descorrelacionados compostos por símbolos i.i.d. e digitalmente modulados. Cada sinal incide no arranjo sob um ângulo de direção de chegada (DOA) θ em relação à normal à linha de distribuição dos elementos. Dessa forma, realizando-se a amostragem temporal das saídas dos elementos do arranjo, pode-se determinar que a k-ésima amostra pode ser escrita como: (1) x(k) = As(k) + ν(k) onde s(k) denota o vetor contendo os símbolos dos sinais na k-ésima amostra, ν(k) é o vetor de ruído considerado ser Gaussiano branco complexo e de média nula e a matriz A = [a(φ1) a(φ2) … a(φNs)] T contém os vetores de direção de chegada a(φk ) = [1 e− jφ e− j2φ L e− j(M−1)φ ] , onde φk = (2π .d / λ) sin(θk ) + β e T é o operador de transposição. O ângulo elétrico φ, relacionado com o ângulo de incidência θ da frente de onda plana, pode assumir valores de –π<φ≤ π e o desvio de fase β pode variar entre 0o e 360o. Dado y (k) = wH(k)x(k) , onde H representa a operação de transposição hermitiana, o objetivo é minimizar o erro quadrático médio (MSE): 2 (2) ε (k ) = E s D (k ) − y(k ) k [ Anais do I SPS UNICAMP k k ] Outubro de 2010 66 Sessão 6 - Arranjo de Sensores e Estimação de Parâmetros com respeito aos parâmetros do filtro espacial w(k), onde sD(k) é a k-ésima amostra do sinal desejado. O processamento largamente linear foi proposto por Pincibono e Chevalier em 1995 [6], com o uso do sinal recebido e de seu complexo conjugado para a determinação do filtro ótimo. Dessa forma, o resultado da filtragem largamente linear passa a ser: y(k) = w1H(k)x(k) + w2H(k)x*(k). (3) Para se determinar o valor mínimo do MSE é necessário e suficiente que os coeficientes do filtro ótimo sejam tais que o erro ε seja ortogonal às amostras do vetor de entrada do filtro. Dessa forma, E[y*x] = E[sD*x] e E[y*x*] = E[sD*x*] e após algumas manipulações algébricas chega-se: Rxxw1 + Cxxw2 = r Cxxw1 + Rxx*w2 = z (4) (5) onde Rxx = E[xxH], Cxx = E[xxT], r = E[y*x] e z = E[sDx]. A solução do sistema de equações é dada por: (6) w1 = [Rxx – Cxx(Rxx-1)*Cxx*][r – Cxx(Rxx-1)*z*] (7) w2 = [Rxx* – Cxx*Rxx-1Cxx*][z* – Cxx*Rxx-1r] A análise da solução de (6) e (7) permite concluir que, no pior caso, quando ambos Cxx e z são iguais a zero, o WLP apresenta um desempenho igual ao SLP. Uma discussão mais abrangente sobre cenários em que o WLP tem desempenho superior ao SLP pode ser encontrada em [7]. 3. Algoritmos Aplicados no Controle da Rede de Antenas 3.1. Algoritmo LMS Estritamente Linear O LMS, desenvolvido por Widrow e Hoff em 1960 [8], é uma técnica de busca do mínimo em (2) por meio do cálculo iterativo de seu gradiente estocástico cujo erro de estimação é dado por: e(k) = sD(k) – y(k) (8) Da mesma forma, o vetor que contém os parâmetros do filtro espacial pode ser escrito como: w(k+1) = w(k) + µx(k) e*(k) (9) onde µ é uma constante real e o operador (*) corresponde ao complexo conjugado. 3.2. Algoritmo LMS Largamente Linear Para a formulação largamente linear do algoritmo LMS, determina-se ~x(k ) ≜ [x(k)T x(k)H]T como entrada, e a resposta estimada passa a ser: ~ H (k) ~x (k) y(k) = w (10) ~ (k ) = [w1T w2T]T é o filtro espacial largamente linear determinado para a k-ésima amostra e a onde w determinação do filtro espacial para a k+1-ésima amostra passa a ser: ~ (k+1) = w ~ (k) + µ ~x (k) e*(k) w (11) 4. Simulações Nas simulações, considerou-se um ULA formado por M = 4 antenas e iluminado por um número NS variável de sinais incidentes com modulação BPSK (Binary Phase Shift Keying), sendo NS – 1 interferentes numerados s1 a s7 com DOAs fixas e iguais a ±45°(s1 e s2), ±15°(s3 e s4), ±60°(s5 e s6) e Anais do I SPS UNICAMP Outubro de 2010 67 Sessão 6 - Arranjo de Sensores e Estimação de Parâmetros 0°(s7), e um sinal desejado sD. cuja DOA foi variada de –90o a +90o, em passos de 1o. Com respeito à relação sinal interferente (SIR), considerou-se quatro cenários (0dB, –3dB, –6dB e –10dB), com todos os interferentes possuindo a mesma amplitude. Em todos os casos, a relação sinal ruído (SNR) foi mantida constante e igual a 10dB. Finalmente, NS foi variado de 4 a 8, sendo que para cada caso foram usados os sinais interferentes s1 a sNs – 1. A Figura 1 ilustra a SER integralizada para cada valor de NS e SIR, onde por SER integralizada entende-se a média dos valores de SER obtidos no intervalo de medição do DOA de sD. Observa-se claramente que o WLP (LMS-WL) apresenta um ganho considerável de desempenho sobre o SLP (LMS-SL) para valores NS menores que 8. Especificamente, quando o arranjo opera em condição não sub-parametrizada (NS = 4), a SER relacionada ao WLP corresponde a menos da metade daquela relacionada ao SLP. A partir de NS = 5 o arranjo passa a operar em modo sub-parametrizado. Nesse caso, o SLP já apresenta taxas de erro próximas do limite máximo, porém, o WLP mantém o desempenho para NS = 5 e 6, igualando-se ao SLP apenas para NS = 8. Finalmente, observa-se em cenários onde o arranjo de antenas é sub-parametrizado, o WLP é pouco afetado pela SIR quando NS < 6. Figura 1. SER usando os algoritmos LMS-SL e LMS-WL 5. Conclusões Neste trabalho, foi analisado o desempenho WLP e SLP em termos de SER num cenário onde o arranjo de antenas é sub-parametrizado. Diferentes condições foram consideradas, envolvendo variações de DOA, do número de interferentes e de sua amplitude. As simulações computacionais confirmam a habilidade do LMS largamente linear no propósito de mitigação de interferentes, evidenciando a melhoria na SER obtida quando os resultados são comparados aos obtidos via aplicação do LMS original. Foi mostrado ainda que o WLP permite amplitudes de interferentes maiores que as do sinal desejado mesmo em cenários nos quais o arranjo de antenas opera de forma sub-parametrizada, com desempenho bastante superior ao SLP neste caso. Referências [1] S. Haykın, Adaptive Filter Theory, 4th ed., Prentice Hall, Upper Saddle River, USA, 2002. [2] M. I.Skolnik, (ed.) Radar Handbook, 2nd ed New York: McGraw-Hill, 1990, pp. 12.1-13.27. [3] B. Widrow, P.E. Mantey, L.J. Griffiths, and B.B. Goode, Adaptive Antenna Systems, Proc. of the IEEE, vol. 60, pp. 926-935, Vol. 55. No. 8, pp. 2143-2159, 1967. [4] W. M. Brown and R. B. Crane, “Conjugate Linear Filtering”, IEEE Trans. On communications, 51(1): 37-42, Jan.2003. [5] P. Chevalier, "Optimal Array Processing for non Stationary Signals,'' in Proc. ICCASP 1996, Atlanta, USA, 7-10 May 1996, pp. 2868-2871. [6] P. Chevalier and B. Picimbono, “Widely Linear Estimation with Complex Data”. IEEE Trans. on Signal Processing, vol. 43, n. 8, pp. 2030-2033, Aug. 1995. [7] A. Chinatto, C. Junqueira, J. M. T. Romano, Ïnterference Mitigation using Widely Linear Arrays”, EUSIPCO, 17th European Signal Processing Conference, Glasgow, Escócia, Agosto 2009. [8] B. Widrow and M. E. Hoff, apaptive Switching Circuits, IRE WECON Conv. Rec. , pt.4, pp. 96104,1960. Anais do I SPS UNICAMP Outubro de 2010 68 Sessão 6 - Arranjo de Sensores e Estimação de Parâmetros Uma Proposta de Uso de Filtragem em Estimação DOA Levy Boccato1 , Amauri Lopes2 , Romis Attux1 1 Departamento de Engenharia de Computação e Automação Industrial (DCA) 2 Departamento de Comunicações (DECOM) Faculdade de Engenharia Elétrica e Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) [email protected],[email protected],[email protected] Resumo – Neste trabalho, apresentamos uma maneira de gerar soluções candidatas para o problema de estimação de direção de chegada (DOA) com o auxílio de um processo de filtragem que visa reduzir a componente de ruído presente na matriz de covariância dos snapshots. Mais especificamente, verificamos que a resposta em freqüência do filtro otimizado, isto é, daquele que produz a maior atenuação de ruído, preserva a faixa de freqüências relacionada às direções de chegada dos sinais. Por causa disto, propomos o uso da resposta em freqüência deste filtro como função densidade de probabilidade durante o processo de amostragem do espaço de busca. Os experimentos realizados demonstram que esta abordagem efetivamente contribui para que as amostras DOA concentrem-se em torno dos valores verdadeiros dos ângulos de chegada. Palavras-chave: direção de chegada, estimação paramétrica, máxima verossimilhança, resposta em freqüência. 1. Introdução As principais abordagens ao problema de estimação de direção de chegada (DOA) baseiam-se no critério da máxima verossimilhança (ML) em virtude do excelente desempenho que o estimador ML possui. Entretanto, sua implementação usualmente requer a minimização de uma função custo de caráter não-linear, multimodal e variante com a relação sinal-ruído (SNR). Estas características desafiadoras motivaram o desenvolvimento de diversos métodos alternativos para encontrar as estimativas ML, como, por exemplo, o algoritmo MODE [5]. Outra perspectiva interessante está relacionada ao uso de meta-heurísticas populacionais para localizar o ótimo global da função custo ML [1] [2]. Neste caso, algumas soluções candidatas são iterativamente aprimoradas na tentativa de alcançar a melhor estimativa ML. Neste trabalho, apresentamos como uma proposta de filtragem pode ser útil no processo de amostragem do espaço de busca associado à função custo ML ao explorar a informação a respeito dos ângulos verdadeiros que se encontra na matriz de covariância dos dados (snapshots). 2. Estimação de Direção de Chegada Considere M ondas planas de banda estreita incidindo em um arranjo linear uniforme de N (N > M ) sensores. O problema de estimação DOA pode ser descrito pelo seguinte modelo matemático [5]: y(k) = Ax(k) + η(k), k = 1, 2, . . . , K (1) onde y(k) = y(tk ) ∈ C N ×1 representa o sinal recebido e amostrado no instante tk (snapshot), x(k) ∈ C M ×1 representa as amplitudes dos sinais recebidos, η(k) ∈ C N ×1 representa as amostras do ruído aditivo, K é o número total de snapshots considerados, e A = [a1 . . . aM ] ∈ C N ×M , com ai = [1 ejωi . . . ej(N −1)ωi ]T , é a matriz de resposta do arranjo, sendo que ωi = π sin φi , onde {φi }M i=1 são os ângulos de chegada. Admitimos que o número M de fontes seja conhecido e que o ruído η(k) satisfaz E{η(k)η H (i)} = σ 2 Iδk,i , onde δk,i é o operador delta de Kronecker e I denota a matriz identidade. Os sinais são independentes do ruído. É possível demonstrar que, tendo em conta as hipóteses aqui adotadas, o estimador de máxima verossimilhança para o problema de DOA pode ser escrito como [1] [6]: o n ˆy , R (2) θ̂ M L = arg min JM L (θ) = arg min Tr P⊥ A θ Anais do I SPS UNICAMP θ Outubro de 2010 69 Sessão 6 - Arranjo de Sensores e Estimação de Parâmetros ⊥ a matriz de projeção do subespaço de ruído, onde Tr{·} indica o traço de uma matriz, P⊥ A = I − AA é P ˆ y = 1 K yk yH denota a matriz de covariância A⊥ = (AH A)−1 AH é a pseudo-inversa de A e R k=1 k K estimada dos snapshots. 3. Processo de Filtragem Considere um filtro linear de resposta ao impulso finita (FIR) cuja função de transferência é definida por H(z) = h0 + h1 z −1 + h2 z −2 + · · · + hL z −L , onde L ≤ (N − 1) corresponde à ordem do filtro. Desejamos projetar um filtro que produza a maior atenuação da potência do ruído, isto é, que maximize a relação sinal-ruído média em sua saída. Demonstra-se [3] [4] que, usando L = (N − 1), onde N é o número de sensores presentes no arranjo, os coeficientes ótimos do filtro são dados pelo autovetor da matriz ˆ y associado ao seu maior autovalor. R A Figura 1 apresenta o módulo da resposta em freqüência do filtro FIR otimizado segundo o critério da maximização da relação sinal-ruído média, considerando o seguinte cenário DOA: N = 10, M = 2, K = 100 e C = I. Os ângulos de chegada definidos por φ = [10◦ 15◦ ]T geram as freqüências normalizadas em relação a π, ω1 = 0,1736 e ω2 = 0,2588, respectivamente. Resposta em freqüência ω1 ω2 0 Magnitude (dB) −5 −10 −15 −20 −25 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 Freqüência normalizada (×π rad/amostra) 0.6 0.8 Figura 1. Resposta em freqüência do filtro FIR otimizado para a relação sinal-ruído de 15 dB. 4. Proposta de uso da filtragem Como pode ser observado na Figura 1, as freqüências verdadeiras, isto é, aquelas correspondentes aos valores verdadeiros dos ângulos de chegada, situam-se na região de maior ganho do filtro. Com base nesta evidência, em vez de submetermos os dados coletados ao filtro FIR, nossa proposta é utilizar sua resposta em freqüência como função densidade de probabilidade a ser empregada no processo de amostragem do espaço de busca. Assim, em vez de extraírmos as amostras segundo uma distribuição uniforme, o que significa que todos os ângulos no intervalo (−90◦ , 90◦ ) são igualmente prováveis, agora privilegiamos aqueles relacionados às freqüências presentes na faixa de maior ganho da resposta em freqüência do filtro. 5. Resultados A fim de ilustrarmos o efeito de se utilizar a resposta em freqüência do filtro FIR otimizado como função densidade de probabilidade, mostramos, na Figura 2, a distribuição de um conjunto de 100 amostras sobre a superfície de nível da função custo JM L considerando uma SNR de 15 dB e o mesmo cenário DOA descrito anteriormente. No primeiro caso, a amostragem foi feita segundo uma distribuição uniforme, enquanto no segundo, a resposta em freqüência do filtro FIR otimizado foi empregada. Anais do I SPS UNICAMP Outubro de 2010 70 Sessão 6 - Arranjo de Sensores e Estimação de Parâmetros 80 80 60 60 40 40 20 20 0 0 −20 −20 −40 −40 −60 −60 −80 −80 −80 −60 −40 −20 0 20 40 60 80 (a) Inicialização uniforme −80 −60 −40 −20 0 20 40 60 80 (b) Inicialização com filtro FIR Figura 2. Distribuição das amostras geradas segundo uma distribuição uniforme e segundo a resposta em freqüência do filtro FIR para SNR = 15 dB. É possível observar, na Figura 2, que as amostras obtidas a partir da resposta em freqüência do filtro FIR se concentram na região associada aos valores verdadeiros dos ângulos de chegada. Esta evidência, aliada à simplicidade da proposta, indica que o uso da resposta em freqüência pode ser bastante interessante. Um exemplo de aplicação está relacionado a ferramentas que realizem a minimização da função custo JM L a partir de amostras do espaço de busca, como, por exemplo, algoritmos de otimização bio-inspirados. Neste caso, uma vez que o próprio repertório inicial passaria a ter soluções candidatas próximas aos valores verdadeiros, a perspectiva é que estes métodos localizassem o ótimo global com mais facilidade. 6. Conclusões Este trabalho apresentou os princípios de um processo de filtragem para o problema de estimação DOA, assim como uma proposta para utilizá-lo na geração de soluções candidatas DOA. Em síntese, a idéia é empregar a resposta em freqüência do filtro FIR otimizado como função densidade de probabilidade no processo de amostragem do espaço de busca. Verificamos que, de fato, tal abordagem contribui para que as soluções candidatas se concentrem na faixa angular em torno dos valores verdadeiros DOA. Por fim, ressaltamos que esta proposta pode ser utilizada em conjunto com qualquer método de estimação DOA que realize uma amostragem do espaço de busca, como, por exemplo, meta-heurísticas populacionais: a expectativa é que, nesse caso, a otimização da função custo ML seja realizada de forma ainda mais eficiente. Referências [1] L. Boccato. Aplicação de computação natural ao problema de estimação de direção de chegada. Master’s thesis, Faculdade de Engenharia Elétrica e Computação - UNICAMP, 2010. [2] L. Boccato, R. Krummenauer, R. Attux, and A. Lopes. Um estudo da aplicação de algoritmos bio-inspirados ao problema de estimação de direção de chegada. Revista Controle & Automação, 20(4):609–626, 2009. [3] R. Krummenauer. Filtragem ótima na estimação de direção de chegada de ondas planas usando arranjo de sensores. Master’s thesis, Faculdade de Engenharia Elétrica e Computação - UNICAMP, 2007. [4] R. Krummenauer, M. Cazarotto, A. Lopes, P. Larzabal, and P. Forster. Improving the threshold performance of maximum likelihood estimation of direction of arrival. Signal Processing, 90(5):1582–1590, 2010. [5] P. Stoica and K. C. Sharman. Novel eigenanalysis method for direction estimation. IEE Proceedings part F (Radar and Signal Processing), 137(1), 1990. [6] H. L. Van Trees. Optimum Array Processing. Part IV of Detection, Estimation and Modulation Theory. John Wiley & Sons, New York, USA, 2001. Anais do I SPS UNICAMP Outubro de 2010 71 Sessão 6 - Arranjo de Sensores e Estimação de Parâmetros Estimação de direção de chegada de sinais digitalmente modulados Rafael Krummenauer , Amauri Lopes Departamento de Comunicações (DECOM) Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) [email protected], [email protected] Resumo – Este artigo trata do problema de estimação de direção de chegada (DOA, do inglês direction of arrival) de sinais digitalmente modulados por pulso em sistemas de comunicação sem fio multi-usuário. Após explicitarmos um modelo adequado para os dados coletados por um arranjo de antenas, descrevemos brevemente o método de estimação desenvolvido em [1]. Palavras-chave: arranjo de sensores, estimação de direção de chegada, modulação digital, comunicações sem fio. 1. Introdução Em qualquer problema prático de estimação de parâmetros, quanto mais adequado for o modelo escolhido para representar os dados coletados, melhor poderá ser o desempenho do estimador. No domínio estatístico, isto significa que os processos aleatórios adotados para descrever as componentes de sinal e ruído devem ser adequados. Por exemplo, na área de processamento de sinais de arranjos de sensores, a gaussianidade é de longe a escolha mais comum para descrever as funções densidade de probabilidade tanto para o sinal como para o ruído - algumas vezes devido à facilidade de tratamento matemático - e vários algoritmos e limitantes têm sido desenvolvidos nesta mesma linha (veja [5]). Embora a consideração de gaussianidade para o ruído seja plausível em vários casos devido ao teorema central do limite, tal plausibilidade é menos pronunciada, em um grande número de aplicações relevantes, na medida que atentamos à natureza dos sinais envolvidos. Este é o caso, por exemplo, quando tratamos de sinais de comunicação digital sem fio. Neste artigo, explicitamos um modelo adequado para os dados coletados por um arranjo de antenas no contexto de sistemas de comunicações sem fio multi-usuário e relatamos brevemente o método desenvolvido em [1] para estimação DOA de sinais digitalmente modulados por pulso. 2. Modelo de sinal Considere um conjunto de M sinais de banda estreita digitalmente modulados incidindo em um arranjo de antenas composto por N elementos. As fontes (transmissores) estão suficientemente distantes do arranjo tal que as frentes de onda incidentes podem ser consideradas planas e: 1) as fontes transmitem a informação (codificada em símbolos) usando modulação digital por pulso; 2) os sinais recebidos são filtrados em banda-passante e convertidos para banda-base (envelope complexo); 3) os pulsos recebidos satisfazem o critério de pulsos de Nyquist, estão sincronizados entre si e a amostragem é feita na taxa de símbolo, tal que a interferência intersimbólica pode ser ignorada; 4) o receptor está sincronizado com a frequência da portadora, mas não necessariamente com a fase da mesma. Este modelo tem sido adotado direta ou indiretamente para o desenvolvimento de limitantes de desempenho e métodos de estimação DOA, como exemplos, veja [3], [2] e [1] e citações internas destes. Sob estas considerações, os sinais amostrados na saída do arranjo (snapshots) podem ser representados pelo modelo x(k) = As(k) + n(k) , k = 1, . . . , K , (1) no qual A = [a(θ1 ), . . . , a(θM )] ∈ CN ×M é a matriz de resposta do arranjo cujas colunas são os vetores de direção a(θm ) = [ej2πfc τ0 (θm ) , ej2πfc τ1 (θm ) , . . . , ej2πfc τN −1 (θm ) ]T ∈ CN ×1 , fc é a frequência da portadora, θm é o ângulo DOA do m-ésimo sinal e τn (θm ), com n = 0, 1, . . . , N − 1, é o atraso de tempo devido à propagação do m-ésimo sinal entre a n-ésima antena e a antena de referência (n = 0). O vetor s(k) = [s1 (k), . . . , sM (k)]T ∈ CM ×1 contém os sinais sm (k) = αm ejβm bm (k), e {bm (k)}K k=1 é uma sequência Anais do I SPS UNICAMP Outubro de 2010 72 Sessão 6 - Arranjo de Sensores e Estimação de Parâmetros desconhecida de símbolos independentes e igualmente distribuídos (i.i.d.) que pertencem a um alfabeto A (igual para todas as fontes) com cardinalidade L. Os parâmetros βm and αm representam o deslocamento de fase da portadora e a amplitude, respectivamente, da m-ésima fonte, e supomos serem invariantes no tempo ao longo do intervalo de amostragem KT0 , em que T0 é o período de símbolo. O vetor de ruído n(k) ∈ CN ×1 é considerado um conjunto de processos aleatórios gaussianos, complexos, de média zero e i.i.d. com momentos de segunda-ordem E{n(k)n(k)H } = σn2 IN e E{n(k)n(k)T } = 0, em que σn2 denota a variância do ruído. Sinais s(k) e ruído n(k) são considerados independentes entre si. 3. Método de estimação Estamos interessados em estimar os parâmetros θ ∈ RM usando o conjunto de dados {x(k)}K k=1 e as informações do modelo acima descrito. Vamos começar descrevendo o vetor de sinal na forma s(k) = Γb(k), na qual Γ = diag(α1 ejβ1 , . . . , αM ejβM ) e b(k) = [b1 (k), . . . , bM (k)]T . Sabendo que a matriz Γ é invariante no tempo ao longo dos K snapshots, o vetor b(k) define o espaço de s(k), o qual é finito e discreto. Podemos então dividir o espaço do snapshot x(k) em P = LM partições, cada uma associada a um dos possíveis estados do sinal recebido s(k) = Γb(k). Cada partição possui um centróide definido por cp = E{x(k)| bp } , p = 1, . . . , LM , (2) no qual bp é um dos possíveis estados de b(k) e E{·} é o operador esperança estatística. Definindo B , [b1 , . . . , bP ] ∈ AM ×P como a matriz que contém todos os estados de b(k), os centróides são as colunas da matriz CM , AΓB = [ c1 , c2 , · · · , cP ] ∈ CN ×P . Podemos ver que a l-ésima linha da matriz CM representa todos os P possíveis estados encontrados na l-ésima antena, com l = 1, . . . , N . Denominamos cada um destes estados (escalares) de centro. Desta forma, podemos relacionar os centros aos centróides (dimensão N ) pela expressão CM = [ c1 , c2 , . . . , cP ] = [ y0 , y1 , . . . , yN −1 ]T , na qual yn ∈ CP ×1 é um vetor contendo os centros da n-ésima antena. Através desta relação e da expressão CM = AΓB, pode ser mostrado que B T z n = yn , n = 0, 1, . . . , N − 1 , (3) em que zn , [α1 ej(2πfc τn (θ1 )+β1 ) , . . . , αM ej(2πfc τn (θM )+βM ) ]T ∈ CM ×1 . Propusemos em [1] duas simplificações no modelo, quais sejam: i) os sinais das M fontes possuem mesma potência na recepção, isto é, {αm }M m=1 = α e a amplitude α é conhecida; ii) não há deslocamento de fase da portadora no receptor, isto é, {βm }M m=1 = 0. Portanto, Γ = αI, a matriz dos centróides se reduz a CM = αAB e zn = α[ej2πfc τn (θ1 ) , . . . , ej2πfc τn (θM ) ]T . Podemos ver que, se as estimativas dos centróides {cp }Pp=1 estiverem disponíveis, teremos as estiN −1 mativas dos centros de cada antena {yn }n=0 . No caso do modelo simplificado, os centros da antena de referência y0 são conhecidos e esta informação é explorada para associar cada centro estimado em ŷn ao respectivo vetor bp em B para montar corretamente os sistemas (3). A dita associação pode ser feita utilizando-se um critério de mínima distância entre os centros ideais (elementos de y0 ) e os estimados (elementos de ŷ0 ). Feito isto, as estimativas DOA podem ser obtidas através da resolução dos sistemas (3) em relação a zn e posteriormente extraindo-se os ângulos DOA da solução obtida ẑn por um mapeamento inverso que depende da geometria do arranjo. Por exemplo, no caso de um arranjo linear uniforme com distância entre elementos de meio comprimento de onda da portadora, temos que τn (θm ) = 2fnc sin(θm ). Assim, ej(2πfc τn (θm )) = ej nπ sin(θm ) e a estimativa DOA é obtida com o mapeaPN −1 mento inverso θ̂m = N 1−1 n=1 arcsin(arg[ẑn,m ]/(nπ)), em que arg[·] é o operador que extrai a fase de uma variável complexa. Métodos de clusterização não-supervisionada podem ser utilizados para estimação dos centróides cp . Nos experimentos numéricos apresentados na Seção 4. adotamos uma técnica chamada ILS (do inglês, Iterated Local Search [4]). Anais do I SPS UNICAMP Outubro de 2010 73 Sessão 6 - Arranjo de Sensores e Estimação de Parâmetros 4. Resultados Nesta seção mostramos brevemente um experimento numérico para avaliar o desempenho do estimador proposto. O desempenho é avaliado pela raiz do erro quadrático médio (REQM) das estimativas DOA, em radianos, função da relação sinal-ruído (RSR). A relação sinal ruído é definida pela expessão RSR , em 1 PM 2 /σ 2 em dB. Duas fontes (M = 2) com alfabeto BPSK (do inglês, binary phase 10 log M α n m=1 m shift keying) incidem com ângulos de 0 e 4 graus, respectivamente, em um arranjo linear uniforme com 4 elementos. Por simplicidade, α = 1. A Figura 1 mostra os valores REQM das estimativas do ângulo θ1 = 0 graus calculados sobre 1000 ensaios independentes e para uma faixa de RSR entre −15 e 30 dB. 1 10 Proposto CRB CG CRB BPSK 0 REQM (rad) 10 −1 10 −2 10 −3 10 −4 10 −10 0 10 RSR (dB) 20 30 Figura 1. REQM versus RSR para fontes BPSK incidindo com ângulos de 0 e 4 graus. No gráfico são mostrados também os limites de Cramér-Rao na variância das estimativas para o modelo com fontes BPSK (CRB BPSK) [2] e para o modelo de fontes gaussianas circulares (CRB CG) [5]. Podemos observar que o estimador é assintoticamente eficiente pois tende ao limitante correspondende a medida que a RSR aumenta. Além disso, o ganho de desempenho por considerarmos na construção do estimador a natureza discreta dos sinais envolvidos é significativo. Se compararmos o desempenho do estimador com o CRB CG para REQM = 0.005 rad, vemos que há um ganho maior que 20 dB de RSR neste cenário. 5. Conclusões Neste artigo foi abordado o problema de estimação DOA de sinais digitalmente modulados por pulso. Após a descrição de um modelo adequado ao cenário em questão, reportamos a solução proposta em [1]. Este método é baseado em uma simplificação do modelo de dados e explora a natureza discreta dos sinais digitalmente modulados. Experimentos numéricos demonstram que o estimador referido é assintoticamente eficiente e que há um ganho significativo em desempenho quando comparado com estimadores baseados em modelos de sinais gaussianos circulares. Referências [1] R. Attux, R. Suyama, R. Ferrari, C. Junqueira, R. Krummenauer, P. Larzabal, and A. Lopes. A clustering-based method for DOA estimation in wireless communications. In 15th European Signal Processing Conference, pages 262–266, Poznań, Poland, Sep 2007. EURASIP. [2] J. P. Delmas and H. Abeida. Cramer-rao bounds of DOA estimates for BPSK and QPSK Modulated signals. IEEE Transactions on Signal Processing, 54(1):117–126, January 2006. [3] M. Lavielle, E. Moulines, and J. F. Cardoso. A Maximum Likelihood Solution to DOA Estimation for Discrete Sources. In IEEE Seventh SP Workshop on Statistical Signal and Array Processing, 1994., pages 349–352, June 1994. [4] Peter Merz. An Iterated Local Search Approach for Minimum Sum-of-Squares Clustering. In Advances in Intelligent Data Analysis V, 5th International Symposium on Intelligent Data Analysis, IDA 2003, volume 2810 of Lecture Notes in Computer Science, pages 286–296, Berlin, Germany, 2003. Springer. [5] H. L. Van Trees. Optimum Array Processing. Part IV of Detection, Estimation and Modulation Theory. John Wiley and Sons, New York, USA, 2001. Anais do I SPS UNICAMP Outubro de 2010 74 Sessão 7 - Processamento, Rastreamento e Codificação de Vídeo Recuperação de Vídeos Digitais: Métodos, Propostas e Desafios∗ Jurandy Almeida , Neucimar J. Leite , Ricardo da S. Torres Instituto de Computação Universidade Estadual de Campinas (Unicamp) {jurandy.almeida, neucimar, rtorres}@ic.unicamp.br Resumo – Avanços em técnicas de aquisição, compressão e transmissão de dados têm permitido a criação de bibliotecas de vídeo digital cada vez maiores. Na medida em que cresce o volume de vídeos digitais nessas coleções, cresce também o interesse em sistemas capazes de gerenciá-los de maneira eficiente. Essa dificuldade vem sendo resolvida por meio de sistemas capazes de abstrair representações semânticas de alto nível a partir das informações de baixo nível dos vídeos. Devido à complexidade desse material, existem quatro desafios principais na construção desses sistemas: (1) implementar um algoritmo para codificar as propriedades de baixo nível dos dados de vídeo em vetores de características; (2) desenvolver uma medida de similaridade para comparar vídeos a partir de seus vetores; (3) responder rapidamente a consultas por similaridade sobre, potencialmente, milhões de sequências de vídeo; e (4) apresentar os resultados de forma amigável ao usuário. Inúmeras técnicas têm sido propostas para atender a esses requisitos. Todavia, apesar de todos os esforços o gerenciamento de vídeos digitais ainda está em seu estado preliminar. Este artigo apresenta uma revisão de diferentes métodos propostos para atender aos quesitos supracitados, novas soluções propostas para alguns problemas abordados e questões que se encontram em aberto. Palavras-chave: banco de dados, processamento de vídeos, recuperação de vídeos, domínio da compressão. 1. Introdução A evolução das tecnologias de aquisição, compressão e transmissão de dados tem facilitado a maneira como vídeos digitais são criados, armazenados e distribuídos. O aumento na quantidade de dados de vídeo vem criando grandes bibliotecas de vídeo digital. Isso tem despertado grande interesse em sistemas capazes de gerenciar essas coleções de maneira eficiente. Fazer uso eficiente da informação de vídeo requer um sistema capaz de armazenar os dados de maneira compacta e organizada. Tais dificuldades vêm sendo resolvidas por meio de sistemas capazes de abstrair representações semânticas de alto nível a partir das informações de baixo nível dos vídeos. Devido à complexidade desse material, existem três desafios principais na construção desses sistemas: (1) implementar um algoritmo para codificar as propriedades de baixo nível dos dados de vídeo em vetores de características; (2) desenvolver uma medida de similaridade para comparar vídeos a partir de seus vetores; (3) responder rapidamente a consultas por similaridade sobre, potencialmente, milhões de sequências de vídeo; e (4) apresentar os resultados de forma amigável ao usuário. 2. Representação do conteúdo visual A maneira mais simples para representar o conteúdo de um vídeo consiste em avaliar a diferença ponto a ponto de dois quadros consecutivos. Entretanto, esses métodos são muito sensíveis, pois capturam qualquer detalhe. Uma alternativa as essas abordagens é utilizar uma estratégia global para codificar as propriedades de baixo nível em vetores de características. Essas técnicas baseiam-se na premissa que quadros com um fundo comum e com a mesma disposição de objetos apresentam uma pequena diferença em seus vetores. Uma limitação dos métodos globais é que eles são muito sensíveis a pequenas mudanças na distribuição espacial. Por outro lado, as técnicas baseadas em correspondências pontuais sofrem da falta de robustez na presença de movimentos de câmera e objeto. Um compromisso entre essas abordagens consiste na comparação entre regiões (blocos) correspondentes. Para superar o problema do movimento de câmera e objeto, diversos métodos têm sido propostos na intenção de eliminar a diferença entre dois quadros causada por tais movimentos. Muitas dessas técnicas baseiam-se no cálculo do fluxo ótico para determinar movimento de câmera e objeto. Essas soluções consistem tipicamente de uma abordagem de duas etapas: primeiro identificando o movimento e em seguida associando-o a um modelo paramétrico. ∗ Os autores agradecem o suporte financeiro das agências FAPESP, CNPq e CAPES. Anais do I SPS UNICAMP Outubro de 2010 75 Sessão 7 - Processamento, Rastreamento e Codificação de Vídeo Todavia, o cálculo do fluxo ótico normalmente suporta apenas uma quantidade limitada de movimento da cena. Uma nova abordagem para estimar o movimento da câmera em sequências de vídeo com uma grande quantidade de movimento da cena é apresentada em [3]. Esse método baseia-se na análise das características invariantes locais obtidas a partir dos extremos no espaço escala, as quais são mais robustas a uma quantidade substancial de distorções afins. A forma paramétrica mais popular utilizada na estimativa do movimento da câmera é o modelo afim, o qual não está diretamente relacionado às operações de movimento que podem ser executadas em um vídeo. Uma nova abordagem para determinar os parâmetros do movimento da câmera é apresentada em [2]. Essa técnica baseia-se na combinação linear de modelos ideais do fluxo ótico das operações de movimento. O uso dessas soluções a fim de indexar e recuperar vídeos requer o emprego de outras propriedades visuais além da informação de movimento, por exemplo, cor. Combinar características oriundas de domínios diferentes pode ser uma forma de compensar as deficiências individuais de cada abordagem. 3. Medidas de similaridade Na seção anterior, foram discutidos métodos para codificar as propriedades de baixo nível dos dados de vídeo em vetores de características. Dessa forma, a similaridade visual entre dois vídeos pode ser medida por meio de uma métrica definida no espaço desses vetores. Muitos esforços nessa área têm se concentrado no problema de procurar por um segmento pequeno dentro de uma sequência longa. O desafio é definir uma única medida para avaliar a similaridade entre duas sequências inteiras. Em geral, a maioria das abordagens existentes baseia-se na comparação de características similares de parte ou todo o vídeo. Isso exige o armazenamento de todo o vídeo e sua complexidade computacional é ao menos linear no seu tamanho. Aplicar esses métodos em um banco de dados de milhões de sequências de vídeo pode ser muito complexo. No entanto, o valor preciso de uma medida de similaridade não é normalmente necessário, uma vez que os vetores de características representam modelos ideais e não capturam completamente o processo de como a similaridade é julgada no sistema visual humano. Portanto, esquemas de aproximação podem ser utilizados para aliviar a alta complexidade computacional. Logo, cada sequência de vídeo pode ser primeiro resumida em representações compactas de tamanho fixo. Dessa maneira, a similaridade entre duas sequências de vídeo pode ser aproximada a partir da comparação de suas respectivas representações. Existem dois tipos de técnicas de compactação para a aproximação da similaridade: de primeira ordem e de ordem superior. As técnicas de ordem superior representam todos os vetores de características de um vídeo como uma distribuição estatística. Esses métodos são altamente adaptativos e robustos a pequenas perturbações. As técnicas de primeira ordem, por sua vez, representam um vídeo em um pequeno conjunto de vetores representativos. Uma abordagem consiste em utilizar algoritmos de agrupamento para identificar um número fixo de vetores de características que minimiza a distância em relação aos demais. 4. Busca por similaridade Dada uma assinatura de vídeo, o problema da busca por similaridade consiste em identificar todas as assinaturas similares em um banco de dados de, possivelmente, milhões de entradas. Para garantir uma resposta rápida, é imperativo o desenvolvimento de algoritmos que acelerem esse processo. Elaboradas estruturas de dados, conhecidas como métodos de acesso, têm sido propostas a fim de acelerar buscas por similaridade. Contudo, a maioria das abordagens existentes sofre de um problema conhecido como maldição da dimensionalidade: na medida em que aumenta a dimensionalidade dos dados, os índices tornam-se grandes e lentos demais. Uma estratégia possível para contornar esse problema consiste em utilizar algoritmos de agrupamento de dados. Esses métodos fornecem uma organização eficiente de grandes coleções. Em geral, os algoritmos de agrupamento podem ser hierárquicos ou particionais. Os algoritmos hierárquicos encontram grupos sucessivos utilizando grupos pré-estabelecidos, enquanto os algoritmos particionais encontram todos os grupos de uma única vez. As estratégias de agrupamento hierárquicas podem ser divididas em dois paradigmas básicos: aglomerativas e divisivas. A aglomerativa começa com cada Anais do I SPS UNICAMP Outubro de 2010 76 Sessão 7 - Processamento, Rastreamento e Codificação de Vídeo elemento como um grupo independente e os une, sucessivamente, em grupos cada vez maiores. Por outro lado, a divisiva começa com um grande grupo e o divide, sucessivamente, em grupos menores. Um método híbrido (hierárquico divisivo e aglomerativo) de agrupamento é apresentado em [1]. Esse método combina características dos modelos hierárquicos divisivo e aglomerativo de agrupamento, reduzindo os erros obtidos por cada um desses paradigmas e melhorando a qualidade dos grupos. Em [5, 4] essa abordagem foi estendida como estrutura de indexação. Todavia, a utilização dessas soluções para acelerar o processamento de uma consulta consiste em duas etapas: (1) construção offline de uma estrutura para indexar vídeos; e (2) utilização dessa estrutura no processamento online de uma consulta. Assim, uma vez construída, novos elementos só podem ser adicionados recriando-se todo o índice. Aumentar essas estruturas para executar reparticionamento local pode ser uma forma de suportar inserções e remoções após a sua criação inicial . 5. Interação com usuários Fazer uso eficiente da informação de vídeo requer que os dados sejam acessados de forma amigável. Para isso, é importante fornecer aos usuários uma representação concisa do vídeo para dar uma idéia do seu conteúdo, sem ter que vê-lo completamente, de modo que um usuário possa decidir se quer ou não assistir o vídeo todo. Isso tem sido a meta de uma área de investigação conhecida como sumarização de vídeo. Um sumário de vídeo é um versão reduzida de uma sequência de vídeo. Existem dois tipos diferentes de sumários de vídeo: static storyboard, que é uma coleção de quadros-chave extraídos do vídeo original, resultando em sumários estáticos; e dynamic skimmming, que é um conjunto de tomadas curtas, unidas em uma sequência e exibidas como um vídeo, resultando em sumários dinâmicos. Uma vantagem dos sumários dinâmicos em relação aos estáticos é a possibilidade de incluir elementos de áudio e movimentos. Por outro lado, os resumos estáticos são mais apropriados para a indexação e navegação, uma vez que não são limitados por qualquer característica de tempo ou sincronização. Diferentes técnicas têm sido propostas na literatura para resolver o problema de sumarizar um sequência de vídeo. A abordagem mais comum é a utilização de algoritmos de agrupamento para reunir quadros com conteúdo semelhante e selecionar os mais representativos, extraindo um número limitado de quadros-chave por grupo. Embora tais métodos elaborem sumários com qualidade aceitável, eles são extremamente lentos e requerem uma quantidade enorme de memória. Uma nova abordagem para a sumarização que manipula diretamente o vídeo em sua forma comprimida é apresentada em [6]. Essa técnica baseia-se na exploração de propriedades visuais extraídas do fluxo do vídeo e no uso de um algoritmo simples e rápido para resumir o seu conteúdo. 6. Conclusões Este artigo apresentou uma breve revisão de diferentes métodos propostos para atender aos quesitos envolvidos no desenvolvimento de um sistema de recuperação de vídeos digitais, as soluções propostas para alguns problemas abordados e as questões que ainda estão sendo tratadas. Referências [1] J. Almeida. Recuperação de imagens por cor utilizando análise de distribuição discreta de características. Master’s thesis, Instituto de Computação, Unicamp, Campinas, Brazil, 2007. [2] J. Almeida, R. Minetto, T. A. Almeida, R. S. Torres, and N. J. Leite. Robust estimation of camera motion using optical flow models. In Int. Symp. Advances Visual Comput., pages 435–446, 2009. [3] J. Almeida, R. Minetto, T. A. Almeida, R. S. Torres, and N. J. Leite. Estimation of camera parameters in video sequences with a large amount of scene motion. In IEEE Int. Conf. Syst. Signals Image Proc. (IWSSIP’10), pages 348–351, 2010. [4] J. Almeida, E. Valle, R. S. Torres, and N. J. Leite. DAHC-tree: An effective index for approximate search in high-dimensional metric spaces. Journal of Information and Data Management, 2010. [5] J. Almeida, R. S. Torres, and N. J. Leite. BP-tree: An efficient index for similarity search in highdimensional metric spaces. In ACM Int. Conf. Inf. Knowl. Management (CIKM’10), 2010. [6] J. Almeida, R. S. Torres, and N. J. Leite. Rapid video summarization on compressed video. In IEEE Int. Symp. Multimedia (ISM’10), 2010. Anais do I SPS UNICAMP Outubro de 2010 77 Sessão 7 - Processamento, Rastreamento e Codificação de Vídeo Rastreamento de jogadores de futsal usando Visão Computacional Erikson Freitas de Morais, Anderson Rocha, Siome Goldenstein Instituto de Computação Universidade Estadual de Campinas (Unicamp) {emorais,anderson.rocha,siome}@ic.unicamp.br Resumo – É cada vez mais comum o uso de câmeras de vídeo para gravar partidas de esportes coletivos. O rastreamento visual aplicado aos vídeos gravados permite recuperar informações interessantes do ponto de vista tático, técnico e científico. Entretanto, os métodos atuais possuem limitações que prejudicam sua precisão e confiabilidade em situações complexas como aglomerações momentâneas de jogadores. Essas situações específicas causam confusão no sistema de rastreamento e podem gerar informações equivocadas. Este trabalho busca usar filtro de partículas associado ao aprendizado de máquina para rastrear a posição de jogadores de futebol de salão durante uma partida. Espera-se encontrar uma configuração de técnicas capaz de rastrear os jogadores mesmo em situações de confusão e, com isso, obter resultados tão bons quanto os manualmente marcados por especialistas. O projeto conta com dados previamente anotados que servirão tanto para treinamento do sistema de aprendizado quanto para validação e verificação dos novos resultados obtidos. Palavras-chave: rastreamento visual, futebol de salão, aprendizado de máquina. 1. Introdução No esporte moderno, a qualidade técnica dos atletas e dos equipamentos utilizados é notável. A cada quatro anos, novos recordes são estabelecidos. Os atletas ultrapassam seus limites físicos enquanto suas equipes observam e analisam o que acontece segundo a segundo e tentam encontrar novas melhorias. Qualquer detalhe modificado, por menor que seja, pode representar a vitória no final da competição. Com a utilização cada vez maior de câmeras de vídeo para gravar partidas de esportes coletivos, tornase possível a avaliação minuciosa do comportamento físico e tático dos times dentro de campo. Os vídeos analisados em laboratório podem revelar falhas muito difíceis de serem detectadas durante o jogo, tanto de cunho tático quanto da preparação física. O mesmo vídeo também revela informações a respeito dos oponentes como estimativas de velocidades, áreas de abrangência dos jogadores dentro de campo, número de erros e acertos dos jogadores, etc. Com auxílio de métodos computacionais modernos, pode-se obter ainda mais informações a respeito das equipes. Técnicas de Visão Computacional tem sido utilizadas na análise tática e fisiológica em partidas de hóquei [9], basquete [10] e futebol [2, 6]. Técnicas de rastreamento visual permitem identificar informações importantes como velocidades média e máxima dos jogadores durante a partida, distâncias percorridas total e parciais, além das trajetórias percorridas pelos jogadores dentro de campo. Neste contexto, um problema bastante interessante é o rastreamento visual de múltiplos objetos. Por exemplo, podemos estar interessados no rastreamento de jogadores de futsal durante uma determinada partida. Este problema tem despertado o interesse da comunidade científica para estudos táticos, fisiológicos e computacionais. Rastrear jogadores de futsal simultaneamente é um problema complexo, já que ocorrem problemas de oclusão, iluminação, dinâmica variável e aglomerações momentâneas como em momentos de comemoração. No entanto, o tratamento desse problema favorece aplicações nos mais diferentes campos da ciência tais como, segurança de ambientes, monitoramento de cobaias, astronomia, etc. 2. Estado da Arte Em um sistema de rastreamento visual, os objetos de interesse (jogadores) precisam de uma representação que permita sua detecção a cada novo quadro da sequência, conhecido como modelo de aparência [11]. Normalmente, o conhecimento sobre sua aparência permite sua detecção e, consequentemente, a sua representação no sistema de rastreamento. Em sistemas que utilizam predição, a representação do objeto é Anais do I SPS UNICAMP Outubro de 2010 78 Sessão 7 - Processamento, Rastreamento e Codificação de Vídeo comumente dada por um vetor de estados composto por dados que identificam a configuração do objeto rastreado. Algumas técnicas fazem a localização dos objetos de interesse baseando-se na detecção de blobs1 . No modelo de Figueroa et al. [2], os objetos são encontrados por meio da separação de um plano de fundo fixo, extraído periodicamente da própria sequência analisada. Após a detecção dos blobs, é construído um grafo em que cada nó representa um blob do vídeo, enquanto que uma aresta liga um blob a um outro presente no quadro seguinte. As arestas são ponderadas com a distância Euclidiana entre os blobs conectados. O rastreamento de um dos jogadores equivale a encontrar o menor caminho no grafo, partindo do blob inicial correspondente ao jogador de interesse. Outros trabalhos utilizam múltiplos pontos de vista para tratar as oclusões. No trabalho de Saito [4] a bola e os jogadores são segmentados utilizando técnicas para subtração de fundo, as sombras são retiradas por análise de cores e, finalmente, as correspondências dos jogadores entre os quadros do filme são feitas por homografia2 . Alguns trabalhos utilizam técnicas baseadas no Filtro de Kalman para modelar a dinâmica dos objetos de interesse [1, 7]. O Filtro de Kalman consiste em um conjunto de equações matemáticas que fornecem uma maneira computacional para estimar os estados de um processo, minimizando a média dos erros quadrados [7]. As técnicas baseadas em Filtros de Kalman trabalham bem com processos Gaussianos e, consequentemente, não conseguem lidar bem com processos multimodais ou multi-hipótese. A solução comumente adotada é o uso de técnicas baseadas em Filtros de Partículas, onde a representação de densidades de probabilidades é feita por pontos de massa, chamados partículas [1]. Cada partícula é uma amostra da função que está sendo representada, ou uma instância de um possível estado do processo que está sendo simulado. Essa forma não paramétrica de representação dá ao Filtro de Partículas a habilidade de modelar funções não lineares e não Gaussianas [3]. Alguns trabalhos que lidam com rastreamento visual de objetos são baseados nesta técnica [1, 5, 8]. O rastreamento visual de múltiplos jogadores usando filtro prediditivo é composto de alguns passos principais: • medição: Nesse passo o sistema computacional precisa ser capaz de identificar, na cena, quais regiões representam o objeto de interesse. Esse processo pode ser realizado usando, por exemplo, técnicas de segmentação baseadas em separação do plano de fundo [2] ou técnicas baseadas em cascatas de classificadores e AdaBoost [9]. • rotulação: Cada objeto recebe um identificador que o diferencia dos demais. O rótulo único permite recuperar o histórico das posições de um mesmo identificador e sua trajetória. • predição: Baseado nas últimas posições em que o objeto foi encontrado e também em uma descrição prévia de movimento, conhecida como dinâmica do objeto, o sistema deve ser capaz de predizer a próxima posição do objeto, dentro de uma margem de erro. Isso permite diminuir a área de busca para a nova medição além de aumentar as chances de atribuir o mesmo rótulo ao mesmo objeto no próximo quadro da sequencia. 3. Nossa proposta Em jogos coletivos como o futsal, é muito comum a comemoração dos jogadores quando o time marca ponto. Também é comum situações de jogo com aglomerações de jogadores, como disputas pela bola perto da linha de fundo da quadra. Essas são chamadas de situações de confusão. São momentos que dificultam a realização da rotulação e da medição corretamente. Além das aglomerações, o fato de os jogadores usarem uniformes contribui para medições e rotulações erradas. 1 Os blobs são conjuntos de pontos que correspondem a um mesmo objeto de interesse e podem ser encontrados de diversas formas, dependendo da natureza do problema. 2 O termo homografia se refere a transformações geométricas com grande uso em Visão Computacional, Computação Gráfica e outros campos onde a visualização geométrica é usada. Matematicamente, pode ser descrita por uma matriz H, 3 × 3, que mapeia coordenadas homogêneas q e p de imagens diferentes. Anais do I SPS UNICAMP Outubro de 2010 79 Sessão 7 - Processamento, Rastreamento e Codificação de Vídeo Uma possível solução para esse problema é o uso de um modelo capaz de ajustar parâmetros da dinâmica do jogador com base na medição do sistema. Uma dinâmica mais refinada resulta em predições mais acertadas e, consequentemente, em um rastreamento mais preciso, vencendo o obstáculo das aglomerações. Aplicando técnicas de aprendizado de máquina é possível sintetizar o conhecimento de como os jogadores se movimentam dentro da quadra. Além disso, podemos contar com uma detecção rápida e confiável de jogadores usando classificadores em cascata baseada em AdaBoost [9]. Um conjunto de dados anotados, fornecidos pelo Laboratório de Biomecânica da Faculdade de Educação Física da Unicamp, servirá como base para treinamento, testes e validação do modelo. Com a associação de técnicas de aprendizado de máquina ao processo do Filtro de Partículas, esperamos aprimorar os resultados do filtro a ponto de minimizar os problemas causados pelas situações de confusão. Uma dinâmica com parâmetros melhor ajustados irá produzir resultas melhores durante a predição e, consequentemente, dados de rastreamento com níveis de erro menores. A precisão nos dados de rastreamento, principalmente nos momentos de confusão, desperta interesse de profissionais ligados às equipes técnicas, táticas e científicas que trabalham com dados de rastreamento em esportes coletivos. Um sistema de fácil manuseio e com resultados considerados próximos do real, mesmo em situações complicadas, irá trazer ganhos significativos em ambos os casos. Referências [1] Fakhreddine Ababsa and Malik Mallem. Robust line tracking using a particle filter for camera pose estimation. In ACM Symposium on Virtual reality software and technology, pages 207–211, New York, NY, USA, 2006. ACM. [2] Pascual J. Figueroa, Neucimar J. Leite, and Ricardo M. L. Barros. Tracking soccer players aiming their kinematical motion analysis. Computer Vision and Image Understanding, 101(2):122–135, 2006. [3] Siome Klein Goldenstein. A gentle introduction to predictive filters. Revista de Informatica Teorica e Aplicada XI, 1:61–89, 2004. [4] N. Inamoto and H. Saito. Virtual viewpoint replay for a soccer match by view interpolation from multiple cameras. IEEE Transactions on Multimedia, 9(6):1155–1166, 2007. [5] Michael Isard and Andrew Blake. Condensation—conditional density propagation forvisual tracking. International Journal of Computer Vision, 29(1):5–28, 1998. [6] P. L. Mazzeo, P. Spagnolo, M. Leo, and T. D’Orazio. Visual players detection and tracking in soccer matches. In IEEE International Conference on Advanced Video and Signal Based Surveillance, pages 326–333, Washington, DC, USA, 2008. IEEE Computer Society. [7] Zaher Merhi, Milad Ghantous, Mohammad Elgamel, Magdy Bayoumi, and Ayman El-Desouki. A fully-pipelined parallel architecture for kalman tracking filter. In IEEE International Conference on Application-Specific Systems, Architectures and Processors, pages 81–86, Washington, DC, USA, 2007. IEEE Computer Society. [8] Erikson F. Morais, Mario F. M. Campos, Flavio L. C. Padua, and Rodrigo L. Carceroni. Particle filterbased predictive tracking for robust fish counting. In Conference on Graphics, Patterns and Images, page 367, Washington, DC, USA, 2005. IEEE Computer Society. [9] Kenji Okuma, Ali Taleghani, Nando De Freitas, O De Freitas, James J. Little, and David G. Lowe. A boosted particle filter: Multitarget detection and tracking. In European Conference on Computer Vision, pages 28–39, 2004. [10] M. Taj and A. Cavallaro. Multi-camera track-before-detect. ACM/IEEE International Conference on Distributed Smart Cameras, pages 1–6, aug. 2009. [11] Alper Yilmaz, Omar Javed, and Mubarak Shah. Object tracking: A survey. ACM Computing Surveys, 38(4):13, 2006. Anais do I SPS UNICAMP Outubro de 2010 80 Sessão 7 - Processamento, Rastreamento e Codificação de Vídeo Block-based 3-D Fast Transforms applied to an Embedded Color Video Codec Vanessa Testoni and Max H. M. Costa DECOM/FEEC/University of Campinas (Unicamp) {vtestoni,max}@decom.fee.unicamp.br Abstract – This paper studies the performance of three fast block-based 3-D transforms in a low complexity video compression application. The compared transforms are Hadamard (4x4x4 and 8x8x8), H.264/AVC integer DCT (4x4x4) and Piecewise-linear Haar - PLHaar (4x4x4 and 8x8x8). All the 3-D transforms can be computed exactly in integer arithmetic. Furthermore, only additions and bit shifts are necessary, thus lowering computational complexity. Even with these constraints, good rate versus distortion performance can be achieved. Keywords: 3-D block-based transform, Embedded video codec, Fast video codec, 3-D scan order, 3-D Hadamard transform, 3-D H.264/AVC integer DCT, 3-D PLHaar transform. 1. Introduction Research on video coding systems typically looks for techniques that can reach the highest possible compression rate while not exceeding a given level of distortion. This increased compression rate is generally achieved by means of greater coding complexity, which is supported by increased requirements for computational power. However, in some applications (e.g. mobile devices), the use of high performance processors may not be cost-effective and the critical issues may be related to low complexity, low power consumption and restricted computational resources. Also, in some applications, the codecs need to be implemented by software. In order to reduce the video codecs computational complexity, three-dimensional (3-D) transforms have been investigated by many researchers, as an alternative to avoid time-consuming motion estimation (ME) and compensation (MC) techniques. This work studies the performance of a set of simple and fast block-based 3-D transforms. The compared transforms are Hadamard (4x4x4 and 8x8x8), H.264/AVC integer DCT-like (4x4x4) and Piecewise-Linear Haar - PLHaar (4x4x4 and 8x8x8). Although being a wavelet-like transform, the PLHaar is applied here in a block-based fashion. The environment where the performances of the block-based 3-D transforms are compared is a color video codec named FEVC (Fast Embedded Video Codec) [1]. The FEVC is focused on reduced execution times and is less concerned with high compression performance. The codec is to be designed with integer based processor and low cache memory requirements. The implementation avoids multiplication and division operations. Most computation is done with adds and binary shifts and the whole system is implemented with 16-bit integer arithmetic. The first FEVC stage performs color space conversions. In the second stage, 3-D transforms are applied to reduce correlation in both spatial and temporal dimensions. The video sequence being encoded is partitioned into cubes and the transform is separately applied to the cube dimensions (columns, rows, and frames). After transforming 3-D blocks of pixels, the FEVC scans and reorders cube coefficients in the third codec stage. The fourth stage is the entropy coding stage. The FEVC does not perform explicit quantization and, thus, can be used in a lossless manner. In fact, the FEVC performs an implicit quantization because encoding is applied to bit planes, which generates an embedded and progressive encoded bitstream. Thus, coding can be done aiming at a specific bit rate or distortion. The encoding of each bit plane of the 3-D coefficients is accomplished using an adaptive version of Golomb entropy coding. 2. Block-based 3-D Transforms To evaluate the cube's size effect in coding performance, cubes of 4x4x4 or 8x8x8 sizes are used for the Hadamard transform and for the PLHaar transform [2]. Only cubes of 4x4x4 size are used for the H.264/AVC integer DCT-like transform [3] because of the higher complexity of the 8x8x8 transform. These transforms were chosen because they can be computed exactly in integer arithmetic, thus avoiding inverse transform mismatch problems. The PLHaar transform implementation in this work is Anais do I SPS UNICAMP Outubro de 2010 81 Sessão 7 - Processamento, Rastreamento e Codificação de Vídeo slightly different from the usual wavelet transform construction. Usually, the first-stage PLHaar is applied in the whole cube, and then a second-stage PLHaar is applied only to the first-stage subband cube LLL. Better results were achieved when this second-stage transform was also applied to the other low energy subbands: HLL, LHL and HHL. 2.1. Energy compaction and scan order The integer DCT-like transform provides better coding gain than the Hadamard and the PLHaar transforms. The scan order for the integer DCT cube follows the energy distribution which is typically concentrated along the cube coordinate axis. For the Hadamard transform cube, the energy tends to be more spread out. To improve energy compaction, a special scan order was proposed in [1], based on the product of the three sequency numbers, each shifted by 1 (to avoid zero). For the PLHaar cube, the scan order developed in this work takes into account the fact that the second-stage transform was applied to all low energy subbands, not only to the lowest frequency subband (LLL). Therefore, the scan procedure begins with the lowest frequency coefficients of all the 2 or 4 front frames (respectively for 4x4x4 or 8x8x8 transforms), continues reading the other coefficients in these front subbands and finishes with the scanning of the high energy back subbands. 3. Results For comparisons, we used the H.264/AVC official reference software obtained in [4]. Fig. 1 presents the PSNR versus bit-rate curves for the “Akyio” sequence. Approximately, 300 frames of the sequence were used. One can notice that the performances of the Hadamard 8x8x8, Hadamard 4x4x4 and Integer DCT 4x4x4 are quite comparable. The Hadamard 8x8x8 is slightly better, which may be due to the high temporal correlation of this sequence. Other sequences with higher motion content and more detailed frames would typically be better coded with the smaller cubes. The PLHaar 4x4x4 and 8x8x8 transforms produced similar results, but significantly inferior to the previous transforms. The PLHaar uses approximately 3 times the bit-rate of the Hadamard or Integer DCT for an equivalent quality. This inferior performance may be related to the restricted dynamic range expansion and to the small block-based (not wavelet-like) implementation. It is also shown in Fig. 1 that the H.264/AVC codec always achieves superior results in terms of PSNR versus bit-rate. According to Fig. 1, the FEVC uses approximately 3 times the bit-rate of H.264 Main profile and 1.5 times the bit-rate of H.264 Baseline profile. This poor rate-distortion result may still be justified in applications with complexity restrictions. A visual quality comparison is presented in Fig. 2. As expected from the PSNR x bit rates curves, the H.264 Main profile presents good results when coding at 0.16 bit/pixel as shown in Fig. 2a and the FEVC Hadamard 8x8x8 produces more visible block effects as shown in Fig. 2b. Tabela 1. Encoding times for the "Akyio" sequence. Figura 1. PSNR versus bit-rate curves for the luminance signal of the “Akiyo” sequence. Anais do I SPS UNICAMP Outubro de 2010 82 Sessão 7 - Processamento, Rastreamento e Codificação de Vídeo Figura 2. "Akiyo" frame #160 encoded by (a) H.264 at 0.16 bit/pixel, by (b) FEVC Hadamard 8x8x8 at 0.16 bit/pixel, by (c) FEVC Hadamard 8x8x8 at 0.30 bit/pixel, by (d) FEVC Integer DCT 4x4x4 at 0.30 bit/pixel, by (e) FEVC PLHaar 4x4x4 at 0.65 bit/pixel and by (f) FEVC PLHaar 8x8x8 at 0.45 bit/pixel. In Fig. 2c, when the same frame #160 is coded at 0.30 bit/pixel, the FEVC achieves a reasonable value of 40 dB for the luminance component and the result can be considered comparable with Fig. 2a. When the Integer DCT is applied at 0.30 bit/pixel, the result shown in Fig. 2d is similar to Fig. 2c, except for the distorted chrominance signal. The visual results obtained with the PLHaar are shown in Fig. 2e and in Fig. 2f. It can be seen that the luminance signal achieves values around 35 dB, but the overall performance is better than Fig. 2b (with 36 dB for the luminance signal). The encoding times obtained with the FEVC and the H.264/AVC codec (measured at the same bitrates) for the “Akyio” sequence are shown in Table 1. According to Table 1, the H.264/AVC Main profile codec requires 3,134 ms per frame for encoding at 0.16 bit/pixel. The FEVC Hadamard requires 16.67 ms per frame for encoding at 0.31 bit/pixel, which produces comparable visual quality frames for the selected sequence. Thus we can argue that, at the cost of reducing the H.264/AVC Main profile compression rate by a factor of 1.9, an encoding approximately 180 times faster can be achieved with the FEVC. An interesting observation is that the encoding time of 16.67 ms per frame makes it possible to have real-time video sequences encoded at 30 frames per second. 4. Conclusions In this paper we present a comparison of three simple block-based 3-D transforms applied to a fast embedded video codec (FEVC). The results obtained with the PLHaar transform were not impressive, possibly due to the small block-based (not wavelet like) implementation and the constrained dynamic range of the transform coefficients. As the Integer DCT yields the fastest implementation, and similar compression to that of the larger Hadamard transform, we conclude that the Integer DCT should be the chosen transform for the projected codec. General performance results indicate that, at the cost of a reduction in the H.264/AVC compression rate by a factor of 1.5 to 3, it is possible to get encoding times that are significantly smaller. References [1] V. Testoni and M. H. M. Costa. Entropy Coders and 3-D Hadamard Coefficients Scan Order for a Fast Embedded Color Video Codec. Computers & Electrical Engineering, v. 36, pages 676-690, 2010. [2] J. G. Senecal, P. Lindstrom, M. A. Duchaineau and K. I. Joy. An improved n-bit to n-bit reversible Haar-like transform. Proc. of the 12th Pacific Conference on Computer Graphics and Applications, pages 371-380, 2004. [3] H. Malvar, A. Hallapuro, M. Karczewicz and L. Kerofsky. Low-Complexity Transform and Quantization with 16-bit Arithmetic for H.26L. Proc. ICIP, pages 489-492, 2002. [4] Fraunhofer Heinrich Hertz Institute. H.264/AVC reference software version JM 11.0. http://iphome.hhi.de/suehring/tml/. (Access date: 12/2006). Anais do I SPS UNICAMP Outubro de 2010 83 Sessão 7 - Processamento, Rastreamento e Codificação de Vídeo Combinação de Descritores Locais e Globais para Reconhecimento de Objetos em Vídeo Felipe Andrade , Ricardo Torres (Orientador) , Hélio Pedrini (Co-orientador) Instituto de Computação Universidade Estadual de Campinas (Unicamp) [email protected],[email protected],[email protected] Resumo – O processo de reconhecimento de objetos tem despertado bastante interesse de pesquisadores das áreas de visão computacional e processamento de imagens/vídeos, cujo objetivo principal é a determinação da identidade ou classe a qual um objeto pertence, bem como sua localização. Neste trabalho apresentamos uma abordagem que visa investigar diversos descritores locais e globais de imagens com aplicação em reconhecimento de objetos em sequências de vídeos, bem como a implementação de mecanismos para realizar a combinação de descritores no mesmo cenário. Palavras-chave: combinação, descritores, locais, globais, reconhecimento. 1. Introdução Avanços nas tecnologias de produção e armazenamento de objetos multimídia proporcionaram a disseminação de grandes coleções de imagens e vídeos. Neste cenário, buscar vídeos ou trechos de vídeos constituem uma das tarefas mais importantes demandadas nos últimos anos. Em geral, mecanismos de buscas podem se beneficiar da existência de algoritmos de reconhecimento de objetos em sequências de vídeo. O processo de reconhecimento de objetos é um tópico que tem despertado bastante interesse de pesquisadores das áreas de visão computacional e processamento de vídeos. O objetivo principal é a determinação da identidade ou classe a qual um objeto pertence, assim como sua localização. Diversas aplicações relevantes podem ser consideradas no uso de técnicas para reconhecimento de objetos: monitoramento de objetos em vídeos de vigilância, seguido da verificação de qualquer comportamento anômalo [4]; recuperação por conteúdo, na qual por exemplo, deseja-se encontrar uma sequência de vídeo que contém um determinado objeto de interesse (por exemplo, um carro em alta velocidade [7]); e em muitas outras aplicações industriais, militares e médicas como interação humano-computador, navegação de veículos, anotação de vídeos, entre outros. No processo de aquisição, a informação do mundo real é tridimensional e projetada em sequências de imagens bidimensionais, constituindo um vídeo. O processo de reconhecimento é desafiador pois muitos objetos tridimensionais diferentes podem produzir uma mesma projeção bidimensional, bem como um mesmo objeto tridimensional pode produzir projeções bidimensionais muito diferentes. Além disso, em cenas naturais, diversos fatores podem dificultar o processo de reconhecimento, como posicionamento, ponto de vista, tamanho, distância, movimentação do objeto, iluminação, oclusão, ruído, entre outros. Tais dificuldades tornam o reconhecimento de objetos um problema de alto grau de complexidade em visão computacional. Para contornar estas dificuldades, uma abordagem recentemente adotada consiste na construção de um catálogo de características visuais heterogêneas, utilizando descritores locais e globais de imagens. O objetivo é a combinação das vantagens das características locais (sua robustez a cenas complexas) com a riqueza de informações das características globais [3]. Excelentes resultados foram reportados em aplicações voltadas para área de segurança. No entanto, identificam-se limitações na técnica proposta no que diz respeito aos seguintes aspectos: uso de apenas um descritor global e um detector/descritor local; não foi realizado estudo relacionado à avaliação do impacto do uso de diferentes detectores/descritores locais e globais; não exploração de técnicas de aprendizado na combinação de descritores, apesar de, estudos recentes terem demonstrado excelentes resultados no uso de técnicas de aprendizado de máquina na combinação de descritores em tarefas de classificação e recuperação de objetos digitais [2, 1]. Anais do I SPS UNICAMP Outubro de 2010 84 Sessão 7 - Processamento, Rastreamento e Codificação de Vídeo 2. Combinação de descritores de imagens utilizando GP Para a determinação de melhores funções de combinações de descritores locais e globais fazemos uso da técnica de programação genética. Programação genética é uma técnica da inteligência artificial para a solução de problemas baseados nos princípios da herança biológica e evolução. Nesse contexto, cada solução potencial é chamada de indivíduo em uma população. Um exemplo de indivíduo pode ser encontrado na Figura 1. Figura 1. Representação de um indivíduo GP (Extraído de [6]). Sobre essa população são aplicadas transformações genéticas, como crossover e mutações, com o intuito de criar indivíduos mais aptos (melhores soluções) em gerações subsequentes, ilustradas na Figura 2. Uma função de adequação (fitness) é utilizada para atribuir valores para cada indivíduo com o intuito de definir o seu grau de evolução. Figura 2. (a) Operação de crossover entre indivíduos. (b) Operação de mutação entre indivíduos. (Extraído de [6]) Em [1], a técnica de programação genética é explorada para combinar descritores e então encontrar o melhor peso para cada descritor. O uso de GP para combinação de descritores pode ser descrito da seguinte forma. Para um dado banco de imagens e um padrão de consulta fornecido pelo usuário, como uma imagem, o sistema retorna uma lista das imagens que são mais similares às características da consulta, de acordo com um conjunto de propriedades da imagem. Essas propriedades podem ser cor, textura ou forma e são representadas por descritores simples. Esses descritores são combinados usando um descritor composto DPG, onde a distância Anais do I SPS UNICAMP Outubro de 2010 85 Sessão 7 - Processamento, Rastreamento e Codificação de Vídeo DPG é uma expressão matemática representada como uma árvore de expressão, em que os nós não-folhas são operadores numéricos e os nós folhas são um conjunto composto de valores de similaridade definidos por diferentes descritores. Vale ressaltar que GP só havia sido utilizada para combinar descritores globais. O seu uso com descritores locais constitui um aspecto inovador desta pesquisa. Os descritores selecionados inicialmente durante o período de pesquisa foram BIC, EOAC, JAC, LAS, e steerable pyramids como descritores globais e sift e SURF como descritores locais. Estes descritores foram escolhidos devido aos bons resultados apresentados em [5], aonde uma descrição mais detalhada e devidas referências podem ser encontradas para cada descritor. A partir da escolha dos descritores está sendo feita a extração das características de algumas bases de imagens para a verificação da hipótese de que a combinação das características locais e globais obterá melhores resultados que cada uma delas isoladamente. A combinação das características será feita utilizando GP e avaliada no contexo de CBIR a partir das curvas de Precision X Recall de diversas consultas pré estabelecidas para determinadas bases de imagens. Uma vez obtidos estes resultados, as melhores combinações serão empregadas no arcabouço para reconhecimento de objetos apresentados a seguir. 3. Conclusões Neste trabalho pretendemos indicar as melhores combinações de descritores locais e globais de imagens na aplicação de reconhecimento de objetos em sequências de vídeo, servindo como contribuição para diversas aplicações atuais e para este tópico de visão computacional que possui bastante espaço para evoluir. Trabalhos recentemente apresentados serão tomados como base, como técnicas de combinação e avaliação de descritores para o desenvolvimento do projeto e avaliação dos métodos. Referências [1] Ricardo da S. Torres, Alexandre X. Falcão, Marcos A. Gonçalves, João P. Papa, Baoping Zhang, Weiguo Fan, and Edward A. Fox. A genetic programming framework for content-based image retrieval. Pattern Recognition, 42(2):283 – 292, 2009. Learning Semantics from Multimedia Content. [2] Fabio A. Faria. Uso de técnicas de aprendizagem para classificação e recuperação de imagens. Master’s thesis, Universidade Estadual de Campinas, 2010. [3] Valérie Gouet-Brunet and Bruno Lameyre. Object recognition and segmentation in videos by connecting heterogeneous visual features. Computer Vision and Image Understanding, 111(1):86 – 109, 2008. Special Issue on Intelligent Visual Surveillance (IEEE). [4] K. Mehmood, M. Mrak, J. Calic, and A. Kondoz. Object tracking in surveillance videos using compressed domain features from scalable bit-streams. Signal Processing: Image Communication, 24(10):814 – 824, 2009. [5] Otavio A. B. Penatti. Estudo comparativo de descritores para recuperação de imagens por conteúdo na Web. Master’s thesis, Universidade Estadual de Campinas, 2009. [6] Jefersson A. Santos. Reconhecimento semi-automático e vetorização de regiões em imagens de sensoriamento remoto. Master’s thesis, Universidade Estadual de Campinas, 2009. [7] Rene Visser, Nicu Sebe, and Erwin M. Bakker. Object recognition for video retrieval. In CIVR ’02: Proceedings of the International Conference on Image and Video Retrieval, pages 262–270, London, UK, 2002. Springer-Verlag. Anais do I SPS UNICAMP Outubro de 2010 86 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens Processando Sinais e Evidências: Desafios em Computação Forense Digital Ewerton Almeida Silva , Anderson Rocha Reasoning for Complex Data Lab. (RECOD) Instituto de Computação Universidade Estadual de Campinas (Unicamp) [email protected],[email protected] Resumo – Este artigo tem como objetivo apresentar algumas técnicas de Processamento de Sinais e Processamento de Imagens que podem ser aplicadas na Análise Forense de Documentos. Examinaremos os principais problemas relativos a questões forenses, tais como detecção de manipulações em documentos digitais, atribuição de dispositivo de captura e identificação de criações sintéticas, e mostraremos a utilização de métodos de processamento de sinais e imagens nas abordagens pesquisadas. Palavras-chave: Processamento de Sinais, Processamento de Imagens, Análise Forense de Documentos. 1. Introdução Os avanços tecnológicos evidenciados em dispositivos de captura de imagens e em ferramentas de software para edição destas têm facilitado a confecção de documentos digitais contendo alterações indevidas. Tais alterações visam melhorar a qualidade do documento ou, mesmo, enganar os seus observadores. Ferramentas de software como Adobe Photoshop e GIMP fornecem os meios para a criação de tais adulterações que se tornam, cada vez mais, difíceis de detectar, mesmo a indivíduos experientes. Nesse contexto, o campo da Análise Forense de Documentos (AFD) têm ganho destaque. Os maiores esforços de pesquisa em AFD envolvem a criação de técnicas para identificar: (i) a presença de manipulações em documentos digitais, (ii) o dispositivo de captura utilizado e (iii) documentos gerados em computador [4]. Neste artigo, apresentamos e discutimos como algumas técnicas de processamento de sinais e imagens podem ser aplicadas em Análise Forense de Documentos. Examinamos alguns problemas relativos a questões forenses, tais como detecção de manipulações em documentos digitais, atribuição de dispositivo de captura e identificação de criações sintéticas, e mostramos como métodos de processamento de sinais e imagens podem ser empregados na solução de tais problemas. Este trabalho está organizado da seguinte forma: A Seção 2. apresenta os desafios da Análise Forense de Documentos. A Seção 3. discute como os métodos de processamento de sinais e imagens são usados em algumas abordagens da literatura. Finalmente, a Seção 4. apresenta algumas considerações finais. 2. Desafios da Análise Forense de Documentos Nesta seção, expomos alguns desafios e esforços de pesquisa em AFD. Em primeiro lugar, damos atenção à identificação de manipulações digitais em imagens na Seção 2.1.. Em seguida, na Seção 2.2., cobrimos o aspecto da atribuição de dispositivo de captura de uma imagem. Por fim, na Seção 2.3., abordamos o problema da identificação de documentos gerados em computador. 2.1. Detecção de Manipulações em Documentos Digitais Uma manipulação num documento digital (e.g., imagem) pode visar a simples melhoria da qualidade ou, ainda, ludibriar os observadores do documento para que eles obtenham uma compreensão incorreta deste. Operações que envolvem combinações locais de pixels são aquelas de nosso interesse. Alguns tipos de modificações são: composição, cópia-colagem, ajuste fino de bordas e de iluminação, retoque e conciliação, entre outros [4]. Anais do I SPS UNICAMP Outubro de 2010 87 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens 2.2. Atribuição de Fonte A atribuição de fonte consiste na identificação do dispositivo usado na captura de uma imagem (e.g., câmera digital, scanner etc.) com propósitos forenses [5]. O sucesso das técnicas para identificação do dispositivo de aquisição parte do princípio de que as imagens analisadas exibem certas características intrínsecas aos dispositivos que as capturam. Essas características são vinculadas ao processo de aquisição e geração da imagem dentro do dispositivo e de artefatos que são deixados pelos diversos componentes que compõem esse processo [6]. Distorções na lente, algoritmo de interpolação CFA (usado para estimar a intensidade de pixels), pixels mortos e/ou congelados e ruídos inseridos no processo de captura são alguns dos artefatos frequentemente analisados. 2.3. Identificação de Criações Sintéticas A distinção de imagens em duas classes (naturais e geradas artificialmente em computador) é um desafio que vem sendo dificultado, gradativamente, com a melhoria dos algoritmos para renderização de objetos, pessoas, cenas e outros modelos sintéticos com alto grau de realismo. Dessa forma, identificar computacionalmente se uma imagem corresponde a uma cena natural ou a uma cena produzida sinteticamente se torna importante, em virtude de, visualmente, a diferenciação entre as classes ser de difícil realização [6]. A seguir, mostramos algumas técnicas para auxiliar na solução desses desafios. 3. Técnicas de Processamento de Sinais e Imagens Aplicadas em Forense Os desafios apresentados na Seção 2. têm sido estudados em detalhes e, devido a isso, várias abordagens foram propostas para resolvê-los. Nesta seção, decrevemos algumas das principais abordagens da literatura baseadas em duas técnicas muito usadas em processamento de sinais e imagens: a Transformada de Fourier (Seção 3.1.) e a Decomposição Wavelet (Seção 3.2.). 3.1. Transformada de Fourier A Transformada de Fourier é empregada por Popescu e Farid [3] como um mecanismo auxiliar na determinação do algoritmo de interpolação CFA (Color Filter Arrays) utilizado nos estágios iniciais do processo de aquisição de uma imagem por uma câmera digital. Dado que os algoritmos de interpolação de cor usados por dois ou mais dispositivos podem divergir (e.g., bicúbico e bilinear), a identificação do método utilizado pode auxiliar na tarefa de atribuição do modelo do dispositivo que capturou uma imagem. Os autores propõem o uso do algoritmo de Esperança/Maximização (EM) para estimar os parâmetros da interpolação utilizada. Os resultados da aplicação do método são os mapas de probabilidades de cada imagem. Para cada mapa, o espectro de Fourier é computado visando a localização facilitada de padrões de correlação que indicam o algoritmo de interpolação empregado. Os autores também propõem a utilização da técnica formulada na detecção e localização de manipulações (e.g., composição e operações de pósprocessamento) em imagens. O objetivo da computação do espectro de Fourier, neste caso, é a análise dos picos de frequência que indicam a existência de padrões periódicos nas regiões que não sofreram adulterações. Esses padrões são inseridos pela interpolação e podem ser destruídos com a aplicação de operações de pós-processamento. 3.2. Decomposição Wavelet A decomposição Wavelet é uma técnica empregada com frequência na literatura de AFD. Ela fornece uma estratégia para analisar um documento digital (uma imagem) em várias escalas e orientações. Essa abordagem favorece a diminuição do número de operações e, possivelmente, comparações realizadas nos métodos que a utilizam. A Figura 3.2. ilustra a aplicação da decomposição Wavelet em uma imagem. Alguns trabalhos usam decomposição Wavelet na proposição de métodos para detecção de manipulações de cópia-colagem em imagens digitais. Tal manipulação é caracterizada pela cópia de segmentos da imagem e a colagem destes em outras regiões da própria imagem, com a finalidade de esconder objetos. Myna et al. [2], por exemplo, propõem aplicar a decomposição Wavelet recursivamente na sub-banda LL da Anais do I SPS UNICAMP Outubro de 2010 88 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens imagem até um nível especificado. A imagem é decomposta um certo número de vezes e depois examinada de maneira bottom-up partindo-se da menor até a sua maior resolução (a imagem original). Para encontrar possíveis regiões duplicadas, um bloco é deslizado sobre cada sub-banda LL da imagem e a informação de cada bloco é mapeada para coordenadas log-polares para comparações posteriores. De maneira semelhante, é possível utilizar a decomposição Wavelet na identificação de criações sintéticas. O método descrito por Lyu e Farid [1] emprega decomposição multiescala de imagens coloridas. Os autores propõem a coleta de um conjunto de quatro métricas estatísticas (média, variância, moda e curtose) a partir dos histogramas de cada sub-banda com relação às diferentes escalas e orientações. Um segundo conjunto de estatísticas é coletado a partir da informação das sub-bandas em cada canal. Estas estatísticas são usadas na definição de descritores para cada imagem, os quais são utilizados em conjunto com técnicas de aprendizado de máquina na categorização destas em duas classes: naturais ou sintéticas. Figura 1. Decomposição Wavelet de uma imagem. A sub-banda recursiva LL encontra-se no canto esquerdo superior (L). (Retirada de [5]). 4. Conclusões Neste artigo, focamos a relação entre os desafios da Análise Forense de Documentos e métodos de processamento de sinais e imagens. Discutimos esses desafios e apresentamos algumas abordagens da literatura da área que utilizam a Transformada de Fourier e a Decomposição Wavelet. Apesar de termos apresentado uma abordagem para cada desafio, é necessário enfatizar que muitos outros enfoques da literatura fazem uso desses métodos comuns em processamento de imagens e sinais, por vezes combinando-os no desenvolvimento de técnicas forenses mais eficazes e precisas. Finalmente, ressaltamos que este trabalho está vinculado a uma pesquisa maior em andamento no nosso laboratório Reasoning for Complex Data (RECOD), no Instituto de Computação (Unicamp). Nesta pesquisa, objetivamos desenvolver uma biblioteca forense contendo novos métodos mais eficazes para detecção de cópia-colagem, composições, criações sintéticas e outras. Temos, como potenciais utilizadores da biblioteca, a Polícia Federal e a Polícia Técnico-Científica do Estado de São Paulo. Referências [1] Siwei Lyu and Hany Farid. How realistic is photorealistic? IEEE Transactions on Signal Processing (TSP), 53(2):845–850, 2005. [2] A. N. Myna, M. G. Venkateshmurthy, and C. G. Patil. Detection of region duplication forgery in digital images using wavelets and log-polar mapping. In Intl. Conference on Computational Intelligence and Multimedia Applications (ICCIMA), pages 371–377, 2007. [3] Alin C. Popescu and Hany Farid. Exposing digital forgeries in color filter array interpolated images. IEEE Transactions on Signal Processing (TSP), 53(10):3948–3959, 2005. [4] Anderson Rocha and Siome Goldenstein. Atualizações em Informática (2010), chapter CSI: Análise Forense de Documentos Digitais, pages 263–317. Sociedade Brasileira de Computação (SBC), Belo Horizonte, Brazil, 1 edition, July 2010. [5] Anderson Rocha, Walter Scheirer, Terrance E. Boult, and Siome Goldenstein. Vision of the unseen: Current trends and challenges in digital image and video forensics. ACM Computing Surveys (CSUR), (To Appear), 2011. [6] Taha Sencar and Nasir Memon. Overview of State-of-the-art in Digital Image Forensics, chapter Statistical Science and Interdisciplinary Research. World Scientific Press, 2008 (In press). Anais do I SPS UNICAMP Outubro de 2010 89 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens Melhoria da Atratividade de Faces em Imagem Tatiane Silvia Leite, Lucas Carrilho Pessoa, José Mario De Martino Departamento de Engenharia de Computação e Automação Industrial Faculdade de Engenharia Elétrica e de Computação Universidade Estadual de Campinas (Unicamp) [email protected], [email protected], [email protected] Resumo – Este trabalho tem como objetivo a implementação de um sistema automático de manipulação e transformação de imagens visando o aumento da atratividade de faces apresentadas em imagens. Para isso será feito o levantamento de uma base de dados com rostos, tanto masculinos quanto femininos, que deverão ser avaliados por um grupo de pessoas segundo o seu grau de atração. Além da classificação, em todas as faces serão identificados pontos e regiões de interesse para o levantamento de medidas consideradas relevantes para caracterizar as dimensões, proporções e distâncias relativas entre os elementos faciais. Com os parâmetros faciais e a informação de atratividade, será estabelecido um conjunto de treinamento a ser usado nos algoritmos de aprendizagem para definir mecanismos de aprimoramento de imagens das faces baseadas em técnicas de warping. Com os resultados obtidos por esse sistema, o projeto vislumbra não apenas avaliar as limitações dos algoritmos empregados, como também o conceito de universalidade de beleza, e clarificar a existência de características comuns para atração facial, pelo menos dentro do grupo pesquisado. Palavras-chave: processamento de imagens, aprendizado supervisionado, atratividade facial 1. Introdução A atração facial vem sendo estudada por diversas áreas de conhecimento, como a psicologia, medicina e também a computação. Alguns estudos apontam que existe uma noção universal sobre a beleza, que vai além das etnias, idade e sexo, e que, dessa forma, há uma concordância comum entre a maioria das pessoas quanto a um conjunto de características faciais consideradas mais atraentes [3, 6]. Nessa mesma linha, outros estudos revelam que crianças sentem-se mais atraídas por rostos considerados mais atraentes pelos adultos, independentemente do sexo, raça ou idade [4, 5], o que demonstra que o conceito de beleza pode ser considerado independente de aspectos sociais adquiridos durante a vida. A publicidade também tem feito uso da beleza para atrair olhares. Dificilmente as fotos de modelos em capas de revista hoje não são digitalmente manipuladas pela mão de um talentoso artista. Esta manipulação em geral não se restringe a alterações de cor e textura, mas também a remoção de rugas e alterações na geometria das características faciais. É interessante, portanto, que existam ferramentas automáticas que aumentem o potencial do artista e façam sugestões de embelezamento dos rostos baseados em estudos estatísticos e métodos formais. O projeto proposto consiste no desenvolvimento de um sistema que busca aperfeiçoar os traços dos rostos de pessoas, mas com a preocupação de manter o novo rosto inconfundível com o original. Fatores como o apelo mercadológico e a idéia da existência de características capazes de descrever a atratividade facial realçam a importância desse tipo de trabalho. O sistema proposto neste projeto empresta conceitos de um sistema desenvolvido[1]. A estrutura do projeto pode ser visto na Figura 1. Figura 1. Estrutura do sistema. Anais do I SPS UNICAMP Outubro de 2010 90 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens 2. Trabalhos Relacionados As técnicas propostas por Leyvand e colegas [1], tem como objetivo aumentar o apelo estético dos rostos em fotografias, mantendo semelhança com o formato original. Partindo de uma base de imagens, estes rostos têm suas características extraídas e utilizadas no aprendizado de máquinas, para que seja possível obter novas medidas, mais atraentes, para uma imagem fora do conjunto de treinamento. O trabalho [2] também é relevante no contexto do presente trabalho, já que apresenta um previsor automático de atratividade facial, com base em técnicas de aprendizado supervisionado. O tema abordado por este trabalho também é amplamente explorado em psicologia. Estudos como o de simetria facial [7] e composição de face pela média dos rostos da base de imagens [8, 9] apresentam contribuições para essa busca pelo aumento da atração dos rostos. Trabalhos como [3], indicam que existe uma noção universal de beleza que vai além da cultura, etnia ou classe social. Assim como [4, 5], que apresenta a preferência de crianças por rostos que apresentam maior atração. Neste projeto é necessário automatizar o processo de extração de pontos de interesse. Os elementos do rosto a serem localizados são: olhos, sobrancelhas, lábio (separando a parte superior da inferior), nariz e contorno da face. Existe uma vasta literatura na área de extração de pontos de interesse [11, 12]. Uma técnica amplamente usada, não apenas para extração de pontos em imagens médicas, mas também para extração de pontos em faces é a técnica denominada “Active Shape Model” (ASM) [10]. Ela é caracterizada por usar modelos estatísticos que descrevem a forma do objeto a ser analisado. Como as fotos serão obtidas em um ambiente controlado, poderão ser utilizados métodos de extração de pontos baseados na estatística de luminosidade da imagem e conhecimento prévio de informações sobre a imagem, como a existência de 2 olhos, 2 sobrancelhas, nariz, boca, bem como suas posições relativas [16]. Para obter o grau de atração de um rosto será necessário utilizar as características dos rostos como conjunto de treinamento para o SVR (Support Vector Regression) [13]. Este é um tipo de Support Vector Machine (SVM) que faz parte do chamado aprendizado supervisionado, um ramo de aprendizagem estatística. O SVR parte de uma série de exemplos e, a partir desta série, toma decisões e prevê novos valores. Para realizar a geração de uma nova imagem existem várias técnicas disponíveis; a de maior interesse para este projeto é baseada em função de base radial [14, 15], que permite que os pontos sejam remapeados, obtendo assim as novas proporções desejadas para o rosto. Dado que este trabalho é composto de várias etapas, cada uma destas será analisada e avaliada com o objetivo de se encontrar novas técnicas que possam ser usadas para melhorar o resultado, ou mesmo otimizar o processo final. 3. Abordagem A primeira etapa do projeto consiste na obtenção de fotos digitais para criação de uma base de dados. Essa base deve conter fotos de rostos tanto masculinos quanto femininos com idade entre 20 e 30 anos. As fotos dos rostos serão tiradas na posição frontal. Todas as fotos dessa base deverão ser avaliadas por um outro grupo de pessoas. Esta avaliação consistirá em classificar o grau de atração dos rostos, ou seja, para cada rosto será atribuída uma nota conforme esse grau. Concluída a avaliação do grupo, os rostos receberão como grau de atração a média das notas recebidas. Além da nota, em todos os rostos deverá ser identificado o mesmo conjunto de pontos de interesse, conhecidos como feature points. Estes pontos serão extraídos considerando os elementos faciais presentes em todos os rostos, como olhos, sobrancelhas, nariz, boca e contorno da face. Estes elementos, além de possuírem uma disposição comum, em geral possuem características que permitem diferenciá-los e reconhecêlos na face. A partir da identificação desses pontos, são levantados os valores das distâncias entre eles, responsáveis por representar as proporções existentes nos rostos. Tanto as distâncias obtidas, quanto os respectivos graus de avaliação dos rostos servirão para construir o chamado conjunto de treinamento do sistema. Concluída a primeira etapa do projeto, a próxima fase trata de construir o mecanismo de melhoria da atratividade facial propriamente dito. Essa parte do sistema tem como entrada as fotos a serem melhoradas e o conjunto de treinamento criado anteriormente contendo a base de imagens com seus respectivos graus de atração e medidas. O núcleo desse mecanismo está baseado em duas técnicas de aprendizado: a SVR (Support Vector Regression), e a KNN (K-Nearest Neighbor), ambas utilizando o mesmo conjunto de treinamento. Com a técnica de SVR será possível criar um modelo Anais do I SPS UNICAMP Outubro de 2010 91 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens com uma função capaz de avaliar o rosto fora do conjunto de treinamento. E com a técnica de KNN os rostos de entrada terão suas medidas modificadas conforme os seus K-vizinhos mais próximos, ponderados de forma proporcional às suas notas de atratividade. O objetivo final é fazer com que as novas distâncias obtidas nos rostos tenham uma nota maior do que a do rosto original. É importante destacar que as distâncias devem sofrer alterações sutis, de modo que o retrato resultante mantenha uma forte semelhança com o original. A última parte do processo consiste em aplicar as modificações encontradas previamente na imagem alvo, mapeando os pontos de interesse para as novas posições encontradas. Essa parte do sistema se baseará na técnica de warping utilizando função de base radial. A técnica de warping é responsável por distorcer a imagem original, reposicionando os pontos de interesse nas posições que irão maximizar a nota de atratividade da imagem alvo. A técnica de warping permite que as distorções sejam suaves e que as regiões ao redor dos pontos de interesse também sejam influenciadas. 4. Conclusão A pesquisa proposta envolve um tema que desde sempre despertou o interesse das pessoas e se tornou ainda mais evidente atualmente, a aparência, a empatia do rosto e sua atratividade são aspectos importantes não apenas na vida social, profissional, como também podem ser usados como recursos para criar um interlocutor que trabalhe como facilitador, e desperte o interesse do grupo aplicado. Muitas pesquisas seguem a linha de busca pela atratividade facial, pela beleza e seus padrões, mas ainda há muita contribuição a ser dada na área, já que envolve não apenas conhecimento técnico, mas também outros aspectos como culturais, psicológicos, temporais, etc. Assim ao obter as imagens resultantes do processo, será possível avaliar a eficácia do sistema e as limitações dos algoritmos empregados. Analisar se dentro da base de imagens proposta existem características comuns para atração facial e como estas características podem estar relacionadas ao conceito universal de beleza. Dessa forma será possível propor novas abordagens afim de melhorar ainda mais o sistema desenvolvido ou mesmo ampliar sua área de abrangência que atualmente se limita a base de dados constituídas de brasileiros na faixa etária de 20 a 30 anos de idade. Referências [1] Tommer Leyvand, Daniel Cohen-Or, Gideon Dror, and Dani Lischinski. Data-driven enhancement of facial attractiveness. In SIGGRAPH ’08: ACM SIGGRAPH 2008 papers, pages 1-9, Los Angeles, California, 2008. ACM. [2] EISENTHAL, Y., DROR, G., AND RUPPIN, E. 2006. Facial attractiveness: Beauty and the machine. Neural Computation 18, 1, 119–142. [3] Michael R. Cunningham, Alan R. Roberts, Anita P. Barbee, and Perri B. Druen. ”Their ideas of beauty are, on the whole, the same as ours”: Consistency and variability in the cross-cultural perception of female physical attractiveness. Journal of Personality and Social Psychology, 68(2): 261–279, 1995. [4] J. H. Langlois, L. A. Roggman, R. J. Casey, J. M. Ritter, L. A. Rieser-Danner, and V. Y. Jenkins. Infant preferences for attractive faces: rudiments of a stereotype? Developmental psychology, 23(3): 363–369, 1987. [5] A Slater. Newborn infants prefer attractive faces. Infant Behavior and Development, 21(2): 345– 354, 1998. [6] D. I. Perrett, K. A. May, and S. Yoshikawa. Facial shape and judgements of female attractiveness. Nature, 368(6468): 239–42, 1994. [7] Perrett, D. I., Burt, D. M., Penton-Voak, I. S., Lee, K. J., Rowland, D. A., & Edwards, R. (1999). Symmetry and human facial attractiveness. Evolution and Human Behavior, 20, 295–307. [8] Langlois, J. H., & Roggman, L. A. (1990). Attractive faces are only average. Psychological Science, 1, 115–121. [9] O’Toole, A. J., T. Price, T. Vetter, J. C. Bartlett, & V. Blanz (1999). 3D shape and 2D surface textures of human faces: The role of “averages” in attractiveness and age. Image and Vision Computing, 18, 9–19. [10] T. F. Cootes, C. J. Taylor, D. H. Cooper, and J. Graham. Active shape models: their training and application. Computer vision and image understanding, 61(1): 38–59, 1995. Anais do I SPS UNICAMP Outubro de 2010 92 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens [11] D.J. Kriegman and N. Ahuja. Detecting faces in images: a survey. IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(1): 34–58, 2002. [12] W. Zhao, R. Chellappa, P. J. Phillips, and A. Rosenfeld. Face recognition: A literature survey. ACM Computing Surveys, 35(4): 399–458, 2003. [13] JOACHIMS, T. 1999. Making large-scale SVM learning practical. In Advances in kernel methods: support vector learning. MIT Press, Cambridge, MA, USA, 169–184. [14] Nur Arad, Nira Dyn, Daniel Reisfeld, and Yehezkel Yeshurun. Image Warping by Radial Basis Functions: Application to Facial Expressions. CVGIP: Graphical Models and Image Processing, 56(2):161–172, March 1994. [15] G. Wolberg. Digital Image Warping. IEEE Computer Society Press, Los Alamitos, CA, USA, 1994. [16] D. Chai, King N. Ngan. Face Segmentation Using Skin-Color Map in Videophone Applications. IEEE Transactions on Circutis and Systems for Video Technology. Vol. 9. NO. 4, June 1999. Anais do I SPS UNICAMP Outubro de 2010 93 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens Detecção de Bordas e Cantos em Imagens a partir de Módulos Máximos e Direções de Coeficientes da Transformada Shearlet Ricardo Dutra da Silva , Hélio Pedrini (Orientador) Instituto de Computação Universidade Estadual de Campinas (UNICAMP) [email protected],[email protected] Resumo – Bordas e cantos são características importantes para a descrição e análise de objetos em imagens. As transformadas Wavelets difundiram o uso de técnicas multiescala em processamento de imagens, permitindo a extração de características em diferentes resoluções. Mais recentemente, transformadas como Curvelets, Contourlets e Shearlets têm recebido crescente interesse como alternativas ao uso de Wavelets. Este trabalho apresenta algumas potencialidades da transformada Shearlet para detecção de bordas e cantos em imagens. Palavras-chave: detecção de bordas, detecção de cantos, transformada shearlet. 1. Introdução Bordas e cantos são singularidades de imagens que contêm informações úteis relacionadas com objetos, motivo pelo qual sua detecção é uma das tarefas primárias para aplicações em processamento de imagens e visão computacional, incluindo reconhecimento de objetos, recuperação de imagens por conteúdo e correspondência entre imagens estéreo. Métodos de detecção multiescala permitem a extração de características em diferentes níveis de resolução, o que possibilita combinar robustez e construção incremental dos resultados. A teoria multiescala baseada em Wavelets recentemente evoluiu com a criação de transformadas como Curvelets, Contourlets e Shearlets, que possuem melhor adaptabilidade para sinais multidimensionais. Este trabalho aborda a aplicação das transformadas Shearlets para detecção de bordas e cantos a partir de módulos máximos e direções dos seus coeficientes. 2. Revisão Esta seção apresenta uma revisão dos tópicos relacionados com transformadas Shearlets e detecções de bordas e cantos. 2.1. Shearlets Wavelets são eficazes para a caracterização de singularidades em sinais unidimensionais, no entanto, elas possuem deficiências para lidar com sinais bidimensionais. A transformada Wavelet bidimensional é obtida pela aplicação unidimensional da transformada nas direções vertical e horizontal, o que a torna deficiente na identificação de singularidades em outras direções. Para superar tal problema, novas teorias, como Curvelets, Contourlets e Shearlets, foram propostas com o objetivo de melhorar direcionalmente a resposta das transformações. Os autores do artigo [1], juntamente com outros colaboradores, introduziram a Shearlet para a representação geométrica de dados multidimensionais. As Shearlets dependem de parâmetros de escala (s), cisalhamento (c) e translação (t), sendo expressas como −1 ψs,c,t (x) = s−3/4 ψ((Ds,c (x − t))) (1) em que Ds,c é a matriz para transformação afim de escala e cisalhamento. Informações adicionais sobre a teoria podem ser encontradas em [1]. Anais do I SPS UNICAMP Outubro de 2010 94 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens 2.2. Bordas Diversos métodos baseados em multirresolução têm sido desenvolvidos baseados em transformadas Wavelets, com ou sem decimação [7]. Em comum, destaca-se o uso de gradientes, calculados como a soma dos quadrados dos coeficientes de detalhes verticais e horizontais. Isso se deve à observação, feita por Mallat e Zhong [6], de que a identificação de bordas pelo método de Canny é equivalente a detectar os máximos locais da transformada Wavelet. A orientação é obtida a partir das componentes horizontais e verticais da transformada. As dificuldades de direcionalidade das Wavelets vêm sendo exploradas em trabalhos como [9], que constrói Wavelets direcionais. Usando as novas teorias de decomposição, Geback e Koumoutsakos [4] mostram que as Curvelets são úteis para tarefas como remoção de ruído e detecção de bordas. Yi et al. [8] comparam Shearlets e Wavelets, demonstrando a superioridade das primeiras. Uma outra vantagem de métodos como Curvelets e Shearlets é que a informação de direção está disponível diretamente e é mais precisa. 2.3. Cantos Cantos são bastante úteis para a descrição de objetos. As detecções podem ser computadas usando padrões pré-definidos, baseando-se em contornos ou diretamente em informações de intensidade. A partir de Wavelets, assim como em bordas, é possível realizar a identificação calculando os módulos máximos e direções dos coeficientes. Lee et al. [5] descrevem um algoritmo baseado nos módulos máximos das Wavelets para detectar cantos e arcos. Em [2], um método usando Dual Tree Complex Wavelet Transform é apresentado para contornar o problema de direcionalidade das Wavelets. Outro método multidirecional, descrito em [3], extrai medidas de gradiente através de transformadas log-Gabor Wavelets. 3. Metodologia Nesta seção é apresentada uma metodologia baseada em módulos máximos e direções da transformada Shearlet para identificação de bordas e cantos em imagens. A transformada implementada usa pirâmide Laplaciana para multirresolução, como descrito em [1]. No nível l de decomposição Shearlet, são geradas nl subbandas de detalhes com direções θd (d = 1 . . . nl ). A imagem Ml de módulos dos coeficientes, no nível de decomposição l, é obtida calculando a Equação 2 para cada posição (x, y) de Ml , onde Sl,θd (x, y) representa o coeficiente (x, y) no nível l e direção θd . v u nl uX Ml (x, y) = t Sl,θd (x, y)2 (2) d=1 Os valores (x, y) da imagem de direções Dl , no nível l, são obtidos pela Equação 3, ou seja, é a direção θd do maior coeficiente absoluto dentre os coeficientes Sl,θd (x, y) (d = 1 . . . nl ) . nl arg max(|(Sl,θd (x, y)|) (3) d=1 Para a extração das bordas é realizado um processo como o do método de Canny. Os valores locais não máximos de Ml são suprimidos considerando o vetor normal ao vetor obtido por Dl . O resultado obtido é limiarizado usando histerese para a obtenção do mapa de bordas. A extração dos cantos é realizada primeiramente limiarizando a imagem Ml para adquirir posições (x, y) candidatas a canto. Uma posição candidata é considerada canto se a diferença Sl,θi (x, y) − Sl,θj (x, y) entre os dois maiores coeficientes absolutos de índices i e j for pequena e o menor ângulo entre θi e θj for grande. 4. Resultados A metodologia para detecção de bordas foi testada usando imagens reais. A transformada Shearlet foi realizada pelo filtro spline, utilizando-se três níveis de decomposição e oito direções. O menor e o maior Anais do I SPS UNICAMP Outubro de 2010 95 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens limiares da histerese foram calculados, respectivamente, como T1 = µMl e T2 = µMl + ασMl , em que µMl é a média de Ml , σMl é o desvio padrão de Ml e α = 1.5. A Figura 1 mostra o conjunto de bordas para os três níveis de decomposição da imagem peppers. (a) original (b) terceiro nível (c) segundo nível (d) primeiro nível Figura 1. Detecção de bordas em três níveis da transformada Shearlet. Para a detecção de cantos foi realizada uma análise inicial da potencialidade do método. O perfil dos coeficientes da transformada Shearlet foi verificado pelo módulo dos coeficientes e de suas direções. A Figura 2 mostra o perfil dos coeficientes para um canto. Os dois picos mostram as respostas dos coeficientes em duas direções diferentes, caracterizando um canto. Figura 2. Perfil, em oito direções, dos coeficientes Shearlets correspondentes a um canto. 5. Conclusões Neste trabalho foram descritas as características das transformadas Shearlets e suas potencialidades para a detecção de bordas e cantos em imagens. O uso dos módulos máximos e das direções dos coeficientes da transformada Shearlet é eficaz para a detecção de bordas e mostra-se promissor para a detecção de cantos. Referências [1] G. Easley, D. Labate, and W.-Q. Lim. Sparse Directional Image Representations Using the Discrete Shearlet Transform. Applied and Computational Harmonic Analysis, 25(1):22–46, 2008. [2] J. Fauqueur, N. G. Kingsbury, and R. Anderson. Multiscale Keypoint Detection Using the Dual-Tree Complex Wavelet Transform. In ICIP, pages 1625–1628, Atlanta, Georgia, USA, 2006. IEEE. [3] X. Gao, F. Sattar, and R. Venkateswarlu. Multiscale Corner Detection of Gray Level Images Based on Log-Gabor Wavelet Transform. IEEE Transactions on Circuits and Systems for Video Technology, 17(7):868–875, 2007. [4] T. Geback and P. Koumoutsakos. Edge Detection in Microscopy Images Using Curvelets. BMC Bioinformatics, 10(1):75, 2009. [5] J.-S. Lee, Y.-N. Sun, and C.-H. Chen. Multiscale Corner Detection by Using Wavelet Transform. Transactions on Image Processing, 4(1):100–104, 1995. [6] S. Mallat and S. Zhong. Characterization of Signals from Multiscale Edges. IEEE Transactions on Pattern Analysis and Machine Intelligence, 14(7):710–732, 1992. [7] M.-Y. Shih and D.-C. Tseng. A Wavelet-Based Multiresolution Edge Detection and Tracking. Image Vision Computing, 23(4):441–451, 2005. [8] S. Yi, D. Labate, G. R. Easley, and H. Krim. Edge Detection and Processing Using Shearlets. International Conference on Image Processing (ICIP), 57(8):1148–1151, 2008. [9] Z. Zhang, S. Ma, H. Liu, and Y. Gong. An Edge Detection Approach Based on Directional Wavelet Transform. Computers & Mathematics with Applications, 57(8):1265–1271, 2009. Anais do I SPS UNICAMP Outubro de 2010 96 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens Implementação de um algoritmo de watershed utilizando CUDA André Körbes 1 , Giovani Bernardes Vitor 2 Roberto de Alencar Lotufo (Orientador) 1 1 Departamento de Engenharia da Computação e Automação Industrial Faculdade de Engenharia Elétrica e Computação 2 Departamento de Mecânica Computacional Faculdade de Engenharia Mecânica Universidade Estadual de Campinas (Unicamp) [email protected],[email protected],[email protected] Resumo – Este artigo desenvolve um algoritmo paralelo para a transformada watershed utilizando GPU. As propostas existentes e a arquitetura existente são apresentadas e alguns de seus elementos são discutidos. O algoritmo utilizado nesta implementação possui 4 passos, cada um com uma tarefa, utilizando abordagens diferentes, inspiradas por técnicas que melhor aderem ao problema e à arquitetura. A implementação utilizando CUDA é discutida, e os tempos de execução são mensurados e comparados à execução sequencial em CPU, atingindo uma aceleração de duas vezes. Este trabalho se baseia em resultados prévios de abordagens híbridas e com diversos passos de sincronização entre CPU e GPU. Palavras-chave: transformada watershed, implementação GPU, CUDA. 1. Introdução A transformada watershed é uma ferramenta utilizada como parte de processos de segmentação de imagens como uma tarefa de rotulação de regiões. Desde sua introdução, esforços constantes têm sido feitos no sentido de melhorar seu desempenho, em arquiteturas sequenciais como o primeiro algoritmo rápido de Vincent e Soille [7] até os mais recentes de Osma-Ruiz et al. [6], tanto quanto em arquiteturas paralelas, com os fundamentos desenvolvidos por Moga et al. [4] até Galilée et al. [2] utilizando divisão de tarefas por pixels. Tais esforços, combinados com a disponibilidade de arquiteturas paralelas SPMD de baixo custo através de GPUs, junto com linguagens e bibliotecas acessíveis, sugerem uma nova abordagem na tarefa de aceleração dos algoritmos watershed. Desta forma, este trabalho busca o desenvolvimento de um algoritmo de transformada watershed adequado para processamento em GPU, desenvolvido utilizando a plataforma CUDA, através de 4 passos principais. Um algoritmo baseado na arquitetura SIMD (Single Instruction Multiple Data) foi proposto e implementado, adequando-o à arquitetura SPMD (Single Program Multiple Data), mais genérica, da GPU, tomando vantagem do paralelismo massivo deste hardware. O algoritmo implementado é testado com um conjunto de imagens e comparado ao algoritmo sequencial equivalente em funcionalidade, construído com base nos trabalhos de Osma-Ruiz et al. [6]. Este artigo está organizado da seguinte forma: a Seção 2. apresenta alguns conceitos da segmentação por transformada watershed. A Seção 3. apresenta conceitos referentes à programação GPU/CUDA. A Seção 4. discorre sobre os problemas resolvidos na implementação do algoritmo. A Seção 5. expõe os resultados obtidos nos experimentos, e por último a Seção 6. apresenta as conclusões deste trabalho. 2. Segmentação de Imagens por Transformada Watershed Utilizando diferentes abordagens, a transformada watershed é definida de diversas formas na literatura, cada uma das quais produzindo um conjunto diferente de resultados. Estas definições são baseadas em elementos globais, como zonas de influências e florestas de caminhos mínimos com custos como o máximo e a soma [3]. Entretanto, é possível também utilizar elementos locais, como os caminhos de máxima inclinação, onde apenas a informação dos vizinhos é utilizada. Esta definição é conhecida como condição local, ou LC-WT (de Local Condition Watershed Transform). Intuitivamente, esta definição imita uma gota d’água escorrendo sobre uma superfície até encontrar um mínimo regional. Todas as gotas que escorrerem para o Anais do I SPS UNICAMP Outubro de 2010 97 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens mesmo mínimo formam uma região única e conexa. Desta forma, menos passos de processamento global são necessário, requerindo portanto menos passos de sincronização e comunicação. Entretanto, deve-se ressaltar que esta forma de cálculo da transformada watershed não produz linhas com rótulos especiais entre as regiões. A transformada watershed pode ser utilizada em diversos contextos como ferramenta de segmentação. Seu uso geralmente está associado a um passo intermediário, após a remoção de ruídos, cálculo do gradiente e remoção de mínimos regionais, e precedendo uma posterior união de regiões por seus rótulos ou contornos. Assim, a transformada watershed se mostra versátil para tarefas como a segmentação de regiões por marcadores - criados ou não pelo usuário - até tarefas como a detecção de texturas simples. 3. Programação GPU/CUDA Os ganhos de desempenho e capacidade das GPUs em processamento gráfico, aliado a um forte interesse da comunidade científica em utilizar este hardware de forma a permitir o cálculo rápido de enormes massas de dados, forçou a evolução deste modelo de programação nos últimos anos. Conhecido por GPGPU, a programação de propósito geral na GPU, atinge uma ampla gama de aplicações de natureza paralela. Com a evolução do hardware, também houve a evolução da arquitetura interna e da camada de software, passando ao modelo SPMD acessível através da biblioteca CUDA, onde ocorre o isolamento de programas sobre blocos de dados a serem processados. Este modelo também é conhecido por paralelismo em nível de dados, e torna-se um fator importante na análise dos algoritmos antes de sua programação em GPU. Deve-se analisar a natureza do problema, e qual a melhor forma de adequá-lo ao modelo SPMD e SIMD - este último utilizado internamente a cada bloco de dados - e se isto é possível. Em alguns problemas, como no caso da transformada watershed, são necessários alguns passos de sincronização em relação a todos os blocos de processamento. Neste sentido, a biblioteca CUDA permite a fácil integração da linguagem C com o processamento na GPU através de diretivas especiais e um compilador especializado. O tópico de processamento em GPU é bastante amplo e envolve diversas questões, sendo o leitor direcionado aos guias de programação distribuídos com o ambiente de desenvolvimento CUDA [5]. 4. Algoritmo da Transformada Watershed e Implementação em CUDA O algoritmo implementado neste trabalho se utiliza de quatro passos principais para o cálculo da transformada watershed. Para seu desenvolvimento, foi buscada inspiração nos trabalhos de Bieniek e Moga [1] em relação ao armazenamento local de caminhos - e de Galilée et al. [2] - em relação à sincronização de informações entre vizinhos, especialmente a respeito das etapas de rotulação. Os quatro passos principais são: 1. Encontrar o menor vizinho de cada pixel e armazenar seu endereço; 2. Encontrar a borda mais próxima dos pixels internos às zonas planas, através de propagação uniforme; 3. Rotulação dos mínimos regionais pelo menor endereço do componente conexo; e 4. Rotulação dos pixels por compressão de caminhos. No programa CUDA, a imagem de entrada é tomada como uma grade dividida em blocos de 16x16 pixels, resultando em 256 threads por bloco, sendo carregada na memória de textura, e processada por 3 kernels - núcleos de processamento CUDA, disparados sucessivamente. Estes kernels necessitam um tratamento especial para considerar uma borda e sobreposição entre os dados de cada bloco, calculando de fato um bloco de 14x14 pixels. Desta forma, copiam-se estes dados para a memória compartilhada, e após o término do cálculo, de volta para a memória global, tomando precauções para não sobrepor resultados de borda. Anais do I SPS UNICAMP Outubro de 2010 98 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens 5. Experimentos A implementação desenvolvida foi testada com diversas imagens, em tamanhos variando de 64x64 a 2048x2048, e seu desempenho foi mensurado em cada passo. Os resultados foram obtidos em um computador com CPU AMD Phenom II X3 (2.6Ghz 7.5Mb Cache) com RAM de 4GB e GPU GeForce GTX295 com RAM de 1792Mb. Apenas um núcleo da GPU foi utilizado neste teste. CPU (ms) GPU (ms) Razão 64x64 0.55 1.52 0.36 128x128 2.17 1.94 1.11 256x256 8.92 3.54 2.52 512x512 35.04 12.62 2.78 1024x1024 138.54 50.85 2.72 2048x2048 564.36 284.96 1.98 Tabela 1. Comparação de desempenho entre GPU e CPU A análise da Tab. 1 deve ressaltar alguns pontos sobre o processamento na GPU. O primeiro é o fato de para imagens pequenas, até 128x128, as operações de memória representam um alto custo, que praticamente elimina as vantagens da paralelização. Uma vez as imagens crescendo de tamanho, este efeito é reduzido e a aceleração é percebida, obtendo-se uma média de 2.7, significando uma redução do tempo em mais da metade. Estes resultados são melhores do que os já previamente obtidos com uma proposta híbrida [8], porém ainda há espaço para melhora, especialmente no segundo passo. 6. Conclusões Este trabalho apresentou um algoritmo de transformada watershed com implementação na GPU utilizando as bibliotecas CUDA. Com esta implementação, se obteve uma aceleração de mais de duas vezes em comparação ao algoritmo sequencial utilizando informações locais. Procurou-se ressaltar também a necessidade de adaptação dos algoritmos e dos dados do problema à arquitetura GPU. Acreditamos que com a disseminação de arquiteturas de múltiplos núcleos, forma-se o ambiente para obtenção de grandes melhorias nos campos de processamento de imagens, utilizando algoritmos globais e complexos, tal como a transformada watershed. Referências [1] A. Bieniek and A. Moga. An efficient watershed algorithm based on connected components. Pattern Recognition, 33(6):907–916, 2000. [2] Bruno Galilée, Franck Mamalet, Marc Renaudin, and Pierre-Yves Coulon. Parallel asynchronous watershed algorithm-architecture. IEEE Transactions on Parallel and Distributed Systems, 18(1):44–56, 2007. [3] André Körbes. Análise de algoritmos da transformada watershed. Master’s thesis, Universidade Estadual de Campinas, Campinas, SP, Mar. 2010. [4] Alina Moga, Timo Viero, Bogdan Dobrin, and Moncef Gabbouj. Implementation of a distributed watershed algorithm. In J. Serra and P. Soille, editors, Mathematical morphology and its applications to image processing, volume 2, pages 281–288. Kluwer Academic Publishers, 1994. [5] NVIDIA. CUDA Programming Guide, 2.1, 2009. http://developer.download.nvidia. com/compute/cuda/2_1/toolkit/docs/NVIDIA_CUDA_Programming_Guide_2.1. pdf. [6] V. Osma-Ruiz, J. I. Godino-Llorente, N. Sáenz-Lechón, and P. Gómez-Vilda. An improved watershed algorithm based on efficient computation of shortest paths. Pattern Recognition, 40(3):1078–1090, 2007. [7] L. Vincent and P. Soille. Watersheds in digital spaces: An efficient algorithm based on immersion simulations. IEEE Transactions on Pattern Analysis and Machine Intelligence, 13(6):583–598, 1991. [8] Giovani Bernardes Vitor, Janito Vaqueiro Ferreira, and André Körbes. Fast image segmentation by watershed transform on graphical hardware. In Proceedings of the 30o CILAMCE, Armação dos Búzios, Brazil, Nov. 2009. Anais do I SPS UNICAMP Outubro de 2010 99 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens Processamento e análise de Imagens de Tensores de Difusão Leticia Rittner , Roberto A. Lotufo Departamento de Engenharia de Computação e Automação Industrial (DCA) Faculdade de Engenharia Elétrica e de Computação (FEEC) - UNICAMP [email protected],[email protected] Resumo – A aquisição de imagens de tensores de difusão (DTI - Diffusion Tensor Imaging) é uma técnica recente de ressonância magnética e vem sendo utilizada em estudos de conectividade do cérebro, planejamento cirúrgico e acompanhamento da evolução de doenças neuro-degenerativas. O objetivo deste trabalho é propor técnicas de processamento, análise e visualização de DTI utilizando operadores e conceitos da morfologia matemática. Palavras-chave: processamento de imagens, ressonância magnética, tensores de difusão, morfologia matemática. 1. Introdução A imagem de tensores de difusão (DTI) [1] é considerada uma modalidade importante de imagem de ressonância magnética (IRM) porque ela é capaz de revelar detalhes da anatomia da substância branca do cérebro, ao contrário da IRM convencional. Em patologias onde o estudo anatômico não é suficiente para explicar determinados comportamentos e sintomas, somente uma imagem que forneça informação das conexões neuronais preservadas ou comprometidas, como é o caso da DTI, parece poder ajudar. Em DTI, cada pixel ou voxel da imagem contém um tensor e cada tensor, por sua vez, é representado por um elipsóide (Fig.1). Isto significa que os métodos convencionais já desenvolvidos para o processamento e análise de imagens cromáticas não podem ser usados e novos métodos e algoritmos precisam ser desenvolvidos. O objetivo deste trabalho é, portanto, desenvolver métodos e ferramentas computacionais que permitam explorar a riqueza de informação contida em DTI. Figura 1. Exemplo de uma fatia de DTI do cérebro 2. Processamento e análise de DTI Para que a DTI possa ser usada em estudos clínicos, diagnóstico de doenças degenerativas e planejamento cirúrgico, é preciso desenvolver soluções de processamento, análise e visualização deste tipo de imagem. Podemos dividir as técnicas e ferramentas desenvolvidas em três grupos. O primeiro grupo refere-se à etapa de pré-processamento. Nesta etapa o principal objetivo é corrigir as distorções introduzidas na aquisição das imagens de difusão, fazer o registro das diversas imagens entre si e o registro com outras imagens eventualmente adquiridas e, por fim, calcular os tensores de difusão. O segundo grupo de métodos desenvolvidos tratam da análise e visualização das imagens tensoriais resultantes. Os métodos desta Anais do I SPS UNICAMP Outubro de 2010 100 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens segunda etapa vão desde o cálculo e a análise de medidas escalares derivadas dos tensores de difusão até métodos de segmentação baseados em DTI. Finalmente, o último grupo refere-se a aplicação dos métodos propostos na solução de problemas reais da neurociências, como por exemplo a segmentação de estruturas do cérebro (tálamo, corpo caloso, amígdala, hipocampo) diretamente nas imagens de tensores de difusão ou ainda o parcelamento de algumas destas estruturas (tálamo e corpo caloso). 3. Primeiros Resultados 3.1. Métodos de análise e visualização O primeiro resultado obtido foi a proposta de um método de segmentação de DTI baseado na morfologia matemática e na transformada de watershed [2]. Como o realce de bordas pelo cálculo de gradiente é um passo importante na segmentação por watershed, estendemos o conceito de gradiente morfológico para imagens tensoriais. Este novo gradiente, chamado de gradiente morfológico tensorial (TMG) [6], foi definido como a máxima dissimilaridade entre os tensores pertencentes à vizinhança determinada pelo elemento estruturante. O cálculo do TMG permite traduzir a informação contida nos tensores em valores escalares. Uma vez de posse do TMG, é possível segmentá-lo usando o watershed. Experimentos mostraram a aplicação bem sucedida do método proposto para segmentar tanto imagens de difusão sintéticas quanto imagens de tensores de difusão do cérebro [5, 7]. A Fig.2 ilustra as etapas do método de segmentação proposto: DTI na região do corpo caloso, o TMG calculado e, por fim, o resultado da segmentação. Figura 2. Segmentação do corpo caloso pelo método proposto No decorrer do desenvolvimento do método de segmentação ficou claro que, além da dificuldade de processamento das imagens tensoriais, havia também a questão da visualização destas imagens, das etapas intermediárias (como o TMG calculado) e da segmentação resultante. Para superar esta limitação, desenvolvemos uma ferramenta de visualização de imagens de tensores de difusão chamada de MM-DTI [4], que permite não só a visualização das imagens de tensores de difusão, mas também todas as etapas do método de segmentação, incluindo o cálculo do TMG e a escolha de marcadores para o watershed (Fig.3). Figura 3. Tela da ferramenta de visualização de DTI 3.2. Solução de problemas da neurociência Como primeira aplicação prática, escolhemos o problema de segmentação dos núcleos do tálamo para validar o método de segmentação proposto. A segmentação dos núcleos do tálamo é de extrema importância para neurocientistas e neurocirurgiões e sua solução através de imagens só passou a ser possível depois do surgimento da DTI. Até então, a divisão do tálamo em núcleos só era feita post-mortem. Anais do I SPS UNICAMP Outubro de 2010 101 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens Para segmentar os núcleos do tálamo usando o método proposto, primeiro foi calculado o TMG (Fig.4(b)). Depois, encontramos a borda externa do tálamo através de um método de segmentação automática [3] e a usamos como marcador externo para o watershed, enquanto que os marcadores internos foram escolhidos pela dinâmica dos mínimos regionais. O resultado obtido foi bastante surpreendente (Fig.4(c))[8], correspondendo à divisão em núcleos descrita em atlas histológico (Fig.4(d)). Figura 4. (a) DTI; (b) TMG; (c) resultado da segmentação; (d) atlas histológico 4. Conclusões Dada a importância das imagens de tensores de difusão no estudo e diagnóstico de doenças neurodegenerativas e no planejamento cirúrgico, propor métodos computacionais capazes de processar este tipo de imagens é bastante relevante. As primeiras propostas para segmentação e visualização foram bem sucedidas. O próximo passo é disponibilizar técnicas para o pré-processamento de DTI e finalmente validar os métodos propostos, aplicando-os na solução de problemas reais da neurociências. Referências [1] P.J. Basser and C. Pierpaoli. Microstructural and physiological features of tissues elucidated by quantitative-diffusion-tensor MRI. J. Magn. Reson., 111(3):209–219, June 1996. [2] S. Beucher and F. Meyer. The morphological approach to segmentation: the watershed transformation. In Mathematical Morphology in Image Processing, chapter 12, pages 433–481. Marcel Dekker, 1992. [3] D. Louis Collins, Alex P. Zijdenbos, Wim F. C. Baaré, and Alan C. Evans. ANIMAL+INSECT: Improved cortical structure segmentation. In IPMI 99: Proceedings of the 16th Int. Conf. Information Processing in Medical Imaging, pages 210–223, London, UK, 1999. Springer-Verlag. [4] R.R.S. Lobo, L. Rittner, R.A. Lotufo, and L.P. Magalhães. MM-DTI: Visualization and segmentation tool for diffusion tensor images. In Anais do XXX CSBS - X Workshop de Informática Médica (WIM10), pages 1580–1589, Belo Horizonte, julho 2010. [5] L. Rittner, S. Appenzeller, and R.A. Lotufo. Segmentation of brain structures by watershed transform on tensorial morphological gradient of diffusion tensor imaging. In SIBGRAPI09: Proceedings of the XXII Braz. Symp. Computer Graphics and Image Processing, Rio de Janeiro, Brazil, 2009. [6] L. Rittner, F. Flores, and R. Lotufo. New tensorial representation of color images: Tensorial morphological gradient applied to color image segmentation. In SIBGRAPI07: Proceedings of the XX Braz. Symp. Computer Graphics and Image Processing, pages 45–52, Belo Horizonte, Brazil, 2007. [7] L. Rittner and R.A. Lotufo. Segmentation of DTI based on tensorial morphological gradient. In Medical Imaging 2009: Image Processing, volume 7259, page 72591E. SPIE, 2009. [8] L. Rittner, R.A. Lotufo, J. Campbell, and G.B. Pike. Segmentation of thalamic nuclei based on tensorial morphological gradient of diffusion tensor fields. pages 1173 –1176, april 2010. Anais do I SPS UNICAMP Outubro de 2010 102 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens On The Adaptive Coefficient Scanning of JPEG XR / HD Photo Vanessa Testoni† , Max H. M. Costa† , Darko Kirovski‡ , and Henrique S. Malvar‡ † DECOM/FEEC/University of Campinas (Unicamp), Campinas, SP, Brazil ‡ Microsoft Research, Redmond, WA, USA {vtestoni,max}@decom.fee.unicamp.br,{darkok,malvar}@microsoft.com Abstract – We explore several local and global strategies for adaptive scan ordering of transform coefficients in JPEG XR/HD Photo. This codec applies a global adaptive scan-order heuristic with respect to an effective localized predictor. The global ordering heuristic, although simple, performs as well as localized techniques that are computationally significantly more complex. We conclude that effective localized prediction not only minimizes but also essentially randomizes coefficient residuals, so that a global statistic is sufficient to deliver near-optimal compression performance. Keywords: image coding, JPEG XR, coefficient scanning. 1. Introduction In a block transform image coder, coefficient scanning is the process of reordering transform coefficients into a linear array before the entropy coding step. As many modern codecs use various prediction methods to reduce the coefficient entropy, in this paper we are particularly concerned with scanning and then encoding the difference between the transform coefficients and their predicted values. Thus, in the remainder of this article, when we refer to a “coefficient,” we actually mean its post-prediction residual. In order to increase the entropy coding efficiency, it is desirable that these coefficients be scanned in a “descending on the average” order; that means scanning the most probable nonzero coefficients first in an orderly fashion. A common approach to do this is to scan coefficients by selecting one out of a collection of precomputed scan patterns and then encode the selection. Modern high-performance codecs such as JPEG XR/HD Photo [1, 2, 3] deploy sophisticated coefficient prediction tools, which have a significant effect on scanning performance. In this work we explore whether we can improve compression performance in such codecs by localized or hybrid methods for adaptive reordering of post-prediction coefficient remainders. 2. JPEG XR / HD Photo JPEG XR (Joint Photographic Experts Group Extended Range) is a new international standard for image coding based on a Microsoft technology known as HD Photo [1, 2, 3]. HD Photo is a still image file format that offers PSNR performance comparable to JPEG 2000 with computational and memory performance more closely comparable to JPEG. HD Photo scans macroblocks in raster order and their DC coefficients are first scanned across all color planes. The lowpass (LP) coefficients are scanned per color plane using an adaptive heuristic. Before scanning each color plane of the highpass (HP) subband, a macroblock is divided into 4 8x8 pixel submacroblocks. Within each sub-macroblock, the encompassed 4 blocks are scanned in raster order and their HP coefficients are scanned using a simple adaptive heuristic [3] based on the latest global probability of nonzero scanned coefficients. This adaptation rule is the same for all blocks in the image and classifies coefficients simply as zero/nonzero. So, one can argue that such a heuristic is global in its construction, and thus might not handle efficiently abrupt changes in the image content. 3. Examples of Localized and Averaging Ordering Heuristics Our primary objective is to analyze scan order heuristics that are locally adaptable to the image content. Towards that goal, we created several per-block scan order heuristics that explore the inter-block correlation, for block sizes as small as 4x4. The main guideline for all heuristics we considered was the premise that the coefficient magnitudes in one block are likely to be similar to the coefficient magnitudes at the same position in neighboring blocks. In other words, we assume that the energy spreading patterns of neighboring blocks are similar. The six averaging filters that performed well in experiments are shown in Fig. 1. Anais do I SPS UNICAMP Outubro de 2010 103 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens F2 F1 Average Already encoded blocks Blocks to be encoded Current block being encoded F3 Vertical Expanded Average Macroblock All filters can enclose blocks from neighboring top and left macroblocks Horizontal F4 Weighted Average Expanded Weighted Average F5 F6 Figure 1. A collection of localized averaging filters for scanning coefficients in JPEG XR’s HP subband. 3.1. Hybrid Techniques We note that blocks located in highly correlated neighborhoods (relative to the imposed quantization step) are usually well predicted and result in coefficient residuals of low energy. As a consequence, these coefficients can usually be considered too randomized, and thus HD Photo’s original scan order with its global adaptation rule performs relatively well for such blocks. On the other hand, blocks that still contain high energy coefficients even after the prediction step, are usually located in areas of the image with high frequency content. For such blocks, localized scan order heuristics often outperform global ones. Fig. 2 illustrates for two different QP values of 30 and 70 applied to the “Lighthouse” image from our benchmark: a) the block energy profile of the resulting coefficients and b) the indexes of “winning” filters for each specific block – in this case, we considered the global (original HD Photo) as well as all six localized filters defined in Fig. 1. Motivated by the result illustrated in Fig. 2, we unify the global and local scan orders using a simple thresholding technique. Fig. 2(c) shows the “winning heuristics” when we restrict the filter choice to the original (global) filter or the expanded average filter F3 (best localized filter) and decide among them based upon a precomputed and optimized energy threshold. One can observe that the expanded average filter is selected for many of the blocks coded with localized filters in Fig. 2(b) which suggests that the employed energy thresholds are appropriate. Even though the expanded average filter produces better performance than the original filter for these blocks, it does not cover satisfactorily all localized correlations. a) b) c) QP 30 QP 70 Figure 2. a) Energy amount per 4x4 block areas for the image “Lighthouse” from our benchmark, b) Best performing per-block filters denoted in figures’colorbars and indexed using the following color schedule: 1 - global, original HD Photo, 2 - Average, 3 - Weighted Average, 4 - Horizontal, 5 - Vertical, 6 Expanded Average and 7 - Weighted Expanded Average, and c) Best performing per-block filters, where blue is the global filter and red is the expanded average filter. Anais do I SPS UNICAMP Outubro de 2010 104 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens 45 City Lighthouse Forest Student Soccer Football Lenna Field 25 0 0.5 %gain over HD Photo file size 7 6 1 1.5 2 2.5 Compression rate [bits/pixel] 4 3 0.5 1 1.5 2 2.5 Compression rate [bits/pixel] 3.5 All averaging filters 10 Soccer Football Lenna Field 5 2 0 3 All averaging filters 3 8 6 4 2 0 0 0.5 Hybrid 1.4 City Lighthouse Forest Student 1 1.5 2 2.5 Compression rate [bits/pixel] 3 1.4 Soccer Football Lenna Field 1.2 1 %gain over HD Photo file size 30 %gain over HD Photo file size 35 %gain over HD Photo file size Y-PSNR [dB] 40 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 Compression rate [bits/pixel] 3 Hybrid City Lighthouse Forest Student 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 Compression rate [bits/pixel] 2.5 Figure 3. top left) Y-PSNR for different HD Photo compression bit rates for our benchmark, top center and right) resulting images compressed with HD Photo at QP=70, bottom row ) percentage of file size reduction due to the bound computed using best-of-7 filter and the proposed constructive hybrid technique at each block; results reported for smooth and high-frequency images from our benchmark. 4. Results and Conclusions Fig. 3 summarizes the results. The percentage improvement in compression rate is shown for two schemes. The left two sets of curves refer to an optimistic bound where for each block we applied the “best-of-7” filter to scan coefficients without imposing the overhead to encode the filter selection in HD Photo’s bitstream. The right two sets of curves refer to the constructive hybrid scheme described above. In the example of the “Lighthouse” image, the “winning” filters for both tools and QP ∈ {30, 70} are illustrated in Fig. 2. In the “best-of-7” case, the obtained optimistic bound shows that images could be compressed up to 10% better, but we have not been able to develop an efficient encoding of the overhead to capitalize on this potential. Our investigation has shown that although optimistic bounds may indicate a potential for performance gains, in a constructive scanning method that balanced localized averaging filters with global statistics, we achieved only about 1% improvement in compression rates, across a wide range of effective bit rates. This helps in validating the high efficiency of the approach to coefficient scanning used in HD Photo. Details and additional results can be found in the full version of this extended abstract [4]. References [1] Microsoft Corp. Hd photo device porting kit. http://www.microsoft.com/whdc/xps/ wmphoto.mspx. (Access date: 06/01/2009). [2] S. Srinivasan, C. Tu, and G.J. Sullivan. HD Photo: a new image coding technology for digital photography. Proc. SPIE, 2007. [3] ITU-T Rec. T.832 and ISO/IEC 29199-2. JPEG XR Image Coding System - Part 2: Image Coding Specification. 2009. [4] V. Testoni, M.H.M. Costa, D. Kirovski, and H. Malvar. On The Adaptive Coefficient Scanning of JPEG XR / HD Photo. Proc. DCC., pages 69–78, 2010. Anais do I SPS UNICAMP Outubro de 2010 105 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens Desenvolvimento de uma interface virtual tátil para controle de acesso em áreas restritas Frank C. Cabello , PhD.Yuzo Iano(Orientador) Departamento de Comunicações(DECOM) Faculdade de Engenharia Elétrica Universidade Estadual de Campinas (Unicamp) [email protected],[email protected] Resumo – Este trabalho mostra o desenvolvimento de uma interface humano-máquina que permite uma interação mais natural, simples e segura para pessoas.Como interface deve-se gerar uma superfície interativa que poderá ser apresentada numa mesa, uma escrivaninha, uma parede ou em qualquer superfície plana refletiva. Para o desenvolvimento do projeto, será necessário primeiro a realização do reconhecimento e comportamento (tracking) da mão mediante o uso de filtros para o tratamento de imagens que sejam rápidos e tenham alta resistência ao brilho, definindo pontos de controle sobre a imagem da mão. Posteriormente com esses pontos de controle, será possível detectar quando a pessoa realiza uma ação sobre a superfície, tendo em conta a distância entre esses pontos. A ação humana sobre a superfície, utilizando a interface criada, será analisada e processada para realizar a tarefa indicada. A interface será aplicada à segurança servindo como controle de acesso a certos lugares restritos. Palavras-chave: interface, interação, tracking, filtros. 1. Introdução A tecnologia conforme foi avançando encontrou na visão artificial, muitas ferramentas que facilitam a solução de diversos problemas tais como controle de qualidade de certos produtos, sistemas de segurança, reconstrução de zonas não exploradas. É por isso que esse ramo da inteligência artificial foi ganhando relativa importância. O objetivo é conseguir uma interface que faça que a interação entre usuário e sistema seja mais fácil e segura. Em outros países esse tipo de tecnologia vem se desenvolvendo desde vários anos atrás. Atualmente, prestigiosas universidades (MIT, Carnegie Mellon, University of Cambridge, etc) também estão fazendo desenvolvendo pesquisas sobre o reconhecimento e acompanhamento da mão para diferentes aplicações. 2. Abordagem de Estudo Pode se apreciar dia a dia o avanço da tecnologia o qual simplifica muitos processos. Esses processos são controlados por sistemas que costumam ter uma interface com equipes especiais,com contato direto do usuário, sendo um pouco arriscado seu manejo para o funcionário.Por isso resulta muito atraente a ideia de uma interface capaz de tornar mais segura e fácil a interação com o usuário e ademais reduzindo o custo devido a que não se necessita de equipes especiais para seu uso. Para o desenvolvimento do projeto, é necessária primeiro a realização do reconhecimento e seguimento (tracking) da mão mediante o uso de filtros para o tratamento e processamento de imagens. Com o uso desses filtros pode-se detectar o contorno da superfície da mão e estabelecer nela os pontos de controle. Posteriormente com esses pontos de controle, é possível detectar quando a pessoa realiza uma ação sobre a superfície, levando-se em conta a distância entre esses pontos. A ação sobre a superfície, que viria ser a interface criada, serve para realizar certos processos sobre a interface. Nesse caso aplicada à segurança servindo como controle de acesso a lugares restritos. Anais do I SPS UNICAMP Outubro de 2010 106 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens 3. Conteúdo A figura 1 mostra um diagrama de fluxo(processo para saber se o usuário está pressionando com seu dedo indicador). Figura 1. Diagrama de fluxo para saber se a pessoa está pressionando com seu dedo indicador. Anais do I SPS UNICAMP Outubro de 2010 107 Sessão 8 - Processamento, Reconhecimento e Codificação de Imagens 3.1. Filtro para detectar a mão. O filtro utilizado foi o Linear Container(LC) que tem uma alta resistência à brilho. Para a aplicação desse filtro são usados cinco níveis que são: BGhmin.G + BRmin.R < B < BGhmax.G + BRmax.R (1) BGvmin.B + GRmin.R < G < BGvmax.B + GRmax.R (2) RGBsum < R + G + B (3) Esse é o único filtro que remove as partes escuras. 3.2. Desenvolvimento da função "mão"para seu seguimento Para criar uma função da mão serão utilizados 14 parâmetros e esses são: F (x, y, α, λ, θ0 , l0 , θ1 , l1 , θ2 , l2 , θ3 , l3 , θ4 , θ5 ) Onde: x : é a coordenada x do centroide da mão. y : é a coordenada y do centroide da mão. α : é o ângulo de rotação da mão inteira. λ : é a escala da mão. θ0 , θ1 , θ2 , θ3 : são os ângulos formados pelos dedos mínimo,anelar, médio e indicador com a palma da mão, respectivamente. l0 , l1 , l2 , l3 : são os comprimentos dos dedos: mínimo,anelar, médio e indicador, respectivamente. θ4 : é o ângulo entre o segmento inicial do polegar com respeito à palma da mão. θ5 : é o ângulo do segundo segmento do polegar com respeito ao primeiro segmento. 4. Resultados A figura 2 mostra os resultados do presente projeto. (a) Mão normal. (b) Mão com o dedo indicador pressionado. Figura 2. Interagindo com a interface. 5. Conclusões O seguimento da mão é feito com velocidade normal. Isso se deve a que se usa programação com bibliotecas de opencv. A iluminação afeta muito o projeto, mas se corrige um pouco esse fato, usando-se algoritmo Retinex(MSRCR). O projeto funcionará para qualquer tipo de webcam que tenha resolução maior do que 320x480 pixels,já que as funções trabalham com os parâmetros da webcam e não com valores padrões que são só para uma webcam. Anais do I SPS UNICAMP Outubro de 2010 108 Sessão 9 - Processamento de Sinais Biomédicos Pré-processamento de imagens de difusão do cérebro no ambiente Adessowiki Luiz F. S. Wetzel , Leticia Rittner, Roberto Lotufo (Orientador) Departamento de Engenharia da Computação e Automação Industrial (DCA) Faculdade de Engenharia Elétrica e de Computação (FEEC) - UNICAMP [email protected], [email protected], [email protected] Resumo – Imagens de difusão do cérebro, uma nova modalidade de imagem por ressonância magnética, têm se mostrado um poderoso recurso no estudo e diagnóstico de doenças neurodegenerativas, mas seu uso demanda ferramentas e técnicas computacionais ainda pouco desenvolvidas e difundidas. Este trabalho propõe a implementação de ferramentas de processamento de imagens de difusão e sua disponibilização através do Adessowiki, um ambiente colaborativo especialmente propício para ensino e pesquisa. Essa solução oferece vantagens com relação às ferramentas existentes, dependentes de instalação local e sistemas operacionais específicos, pois diponibiliza uma forma de acesso simples através da Internet. Além disso, os métodos implementados estão explícitos e documentados, permitindo tanto a seleção de parâmetros por usuários, quanto a manipulação do código por desenvolvedores. 1. Introdução Imagens médicas são usadas há décadas como poderosa ferramenta de análise clínica, no diagnóstico de doenças, e em pesquisa. Com dispositivos de aquisição de dados cada vez mais sofisticados, o volume de dados coletados aumentou, e o processamento necessário para gerar imagens úteis e confiáveis também. Uma das recentes modalidades de imagem de ressonância magnética é a imagem de difusão. Através dela é possível obter valores de difusividade da água em seres vivos de forma não intrusiva. Estas medidas são extremamente ricas para análise clínica, mas requerem um préprocessamento complexo para corrigir alguns problemas comuns do processo de aquisição. Problemas de alinhamento são tratados com técnicas de registro (alinhamento de imagens). As opções mais comuns são: escolher uma imagem de difusão (normalmente a primeira) e registrar todas as outras com ela; registrar as imagens de difusão com uma imagem de ressonância convencional (ponderada em T1, por exemplo), que tem resolução e relação sinal/ruído muito melhores; ou registrar as imagens de difusão com um modelo (atlas) do cérebro. Com as imagens registradas é gerada uma máscara do cérebro. Todos os pontos que não fazem parte desta máscara estão fora da região de interesse e são desconsiderados. Alem das técnicas citadas, outras técnicas de correção podem ser aplicadas. Com as imagens alinhadas e corrigidas, e assumindo que a taxa de difusão segue o modelo de tensores, estes são calculados. O uso adequado destas ferramentas de pré-processamento não é trivial. Normalmente conversores de formato de arquivo são necessários, e nem sempre detalhes do seu funcionamento, ou da sua eficiência, são conhecidos. Um conjunto de ferramentas amplamente utilizado pela comunidade científica são as ferramentas MINC (Medical Imaging NetCDF)[1] do Instituto Neurológico de Montreal, Universidade McGill. São ferramentas do tipo “linha de comando”, rodam na plataforma Linux, têm dependência de ferramentas externas (Matlab), e operam em arquivos no formato MINC. Outro exemplo é a biblioteca FSL (FMRIB Software Library)[2, 3]. Esta biblioteca roda em Linux, ou em emulador Linux, e é composta de um conjunto de programas invocados através de linha de comando ou interface gráfica, trabalhando com arquivos no formato NIfTI-1. Este artigo descreve uma abordagem para pré-processamento de imagens difusão utilizando a plataforma Adessowiki [4]. Esta abordagem tem como objetivo centralizar tais processos e proporcionar o acesso através da Internet tanto para desenvolvedores, como para usuários, levando-se em consideração as necessidades de processamento das imagens de difusão e a complexidade do uso das ferramentas existentes. 2. Imagens de Tensores de Difusão – DTI A imagem de tensores de difusão (DTI: Diffusion Tensor Image)[5] é uma imagem onde cada voxel é um tensor de taxa de difusão da água. O tensor é uma matriz 3x3 simétrica, a partir da qual podemos Anais do I SPS UNICAMP Outubro de 2010 109 Sessão 9 - Processamento de Sinais Biomédicos calcular a taxa de difusão da água em qualquer direção através de uma multiplicação matricial. A matéria prima para gerar uma DTI são imagens ponderadas em difusão (DWI: Diffusion Weighted Image) [6]. Cada voxel da DWI contém informação sobre a taxa de difusão da água na direção do gradiente de difusão aplicado no momento da aquisição. O número mínimo de DWIs adquiridas em diferentes direções necessárias para a geração de uma DTI é seis, mas devido à baixa relação sinal/ruído desse tipo de ressonância, é comum a captura de DWI’s em mais de 30 direções [5]. Uma condição essencial para a confiabilidade da DTI é que as DWI’s usadas em seu calculo estejam alinhadas. Esta condição, no entanto, é pouco provável de ocorrer no momento da aquisição. Como o número de DWI’s desejado é grande e o tempo de aquisição também é (vários minutos), é bastante provável a movimentação do paciente durante este processo. Outra fonte de desalinhamento entre DWI’s é causada por correntes de Foucault (Eddy Current) [7] induzidas pelo campo magnético. Estas correntes causam uma deformação geométrica que dependem da direção da DWI. Além disso, uma prática comum é fazer mais de uma aquisição (mais de um conjunto de DWI’s), e consolidá-los em uma DTI. Neste caso, é claro que aquisições distintas não estão alinhadas. 3. Pré-processamento de imagens de difusão no ambiente Adessowiki Entende-se por pré-processamento em ressonância de difusão toda a manipulação dos dados capturados pelo equipamento de ressonância até o cálculo dos autovalores e autovetores dos tensores de difusão. É necessário que, no mínimo, os problemas citados na seção anterior sejam tratados. As etapas de processamento das imagens de difusão abrangidas pela ferramenta desenvolvida no ambiente Adessowiki serão: registro de um conjunto DWI; geração da máscara do cérebro; cálculo dos tensores de difusão, com seus autovalores e autovetores; algumas formas simples de visualização dos dados. Registro - A etapa de registro consiste em encontrar, para cada DWI, parâmetros de uma transformação geométrica que minimiza uma função de custo. A transformação escolhida deve ser flexível, pois é preciso corrigir deformações geométricas, e não apenas translação e rotação. A opção mais comum é usar uma transformação afim, que no caso de 3 dimensões possui 12 parâmetros. Opções de transformações não lineares mais sofisticadas podem ser desenvolvidas posteriormente para refinar o resultado obtido nesta etapa, e não para substituí-lo.[8] [9] Mascara - A máscara do cérebro normalmente é obtida a partir de imagens de ressonância magnética ponderada em T1, que têm menos ruído e maior resolução [10]. O intuito da máscara é remover medidas que não se aproximam do modelo de tensores, normalmente localizadas fora da calota craniana. Calculo dos tensores - Os tensores são calculados a partir de manipulação matemática das DWI’s. Nesta manipulação é preciso tratar situações que não ocorreriam se não houvesse muito ruído em alguns voxels, principalmente os externos à calota craniana. Problemas comuns são divisão por zero, logaritmo de um número menor ou igual a zero e autovalores inconsistentes (negativos). Inicialmente os algoritmos escolhidos para implementação de cada uma destas etapas serão os mesmos utilizados nas ferramentas MINC ou FSL que já são aceitos e bastante utilizados pela comunidade científica. Desta forma, podemos utilizar estas ferramentas para comparar e validar os resultados obtidos. Toda implementação será em C++/Python , de forma modular, documentada, com exemplos e demonstrações. Serão disponibilizadas também imagens para testes. 4. Primeiros resultados Iniciamos a implementação pela etapa de cálculo dos tensores e cálculo dos mapas escalares, desta forma já temos recursos para observar e comparar melhorias introduzidas pelas próximas ferramentas: registro e cálculo da máscara. A Fig. 1 mostra a página do ambiente Adessowiki com o código responsável pelo cálculo da anisotropia fracional, bem como a demonstração de seu uso. Para os usuários, é fácil escolher parâmetros e analisar o resultado; para os desenvolvedores, é possível visualizar o código e, se desejado, alterá-lo para realizar outro cálculo similar ou introduzir modificações no cálculo original. Anais do I SPS UNICAMP Outubro de 2010 110 Sessão 9 - Processamento de Sinais Biomédicos Figura 1. Exemplo do cálculo da anisotropia fracional (FA) no Adessowiki. 5. Conclusões Este artigo descreve uma abordagem centralizada para pré-processamento de imagens de difusão utilizando a plataforma Adessowiki. Este ambiente permite não só centralizar as ferramentas de software, mas também sua documentação, código fonte, e os arquivos de ressonância, tanto os originais como os já pré-processados, servindo assim como um ambiente adequado para uso clínico e também para pesquisa de novas formas de manipulação destes dados. Os dados de difusão adquiridos são lidos e todas as correções necessárias são realizadas, até que as imagens de tensores de difusão possam ser calculadas. Os algoritmos utilizados em cada etapa estão explícitos no ambiente, permitindo a comparação de desempenho entre algoritmos de mesma finalidade ou entre resultados obtidos com ou sem uma determinada etapa de pré-processamento. Referências: [1] BIC–The McConnel Brain Image Center- http://www.bic.mni.mcgill.ca/ServicesSoftware/MINC [2] M.W. Woolrich, S. Jbabdi, B. Patenaude, M. Chappell, S. Makni, T. Behrens, C. Beckmann, M. Jenkinson, S.M. Smith. “Bayesian analysis of neuroimaging data in FSL.” NeuroImage, 45:S173-186, 2009 [3] S.M. Smith, M. Jenkinson, M.W. Woolrich, C.F. Beckmann, T.E.J. Behrens, H. Johansen-Berg, P.R. Bannister, M. De Luca, I. Drobnjak, D.E. Flitney, R. Niazy, J. Saunders, J. Vickers, Y. Zhang, N. De Stefano, J.M. Brady, and P.M. Matthews. “Advances in functional and structural MR image analysis and implementation as FSL.” NeuroImage, 23(S1):208-219, 2004. [4] R. A. Lotufo, R. C. Machado, A. Körbes, R. G. Ramos. “Adessowiki - On-line Collaborative Scientific Programming Platform.” The 5th International Symposium on Wikis and Open Collaboration. October 2009, Orlando [5] Le Bihan D, Mangin JF, Poupon C, Clark CA, Pappata S, Molko N, Chabriat H. Diffusion tensor imaging: concepts and applications. J. Magn. Reson. Imag. 2001; 13(4): 534–546. [6] C. Pierpaoli and P. J. Basser, “Toward a quantitative assessment of diffusion anisotropy,” Magnetic Resonance inMedicine, vol. 36, no. 6, pp. 893–906, 1996. [7] A.J. de Crespigny and M.E. Moseley, “Eddy Current Induced Image Warping in Diffusion Weighted EPI”, Lucas Center, Dept. of Radiology, Stanford University, Stanford CA 94305 [8] Mark Jenkinson, Peter Bannister, Michael Brady, and Stephen Smith. “Improved methods for the registration and motion correction of brain images.” Technical report, Oxford Centre for Functional Magnetic Resonance Imaging of the Brain, 2002. [9] Rohde, G.K., Barnett, A.S., Basser, P.J., Marenco, S., Pierpaoli, C., 2004. “Comprehensive approach for correction of motion and distortion in diffusion-weighted MRI.” Magn. Res. Med. 51, 103– 114. [10] Smith SM (2002), “Fast robust automated brain extraction.” Hum Brain Mapp 17: 143–155 Anais do I SPS UNICAMP Outubro de 2010 111 Sessão 9 - Processamento de Sinais Biomédicos Compressão de sinais ECG com métodos de Compressed Sensing A. K. Takahata*, C. M. Agulhari§, L. T. Duarte*, R. R. Lopes*, P. L. D. Peres§, J. M. T. Romano* *Laboratório de Processamento de Sinais para Comunicações § Departamento de Telemática Faculdade de Engenharia Elétrica e de Computação Universidade Estadual de Campinas (UNICAMP) [email protected] Resumo –As teorias de Compressed Sensing (CS) têm atraído a atenção da comunidade de processamento de sinais, visto que as mesmas mostram que sinais que admitem uma representação esparsa em uma dada base podem ser recuperados com o uso de taxas de amostragem inferiores à determinada pelo teorema de NyquistShannon. Dada essa característica, o CS tem sido utilizado no processamento de sinais de diversas áreas, entre as quais, a compressão de sinais. O uso do CS nesta abordagem permite o desenvolvimento de uma etapa de codificação extremamente simples, o que é importante, por exemplo, no desenvolvimento de sistemas de aquisição remotos de baixo custo. Motivados por tal possibilidade, investigamos a aplicação de métodos de CS na compressão de sinais de eletrocardiograma (ECG). Foram realizados experimentos com o fim de verificar a eficiência dessa abordagem, bem como comparações com esquemas mais clássicos como a realização de compressão direta com a utilização de wavelets. Palavras-chave: Sensoriamento comprimido, compressão de sinais, ECG. 1. Introdução Em linhas gerais, o processo de aquisição digital de um sinal analógico é realizado tradicionalmente com base no teorema de Shannon-Nyquist. Tal procedimento tem como fundamento amostrar um sinal de banda de frequência finita a uma taxa superior ao dobro da maior frequência presente no sinal. Recentemente, o uso de um novo paradigma, chamado de sensoriamento comprimido (Compressed Sensing, CS), tem aberto a possibilidade de se operar com taxas de amostragem inferiores ao esquema tradicional [5]. Para que isso seja possível, é levado em conta que se conhece, a priori, uma base de representação (dicionário) em que o sinal de interesse é esparso, ou seja, uma base em que a representação do sinal possui uma proporção elevada de coeficientes nulos ou próximos de zero [7,9]. Dada essa característica, a aquisição simplificada de dados via CS tem sido considerada em diversas áreas do conhecimento [8]. Além disso, o CS pode ser utilizado como uma estratégia de compressão de dados previamente adquiridos, como em [4], em que é obtido um desempenho satisfatório na compressão de sinais de eletroencefalograma (EEG) ao se escolher uma base adequada. Diante deste cenário, o objetivo do presente trabalho é analisar o desempenho do CS na compressão de outro importante sinal biomédico: o eletrocardiograma (ECG). A principal motivação está no fato de que a compressão de sinais via CS possibilita a simplificação da etapa de codificação, o que é importante, por exemplo, em sistemas de aquisição de dados remotos de baixo custo e baixo consumo de energia, como aqueles presentes em sistemas sem fio para monitoramento cardíaco [13]. 2. Compressão de sinais via CS Um sinal discreto no tempo x ∈ R N , composto por amostras x(n), n=1,2,...,N, pode ser N N representado em uma base {w k }k =1 por meio de um vetor de coeficientes s ∈ R tal que, dada a matriz W ∈ R N× N , cujas colunas são compostas pelos vetores w k , tem-se x = Ws . O vetor s é dito K-esparso [10] se sua quasi-norma l 0 , ou seja, a quantidade de elementos não nulos, é s 0 = K . Além disso, um sinal é dito compressível se apenas poucos coeficientes de s possuem valores representativos, enquanto os coeficientes restantes podem ser desprezados. Nos esquemas clássicos de compressão, como em [1,3], o sinal é inicialmente passado do domínio do tempo para o domínio transformado, para que em seguida seja realizada a ordenação dos coeficientes de representação e os valores e os índices dos coeficientes mais representativos sejam armazenados. Em oposição a esse paradigma, o uso do CS na compressão de sinais possibilita um Anais do I SPS UNICAMP Outubro de 2010 112 Sessão 9 - Processamento de Sinais Biomédicos processo de codificação mais simples no qual os dados comprimidos, y ∈ R M , são obtidos por meio de um produto de matrizes y = Ax = AWs = Gs , M ×N em que A ∈ R M ×N é chamada de matriz de medida e G = AW ∈ R . N O procedimento de decodificação consiste em obter uma aproximação sˆ ∈ R dos coeficientes originais a partir do vetor y. A teoria de CS estabelece que um vetor s, K-esparso, pode ser recuperado com grande probabilidade ao se resolver o seguinte problema de otimização, conhecido pelo nome de Basis Pursuit (BP) [6], sˆ = arg min ~s 1 sujeito a y = G ~s , ~s dado que M ≥ Cµ ( A, W ) 2 K ln N . ~ No caso, s 1 denota a norma l 1 de ~s , ou seja, o somatório dos valores absolutos de todos os elementos de ~s , C é uma constante pequena e o parâmetro µ ( A, W ) é a coerência entre as matrizes de medida e de base, que pode ser descrita como a máxima correlação entre pares de colunas formadas por uma coluna de A e uma coluna de W. Dado que no caso da compressão deseja-se o menor valor de M possível, observa-se que é conveniente utilizar uma matriz de medida que seja incoerente com a matriz de base de modo que µ ( A, W ) seja o menor possível. O BP ainda pode ser relaxado de modo a acomodar uma parcela de ruído na representação por meio de um problema de otimização convexa conhecida como Basis Pursuit Denoising (BPDN) [10], que utiliza a norma euclidiana, • 2 , sˆ = arg min ~s 1 sujeito a y − G ~s 2 ≤ ε . ~s 3. Aplicação em sinais de ECG Para a realização da compressão de sinais ECG, foi escolhida uma matriz de medida aleatória cujos elementos seguem uma distribuição gaussiana, pois esse tipo de matriz apresenta uma alta probabilidade de possuir uma baixa coerência com a grande maioria das bases [7]. Foram testadas bases de representação constituídas por wavelets, uma vez que sinais ECG podem ser representados de maneira esparsa nessas bases [1,3], sendo escolhidas as wavelets Haar e Daubechies 4 (Db4) [11]. Também foram feitos testes com uma base de sinais senoidais (base DCT [2]). Nos experimentos realizados foram utilizadas as primeiras 1024 amostras do sinal 100_0 da base de sinais de arritmia do MIT-BIH, que se encontra no banco de dados Physiobank [12]. A medida de distorção utilizada para medir o desempenho foi o Percent Root-mean-square Distortion (PRD) definida como PRD = x − xˆ 2 x 2 × 100% , em que x e x̂ representam, respectivamente, o sinal original e o recuperado [3]. O decodificador adotado foi o BPDN [10], em que o ajuste de ε foi realizado em simulações preliminares. A Figura 1(a) mostra o PRD em função da taxa de compressão, definida como a razão entre a quantidade de dados antes e depois da compressão, para os 3 dicionários (bases) escolhidos e para as abordagens de compressão tradicional (direta) e via CS. Essa figura representa uma média de 100 realizações para diferentes matrizes de medida A. Observa-se que tanto na compressão com CS quanto na compressão direta, o uso das bases wavelet permitiu um desempenho melhor que no caso do uso da base DCT, o que reflete o fato de que as bases wavelets permitem uma representação esparsa do sinal ECG, como já mencionado. Também se verifica que a presente estratégia de compressão com CS é competitiva com a compressão direta apenas para taxas de compressão 2 e 3. Também se constata que para taxas de compressão maiores a PRD é superior a 20, o que inviabiliza o uso do sinal recuperado [3]. Um segundo teste consistiu em avaliar o desempenho diante de perda de dados, o que ocorre, por exemplo, quando sistemas remotos operam com relação sinal-ruído baixa. No caso, assumimos que há um mecanismo como um bit de paridade para identificar dados corrompidos. Para realizar a simulação do cenário, uma fração dos dados comprimidos foi sorteada aleatoriamente e os respectivos valores foram alterados para 0. Na Figura 1(b) é apresentado o resultado para média de 100 realizações com o Anais do I SPS UNICAMP Outubro de 2010 113 Sessão 9 - Processamento de Sinais Biomédicos uso da wavelet Haar e taxa de compressão fixa em 2. É observado que a abordagem direta se deteriora rapidamente com a perda de dados, o que não ocorre com o uso do CS. 4. Conclusão Foi realizado um estudo sobre o uso do CS em compressão de sinais ECG com 3 diferentes bases. Constatou-se que nos casos testados o CS é competitivo com esquemas tradicionais apenas para taxas de compressão baixas. Por outro lado, o uso do CS possibilita uma maior robustez à perda de dados e uma simplificação da etapa de codificação. Como trabalhos futuros, podem-se destacar a melhoria das matrizes de medida e escolha de bases de representação otimizadas. 120 50 45 100 CS-DCT 40 80 Direta-Haar 35 CS-Db4 PRD PRD 30 60 CS-Haar 40 20 direta-DCT 15 10 20 direta-Haar 0 25 2 3 4 5 6 7 CS-Haar 5 direta-Db4 8 Taxa de compressão 0 0 0.05 0.1 0.15 0.2 0.25 0.3 Fração de dados perdidos (a) (b) Figura 1: (a) PRD em função da taxa de compressão para compressão direta (linhas pontilhadas) e via CS (linhas sólidas). As linhas azuis, pretas e vermelhas correspondem, respectivamente, à base DCT e às bases wavelet Db4 e Haar. (b) PRD em função da fração de dados perdidos para compressão direta (linhas pontilhadas) e via CS (linhas sólidas) Referências [1] Agulhari, C. M., Bonatti, I. S., Peres, P. L. D. (2010), “An adaptive run length encoding method for the compression of electrocardiograms”. Aceito para publicação no Medical Engineering & Physics. [2] Ahmed, N., Natarajan, T., Rao, R. K. (1974), “Discrete cosine transform”, IEEE Transactions on Computers, v. C-23, p. 90-93. [3] Ahmed, S. M., Al-Shrouf, A., Abo-Zahhad, M. (2000), “ECG data compression using optimal non-orthogonal wavelet transform”, Medical Engineering & Physics, v. 22, p. 39-46. [4] Aviyente, S. (2007), “Compressed sensing framework for EEG compression”, In: Proc. of the 2007 IEEE/SP 14th Workshop on Statistical Signal Processing, p. 181-184. [5] Baraniuk, R. G. (2007), “Compressive sensing”, IEEE Signal Proc. Magazine, v. 24, n. 4, p. 118121. [6] Candès, E. J., Romberg, J. (2006), “Sparsity and incoherence in compressive sampling”, Inverse Problems, v. 23, p. 969-985. [7] Candès, E. J., Romberg, J., Tao, T. (2006), “Robust uncertainty principles: exact signal reconstruction from highly incomplete frequency information”, IEEE Transactions on Information Theory, v. 52, n. 2, p. 489-509. [8] Compressive Sensing Resources. http://dsp.rice.edu/cs [9] Donoho, D. L. (2002), “Compressed sensing”, IEEE Transactions on Information Theory, v. 52, n. 4, p. 1289-1306. [10] Jacques, L., Vandergheynst, P. (2010), “Compressed sensing: when sparsity meets sampling”, In: Optical and Digital Image Processing Fundamentals and Applications , p. 72-82. [11] Mallat, S. (1999), A Wavelet Tour of Signal Processing, second edition, Academic Press . [12] PhysioBank: Physiologic signal archives for biomedical research. http://www.physionet.org/physiobank. [13] Shnayder, V., Chen, B., Lorincz, K., Jones, T. R. F. F. (2008), “Sensor networks for medical care”, In: Proc. of the 3rd international conference on Embedded networked sensor systems, p. 72-82. Anais do I SPS UNICAMP Outubro de 2010 114 Sessão 9 - Processamento de Sinais Biomédicos Identificação Automática de Lupus Eritematoso Discóide Kesede, R Julio, Lee, Luan L. (Orientador), Bassani, J.W.M (Co-orientador) Departamento de Comunicaão Faculdade de Engenharia Eletrica de Computação Universidade Estadual de Campinas (Unicamp) [email protected], [email protected], [email protected] Resumo - Neste trabalho, propomos um algoritmo que realize a identificação de Lupus Eritematoso Discóide (LED) e classifique-os em uma das duas fases possíveis, as fases ativa e cicatrizatória. As imagens usadas no estudo foram cedidas pelo Departamento de Dermatologia da Universidade Estadual de Campinas, Unicamp. Na etapa de pré-processamento as imagens foram segmentadas pelo algoritmo K-means Clustering [10], para retirar a área de interesse (pele, lesão e cicatriz). 3 diferentes classificadores foram considerados neste estudo, KNN – K-Nearest Neiboard, QDC – Quadratic Discriminant Classifier e o UDC – Uncorrelated Discriminant Classifier, A melhor performance obtida foi com o classificador QDC. Portanto, este classificador foi utilizado para executar o monitoramento clínico dos pacientes. Algumas imagens forma alteradas artificialmente por um software gráfico, simulando um aumento (degradação) e diminuição (melhora) da lesão. Palavras-chave: Lupus eritematose discoide, classificadores, ajuda diagnostica, identificação, lesão. 1. Introdução A automatização do processo de identificação de LED causa efeito benéfico nas análises clínicas, uma vez que o especialista, e em especial, o aprendiz da especialidade, tendo o auxílio do computador para ajudá-lo no trabalho de identificação da lesão, terá maior precisão em seu diagnóstico. O processo ocorrerá na própria clínica, pela captura da imagem da lesão utilizando uma máquina fotográfica e enviando esta imagem ao computador, que receberá esta imagem e identificará automaticamente as áreas lesionadas sem intervenção do profissional clínico. Com a lesão apontada na tela do computador, a validação da identificação visual poderá ser realizada de forma mais precisa e segura. Assim, o clínico poderá realizar um melhor diagnóstico do que aquele que seria feito apenas pela observação visual. Este trabalho tem também o objetivo de ser o ponto de partida para a construção de uma ferramenta de ajuda diagnóstica dermatológica. 2. Lupus Eritematoso Discóide O Lupus Eritematoso Discóide (LED) ou Lupus Cutâneo é um dos principais tipos de Lupus, além do Sistêmico e do Induzido por Drogas [9]. A manifestação desta doença ocorre na pele e sua causa ainda é desconhecida, porém sabe-se que é mais freqüente em mulheres [4]. A fim de diagnosticar a doença, a observação cutânea periódica do paciente por um especialista é fundamental. Com o objetivo de ajudar o clínico no diagnóstico e acompanhamento do tratamento de pacientes afetados por lesões, diversas ferramentas computacionais e algoritmos foram desenvolvidos. Lee [6], usaram Filtros Médios (FM) nos diversos estágios do processo de segmentação das lesões. Já Chang [2], usaram um histograma, técnica detalhada por Gonzáles [5], juntamente com outras ferramentas estatísticas para melhor selecionar características da lesão. Medeiros [7] desenvolveu estudos para acompanhamento de úlceras por meio de análise de texturas. Esta abordagem é válida quando percebemos um padrão periódico nas linhas que definem a lesão. Cheng [3] fazem uma descrição de várias ferramentas computacionais para detecção automática de micro-calcificações em mamografias, tais como: template matching, Classificadores de Redes Neurais, bayseanos, K-nearest neighbor. Estas técnicas são também úteis para abordagem em imagens cutâneas. Sobre classificadores, Boventi [1] fazem uma boa revisão a respeito. Uma ferramenta também muita utilizada na análise de imagens médicas é a segmentação, caracterizada pela discriminação dos diversos objetos de estudo dentro de uma imagem [8]. 3. Classificadores Neste trabalho foram utilizados três classificadores: QDC, UDC e o KNNC. Anais do I SPS UNICAMP Outubro de 2010 115 Sessão 9 - Processamento de Sinais Biomédicos O QDC – Quadratic Discriminant Classifier – considera uma superfície quadrática e, portanto, sua borda de decisão é gerada através de uma curva, como mostra a Equação 1. Assumimos, neste classificador, que os valores são normalmente distribuídos e as covariâncias das classes sejam diferentes. g i ( x) = − 1 (x − µ i )T ∑ 2 −1 i (x − µi ) − 1 log( 2 ∑ i (1) ) + log( P (ω i )) O KNNC – K-Nearest Neighbor Classifier – baseia-se na distância entre cada pixel e seus K-vizinhos mais próximos. Considerando um pixel xi ainda não classificado, o algoritmo encontra, no conjunto de treinamento, os K pixels mais próximos, vinculando xi para a classe que mais freqüentemente aparece. O UDC – Uncorrelated Discriminant Classifier – utiliza-se da mesma regra que o QDC, considerando densidade normal e suas características descorrelacionadas. 4. Rotulação das Lesões de LED Para que o processo automático fosse validado foi necessário, que um especialista, rotulasse as imagens para treinamento dos classificadores de forma semi-automática, com a ajuda de um software gráfico. A Figura 1 mostra as imagens resultantes destes métodos de rotulação. Itr1 Itr3 (a) (b) Imagem original (a) de um paciente, usada para treinamento no teste 1, rotulada (b) pelo especialista por escolha de pixel Itr2 (f) (e) Imagem original (e) construída por regiões contínuas de um mesmo paciente, usada para treinamento no teste 4, rotulada (f) pelo especialista por região contínua. Itr4 (d) (c) Imagem original (c) construída por regiões contínuas de vários pacientes, usada para treinamento no teste 2, rotulada (d) pelo especialista por região contínua. (g) (h) Imagem original (g) construída por várias regiões contínuas de um mesmo paciente, usada para treinamento no teste 4, rotulada (h) pelo especialista por região contínua. Fig. 1 – As 4 imagens utilizadas nos treinamentos (Itr) para escolha do classificador. Para testar nossos classificadores, realizamos quatro testes (usando como treinamento as imagens rotuladas pelo especialista), cada um deles com três imagens de pacientes diferentes Com o intuito de destacar, na imagem originalmente capturada, nossa área de interesse, utilizamos o algoritmo de segmentação Kmean-Clustering, Assim, foi possível agrupar pele, lesão e cicatriz, retirando como fundo, o restante da imagem. 5. Resultados e acompanhamento Clínico Após gerar os classificadores e aplicá-los em nossas imagens testes, obtivemos os resultados descritos na Tabela 1. Erros de Classificação (%) Imagens de Teste treinamento QDC KNNC UDC 1 Figuras 2(a) e 2(b) 24,84 27,68 56,80 2 Figuras 2(c ) e 2(d) 21,13 20,00 29,25 3 Figuras 2(e) e 2(f) 19,71 28,35 37,07 4 Figuras 2(g) e 2(h) 35,14 40,36 49,32 25,05 29,09 43,11 Erro médio Anais do I SPS UNICAMP Outubro de 2010 116 Sessão 9 - Processamento de Sinais Biomédicos Considerando o melhor classificador (QDC), pudemos usá-lo para realizar o acompanhamento do desenvolvimento das lesões, mostrados na Figura 2. Clínica 1 Clínica 2 Clínica 3 Clínica 4 Fig. 2 – Imagens utilizadas para realizar o acompanhamento clínico CONCLUSÃO O classificador QDC conseguiu melhor performance em relação à taxa de acerto. A distribuição dos dados contribuiu para este resultado. No acompanhamento das clínicas, mostramos que o estudo se torna útil, garantindo melhor análise da área lesionada por parte dos especialistas, além de se tornar documental e didático. Esperamos que este trabalho possa apoiar novas pesquisas de colaboração aos dermatologistas, interessados na identificação automática das lesões cutâneas causadas pelo Lúpus Eritematoso Discóide. REFERÊNCIAS [1] Boventi Jr., W. e Costa, A. H. R., Classificação por agrupamentos nebulosos de padrões de cores em imagens, Workcomp´2002, V Workshop de Computação, Instituto Tecnológico de Aeronáutica, São José dos Campos, Brasil, pp. 47-55, 2002. [2] Chang, Y., Stanley, R. J., Moss, R. H. e Stoecker W. V., A systematic heuristic approach for feature selection for melanoma discrimination using clinical images, Skin Research and Technology, Volume 11, #3, pp. 165, 2005. [3] Cheng, H. D., Cai, X., Chen X., Hu, L. e Lou, X., Computer-aided detection and classification of microcalcifications in mammograms: a survey, Pattern Recognition, Vol. 36, #12, pp 2967-2991, 2003. [4] Gomes, D. Q. C. Et Al., “”, Revista Brasileira de Patologia Oral, pág. 219-226 – Paraíba - 2004 [5] Gonzáles, R. C. e Wood R. E., Digital Image Processing, Addison-Wesley, pp. 171 – 182, 1992. [6] Lee, T., Ng, Vincent, McLean3, David, Coldman, Andrew, Gallagher, Richard, Sale, Joanna, A multi-stage segmentation method for images of skin lesions, Comunications, Computers, and Signal. Processing. pp. 602-605, 1995. [7] Medeiros, Gilmar C. F, “Uso de Texturas para Acompanhamento da Evolução do Tratamento de Úlceras Dermatológicas”, Tese desenvolvida no Departamento de Engenharia Elétrica - Faculdade de Engenharia de São Carlos – USP, 2001. [8] Pal, Nikhil R.e Pal, Sankar K., A review on image segmentation techniques, Pattern Recognition Vol. 26, No. 9, pp. 1277-1294, 1993. [9] Sampaio, Maria Carolina de A. et al. Lupus eritematoso discóide na infância. Rev. paul. pediatr., vol.25, no.2, p.167-171- São Paulo – 2007. [10] Duda, Richard O., Hart Peter E. and Stork David G., Pattern Recognition, Wiley Interscience, 2001. Anais do I SPS UNICAMP Outubro de 2010 117 Sessão 9 - Processamento de Sinais Biomédicos Pitfalls in the definition of the epileptogenic zone in ictal EEG and functional MRI Guilherme C. Beltramini¹, Ana C. Coan², Fernando Cendes², Roberto J. M. Covolan¹ (Advisor) ¹ Grupo de Neurofísica Instituto de Física “Gleb Wataghin” Universidade Estadual de Campinas (Unicamp) ² Departamento de Neurologia Faculdade de Ciências Médicas Universidade Estadual de Campinas (Unicamp) [email protected],[email protected],[email protected],[email protected] Abstract – The objective of the present study is to describe ictal recordings obtained by EEG-fMRI examination of patients with epilepsy secondary to focal cortical dysplasia, and discuss the localization of the ictal onset zone and propagation to symptomatological zone. As will be shown, although the simultaneous EEG-fMRI measurements is a reasonably reliable technique to detect the epileptogenic zone in patients with refractory epilepsy, areas spreading from the primary epileptogenic focus may present significant activation and compromise an straightforward interpretation of the outcomes. Keywords: EEG-fMRI, BOLD, Epilepsy, Seizure, Epileptogenesis, Focal Cortical Dysplasia. 1. Introduction The technique of simultaneous EEG and functional Magnetic Resonance Imaging (EEG-fMRI) recordings has become, in the last years, one of main promising multimodal approaches to noninvasively assess the seizure onset zones in patients with epilepsy [1]. The basic idea is to combine the good temporal resolution of the EEG signal with the good spatial resolution of the fMRI mapping. In addition, these techniques are complementary also in terms of the physiological nature of the each one of these signals, i.e., while EEG reflects the electrical activity that emerges at the scalp of a large pool of firing neurons, the fMRI signal is based on the blood oxygenation level dependent (BOLD) effect [2]. However, since the epileptogenic events seem to occur at random, in this case the fMRI data analysis is not as straightforward as it is in experiments performed under controlled conditions. In fact, one of the main reasons to perform EEG recordings conjugated with fMRI measurements is to apply the timing of the epileptic spikes as a regressor to analyze the BOLD time course associated with them. Ideally, the best way to localize the epileptogenic zone would be detect BOLD responses associated with ictal electrographic activity. However, most of these events are followed by clinical manifestations, including motion and seizure propagation, which would confound the analysis of the outcomes. In this paper, we describe two ictal EEG-fMRI studies that characterize this situation. 2. Methods 2.1. Case 1 A 39 years-old male patient with seizures since the age of ten, always characterized by complex visual hallucinations and loss of consciousness, rapidly progressing to extend of the left arm. At the time of the present evaluation, he had been treated with five different antiepileptic drugs in mono or polytherapy in appropriated doses, but he was still refractory, with five to ten complex partial seizures per day. He had history of two major head traumas and had been submitted to drainage of a subdural bleeding. In the investigation, MRI demonstrated an extensive hypointense T1 and hyperintense T2 signal in the right parietal region, compatible with focal cortical dysplasia. The inter-ictal EEG demonstrated intermittent low amplitude rhythmic polyspikes in temporo-parieto-occipital regions, predominantly at the right side. The patient was submitted to neurosurgical resection of the right parietal dysplastic lesion. Electrocorticography (ECoG) during surgery confirmed the presence of epileptiform activity Anais do I SPS UNICAMP Outubro de 2010 118 Sessão 9 - Processamento de Sinais Biomédicos restricted to the areas of abnormalities detected at the structural MRI. Pathology confirmed focal cortical dysplasia. The patient has been seizure-free since the procedure (four months). Before surgery, the patient underwent EEG-fMRI examination. The EEG was acquired at a sampling rate of 5 kHz using the amplifier BrainAmp (Brain Products, Munich, Germany) and 64 electrodes Ag/AgCl compatible with MRI. Acquisition of concomitant fMRI was performed using a 3T MRI scanner (Phillips, Achieva, Netherlands), with three sequences of six minutes of echo-planar images (EPIs) with 3x3x3mm3 voxel size, TE=30ms, TR=2s, 80x80 matrix. The last sequence was interrupted after the beginning of an epileptic event described below. A T1-weighted anatomical image was done (1mm slice thickness, 240x240 matrix, TE=3.2ms and TR=7.0ms, flip angle 8°) and used for registration of the functional maps. The EEG was corrected for gradient and ballistocardiogram artifacts with the software Vision Analyzer2 (Brain Products, Munich, Germany). The EPI images were analyzed with SPM8 package (www.fil.ion.ucl.ac.uk/spm/): they were realigned, corrected for slice timing, normalized and smoothed. During EEG-fMRI registration, the patient had a typical complex partial seizure, as observed by a neurologist who followed him close. As soon as the patient moved his left arm (as expected from the beginning of his typical seizures), he was promptly removed from the MRI scanner. The moment of onset of changes of the ictal tracing was used to assess the BOLD response on the MR images (t-test, the lower limit of 5 voxels, P <0.005, T> 2.5). 2.2. Case 2 A 29 years-old female patient, with seizures since the age of ten. Initially, the events were described as tonic-clonic. Since the age of 15 she evolved with episodes characterized by sudden loss of consciousness and staring, without aura, eye deviation upward and, eventually, extension of the limbs and hip weighbridge with total duration of ten to twenty seconds. At the time of the present evaluation, she had been treated with six different antiepileptic drugs in adequate doses. She had almost daily seizures always in clusters of five to ten events per day. Inter-ictal EEG recording demonstrated very frequent paroxisms of low amplitude polyspikes in bilateral fronto-temporal regions and generalized rhythmic epileptiform discharges, exacerbated during sleep. Ictal EEG demonstrated generalized and rhythmic spike-and-wave activity. MRI showed an abnormal and vertical sulcus in the transition of right superior and middle frontal gyrus with cortical thickening compatible with focal cortical dysplasia. Ictal single-photon emission computed tomography (SPECT) demonstrated hyperperfusion in the antero-lateral portion of right frontal lobe. The patient was submitted to neurosurgical procedure accompanied by ECoG with corticotomy of right frontal lobe. In the first month after the procedure the patient and family members did not notice any clinical seizure. During EEG-fMRI registration, no clinical seizure was detected by the observers. However, later EEG evaluation demonstrated one event of generalized rhythmic spike-and-wave activity for 35 seconds followed by diffuse delta activity for 20 seconds. This event was similar to the electroclinical episodes registered during routine video-EEG. The EEG and fMRI data acquisition, post-processing and analysis were performed by the same procedure as described for Case 1. 3. Results The ictal BOLD-fMRI response for Case 1 showed activation in precuneus and the right supramarginal gyrus (areas with dysplastic lesions on MRI) but showed more significant activation response in precentral gyrus and right middle frontal gyrus (areas without injury), the latter consistent with areas of secondary spread of the epileptic focus (motor areas), according to the semiology of seizures (Fig. 1). Anais do I SPS UNICAMP Outubro de 2010 119 Sessão 9 - Processamento de Sinais Biomédicos Figure 1. Case 1: Ictal BOLD-fMRI response showed activation in the lesion area and a more significant activation in the right supplementary motor area, consistent with areas of secondary spread of the epileptic focus. The ictal BOLD-fMRI response for Case 2 showed activation in both middle frontal gyrus and right thalamus, most significantly at the right frontal area. Although the main activation area was compatible with ictal SPECT, the concomitant activation of the homologous contralateral region may be a confounding factor being interpreted as the irritative zone (Fig. 2). Figure 2. Case 2: Ictal BOLD- fMRI response showed activation in bilateral frontal lobe regions (right and left middle frontal gyrus). 4 Conclusions The technique of EEG-fMRI can detect epileptogenic zone in patients with refractory epilepsy, but areas of diffusion of the primary epileptogenic focus may show significant activation, compromising the interpretation of results. Referências [1] Gotman, J., Kobayashi, E., Bagshaw, A. P., Bénar, C. G., Dubeau, F., 2006. Combining EEG and fMRI: a multimodal tool for epilepsy research, J. Magn. Reson. Imaging 23: 906–20. [2] Ogawa S., Lee, T. M., Kay, A. R., Tank, D. W., 1990. Brain magnetic resonance imaging with contrast dependent on blood oxygenation. Proc Natl Acad Sci USA 87: 9868–72. Anais do I SPS UNICAMP Outubro de 2010 120