VII Workshop de Visão Computacional – WVC 2011 Recuperação de imagens por conteúdo utilizando Lógica Fuzzy - um estudo de caso sobre imagens faciais Leila Cristina Carneiro Bergamasco; Fátima L.S. Nunes Universidade de São Paulo – Escola de Artes, Ciências e Humanidades [email protected]; [email protected] vem aumentando a sua significância na medida em que se mostra eficaz nas rotinas aplicadas [1]. Para o processamento e busca das imagens é possível utilizar CBIR (Content Based Image Retrieval), que por meio de extratores (algoritmos que extraem características das imagens) e funções de similaridade, comparam as imagens de uma base de dados a uma imagem modelo, retornando as mais semelhantes ao modelo fornecido. Para aumentar a qualidade das respostas do sistema, é possível utilizar a lógica Fuzzy, uma técnica amplamente divulgada em Inteligência Artificial, que tem por objetivo diminuir o gap semântico entre o usuário e a lógica matemática do computador [2]. A proposta desse artigo é discutir os resultados e eficácia da aplicação da lógica Fuzzy em um sistema CBIR no contexto da rotina de reconhecimento facial. Na seção 2 são apresentados os trabalhos que serviram como base para o presente estudo, nas seções 3 e 4 são definidos os conceitos de CBIR, realimentação por relevância e lógica Fuzzy e a metodologia empregada para a conclusão do trabalho, respectivamente, e nas seções 4 e 5 os resultados obtidos são mostrados e discutidos. Resumo A técnica de CBIR (Content-Based Image Retrieval) consiste em recuperar imagens de um banco de dados com base na similaridade entre uma imagem modelo e as imagens armazenadas. A lógica Fuzzy tem por objetivo classificar essa similaridade considerando graus de pertinência, sendo que quanto maior o grau, maior a similaridade. O presente trabalho propõe a implementação e a análise da recuperação de imagens por conteúdo utilizando a técnica de Inteligência Artificial de lógica Fuzzy. A integração entre CBIR e lógica Fuzzy ocorrerá por meio da técnica de realimentação por relevância, na qual o usuário classifica cada imagem resultante como relevante ou não a sua busca, de modo que o algoritmo ‘aprenda’ e adeque seus graus de pertinência de acordo com as especificidades do usuário. Abstract The CBIR (Content-Based Image Retrieval) technique consists in retrieve images from a database based on the similarity among stored images in a database and another image used as a model. Fuzzy Logic, aims at classify this similarity on relevance degrees, as higher the level, greater the similarity. This paper proposes the implementation and analysis of image retrieval by content using the technique of Fuzzy Logic. The integration of Fuzzy Logic and CBIR occurs through by relevance feedback technique, which the user rates each resulting image as relevant or not, in such way the algorithm 'learns' and compute its relevance degree according to the specific user. 2. Trabalhos correlatos Para esse estudo de caso foram analisadas técnicas principalmente de realimentação por relevância e CBIR para entender qual o estado de conhecimento de ambos os assuntos. Em [3], Torres e Falcão fazem uma revisão das principais técnicas de CBIR de cor, textura e forma, além de elucidar sobre algumas funções de similaridade utilizadas atualmente e sob quais aspectos esses quesitos são funcionais ou não. No trabalho de Marques [4] foi empregada a técnica de realimentação por relevância por meio de duas técnicas: Relevance Feedback Projection que separa as características em faixas de relevância e gera um novo valor calculado a partir de projeções sobre a faixa de objetos relevantes, e a técnica Multiple Point Projection que combina a técnica anterior ao uso de múltiplos centros de consulta. Em [5] foi utilizada a técnica de Programação Genética, conceito extraído da Inteligência Artificial para executar a realimentação por relevância nos vetores de características extraídos da imagem. 1. Introdução Soluções automatizadas estão cada vez mais presentes no cotidiano das pessoas com o objetivo de facilitar e garantir resultados com grande qualidade. O reconhecimento facial é uma dessas soluções e está sendo empregado com maior frequência na sociedade, principalmente nas áreas de segurança e investigação. Por esse motivo, a otimização desse processo é estudado e 324 VII Workshop de Visão Computacional – WVC 2011 determinado conjunto, ou seja, tem valores 0 ou 1 de pertinência, nos conjuntos Fuzzy um determinado elemento pode pertencer com grau em um intervalo de 0 a 1. Um sistema Fuzzy, é composto por três processos base: fuzzyficação, inferência e defuzzyficação. Tomando por base, um exemplo de um sistema de controle de temperatura, demonstrado graficamente na Figura 1, onde o eixo x representa a temperatura em graus Celsius e o eixo y, a pertinência de cada grau a cada uma das variáveis linguísticas {muito baixa, baixa, agradável, alta}, será explicada a função de cada etapa de um sistema Fuzzy. O principal objetivo desse trabalho é propor uma nova abordagem para a realimentação por relevância utilizando a lógica Fuzzy a fim de tornar a interação entre usuário e o sistema CBIR mais intuitivo. 3. Conceitos A técnica de CBIR, conhecida como reconhecimento de imagens baseada em conteúdo, tem por objetivo, a partir de uma imagem modelo, apresentar ao usuário as imagens mais relevantes que constam na base de dados. A busca pelas imagens mais relevantes ocorre por meio das funções de similaridade que são aplicadas nas imagens, gerando os vetores de características de cada uma delas. Esse vetor é composto de dados matemáticos extraídos das imagens usando-se extratores. A partir do resultado proposto, o usuário pode, por meio do sistema de CBIR, definir quais as imagens são mais relevantes no resultado da busca e quais imagens não foram relevantes, na sua concepção [3]. Os extratores são algoritmos que extraem características matemáticas que, quando transformadas em números, representam o conteúdo da imagem. Os extratores podem ser globais, recuperando características da imagem inteira, ou locais, agindo em regiões específicas da imagem. As características extraídas formam um vetor de características que define matematicamente a imagem [6]. Os extratores podem representar características diversas, sendo bastante aplicados para representar aspectos de cor, forma e textura. As funções de similaridade buscam demonstrar matematicamente o quanto uma imagem é similar a outra. Esse processo envolve a escolha de uma ou mais funções de distâncias métricas e sua aplicação nos vetores de características das imagens obtidos por meio dos extratores. A técnica de CBIR permite qualificar as respostas dadas como relevantes ou não, fazendo com que o algoritmo ‘aprenda’ quais propriedades visuais são melhores para determinado contexto. Esse conceito chamado por realimentação por relevância tem dois objetivos principais: reduzir o gap semântico entre a análise visual de alto nível feita pelo usuário e a análise de baixo nível feita por meio dos extratores e funções de similaridade; e reduzir a subjetividade da percepção humana, uma vez que diferentes usuários podem ter diferentes percepções de relevância para a mesma imagem [4]. A lógica Fuzzy é uma proposta que procura atender o aspecto vago deixado pela teoria clássica dos conjuntos, em relação a informações com dados imprecisos [6]. Enquanto na teoria clássica, aqui chamada por conjuntos ‘crisp’, um elemento pertence ou não a um Figura 1: Sistema Fuzzy de controle de temperatura O processo de fuzzyficação consiste em transformar os valores de entrada, que são valores crisp, em valores Fuzzy [7]. No exemplo anterior, dada uma temperatura de 25 graus, é verificado o grau de pertinência em cada variável lingüística e dessa forma não é mais analisada a informação pelo seu valor matemático, mas sim como parte integrante de um dos conjuntos de variáveis. Assim 25 graus pode ser uma “temperatura agradável” e uma “temperatura alta” com grau de pertinência menor. Na inferência Fuzzy, são aplicadas as regras definidas do tipo “Se <premissa> então <conclusão>”. Esse processo é o mais importante de um sistema Fuzzy devido ao fato que nele a lógica Fuzzy é amplamente utilizada por meio dos operadores de implicação. Para cada dado de entrada é feita uma análise em cada regra definida e as conclusões obtidas individualmente são agrupadas para obtenção de um resultado global. No processo de defuzzyficação é implementado um algoritmo para extração de um valor crisp a partir de um conjunto de dados nebulosos. Alguns exemplos são: maior dos máximos, menor dos mínimos, média dos máximos e centróide. 4. Metodologia Para atender aos objetivos do presente trabalho e baseado na revisão bibliográfica feita, foi visto que o desenvolvimento de um sistema de reconhecimento facial seria a forma mais adequada para se avaliar a eficácia do processo, dessa forma, três módulos foram desenvolvidos: 325 VII Workshop de Visão Computacional – WVC 2011 módulo CBIR, módulo Fuzzy e o módulo de Realimentação por Relevância. A primeira etapa do módulo CBIR consistiu em escolher uma base de dados para que fosse possível extrair mais facilmente características e testar a eficiência do sistema. Foi escolhido um cenário controlado, com fotografias de rostos de homens e mulheres de diferentes raças na fase adulta. A base de dados é da Universidade de Essex [7]. No sistema foram implementados 17 extratores, contemplando as categorias de cor, forma e textura. Na Tabela 1 é apresentado a finalidade de cada um deles. Para enriquecer a pesquisa os extratores de cor foram calculados por meio de histogramas, que dão uma visão global da imagem, e também utilizando os pixels com os seus valores individuais. Média dos Pixels em Nivel de Cinza Média dos Pixels em RGB Obter informação sobre a tonalidade da imagem (mais clara ou mais escura), analisando os valores dos pixels individualmente. Obter informação sobre a tonalidade da imagem (mais clara ou mais escura) em cada canal de cor, analisando os valores dos pixels individualmente. Desvio Padrão dos Pixels em Nivel de Cinza Obter informação do índice de variação de cores em uma imagem, analisando os pixels individualmente. Desvio Padrão dos Pixels em RGB Obter informação do índice de variação de cores em uma imagem, em cada canal de cor, analisando os pixels individualmente. Obliquidade dos Pixels em Nível de Cinza Obter o valor da variação das cores, analisando os pixels individualmente. Obliquidade dos Pixels em RGB Obter o valor da variação das cores, analisando os pixels individualmente, em cada canal de cor e analisando os pixels individualmente. Contraste Determinar a variação dos pixels, que indica o seu contraste Entropia Determinar o índice de dispersão dos pixels. Tabela 1: Extratores implementados Tipo Cor Extrator Finalidade Média do Histograma em Nivel de Cinza Obter informação sobre a tonalidade da imagem (mais clara ou mais escura) Média do Histograma em RGB Obter informação relativa ao tom da imagem (mais clara ou mais escura) em cada canal de cor. Desvio Padrão do Histograma em Nivel de Cinza Desvio Padrão do Histograma em RGB Obter informação do índice de variação de cores em uma imagem Obter informação do índice de variação de cores em uma imagem, em cada canal de cor. Textura Obliquidade do Histograma em Nível de Cinza Obter o valor da variação das cores Obliquidade do Histograma em RGB Obter o valor da variação das cores em cada canal de cor. 326 VII Workshop de Visão Computacional – WVC 2011 Forma Escala Por meio do índice de escala, comparar duas imagens e ver a diferença entre os tamanho dos rostos Rotação Encontrar os eixos de inércia da imagem para comparação. Translação Encontrar os prolongamentos e orientações da forma do rosto. usuário escolher a imagem modelo e, em seguida as cinco mais parecidas com ela são apresentadas para avaliação. A realimentação por relevância acontece quando, a partir da nota atribuída pelo usuário, o algoritmo identifica quais imagens pode descartar e quais deve usar como referência em uma próxima busca. A interação com o usuário termina somente quando ele julga que todas as imagens candidatas atendem a sua solicitação. Na Figura 3 é apresentado o fluxograma do funcionamento do sistema de reconhecimento facial. A função de similaridade implementada foi a distância Euclidiana e para as imagens de testes foram escolhidos três imagens faciais, denominadas R1, R2 e R3 respectivamente, conforme mostrado na Figura 2. Figura 3: Fluxograma do funcionamento do sistema Para cada um dos rostos escolhidos para o teste há outras quatro imagens similares, apenas alterando a expressão facial. Elas estão em uma base de dados com outras 40 imagens de outras pessoas. O objetivo do teste foi verificar se através da realimentação por lógica Fuzzy, o sistema é capaz de selecionar as quatro imagens corretamente para cada rosto buscado. Figura 2: Imagens faciais utilizadas para o teste[7]. No módulo Fuzzy foram definidas as variáveis para o processo de fuzzyficação, as regras para a inferência Fuzzy e escolhido o método centróide para a extração do valor crisp do sistema, esse valor corresponde ao peso a ser ajustado de cada imagem. Cada imagem possui um peso que é ajustado a cada iteração de treinamento, de acordo com a resposta do sistema Fuzzy. O valor do peso encontrado é, então, multiplicado pela distância Euclidiana da respectiva imagem, o que implica que pesos maiores causarão um aumento substancial na distância da imagem. Esta ação levará consequentemente, em uma próxima iteração, a não retornar a imagem como sendo uma das imagens candidatas. Dessa forma, o algoritmo diminui a margem de erros causada pelo uso dos extratores puramente matemáticos e faz com que a busca por imagens candidatas fique mais refinada. Para implementar o módulo de Realimentação por Relevância foi construída uma interface que permite ao 5. Resultados Na Figura 4 é possível ver que na primeira interação, nem todas as imagens retornadas são as similares a imagem-objetivo, denominada R1. Figura 4: Primeira interação da imagem R1 Tendo em vista que com a função Euclidiana é possível ter apenas a visão global da imagem, é de se concluir que 327 VII Workshop de Visão Computacional – WVC 2011 alguns extratores podem ter prejudicado no cálculo da função de similaridade, levando a um valor errado. Isso pode ser constatado na Tabela 2, nos extratores em negrito, que mostram a distância Euclidiana entre o rosto representado na imagem R1 e as cinco primeiras imagens que foram retornadas na primeira interação. Interações x Acertos 1,2 Índice de Acerto 1 0,8 R1 0,6 R2 R3 0,4 0,2 Tabela 2: Distância Euclidiana entre R1 e imagens candidatas 0 1 2 3 4 5 6 7 8 9 10 Nº Interações 1 Imagens - Candidatas 2 3 4 Figura 5: Interações x Acertos 5 0,00 0,071 0,006 0,039 0,036 0,00 0,578 0,003 6,417 3,533 0,00 2,372 2,593 0,864 2,372 0,00 0,130 0,002 0,030 0,044 0,00 38,583 12,505 78,023 118,81 0,00 0,000 0,000 142,88 37,992 0,00 0,071 0,006 0,039 0,036 0,00 28,930 45,328 40,039 178,834 0,00 17,961 35,033 40,997 17,961 Conforme o número de interações com o usuário foi aumentando, a busca se tornou mais refinada e começou a retornar resultados melhores, fazendo com que a área dos gráficos de precisão e revocação também crescessem, indicando sucesso na busca. A evolução dos resultados da imagem R1 estão apresentados na Figura 6, que mostra três momentos do sistema, o momento A indica a primeira interação com o usuário, o momento B a quinta interação, e o momento C a sétima e última interação. A) 1ª Interação Precisão x Revocação 1,2 1 0,8 0,00 0,130 0,002 0,030 0,044 0,00 36,871 188,85 54,031 58,956 0,00 0,00 0,00 0,00 0,00 0,00 498,90 0,007 0,005 0,013 0,016 0,006 467,52 0,011 0,005 0,052 0,063 0,104 140,08 0,016 0,008 0,060 0,074 0,083 150,48 0,007 0,005 0,062 0,077 0,044 Precisão Extratores Média do Histograma em Nivel de Cinza Média do Histograma em RGB Desvio Padrão do Histograma em Nivel de Cinza Desvio Padrão do Histograma em RGB Obliquidade do Histograma em Nível de Cinza Obliquidade do Histograma em RGB Média dos Pixels em Nivel de Cinza Média dos Pixels em RGB Desvio Padrão dos Pixels em Nivel de Cinza Desvio Padrão dos Pixels em RGB Obliquidade dos Pixels em Nível de Cinza Obliquidade dos Pixels em RGB Contraste Entropia Escala Rotação Translação 0,6 0,4 0,2 0 0,2 0,4 0,6 0,8 1 0,8 1 Revocação B) 5ª Interação Precisão x Revocação Aplicando a realimentação por relevância por meio de notas variando de 0 a 10 e o processamento de ajustes de peso por meio da lógica Fuzzy, o usuário consegue minimizar o erro causado pelos extratores, refinando a sua busca. Isso pode ser constatado por meio do gráfico mostrado pela Figura 5, onde para a imagem R1, houve a necessidade de sete interações para a busca das outras cinco imagens que eram similares à ela. Para a imagem R2 foram feitas 10 interações e para a imagem R4, seis avaliações. 1,2 1 Precisão 0,8 0,6 0,4 0,2 0 0,2 0,4 0,6 Revocação 328 VII Workshop de Visão Computacional – WVC 2011 C) bastantes satisfatórios, e mostrou que a utilização de métodos que aproximam o usuário do processo de busca, diminuindo o gap semântico que ainda existe entre a percepção do usuário e a lógica matemática da computação é extremamente importante e que é possível que ambas trabalhem juntas e produzam resultados cada vez mais significativos. 7ª Interação Precisão x Revocação 1,2 1 Precisão 0,8 0,6 0,4 7. Agradecimentos 0,2 0 0,2 0,4 0,6 0,8 1 Ao Projeto INCT – MACC (Institutos Nacionais de Ciência e Tecnologia – Medicina Assistida por Computação Científica), pelo apoio financeiro. Revocação Figura 6: Gráfico de precisão e revocação para a imagem R1, representando diferentes momentos do sistema. Gráfico A) 1ª interação; B) 5ª interação; C) 7ª interação. 8. Referências Bibliográficas Na Figura 7 é possível analisar através da interface do sistema, a evolução que houve no decorrer das interações utilizando um sistema de lógica Fuzzy. [1] MÁXIMO, A. A importância do mapeamento da criminalidade utilizando-se tecnologia de sistema de informação geográfica para auxiliar a segurança pública no combate à violência. 2004. 101f. Dissertação (Mestrado em Engenharia de Produção e Sistemas) – PPGEP, Universidade Federal de Santa Catarina, Florianópolis. cap. 1, p. 11-13. [2] PEDRYCZ, W.; GOMIDE F. An introduction of Fuzzy Sets: Analysis and Design. Mit Press, 1998. Figura 7: Resultado da sexta interação com R1. [3] TORRES, R. da S.; FALCÃO, A. X. Recuperação de Imagens Baseadas em Conteúdo. In: Workshop de Visão Computacional, 4. 2008, Bauru. São Paulo: Universidade Estadual de São Paulo - UNESP, 2008. 6. Conclusões Faz-se necessário discutir alguns pontos observados durante a implementação do sistema, o primeiro deles é sobre os extratores e funções de similaridade. Como visto anteriormente, houve extratores que prejudicaram a distância Euclidiana com valores que se diferenciavam em grande escala dos demais. No sistema foram utilizados extratores de todas as categorias (cor, textura e forma), porém há alguns estudos que apontam para a relação da eficiência de determinados extratores no contexto em que são inseridos. Nesse sentido, um aspecto a ser aprofundado é a escolha do melhor conjunto de extratores de forma a diminuir a quantidade de iterações necessárias ao processo. Outro ponto em destaque foi a função de similaridade usada. A distância Euclidiana retorna um valor global, reflexo do conjunto de todos os extratores, isso também ajudou a trazer resultados menos coerentes ao usuário. Uma vez que o extrator estava retornando resultados ruins, o valor da distância Euclidiana também piorava. Uma ideia que pode ser explorada é como a lógica Fuzzy poderia realimentar os valores de cada um dos extratores e não da distância global obtida. O uso da técnica de realimentação por relevância em conjunto com a lógica Fuzzy produziu resultados [4] MARQUES, J. Realimentação de relevância para recuperação por conteúdo de imagens médicas visando diminuir a descontinuidade semântica. In: Simpósio de Teses e Dissertações, 11, 2008. São Paulo. São Paulo: Instituto de Ciências Matemáticas e Computação, Universidade de São Paulo, 2008. [5] SILVA, A. T. Recuperação de Imagens por Realimentação de Relevância. In: EADCA - Encontro dos Alunos e Docentes do Departamento de Engenharia de Computação e Automação Industrial, 2, 2009, Campinas. Anais.. São Paulo: Universidade de Campinas – UNICAMP, 2009. [6] SANDRI, S.; CORREA, C. Lógica Nebulosa. In: Escola de Redes Neurais, 5. 1999, São Paulo. São Paulo: Instituto de Tecnologia e Aeronáutica – ITA, 1999. [7] ESSEX UNIVERSITY. Collection of Facial Images. Inglaterra, 2008. Disponível em: http://www.face-rec.org. Acessada em: Março, 2011. 329