Processamento de imagens na prática

Recuperação de Imagens por semelhança – Dissertação de Mestrado de Juliano Weber

Nesta semana assisti a uma defesa de Mestrado do recém criado Programa de Pós-graduação em Informática da UFSM (não tem link porque a página ainda não existe – mais informações na página do LaCA/UFSM).

O trabalho do Juliano Gomes Weber tem o título ‘Técnicas de Clusterização baseadas em Características de Cor para Classificação de Imagens’ e foi orientado pelo Prof. Dr. Eng. Marcos C. d’Ornellas. O objetivo: encontrar imagens coloridas por semelhança com precisão e resposta rápida.

O método

Uma das imagens do banco de imagens.

Uma das imagens do banco de imagens.

O método que o Juliano implementou tem duas fases: a de pré-processamento e a de comparação com a imagem escolhida. Para testar o método, ele escolheu um banco de imagens mantido pela Universidade de Washington: o Ground Truth Database, que possui 1085 imagens classificadas em 20 categorias.

Ele implementou seu método e colocou em uma página web: http://www.ijui.inf.br/cbir/

Pré-processamento

Imagem após a correção de iluminação.

Imagem após a correção de iluminação.

Esta etapa é feita uma vez só para um determinado conjunto de imagens, e não precisa ser repetida. Nela as imagens passam por 3 métodos de processamento: o Mean-Shift, para reduzir o número de cores e separar regiões homogêneas; uma correção de iluminação para descartar as sombras e um método de detecção de cantos (conhecido como Harris), que é a estrela do trabalho.

A saída desta sequência de processamentos são as coordenadas dos cantos encontrados na em cada uma das [1028] imagens. Elas são armazenadas em um banco de dados especialmente estruturado para facilitar (acelerar) a comparação destas coordenadas, entre uma imagem e outra.

Comparação

Mesma imagem, após a correção de iluminação e o Mean-shift.

Mesma imagem, após a correção de iluminação e o Mean-shift.

Quando você entra no site do Juliano e escolhe uma imagem para encontrar outras semelhantes, o programa identifica a imagem que você escolheu (que já tem as coordenadas dos cantos calculadas e armazenadas). Os cantos das outras imagens são comparados com os da sua, e o programa exibe as imagens em ordem de semelhança (dos cantos).

Resultado!

Se eu falar de um método que identifica imagens com cantos posicionados de forma semelhante, muitas pessoas dirão: e daí?

Mas o fato é que a posição dos cantos tem a var com a forma, e com o nível de detalhes presentes em uma imagem. Em um grupo de imagens do mesmo assunto, este agrupamento por forma pode ficar bem próximo do que nós, humanos, consideramos semelhança.

É claro que não dá certo com qualquer grupo de imagens (e nem o google conseguiu isso ainda), mas tem potencial de aplicação em áreas específicas. Quais? Quaisquer áreas em que a forma dos objetos seja importante… um osso quebrado tem mais cantos que um inteiro, certo? Células têm formatos diferentes quando vistas ao microscópio, e micro-organismos também.

Ah, o resultado da defesa…

Como todo bom programador, o Juliano levou puxão de orelha porque não escreve direito, e foi aprovado [ Parabéns! ], contato que faça algumas (3254363665) modificações no texto do trabalho, que deve chegar no BDTD em dois ou três meses.

Eu propus, e ele concordou em incluir o código como anexo, ou disponibilizá-lo na internet (afinal, código deve ser o que ele escreve melhor…). Fiquei curiosa sobre como ele implementou o Mean-shift, e sobre o método de correção de iluminação que ele usou.

Quando eu tiver o código volto a falar nestes assuntos.

Para fazer mestrado…

Se você gostou o que leu, e pensa sobre fazer um mestrado nessa área, tem vaga para 2010. A continuidade deste trabalho, seja melhorando o método ou aplicando em alguma situação da vida real, é só um dos temas que você pode escolher.

2 Comentários para Recuperação de Imagens por semelhança – Dissertação de Mestrado de Juliano Weber

  1. Thiago's Gravatar Thiago - 11 de agosto de 2009 at 11:43 | Permalink

    Olá venho acompanhando seu blog já há algum tempo e quero agradecer pelo conteúdo bom dos posts, tenho procurado bastante conteúdo de processamento de imagens mas é relativamente difícil de achar algo, continue postando! =]

Comente

Você pode usar estas tags e atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>