- 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[
π 2x1u
π  2y1 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