photofinder 2 - ulisboa€¦ · a área de pesquisa e recuperação de imagens baseada no conteúdo...
TRANSCRIPT
PhotoFinder 2
Classificação e Pesquisa de Fotografias Digitais
Nuno Ricardo de Carvalho Pimenta
Dissertação para obtenção do Grau de Mestre emEngenharia Informática e de Computadores
Júri
Presidente: Prof. Mário Rui GomesOrientador: Prof. Manuel João da Fonseca
Co-orientador: Prof. Joaquim A. JorgeVogal: Prof. Andreas Wichert
Maio 2008
Nu
no R
icard
o d
e C
arv
alh
o P
imen
taP
hoto
Fin
der
2C
lass
ific
ação e
Pesq
uis
a d
e F
oto
gra
fias
Dig
itais
Agradecimentos
Gostaria de agradecer, em primeiro lugar, ao Prof. Manuel João Fonseca, pelo
acompanhamento e apoio dados durante a realização desta tese de mestrado.
Agradeço ainda a todas as pessoas que de alguma forma incentivaram e
criticaram o meu trabalho, contribuindo para o seu progresso.
3
Resumo
A área de pesquisa e recuperação de imagens baseada no conteúdo (CBIR) tem
recebido nos últimos tempos várias contribuições e soluções, focando-se
principalmente na pesquisa da totalidade da imagem, ignorando um pouco a pesquisa
parcial.
Neste trabalho procuramos encontrar uma solução que suportasse não só a
pesquisa total, mas também a pesquisa parcial de imagens, ou seja, encontrar
imagens que contenham apenas uma parte semelhante à imagem submetida. Para tal,
desenvolvemos uma nova abordagem que utiliza manchas de cor, a relação espacial
entre elas e vários níveis de detalhe, para descrever o conteúdo das imagens. As
imagens são segmentadas usando vários níveis de detalhe, as regiões (manchas) são
identificadas e as suas relações espaciais e cor são extraídas. Essa informação é
convertida em descritores e guardada de forma a possibilitar a posterior pesquisa.
Para avaliar a nossa solução, realizamos vários testes experimentais
comparando-a com outra abordagem existente. Os resultados obtidos mostram que a
nossa solução apresenta um bom comportamento não só para a pesquisa total como
também para a pesquisa parcial. Em comparação com o imgSeek, a nossa solução
revelou-se superior apresentando melhores resultados.
Palavras-chave: Pesquisa e Recuperação de Imagens Baseada no Conteúdo,
Simplificação de Imagens, Extracção de Características, Manchas de Cor
Abstract
The content-based image retrieval (CBIR) area has achieved several solutions
and contributions in the last years, but the main focus remains in finding similar
images as a whole, disregarding the search for fragments of the image.
In this work we tried to find a solution, not only to find similar images, but also
to find images that have only a part in common with the submitted query. We
developed a new approach using color blobs and their topological relationships to
solve this problem. Images are segmented into blobs several times, that is, with
several levels of detail to describe their content. Then, we identify those regions and
extract their spatial relationships. This information is converted into descriptors and
stored for later finding and retrieval.
We performed some experimental tests to evaluate our solution and compared it
with an existing system. Tests showed that our approach lead to good results in both,
total and partial searching. It was also superior to imgSeek, retrieving a larger
number of relevant images.
Keywords: Content-Based Image Retrieval, Image Simplification, Feature
Extraction, Color Blobs
Índice
Lista de Figuras ....................................................................... 7
Lista de Tabelas ....................................................................... 8
1 Introdução ............................................................................. 9
2 Trabalho Relacionado .......................................................... 112.1 Análise Baseada em Histogramas ............................................ 112.2 Análise Baseada na Disposição de Cores ................................. 122.3 Análise Baseada em Regiões .................................................... 132.4 Sistemas Existentes de Pesquisa de Imagens .......................... 132.5 Discussão das Soluções Apresentadas ..................................... 24
3 PhotoFinder 2: Uma Nova Abordagem ................................. 283.1 Segmentação da Imagem ......................................................... 283.2 Extracção de Topologia e Cor .................................................. 293.3 Inserção e Pesquisa nas Bases de Dados ................................. 30
4 Segmentação da Imagem por Níveis .................................... 324.1 Sistemas Existentes ................................................................. 324.2 Pré-processamento das Imagens ............................................. 334.3 Níveis de Segmentação ............................................................ 354.4 Parâmetros de Segmentação ................................................... 364.5 Síntese ...................................................................................... 38
5 Extracção de Topologia e Cor .............................................. 395.1 Vectorização das Manchas de Cor ........................................... 39
5.1.1 Chain Coding ............................................................................................ 395.1.2 Formação dos Polígonos ........................................................................... 43
5.2 Construção do Grafo de Topologia .......................................... 445.3 Extracção da Cor das Manchas ................................................ 475.4 Síntese ...................................................................................... 48
6 Armazenamento e Pesquisa ................................................. 496.1 Inserção da Informação em Bases de Dados ........................... 496.2 Pesquisa por Imagens Semelhantes ........................................ 506.3 Síntese ...................................................................................... 52
7 Resultados Experimentais ................................................... 537.1 O Protótipo PhotoFinder 2 ....................................................... 537.2 Medida de Qualidade ............................................................... 547.3 Pesquisa Total .......................................................................... 547.4 Pesquisa Parcial ....................................................................... 587.5 Comparação com o Sistema imgSeek ...................................... 61
8 Conclusões e Trabalho Futuro ............................................. 63
9 Referências Bibliográficas ................................................... 65
10 Apêndices ........................................................................... 69 Apêndice A .................................................................................... 69
Lista de Figuras
Fig. 1: Exemplo de pesquisa parcial ............................................................................. 10Fig. 2: Exemplo do histograma de cores, no sistema RGB, de uma fotografia ........... 11Fig. 3: Compressão de uma imagem usando wavelets. ............................................... 12Fig. 4: Sistema QBIC ..................................................................................................... 13Fig. 5: Interrogação (esquerda) e respectivo resultado .............................................. 14Fig. 6: Fast Multiresolution Image Querying ............................................................... 15Fig. 7: Sistema retrievr, apresentação dos resultados após interrogação ................. 16Fig. 8: imgSeek: query e respecivos resultados .......................................................... 16Fig. 9: VisualSEEK - interface para criar interrogações ............................................. 17Fig. 10: Exemplo de pesquisa baseada em regiões de cor dominante ........................ 18Fig. 11: Blobworld - resultado de uma interrogação à base de dados ........................ 19Fig. 12: SIMPLIcity - resultado de uma interrogação à base de dados ...................... 21Fig. 13: Funcionamento da pesquisa por conceito semântico escondido ................... 22Fig. 14: Comparação de resultados entre o sistema WALRUS e o WBIIS .................. 23Fig. 15: Exemplo da técnica por pontos salientes. ...................................................... 24Fig. 16: Demonstração do algoritmo SPARSE ............................................................. 24Fig. 17: Duas fotografias com histograma idêntico ..................................................... 25Fig. 18: Exemplo da segmentação de uma imagem em regiões ................................. 25Fig. 19: Esquema de funcionamento do PhotoFinder 2 ............................................... 28Fig. 20: Segmentação de uma fotografia ..................................................................... 29Fig. 21: Extracção de características ........................................................................... 30Fig. 22: Esquema da pesquisa nas bases de dados ..................................................... 31Fig. 23: Efficient Graph-Based Image Segmentation .................................................. 32Fig. 24: Sistema EDISON ............................................................................................. 33Fig. 25: Image Segmentation Using Curve Evolution And Flow Fields ...................... 33Fig. 26: Resultados da segmentação em três imagens com dimensões distintas ....... 34Fig. 27: Detalhe de manchas de cor ............................................................................. 35Fig. 28: Segmentação em vários níveis ........................................................................ 35Fig. 29: Influência dos parâmetros do sistema EDISON na segmentação ................. 38Fig. 30: Tipos de conectividade de pixels .................................................................... 40Fig. 31: Exemplo ilustrativo do algoritmo chain coding .............................................. 40Fig. 32: Exemplo de um ponto de bifurcação (mais escuro) ....................................... 41Fig. 33: Pormenor dos contornos gerados pelo sistema EDISON ............................... 41Fig. 34: Pormenor de um “beco sem saída” no chain coding ...................................... 42Fig. 35: Relações topológicas entre os polígonos ........................................................ 45Fig. 36: Determinar se um ponto se encontra dentro de um polígono ....................... 45Fig. 37: Construção do grafo de topologia ................................................................... 46Fig. 38: Geração de 3 níveis de segmentação .............................................................. 47Fig. 39: Espaço de cores RGB e HSV ........................................................................... 48Fig. 40: Sistema SBR .................................................................................................... 49Fig. 41: Esquema da base de dados de cores .............................................................. 49Fig. 42: Evolução do algoritmo de comparação de dois vectores de cor .................... 51Fig. 43: PhotoFinder 2 - apresentação dos resultados ................................................ 51Fig. 44: Protótipo PhotoFinder 2 .................................................................................. 53Fig. 45: Exemplo das imagens utilizadas nos testes .................................................... 55Fig. 46: Gráfico dos resultados da pesquisa total com IL5 e STN .............................. 56Fig. 47: Gráfico dos resultados da pesquisa total com IL5 e STL ............................... 56Fig. 48: Gráfico dos resultados da pesquisa total com IL3 e STN .............................. 57Fig. 49: Gráfico dos resultados da pesquisa total com IL3 e STL ............................... 57Fig. 50: Comparação dos melhores resultados de pesquisa total ............................... 58Fig. 51: Exemplo de pesquisa parcial no PhotoFinder 2 ............................................. 58Fig. 52: Gráfico dos resultados da pesquisa parcial com IL5 e STL ........................... 59
7
Fig. 53: Gráfico dos resultados da pesquisa parcial com IL5 e STN .......................... 59Fig. 54: Gráfico dos resultados da pesquisa parcial com IL3 e STL ........................... 60Fig. 55: Gráfico dos resultados da pesquisa parcial com IL3 e STN .......................... 60Fig. 56: Comparação dos melhores resultados de pesquisa parcial ........................... 61Fig. 57: Comparação entre o imgSeek e o PhotoFinder 2 – pesquisa total ................ 62Fig. 58: Comparação entre o imgSeek e o PhotoFinder 2 - pesquisa parcial ............. 62
Lista de Tabelas
Tabela 1: Tabela comparativa dos sistemas analisados ............................................ 26Tabela 2: Influência da dimensão da imagem no tempo de segmentação ................ 34Tabela 3: Influência do spatial bandwidth no tempo de segmentação ..................... 37Tabela 4: Comparacão entre a simplificação pela distância entre vértices e o algoritmo Douglas-Peucker ........................................................................................ 44
8
1 Introdução
Desde um passado não muito remoto, talvez nos últimos doze anos, que o
interesse na pesquisa de imagens digitais baseada no conteúdo (CBIR, do inglês
Content-Based Image Retrieval), tem vindo a aumentar consideravelmente. Domínios
tão distintos como a medicina, o comércio ou a educação, para além da incontornável
Internet, mostram-se como as principais áreas aplicacionais[1][2] contribuindo com
novos desafios para impulsionar a investigação.
A rápida evolução e divulgação dos motores de pesquisa na Internet, como o
Google™ ou o Yahoo!® deve-se ao facto de realizarem uma tarefa como a classificação
ou ordenação de textos, num curtíssimo espaço de tempo e com resultados
fantásticos, de forma eficiente e eficaz. Rapidamente este tipo de pesquisa de
documentos textuais foi estendido a outros tipos de arquivos de média, como
imagens, vídeos, etc.[3]. Porém, o modo como os utilizadores desses serviços
procuram a informação permanece o mesmo: por palavras. Esta limitação obriga a
que, associadas às imagens, existam etiquetas introduzidas manualmente e, por
vezes, apenas num idioma[4]. Existem ainda situações onde a ideia de algo não se
consegue transpor para palavras ou, mesmo conseguindo, são muito complexas de
descrever de forma correcta e concreta[5].
Existem muitos métodos para recuperação de imagens digitais que se baseiam
em diferentes abordagens tecnológicas. No caso das fotografias, existem várias
tentativas de melhor as entender, de capacitar o computador com ferramentas de
interpretação, indexação e anotação de imagens de maneira a que o desempenho da
pesquisa seja o mais aproximado possível do desempenho em documentos de texto.
Mesmo fornecendo imagens semelhantes, muitas vezes a pesquisa falha, pois tratam-
se de algoritmos complexos num campo onde não existe uma maneira fácil de indicar
ao programa o que se está à procura, numa linguagem de mais baixo-nível[6].
Actualmente os sistemas que permitem fazer pesquisa de imagens digitais
necessitam que o utilizador forneça um conjunto de palavras-chave e/ou um nome que
descreva a imagem, enquanto outros apenas pesquisam com base numa imagem ou
esboço que é fornecido como entrada, devolvendo imagens que são semelhantes na
sua totalidade.
Com o projecto PhotoFinder 2 conseguimos fazer pesquisa de imagens com base
no seu conteúdo, usando uma fotografia como interrogação. O principal objectivo é
encontrar imagens semelhantes na totalidade, bem como imagens que contenham
uma parte semelhante à imagem submetida. Por exemplo, submetendo uma flor com
um fundo azul devemos não só encontrar imagens semelhantes, como também outras
9
que contenham a flor, como ilustrado na Fig. 1, independentemente de possíveis
rotações, escalas ou translações.
Fig. 1: Exemplo de pesquisa parcial
Nesta dissertação descrevemos uma solução para o problema da pesquisa
parcial, isto é, encontrar partes de uma imagem em outra imagem, não descurando a
pesquisa total (encontrar imagens similares à original). O nosso sistema, para uma
base de dados controlada com 100 elementos, consegue obter 72% de average
precision para a pesquisa total e 51% para a pesquisa parcial. Comparada com o
sistema imgSeek, a nossa solução mostrou-se uma melhor opção, com uma melhor
taxa de average precision.
Para atingirmos esta solução, investigámos o que tem sido feito na área de CBIR
nos últimos anos, com ênfase na simplificação de imagens e extracção de
características, e descrevemos os trabalhos mais relevantes na secção 2. Fazemos
ainda uma análise crítica às ideias mais representativas das muitas existentes, visto
que o número de publicações sobre este tema tem vindo a aumentar de forma
admirável[1][7]. Na secção 3 descrevemos a nossa solução de um ponto de vista
global, realçando os principais componentes desenvolvidos. A seguir apresentamos
em detalhe a nossa contribuição, principalmente a segmentação de imagens e a
identificação das manchas de cor na secção 4. Na secção 5 descrevemos a criação de
polígonos e a posterior construção do grafo de topologia destes. O mecanismo de
pesquisa e emparelhamento da cor é descrito na secção 6. Os testes que efectuámos e
os respectivos resultados obtidos, bem como uma comparação com outra plataforma,
são descritos na secção 7. Por último apresentamos as principais conclusões e várias
ideias que poderão ser introduzidas futuramente, contribuindo para a evolução deste
trabalho.
10
2 Trabalho Relacionado
O volume de informação contido numa única fotografia é imenso, tornando-se,
hoje em dia, uma tarefa quase impossível pesquisar automaticamente uma base de
dados com milhares de entradas, sem que estas sejam previamente tratadas[5]. Por
forma a tornar essa tarefa praticável, é necessário que as imagens sejam
simplificadas, mas mantendo as suas características principais ou mais relevantes
para os mecanismos de pesquisa. Depois desta simplificação tipicamente aplicam-se
técnicas de análise que permitem identificar e armazenar características que
descrevem o conteúdo da imagem de modo a possibilitar a sua posterior pesquisa.
Nesta secção começamos por examinar os três principais métodos de análise do
conteúdo de imagens[8]. Em seguida, no ponto 2.4 são estudadas as principais
técnicas e aplicações para pesquisa de imagens. Por fim fazemos uma análise e
comparação dos sistemas analisados.
2.1 Análise Baseada em Histogramas
Os algoritmos mais antigos de análise de conteúdo caracterizam uma imagem
pelo seu histograma[9][10], que é um indicador estatístico para a distribuição de
frequências das cores de cada pixel. Os histogramas de cor podem ser facilmente
construídos em vários sistemas de cor como RGB, níveis de cinzento, HSV, CMYK,
etc. A Fig. 2 ilustra um histograma de cores no sistema RGB.
Fig. 2: Exemplo do histograma de cores, no sistema RGB, de uma fotografia
11
Para criar o histograma de cores de uma imagem é necessário, em primeiro lugar,
discretizar as cores contando o número de ocorrências de cada componente de cor. A
criação do histograma é concretizada definindo a discretização do espaço da cor em
contentores[11]. Por exemplo, no espaço RGB, sendo cada componente de cor
representada por um byte, existem 256 valores diferentes para cada componente, o
que dá um total de 2563 = 16777216 cores diferentes. Se agora considerarmos que
cada componente é dividida, por exemplo, em 16 fracções (256/16 = 16), então o
histograma passa a ser constituído por apenas 163 = 4096 contentores. Isto quer
dizer que cada um integra 4096 cores que se consideram idênticas. Posteriormente,
para estabelecer a semelhança entre duas imagens é necessário definir uma função
que calcule a distância entre dois histogramas. Por norma é utilizada a distância
Euclidiana[8][9].
2.2 Análise Baseada na Disposição de Cores
Para contornar as desvantagens da pesquisa baseada em histogramas, surgiu a
abordagem por disposição de cores. De uma forma simplificada, esta técnica consiste
no particionamento da imagem em blocos e no cálculo da cor média de cada um
deles, evoluindo de uma estatística de frequências de cores (histograma) para uma
representação de baixa resolução da imagem, ou seja, para além de ser guardado o
número de vezes que uma componente de cor se repete, passa também a existir
informação acerca da posição dessa cor. Em vários trabalhos[8] foram utilizadas
wavelets1 em vez de calcular simplesmente a média de cada bloco (ver Fig. 3). Deste
modo, ajustando o tamanho dos blocos ou os coeficientes da transformada, a
definição da disposição das cores pode ser refinada, sendo que, no limite, cada bloco
representa um pixel da imagem original. Dependendo então da resolução, este
método permite guardar informação sobre a forma, localização e textura[12][13].
1Wavelets – ou wavelet transforms (transformadas), surgidas no início do século XX com Alfred Haar, referem-se à representação de um sinal ou função através de uma série com um número finito de coeficientes, permitindo a sua análise com diferentes níveis de detalhe. O seu funcionamento é semelhante ao das transformadas de Fourier, mas para além da codificação da frequência, é também retida informação espacial/temporal.
12
Fig. 3: Compressão de uma imagem usando wavelets.(a) Imagem original, (b) com 19% dos coeficientes, (c) 3%, (d) 1%.
2.3 Análise Baseada em Regiões
Esta técnica faz uma segmentação da imagem e uma decomposição em regiões,
conseguindo assim representar o seu conteúdo ao nível dos objectos nela contidos,
aproximado-se mais do sistema visual humano[14]. A pesquisa baseada em regiões
resolve as desvantagens da técnica de pesquisa por disposição de cores. No entanto,
e como as imagens são representações em 2D de um mundo em 3D a que os olhos
estão habituados, esta tarefa é complexa. Os objectos são identificados na imagem
através da semelhança de cores, texturas, etc. Uma vez identificados, é fácil
encontrar uma maneira de os pesquisar em diferentes contextos mesmo que estejam
transladados, escalados ou rodados. Este desempenho depende apenas da eficiência
com que a decomposição foi executada. Mesmo assim, só se conseguirá encontrar o
objecto se este estiver no mesmo ângulo de observação ou num ângulo simétrico.
2.4 Sistemas Existentes de Pesquisa de Imagens
Nesta secção vamos descrever os principais sistemas de pesquisa de imagens.
Os sistemas aqui descritos usam as técnicas descritas nas secções anteriores.
O Sistema QBIC[9], desenvolvido pela IBM®, é talvez o mais conhecido,
encontrando-se disponível comercialmente. A pesquisa de imagens é feita tendo por
base uma combinação de cor, textura, forma e palavras-chave, consultar Fig. 4. As
interrogações são formuladas através da selecção de uma cor e a sua quantidade
relativa na imagem, desenhando um esboço ou introduzindo uma imagem de exemplo.
Fig. 4: Sistema QBIC
13
Para chegar a esta funcionalidade, o sistema tem dois componentes principais: a
povoação da base de dados, onde as imagens a introduzir são processadas para
extrair as características que descrevem o seu conteúdo (como o histograma de
cores, informação de textura, opcionalmente, podem identificar-se objectos de forma
manual ou automática, sendo guardados como uma máscara binária). O segundo
componente é a interrogação, onde o utilizador cria graficamente um esboço que
passa pelo mesmo processo de extracção de características. Finalmente, essas
características são comparadas com aquelas existentes na base de dados e são
devolvidos os resultados cujo grau de semelhança é mais elevado.
Apesar dos fracos resultados tendo em conta os padrões actuais, este sistema
apresentou ideias inovadoras ao nível das interrogações, que foram extensivamente
utilizadas nos projectos seguintes. Os métodos de query-by-example e de query-by-
sketch revelaram-se abordagens ajustadas.
Segundo G. Pass e R. Zabih[15], o método por histogramas é eficiente e resiste
a pequenas variações do ponto de vista da câmara, mas essa sensibilidade pode ser
apurada através de uma técnica desenvolvida pelos mesmos – Histogram Refinement
(Fig. 5). Esta permite adicionar algumas restrições à comparação entre histogramas.
Consiste em dividir os pixels de uma dada zona em várias classes, baseadas numa
propriedade local, como o brilho ou a distância ao contorno mais próximo,
comparando-se apenas os pixels de cada imagem pertencentes à mesma classe.
Apesar dos resultados serem melhores do que os conseguidos utilizando apenas uma
comparação convencional de histogramas, esta abordagem não se enquadra nos
objectivos do projecto, pois, é impossível distinguir que objectos compõem a imagem.
Um dos trabalhos mais representativos em CBIR, Fast Multiresolution Image
Querying[16], foi desenvolvido na Universidade de Washington, recorrendo a
wavelets (ver Fig. 6). As imagens a introduzir na base de dados são pré-processadas
de modo a determinar os coeficientes da transformada. São seleccionados os maiores
coeficientes de maneira a produzir uma assinatura, extraindo assim as características
14
Fig. 5: Interrogação (esquerda) e respectivo resultado
mais importantes da imagem e guardando essa assinatura na base de dados para
posteriores comparações com outras, que entretanto vão sendo adicionadas. Quando
o utilizador submete uma interrogação através de um esboço ou uma imagem de
exemplo, comparam-se as duas assinaturas e devolvem-se as imagens mais
semelhantes. Por cada cor, são guardados apenas 20 coeficientes, produzindo uma
assinatura muito menor que a imagem original escalada para 128x128 pixels. Deste
modo conseguem-se pesquisas na ordem dos 0.20s para uma base de dados com 1000
imagens. Segundo os autores, o tempo de pesquisa é linear com o número de
coeficientes e o número de assinaturas na base de dados.
Fig. 6: Fast Multiresolution Image Querying
Recentemente surgiu uma aplicação web, retrievr, que é baseada na técnica do Fast
Multiresolution Image Querying[16]. O retrievr, que obteve bastante êxito e
visibilidade, permite desenhar um esboço da imagem que se pretende encontrar e
mostra os resultados mais relevantes, após uma pesquisa nas imagens do site Flickr.
Apesar de ser rápido, os resultados devolvidos são quase sempre diferentes do
esboço efectuado, como se pode ver na Fig. 7. Isto deve-se ao facto de as assinaturas
serem calculadas com um número muito baixo de coeficientes, para acelerar a
pesquisa.
Existe ainda o imgSeek (ver Fig. 8), um programa open source para visualizar e
gerir uma colecção de imagens digitais que, tal como o retrievr, utiliza o método Fast
Multiresolution Image Querying[16].
15
Como verificamos, esta técnica foi amplamente empregue em vários projectos que
utilizam CBIR. No entanto, não se adequa ao que planeámos para este projecto, pois
as assinaturas que são geradas representam a imagem como um todo, não permitindo
fazer uma análise ao nível dos objectos.
16
Fig. 7: Sistema retrievr, apresentação dos resultados após interrogação
Fig. 8: imgSeek: query e respecivos resultados
Minh Do e Martin Vetterli[17] apresentam uma abordagem para a recuperação
de padrões de imagens, onde combinam a extracção de características e a função de
similaridade num único modelo de classificação. Este método é uma extensão do
anterior, mas focado principalmente na textura. Utilizando wavelets, calculam a
distância entre duas imagens utilizando um estimador estatístico apoiado na
modelação apropriada da distribuição marginal dos coeficientes da série. Ainda assim
revela-se insuficiente para atingir os objectivos que propusemos.
Na universidade de Columbia, E.U.A., em 1996, foi desenvolvido o
VisualSEEk[18][19][20], um projecto onde o utilizador cria interrogações por meio de
zonas de cor, definindo as suas posições e relações espaciais.
Fig. 9: VisualSEEK - interface para criar interrogações
Na fase da povoação da base de dados, cada imagem é decomposta em regiões com a
mesma cor dominante e obtêm-se, para cada região, as características mais
relevantes e a disposição na imagem. Na fase de interrogação à base de dados,
procuram-se imagens com disposições similares de zonas idênticas. A extracção de
cor de cada região é feita através da técnica de back-projection, com um catálogo de
166 cores no sistema HSV. São guardados o comprimento e altura mínimos que cada
17
zona deve possuir. Após o surgimento dos resultados, o utilizador pode escolher um e
utilizá-lo para realizar uma nova interrogação (query-by-example). Para interrogações
com apenas uma zona, são feitas pesquisas independentemente por cor, posição
absoluta e área, intersectando de seguida os resultados para obter a lista a devolver
ao utilizador. No caso de haverem mais regiões, o procedimento é o mesmo que
acima para cada uma com posicionamento absoluto, se for relativo, não se faz a
pesquisa por posição. A técnica usada pelo VisualSEEk introduz um conceito muito
interessante, o de posição relativa, ou seja, a determinação de uma zona com posição
dependente da posição de outra zona (à esquerda, à direita, etc.). No entanto, o nível
de interacção com o utilizador é muito elevado, como se pode ver na Fig. 9, e para o
sistema PhotoFinder 2, pretendíamos um grau de interacção menor, semelhante ao
retrievr e que estenda ainda mais as relações, de modo a poder definir objectos
contidos dentro de outros, mas de uma forma automática. Também não desejamos
que a área absoluta seja um atributo a ter em conta, pois isso limita muito a
interrogação pelo utilizador, bem como o facto de as zonas serem sempre
representadas por rectângulos e uma zona exterior, também rectangular, que
delimita a sua área máxima.
Um outro trabalho interessante neste campo[21], proposto por Y. Deng et al.
envolve o particionamento da imagem em regiões baseadas nas suas cores
representativas, tipicamente três ou quatro, como se pode observar na Fig. 10. A
pesquisa é feita pela semelhança da distribuição de cores da interrogação
introduzida, isoladamente para cada cor, e região, combinando os resultados a
posteriori.
A técnica proposta por Y. Deng et al., embora mais eficiente do que a utilização de
histogramas multi-dimensionais[7], descarta completamente a informação da forma e
18
Fig. 10: Exemplo de pesquisa baseada em regiões de cor dominante
topologia de cada objecto presente na imagem. No entanto, o facto de guardar a
percentagem de cada cor representativa por objecto foi relevante para o objectivo
proposto.
O Blobworld[22] é outro sistema de CBIR, criado na universidade de Berkley,
que obteve um nível de sucesso satisfatório. As características utilizadas para a
interrogação incluem cor, textura, posição e forma das regiões (blobs) e do fundo da
imagem. A cor é guardada recorrendo a um histograma de 218 contentores. A textura
é extraída pelo contraste e direcção naquela região. A forma é representada pela área
aproximada, pela excentricidade e orientação. Aquando da formação da interrogação,
o utilizador escolhe um tema (limitando à partida algumas escolhas), de seguida,
numa imagem inicial, escolhe um blob (região delimitada na imagem) e indica a
importância (alguma, muita) do mesmo. Depois é necessário indicar a importância da
cor, textura, posição e forma (nenhuma, alguma, muita), como se pode ver na Fig. 11.
Fig. 11: Blobworld - resultado de uma interrogação à base de dados
Podem ser usadas tantas regiões quanto as presentes na imagem. Para encontrar
uma imagem semelhante é usada a distância quadrática na comparação de dois
19
contentores dos histogramas, a distância euclidiana para comparar a distância entre
duas texturas no seu sistema de representação e também para comparar os
centróides. Este método mostrou-se importante por isolar regiões muito perto do
nível dos objectos na imagem, o que permite realizar pesquisas com maior acuidade.
No entanto, como os próprios autores referem, no caso de imagens com objectos
pequenos e fundos extensos, por exemplo, a pesquisa por histogramas revela-se mais
eficaz.
O sistema Cortina[23] foi o primeiro a pesquisar uma base de dados com uma
quantidade de registos superior a um milhão, neste caso, três milhões. Apoia-se em
palavras-chave recolhidas durante a fase de pesquisa na WWW e em quatro
características presentes na norma MPEG-7: Homogeneous Texture Descriptor
(HTD), Edge Histogram Descriptor (EHD), Scalable Color Descriptor (SCD) e
Dominant Color Descriptor (DCD). As distâncias da interrogação a cada imagem são
calculadas e combinadas linearmente. O utilizador pode ainda introduzir a
importância de cada resultado para que o sistema conserve essa informação, técnica
chamada relevance feedback, sobre a qual foi produzido recentemente um trabalho
assaz interessante[24]. Este projecto apresenta como resultados o aumento de
precisão face a um sistema puramente de texto. No entanto esta solução tem pouco
interesse para o trabalho que desenvolvemos, dado que as técnicas de CBIR
apresentadas não são inovadoras, funcionam em conjunto com a ajuda textual e
informação introduzida pelo utilizador.
O sistema SIMPLIcity[8][25], procura integrar um sistema de classificação
semântico (dividindo as imagens em categorias) automático com um outro de
segmentação de imagem, ver Fig. 12. Assim, em cada pesquisa, conforme a
classificação semântica de uma dada imagem, obtém-se um conjunto menor que o
inicial. A arquitectura sensível à semântica, na fase de indexação, particiona a
imagem em blocos de 4x4 pixels extraindo um vector de características de cada um.
Em seguida, um algoritmo de clustering é utilizado para segmentar a imagem em
regiões passando o resultado a um sistema de classificação que decide o seu tipo
semântico. Cada imagem pertence a um e um só tipo definido manualmente.
Exemplos de tipos seriam: no interior/exterior, retrato/paisagem, com/sem textura,
etc. As características retiradas de cada região são a cor, a textura, a forma e a
posição que irão formar a assinatura de uma imagem e que, dependendo do tipo
semântico determinado, podem variar. Quando é feita uma interrogação, a
semelhança entre duas imagens é calculada através de uma função que devolve a
distância entre duas assinaturas. A segmentação das imagens é feita através do
20
algoritmo k-means utilizando variações de cor e posição. Aqui, o sistema integrado de
semelhança de regiões desenvolvido ajuda na acuidade da segmentação. Cada
imagem é dimensionada para 384x256 pixels.
Fig. 12: SIMPLIcity - resultado de uma interrogação à base de dados
A abordagem seguida por este grupo de investigadores apresenta resultados
próximos aos obtidos com o projecto PhotoFinder 2 que, no entanto, não utiliza um
sistema de classificação semântico, sobre o qual assenta grande parte deste
trabalho[8].
Zheng et al. apresentaram um método de CBIR[26] baseado em regiões
diferenciadas por cor, textura e forma, mas assumindo que existem conceitos
semânticos escondidos em cada imagem. É então construído um modelo
probabilístico e aplicada a técnica Expectation-Maximization para analisar esses
conceitos na base de dados. A semelhança é medida integrando probabilidades
posteriores da interrogação aos conceitos semânticos descobertos. Como observável
na Fig. 13 e à semelhança do sistema Blobworld[22], este método exige um elevado
grau de interacção com o utilizador, estando munido de um algoritmo de recuperação
de imagens baseado na técnica relevance feedback. Como referido acima,
21
pretendíamos que o trabalho fosse o mais automático possível, entrando assim em
colisão com a filosofia desta proposta. O mesmo se aplica à pesquisa desenvolvida por
Yang et al.[27], que analogamente pretende descobrir a correspondência entre
palavras-chave e regiões da imagem.
Até à data em que o sistema WALRUS[28] foi proposto era normal extrair uma
única assinatura de cada imagem baseada na cor, textura ou forma[9][16][22]. Para
imagens simples este método bastava, mas não quando a complexidade dos objectos
na fotografia aumenta, principalmente quando a interrogação não contém todos os
elementos e/ou estes se encontram com diferentes posições e orientações (pesquisa
parcial). Assim, Apostol Natsev et al.[28] propuseram um novo algoritmo de cálculo
de semelhança entre imagens, resistente a escalas e translações dos objectos nela
contidos. Uma fotografia é decomposta em regiões e é então calculada a semelhança
entre duas imagens – a área comum entre as regiões similares de cada imagem.
Regiões essas que são obtidas deslizando uma “janela” de tamanho variável pela
imagem ao mesmo tempo que é construído um cluster baseado na proximidade entre
as assinaturas retiradas de cada “janela”, utilizando um algoritmo de programação
dinâmica para computar as transformadas wavelet (Haar) de cada uma. Pode
verificar-se na Fig. 14 que esta aproximação ao problema mostrou melhores
resultados que as anteriores, no entanto, dadas as suas características, a
expansibilidade deste método é algo limitada, não sendo possível definir uma
hierarquia entre os objectos presentes na imagem, além de ser computacionalmente
pesado[8].
22
Fig. 13: Funcionamento da pesquisa por conceito semântico escondido
Qi Tian, Nicu Sebe et al. apresentaram um método para recuperação de
imagens digitais utilizando os pontos salientes das transformadas wavelet[29]. O uso
desses pontos é importante para CBIR pois assim podem representar-se propriedades
locais da imagem, ao contrário do que acontece com métodos de distribuição globais.
O detector desses pontos é baseado nas wavelets para detectar transformações
globais e locais (Fig. 15). Durante a fase de interrogação, são avaliados tanto esses
pontos como características de cor e textura que os circundam. As transformadas
utilizadas foram as de Haar pela sua rapidez quando comparadas com as de
Daubechies[30]. Este método apresenta uma melhoria significativa quando
comparado a técnicas que apenas têm em conta as propriedades globais da imagem.
No entanto, não consegue lidar bem com múltiplos objectos na imagem, pois tal como
se apresenta, é impossível diferenciá-los. Outro problema está relacionado com as
imagens que apresentam artefactos, como o caso de imagens JPEG, se a qualidade
for baixa, esses artefactos podem gerar ruído que irá interferir com o resultado final.
Como o projecto PhotoFinder 2 está direccionado para fotografias, o formato JPEG foi
o escolhido, e como tal, este método surge desalinhado com os objectivos traçados.
23
Fig. 14: Comparação de resultados entre o sistema WALRUS e o WBIIS
Um método semelhante ao anterior surgiu recentemente proposto por Hui
Zhang et al.[31]. Existem contudo diferenças: inicialmente é efectuada uma
segmentação da imagem por regiões e só depois é aplicado o algoritmo para calcular
os pontos salientes. Assim, consegue-se um maior isolamento na detecção dos
objectos, visto que os pixels circundantes têm menor probabilidade de pertencerem a
um objecto vizinho. Outra diferença reside no facto de usar o algoritmo SPARSE para
o cálculo dos pontos salientes em vez das transformadas wavelet. Na Fig. 16 podemos
ver a comparação entre três algoritmos estudados neste trabalho.
Esta abordagem apresenta problemas similares aos da antecedente, mas com a
atenuante da segmentação feita inicialmente. Todavia, no cálculo dos pontos salientes
não existe a garantia que estes definam um objecto correctamente, pois podem
distorcer a geometria.
2.5 Discussão das Soluções Apresentadas
De um modo global, as abordagens baseadas em histogramas têm como
desvantagem ignorar informação importante, como a localização de objectos, a forma
24
Fig. 16: Demonstração do algoritmo SPARSE
Fig. 15: Exemplo da técnica por pontos salientes.Wavelets de Haar, Daubechies e detector de pontos Harris
e a textura, além de serem sensíveis a variações de cor medianas. Não é possível
fazer pesquisa de objectos na imagem, pois o histograma contempla apenas a
totalidade da mesma. Mesmo quando se combinam outras técnicas, como análise de
texturas ou formas, como acontece, por exemplo, com o sistema QBIC[9], os
resultados não são satisfatórios quando comparados com sistemas mais recentes.
Esta técnica foi utilizada inicialmente em CBIR pelo seu baixo custo computacional,
no entanto encontra-se desactualizada. Duas fotografias com muito pouco em comum
apresentam histogramas muito próximos, como se pode ver na Fig. 17.
O processo por disposição de cores não contempla deslocamentos, cortes,
escalas ou rotações, excepto em transformações de pequena dimensão, como visto em
J. Wang et al.[32], tendo, no entanto, melhor desempenho que a pesquisa por
histogramas. Embora seja possível reter informação sobre a forma e textura, estas
propriedades revelam-se significativamente difíceis de calcular. Assim, no que toca à
pesquisa parcial, ou por objectos, este método não se mostrou adequado ao
pretendido para o projecto PhotoFinder 2.
Como resposta às abordagens por disposição de cores e histograma surgiu o
método de representação de imagens por regiões, que tenta colmatar os aspectos
negativos dos anteriores.
Havendo a possibilidade de tratar diferentes zonas com características próprias como
objectos da imagem, esta técnica afigura-se como a que melhor converge para os
objectivos do trabalho proposto. No entanto, há o perigo de um único objecto ficar
segmentado em vários pedaços ou vice-versa, sem que nenhum deles represente esse
25
Fig. 18: Exemplo da segmentação de uma imagem em regiões
Fig. 17: Duas fotografias com histograma idêntico
objecto. Adicionalmente as imagens reproduzem um mundo tridimensional, o que
torna a tarefa de encontrar um mesmo objecto complexa, devido à mudança de
posição do mesmo. Por exemplo, na Fig. 18, se a fotografia fosse tirada de frente, a
silhueta do lobo seria bastante diferente.
Na tabela seguinte fazemos uma comparação entre as várias soluções
analisadas. Os atributos Cor, Textura e Forma indicam se a técnica de pesquisa
suporta essas características, por exemplo, para o caso da Cor, se fazendo uma
interrogação com tons de verde o resultado terá predominantemente verde. Pos. Abs.
e Pos. Rel. referem-se à posição das regiões, objectos ou manchas de cor. Se for
absoluta então é referente a toda a imagem (ao canto, ao centro, etc.), se for relativa,
é referente à posição de outros elementos (à esquerda de, contido em, etc.). O
atributo Objecto significa que a técnica em questão permite identificar objectos ou
regiões na imagem. O símbolo + significa que o sistema suporta o atributo, x
significa que não o suporta e - é usado quando o suporte é incompleto.
Sistema \ Atributos Cor Textura Forma Pos. Abs. Pos. Rel. ObjectoQBIC[9] + + + + x xHistogram Refinement[15] + - x - x xFast Multires. Image Querying[16] + x - + x xDo, Vetterli[17] x + x x x xVisualSEEk[18] + + + + + -Deng et al.[21] + x x x x xBlobworld[22] + + + + x +Cortina[23] + + x x x xSIMPLIcity[8] + + + + x xZhang et al.[26] + + + x x +WALRUS[28] + + x x x xSebe et al.[29] + + - + x -Zhang et al.[31] + - - + - -
Tabela 1: Tabela comparativa dos sistemas analisados
Neste ponto pode afirmar-se que nenhum sistema apresenta todas as
características desejáveis para o PhotoFinder 2. Examinando a Tabela 1 podemos
concluir que alguns sistemas têm características interessantes para um dado aspecto
mas falham noutros.
De todos os projectos, o VisualSEEk é o que se destaca mais, pois é o único que
permite definir relações espaciais entre os objectos da imagem, ou seja, é o único que
permite relacioná-los e defini-los numa hierarquia entre si. No entanto, são os
caminhos tomados pelo Blobworld e o SIMPLIcity, no modo de caracterizar as
regiões, que se aproximam mais dos objectivos apresentados, definindo manchas de
cor e identificando cada uma isoladamente. Voltando o foco para a interface de
utilizador, é o programa retrievr que possui maior simplicidade e facilidade para o
utilizador.
Com base na análise apresentada, enquadrámos o nosso sistema no grupo
26
apresentado na secção 2.3 - Pesquisa Baseada em Regiões, pois permite-nos trabalhar
ao nível dos objectos (blobs) presentes na imagem. Em resumo, a solução por nós
encontrada converte as imagens em manchas de cor e extrai as relações espaciais
entre elas.
27
3 PhotoFinder 2: Uma Nova Abordagem
No seguimento da discussão da secção anterior, chegámos à conclusão que,
para podermos suportar pesquisa parcial de imagens, teríamos que recorrer ao
método de pesquisa baseada em regiões (ou blobs de cor). Nesta secção
apresentamos uma visão geral da nossa solução e as tecnologias envolvidas no
tratamento e extracção das características relevantes de uma imagem.
O primeiro passo a realizar é a segmentação de uma fotografia em várias
manchas de cor. A seguir, identificamos os seus contornos e convertêmo-los em
polígonos. As relações espaciais entre estes são extraídas e guardadas sob a forma de
um grafo de topologia. Finalmente, guardam-se esses grafos, convertidos em
descritores, e as cores das manchas. Nas subsecções seguintes descrevemos os vários
passos da nossa solução, cujo esquema está ilustrado na Fig. 19.
Fig. 19: Esquema de funcionamento do PhotoFinder 2
3.1 Segmentação da Imagem
O processo de segmentação da imagem consiste na divisão da mesma em várias
regiões. Estas são compostas por um conjunto de pixels adjacentes – os objectos, para
simplificar a representação, facilitando a análise da imagem. Os pixels são agrupados
segundo vários critérios de similaridade, como a textura, a intensidade ou a cor (ver
Fig. 20). Assim, dois pixels de regiões adjacentes têm uma diferença substancial no
critério escolhido[33].
28
Classification
Search for Similar
JPEG imageresult
JPEG imageresult
JPEG imageresult
Image Segmentation
JPEG image
Color ArrayTopology Graph
Color DBTopology DB
Vectorization
Actualmente existem várias técnicas para realizar a segmentação de
imagens[34]. Por exemplo, técnicas baseadas em histogramas, clustering, detecção
de contornos, region splitting, region growing, ou até combinação de vários destes
algoritmos de modo a obter o melhor resultado num determinado contexto.
Geralmente, em conjunto com o processo de segmentação é possível obter-se também
os contornos das regiões identificadas.
Fig. 20: Segmentação de uma fotografia
Para a nossa solução decidimos utilizar a aplicação EDISON[35], que se baseia
no algoritmo de clustering mean shift. Este pareceu-nos o algoritmo mais flexível e
adaptável à solução que pretendíamos resolver. De salientar que a nossa solução não
efectua apenas uma segmentação à imagem. A nossa abordagem utiliza uma técnica
inovadora, na medida em que segmenta a imagem três vezes utilizando vários níveis
de detalhe para as manchas produzidas. Deste modo obtemos vários descritores por
imagem, melhorando substancialmente os resultados quer da pesquisa total, quer da
parcial, como demonstraremos na secção 7.
Na secção 4 mostramos em maior detalhe a técnica que o PhotoFinder 2 utiliza
para segmentar as imagens.
3.2 Extracção de Topologia e Cor
Após a conversão da imagem em manchas de cor, e com base nos contornos
extraídos, é feita a computação do grafo de topologia dos polígonos. Este grafo
descreve o modo como as manchas se encontram organizadas espacialmente. Para
tal, cada mancha de cor, juntamente com o respectivo contorno, é transformada num
polígono (mantendo apenas os pontos principais e a informação da cor, ver secção 5).
Com todos os polígonos calculados é possível analisá-los matematicamente, através
das coordenadas de cada um dos seus pontos, e descobrir as suas relações espaciais,
quer de inclusão (quando um polígono se encontra dentro de outro), quer de
29
adjacência. Com essa informação é possível criar o grafo de topologia que representa
as relações espaciais entre os polígonos.
A informação da cor de cada mancha também é extraída, originando um vector
de cores para cada imagem. A Fig. 21 mostra uma imagem segmentada, os polígonos
e o respectivo grafo de topologia. Neste grafo as ligações verticais com traço
contínuo significam inclusão e as ligações com traço interrompido traduzem
adjacência[36].
Fig. 21: Extracção de características
3.3 Inserção e Pesquisa nas Bases de Dados
Quando se adiciona uma imagem ao sistema, tanto o grafo como o vector de
cores extraídos da imagem são inseridos em duas bases de dados distintas – uma para
a topologia e outra para as cores das manchas. A base de dados de topologia guarda
um ou mais descritores por cada grafo, que são usados na fase de pesquisa. É
guardada ainda uma ligação de cada cor para o grafo correspondente.
Ao fazer uma interrogação ao sistema, isto é, ao fornecer uma fotografia como
entrada, são repetidos os passos de segmentação e extracção de características, após
os quais é feita uma pesquisa na base de dados de topologia para encontrar grafos e
respectivas imagens com uma topologia similar. O último passo é verificar quais os
vectores de cores mais próximos ao da imagem submetida, recorrendo à base de
30
Color array
Topology graph
1 2
3
0
4 5 6
1
2
3
4
6
5
dados de cores. Cruzando essa informação é possível devolver um conjunto de
imagens ordenadas por valor de similaridade (ver Fig. 22).
Fig. 22: Esquema da pesquisa nas bases de dados
O sistema pode ainda ser configurado para se definir o número de resultados
desejado, assim como os parâmetros de segmentação e outros que são explicados em
maior detalhe nas secções seguintes.
31
3
421 Partial Results
Color DB
Topology DB
Color array
Topology graph
0
4 Segmentação da Imagem por Níveis
Nesta secção vamos pormenorizar o processo de segmentação de imagens do
PhotoFinder 2. Apresentamos os principais sistemas de segmentação existentes e
elegemos um deles para integrarmos no nosso projecto. Expomos ainda as operações
efectuadas às imagens antes de serem segmentadas e esclarecemos em que
consistem os níveis de segmentação. Por fim apresentamos os parâmetros utilizados
para realizar a segmentação e as razões que nos levaram a escolhê-los.
4.1 Sistemas Existentes
A segmentação de imagens é um passo imprescindível para atingirmos os
nossos objectivos. Havendo já várias soluções, procurámos encontrar uma que se
adaptasse bem ao nosso problema específico. Pretendíamos uma solução rápida,
parametrizável e que calculasse as manchas e os contornos.
Após uma pesquisa sobre os sistemas de segmentação existentes, encontrámos
três possíveis tecnologias: Efficient Graph-Based Image Segmentation[37], Edge
Detection and Image Segmentation (EDISON) System[35] e Image Segmentation
Using Curve Evolution And Flow Fields[38].
O primeiro sistema, Efficient Graph-Based Image Segmentation[37], funciona
com base na intensidade da cor. Está especialmente adaptado para imagens com
pouca variação de intensidade, como se pode ver na Fig. 23 abaixo. Apresenta ainda a
vantagem de ter o código-fonte disponível on-line (c++). No entanto o facto de
produzir resultados com cores diferentes das da imagem original tornou-o pouco
atractivo para este projecto, pois desejávamos a cor média da mancha.
Fig. 23: Efficient Graph-Based Image Segmentation
O sistema analisado em seguida foi o EDISON[35]. Neste sistema as imagens
são segmentadas com base na cor e adicionalmente é produzido um ficheiro de
32
imagem apenas com os contornos. Ao contrário da solução anterior, cada mancha é
colorida com a cor média dos pixels que a constituem, como se pode observar na Fig.
24. É possível ainda definir o tamanho máximo de cada mancha e a distância a partir
da qual duas cores são consideradas distintas. O EDISON apresenta, assim, todas as
características que procurámos aliadas ao benefício de ter o código (c++) também
disponível on-line.
Fig. 24: Sistema EDISON
Por fim, o sistema descrito no artigo Image Segmentation Using Curve
Evolution And Flow Fields[38], do Vision Research Lab, UCSB, segmenta as imagens
com base na cor e textura. Por esse motivo a segmentação não apresenta resultados
tão bons como a aplicação anterior, tendo em vista o nosso objectivo (ver Fig. 25).
Fig. 25: Image Segmentation Using Curve Evolution And Flow Fields
Depois de analisarmos e experimentarmos os vários sistemas, optámos pelo
EDISON, pois, dos sistemas apresentados, foi o que mais se aproximou do que
pretendíamos.
4.2 Pré-processamento das Imagens
Antes de procedermos à segmentação de uma imagem há alguns aspectos a
considerar. Uma característica que afecta bastante o desempenho dos algoritmos de
33
segmentação é a dimensão das imagens, visto que imagens muito grandes demoram
bastante tempo a ser processadas. A maioria dos sistemas analisados na secção 2
escalam as fotografias para dimensões mais pequenas (ex. 128×128 , 384×256 ,
etc.). Essa redução normalmente é efectuada antes do processamento[8][16].
Para decidirmos sobre o melhor tamanho para as imagens, de modo a não
comprometer os resultados nem o desempenho do sistema, realizámos alguns testes.
Aplicámos o algoritmo do EDISON (o sistema eleito) a 5 imagens distintas escaladas
para várias dimensões, medimos os tempos de segmentação e observámos os
resultados. Nestes testes usámos os parâmetros por omissão do algoritmo.
Na Tabela 2 apresentamos os tempos médios de segmentação obtidos e na Fig.
26 apresentamos o resultado da segmentação para as últimas 3 dimensões.
Dimensão da imagem Tempo médio de segmentação p/ imagem
2048x1536 1m 15 s1024x768 16,33 s640x480 5,40 s400x300 2,47 s200x150 0,50 s
Tabela 2: Influência da dimensão da imagem no tempo de segmentação
Fig. 26: Resultados da segmentação em três imagens com dimensões distintas
Tendo em conta estes dados, considerámos que um tamanho máximo de 400
pixels no lado maior da imagem oferece um bom compromisso entre velocidade e
detalhe. Sendo assim, a dimensão máxima de uma imagem a processar pelo nosso
sistema é de 400×400 pixels. Isto significa que uma imagem maior será escalada
antes de ser processada. Convém realçar que a imagem original não é modificada.
Ao analisarmos os resultados da segmentação, verificámos que as manchas
apresentavam muitos elementos de pequenas dimensões, que não adicionavam
informação útil, servindo apenas para tornar os polígonos mais complexos. Para
resolver esta situação resolvemos aplicar um filtro blur à imagem, o que fez com que
as regiões obtidas depois da segmentação tivessem contornos mais suaves (ver Fig.
27), originando posteriormente polígonos com menos pontos e, portanto, de
processamento mais rápido.
34
640x480400x300200x150
Fig. 27: Detalhe de manchas de corEsquerda: segmentação de fotografia original; Direita: segmentação de fotografia c/ filtro blur
4.3 Níveis de Segmentação
Para suportarmos pesquisa parcial e tornar o sistema insensível à escala de
objectos, optámos por fazer várias segmentações para a mesma imagem. A esta
técnica demos o nome de segmentação por níveis. Cada nível é o resultado da
segmentação da imagem, alterando o tamanho mínimo permitido a cada mancha.
Deste modo, simulamos diferentes resoluções da imagem, como ilustrado na Fig. 28.
Adquirimos assim a grande vantagem de podermos pesquisar uma fotografia
fornecendo desde uma interrogação com pouco detalhe até uma imagem
relativamente complexa. Esta técnica inovadora permite obter mais informação da
imagem original, pois por cada nível de segmentação é calculado um descritor que
lhe fica associado. Deste modo, cada imagem fica representada por vários
descritores, ao contrário do que acontece nos sistemas existentes, que geram apenas
um. Temos assim um sistema mais tolerante a diferenças entre a interrogação e as
imagens introduzidas na base de dados e, ao mesmo tempo, mais preciso.
Fig. 28: Segmentação em vários níveis
O número de níveis de segmentação é um parâmetro de entrada para o
PhotoFinder 2 e pode tomar valores entre 1 e 5. A dimensão mínima de cada mancha
35
Level 5Level 4Level 3Level 1 Level 2
de cor é calculada automaticamente. As manchas do nível de menor detalhe (nível 5)
têm uma área mínima definida por w×h8
, onde w é a largura da imagem e h a altura.
Deste modo, se todas as manchas tivessem a mesma área, no nível 5 a imagem seria
segmentada em 8 regiões. Como é improvável que isso aconteça dado o
funcionamento de um sistema de clustering, tipicamente o nível 5 apresenta 3 ou 4
manchas. A área mínima por região dos níveis seguintes (por ordem crescente de
detalhe) é calculada em função da área mínima definida no nível acima, e obtém-se
multiplicando esse valor por 0,40(12,5 ). Por exemplo, para a segmentação de uma
imagem com dimensões 400×300 será definida uma área mínima por região de
400×3008
=15.000 pixels para o nível 5, 15.000×0,4=6.000 pixels para o nível 4,
6.000×0,4=2.400 pixels para o nível 3 e assim sucessivamente.
Para criar os 5 níveis de segmentação só partimos da imagem original para o
primeiro nível (level 1). Por uma questão de optimização computacional usamos o
resultado do nível anterior de maior detalhe. Assim, o processo de segmentação
começa na imagem original dando origem ao nível de maior detalhe, nível 1. Em
seguida o nível 1 é segmentado para obtermos o nível 2, e assim sucessivamente até
ao maior nível definido pelo utilizador. Deste modo, conseguimos optimizar o tempo
de processamento de cada nível, excepto o primeiro, em cerca de 50%.
Embora o nosso sistema suporte até 5 níveis de segmentação, os testes
experimentais, que apresentamos na secção 7, mostram que a utilização de 3 níveis é
a configuração que produz melhores resultados.
4.4 Parâmetros de Segmentação
A segmentação de imagens é um dos componentes essenciais da nossa solução.
Tendo isso em conta, investimos algum tempo para o seu aperfeiçoamento, tanto a
nível da qualidade das imagens segmentadas como do tempo de processamento. Uma
segmentação com qualidade superior leva a resultados finais melhores. No entanto,
esta etapa demora cerca de 90% a 95% do tempo total da análise de uma fotografia,
daí ser extremamente importante conseguirmos bons resultados no menor espaço de
tempo possível. A velocidade do sistema EDISON é bastante afectada pelos valores
que os seus parâmetros de configuração tomam. O EDISON implementa o algoritmo
mean shift que permite definir o spatial bandwidth, color bandwidth e a área mínima
das regiões. O spatial bandwidth é um valor que define o tamanho da janela de
pesquisa na imagem e, por isso, toma apenas valores inteiros positivos. O color
36
bandwidth, por sua vez, pode tomar valores reais positivos que definem o valor limite
da distância entre duas cores a partir do qual são tomadas como diferentes, ou
pertencendo a conjuntos diferentes. Por fim, a área mínima das regiões obriga a que
cada mancha tenha uma área igual ou superior a esse valor e toma também números
inteiros positivos.
Para verificar que valores produziam melhores resultados, realizámos testes
com 5 imagens de dimensão 400×300 pixels, variando os parâmetros descritos
acima. O color bandwidth quase não tem influência no tempo de processamento,
alterando este parâmetro a diferença fica na casa das centésimas de segundo. Pelo
contrário, o spatial bandwidth afecta bastante o tempo. Como fazemos mais do que
uma segmentação por imagem, o spatial bandwidth com valores acima de 4 torna o
processo demasiadamente lento, como se pode ver na Tabela 3.
Spatial Bandwidth Tempo médio de segmentação p/ imagem
1 0,39 s2 0,71 s3 1,03 s4 1,38 s6 2,27 s8 3,48 s10 5,22 s
Tabela 3: Influência do spatial bandwidth no tempo de segmentação
O parâmetro color bandwidth, não tendo uma influência significativa no tempo
de processamento da segmentação, desempenha um papel importante no que toca à
qualidade da imagem produzida. Na Fig. 29 apresentamos as imagens mais
significativas dos testes que realizámos.
Estes testes foram realizados mantendo constante a área mínima de cada
região. Como se pode observar, valores de spatial bandwidth ou color bandwidth
muito pequenos segmentam a imagem em muitas regiões semelhantes. O melhor
resultado que obtivemos foi com o spatial bandwidth igual a 10 e color bandwidth
igual a 8, mas tal como vimos na Tabela 3, o tempo para realizar essa operação é
muito elevado (aprox. 5s). Como a nossa abordagem implica várias segmentações por
imagem, esta opção revelou-se inviável. Um bom compromisso entre a qualidade e o
tempo são as combinações com spatial bandwidth igual a 3 ou 4 e color bandwidth
entre 8 e 10. Assim sendo, e não havendo realmente uma diferença significativa
dentro deste intervalo de valores, decidimos optar por usar spatial bandwidth igual a
3 e color bandwidth igual a 9, por omissão. No entanto, se o utilizador do sistema o
desejar, tem a possibilidade de alterar estes valores através de um ficheiro de
configuração.
37
Fig. 29: Influência dos parâmetros do sistema EDISON na segmentaçãosb = spatial bandwidth, cb = color bandwidth
4.5 Síntese
Nesta secção apresentámos a nossa solução para a segmentação de imagens.
Estudámos várias alternativas e escolhemos o sistema EDISON por ser o que mais se
aproximava do que pretendíamos. Vimos ainda que escalando as imagens para 400
pixels no lado maior e aplicando um filtro blur, conseguimos optimizar o tempo e a
qualidade da segmentação. Utilizámos uma técnica que segmenta várias vezes a
mesma imagem com parâmetros diferentes para suportarmos pesquisa parcial de
imagem (segmentação por níveis). Por fim, debruçámo-nos sobre os parâmetros do
sistema EDISON para optimizarmos o tempo de processamento sem sacrificar a
qualidade da segmentação.
38
sb=10, cb=8sb=6, cb=6sb=6, cb=3sb=4, cb=12sb=4, cb=9
sb=4, cb=8sb=3, cb=10sb=3, cb=9sb=3, cb=8sb=3, cb=6
sb=3, cb=3sb=3, cb=1sb=1, cb=6sb=1, cb=3original image
5 Extracção de Topologia e Cor
Nesta secção detalhamos o processo de extracção de características das
imagens. Após uma imagem estar dividida em regiões, transformamos os contornos
das manchas de cor em polígonos, ou seja, num conjunto de pontos. Essa operação é
necessária para posteriormente analisarmos os polígonos e extraírmos as suas
relações de inclusão e adjacência. Com os dados recolhidos construímos um grafo que
representa a topologia da imagem composta pelos polígonos. Por fim apresentamos a
técnica para extracção da cor das manchas.
5.1 Vectorização das Manchas de Cor
Durante o processo de segmentação de uma imagem, o sistema EDISON cria
duas imagens do tipo mapa de bits. Uma delas contém a imagem simplificada em
manchas de cor e a outra os contornos das regiões identificadas. De maneira a
podermos analisar e processar essa informação, necessitamos de converter as
manchas de cor e os seus contornos em polígonos. Basicamente, esta operação
consiste em converter uma imagem raster para um formato vectorial. Apresentamos
em seguida as técnicas usadas, a representação chain coding para codificação das
linhas dos contornos e a partir daí o método para a construção dos polígonos.
5.1.1 Chain Coding
Quando os objectos da imagem são representados pelos seus contornos, podem
ser descritos por um método mais eficiente do que os mapas de bits. O algoritmo
chain coding permite transformar os pixels dos contornos de uma imagem numa
representação concisa de linhas. Esta compressão é lossless, preservando a
informação topológica e morfológica ao mesmo tempo que acelera a velocidade de
processamento e acuidade da análise da imagem[39].
Visto que a imagem de contornos é binária, os pixels só têm dois estados - 0 e
1. O chain coding representa apenas os pixels que estão a 1, não pela sua posição
absoluta, mas como uma sequência de direcções desde um pixel até o seu vizinho
imediato. A vantagem mais importante que este método proporciona é o facto de
representar uma linha conexa, oferecendo uma base adequada para reconhecer,
analisar e optimizar a linha.
No nosso caso particular usamos a técnica de Freeman[40], onde uma linha liga
um dado pixel ao seu próximo vizinho a 1. Às várias direcções (chains) da linha são
atribuídos códigos com base no tipo de conectividade dos pixels, como se pode ver na
39
Fig. 30. Uma vez que a imagem de contornos gerada pelo sistema EDISON usa
conectividade-8, foi esse sistema que usámos também para formar o chain code.
Fig. 30: Tipos de conectividade de pixels(a) conectividade-4; (b) conectividade-8
O algoritmo de Freeman funciona do seguinte modo: A imagem de contornos é
pesquisada de cima para baixo e da esquerda para a direita até se achar o primeiro
pixel a 1 e são guardadas as suas coordenadas. Em seguida, são examinados os seus 8
vizinhos, é guardado o código do primeiro vizinho a 1 e o pixel é apagado (colocado a
0). Esse vizinho é então examinado e procede-se do mesmo modo até se chegar ao fim
da linha. Quando isso acontece repete-se o processo até todos os pixels da imagem
estarem a 0. No fim obtemos uma ou mais cadeias, cada uma resultante de uma linha
da imagem. A Fig. 31 ilustra o algoritmo.
Assumindo os códigos de conectividade-8 definidos na Fig. 30, o Freeman chain
code da Fig. 31 é 1022124445666. Este código, juntamente com as coordenadas do
primeiro pixel, permite a reconstrução total da imagem sem perda de qualidade.
No entanto a nossa solução necessita de codificar chain codes de contornos que
estão adjacentes uns aos outros, e não apenas linhas isoladas. Isto representa um
problema porque, quando há uma bifurcação na linha, é necessário decidir qual o
caminho a seguir, como ilustrado na Fig. 32. As abordagens existentes para este
40
Fig. 31: Exemplo ilustrativo do algoritmo chain coding
10
2
21
2
4445
6
6
6
(b)(a)
problema não dão uma resposta eficaz. O algoritmo de Freeman[40] escolhe o pixel
vizinho que tem o código mais baixo (virando assim sempre para a esquerda ou
sempre para a direita) não havendo garantia de que continuamos a seguir o contorno
da mancha em que iniciámos. A técnica de esqueletizar (thinning) os contornos e
guardar o ponto de bifurcação para lá voltar mais tarde[39][41], é inapropriado no
nosso caso, pois não queremos percorrer o contorno de outra região para depois
voltar atrás.
Fig. 32: Exemplo de um ponto de bifurcação (mais escuro)
Uma vez que o sistema EDISON gera uma linha de contorno para cada região,
cada pixel desse contorno só pertence a uma mancha de cor, como ilustrado na Fig.
33. As linhas de contornos ficam, em grande parte, com dois pixels de espessura.
Para resolver esta questão decidimos utilizar não só a imagem de contornos, mas
também recorrer à imagem das manchas de cor para diferenciar os pixels.
Guardando a cor da mancha, percorremos as duas imagens pixel a pixel
simultaneamente. Este método permite-nos focar apenas no contorno da região
pretendida e ignorar os pixels dos contornos de outras manchas. Para isso, no passo
41
Fig. 33: Pormenor dos contornos gerados pelo sistema EDISONO PhotoFinder 2 utiliza a cor para descartar contornos de outras manchas
??
do algoritmo de Freeman que analisa os pixels vizinhos, só consideramos aqueles cuja
cor na imagem segmentada é igual à cor do pixel inicial.
Ainda assim, existem situações em que não se consegue saber à partida qual o
melhor caminho a tomar, mesmo seguindo o contorno da região correcta, como
ilustrado na Fig. 34.
Para ultrapassar estes casos, o nosso algoritmo guarda uma lista de pixels que
têm mais que um vizinho. Os que só têm um vizinho não são guardados porque são
visitados de seguida. Salientamos ainda que os pixels visitados são apagados, como
no algoritmo original. Assim, quando acontece uma destas situações de “beco sem
saída”, voltamos ao último pixel guardado na lista e prosseguimos a partir desse.
Nessas situações, o chain code é apagado até ao ponto correspondente.
Outro aspecto importante, é o facto do nosso algoritmo percorrer os vizinhos de
um pixel começando pela direcção com o código igual ao da direcção anterior menos
duas casa no sentido anti-horário (ver Fig. 30). Ou seja, se a direcção seguida para
chegar ao pixel actual foi 1, então os vizinhos são pesquisados começando pela
direcção com o código 7. Isto prende-se com o facto de percorrermos os contornos no
sentido horário.
São gerados tantos chain codes quanto o número de manchas da imagem.
Apresentamos em seguida o pseudo-código deste algoritmo.
freemanCode (initPixel) initColor = initPixel.color; direction = 0; pixel = initPixel; freemanStr = “”; while (true) direction = (direction + 6) % 8; pixel = getPixel(pixel, direction); pixel.getNeighbors(direction); //starting from direction neighborCount = 0;
42
Fig. 34: Pormenor de um “beco sem saída” no chain coding
foreach (neighbor in pixel.neighbors) direction = null; if(neighbor.isBoundary) if(neighbor.color == pixel.color) neighborCount += 1; if(neighborCount == 1) direction = neighbor.direction; else pointList.add(neighbor); removeFromImage(pixel); //delete pixel from the boundaries image if(direction != null) freemanStr.append(direction); else if(pixel.isNeighbor(initPixel) && freemanStr.length > 3) cleanImage(); //remove any pixel from the boundaries of the current region return freemanStr; else if(pointList.size == 0) return null; else pixel = pointList.pop(); direction = pixel.direction;
5.1.2 Formação dos Polígonos
Um polígono é formado a partir de um chain code, calculado como mostrámos
no ponto anterior. A conversão é feita a partir das coordenadas do pixel inicial e
percorrendo o chain code, elemento a elemento. Esta conversão, no entanto, não
origina tantos pontos quantos os valores do chain code.
Como um polígono pressupõe que os seus vértices estejam ligados por secções
de recta, quando existem repetições do mesmo número no chain code, esses
elementos não são convertidos em pontos, são processados para calcular as
coordenadas do próximo ponto. Por exemplo, começando nas coordenadas
x,y=0,0 e tendo a sequência “0000112444455” (ver Fig. 30), os vértices do
polígono são o ponto inicial 0,0 , a sequência “0000” dá origem a 4,0 , “11”
origina o ponto 6,2 (porque no espaço da imagem o eixo y é invertido), com “2”
obtém-se 6,3 , “4444” dá origem a 2,3 , e finalmente a sequência “55” origina o
vértice 0,1 . Ficamos assim com o polígono composto pelos segmentos de recta
0,0 4,0 , 4,0 6,2 , 6,2 6,3 , 6,3 2,3 e 2,3 0,1 . O nosso
algoritmo permite ainda pequenas variações no chain code. Se, em vez da sequência
considerada acima, tivéssemos “0020011444455”, o polígono continuaria a ter quatro
vértices, isto é, o valor 2, apesar de ser computado, não iria originar um novo vértice
porque se encontra entre uma sequência de zeros. Deste modo eliminamos algum
“ruído” que possa existir nos contornos.
Finalmente, o polígono é simplificado de maneira a optimizar o número de
vértices, e, consequentemente, o tempo de processamento no passo seguinte. Para
isso, testámos dois algoritmos. O primeiro percorre todos os vértices do polígono e
43
aqueles que se encontrem a uma distância do anterior menor que um valor de
tolerância são eliminados. Considerámos também o algoritmo Douglas-Peucker[42],
que começa com uma linha entre o ponto inicial e final, calculando em seguida o
ponto mais afastado desta. Se estiver para além do valor de tolerância, é adicionado à
linha, originando dois segmentos de recta. A partir daí aplica-se a cada um desses
segmentos de recta até que nenhum ponto esteja além da tolerância. Embora o
primeiro algoritmo seja mais rápido, o Douglas-Peucker produz polígonos
ligeiramente mais próximos ao inicial. Na Tabela 4 apresentamos uma comparação
entre os dois.
Nº de vértices inicialSimplificação pela
distância entre vérticesSimplificação Douglas-
Peucker103 45 52171 74 7030 15 1744 17 2124 9 1130 14 1252 19 22
109 48 4373 30 3733 15 1666 27 2944 18 2338 15 15
Tabela 4: Comparacão entre a simplificação pela distância entre vértices e o algoritmo Douglas-Peucker
Com base nos resultados apresentados e tendo em conta que a geometria dos
polígonos não é relevante, optámos por utilizar o algoritmo da distância entre
vértices, porque é mais rápido. Este percorre o polígono uma única vez, ao contrário
do Douglas-Peucker que necessita de várias iterações.
5.2 Construção do Grafo de Topologia
As relações topológicas entre os polígonos extraídos da imagem são codificadas
usando um grafo de topologia. Na nossa solução utilizamos dois tipos de relações: a
inclusão e a adjacência[36], ilustradas na Fig. 35.
Estas relações traduzem-se em ligações entre os nós do grafo. No passo inicial,
todos os polígonos são filhos de um nó que representa a imagem. Em seguida são
calculadas as relações de inclusão. Para cada nível de profundidade do grafo,
testamos se qualquer polígono se encontra dentro de outro.
44
Utilizamos o trabalho de Paul Bourke[43] nesta operação para saber se um
ponto está dentro de um polígono ou não. O algoritmo consiste em contar quantas
arestas do polígono são atravessadas por uma semi-recta iniciada no ponto (ver Fig.
36). Se o número for zero ou par, então o ponto não está no interior do polígono, se
for ímpar, está.
Para um polígono p1 estar incluído noutro, p2, todos os vértices de p1 devem
estar dentro de p2. Nesse caso, o nó que representa p1 passa a ser filho do nó que
representa p2, descendo um nível na profundidade do grafo. Quando todos os níveis
forem examinados, passamos à análise das relações de adjacência. Como os polígonos
foram simplificados, e pelo facto de não terem vértices ou arestas em comum, porque
o sistema EDISON gera um contorno completo por região, não podemos calcular a
adjacência com base nas coordenadas dos vértices dos polígonos. Assim, decidimos
usar mais uma vez a cor das manchas para resolver este problema.
Ao calcular o chain code do contorno de uma mancha, analisamos também
alguns pixels dos contornos das manchas adjacentes, como mostramos na subsecção
5.1.1. Assim, podemos saber se o contorno é da mancha que pretendemos examinar
ou se é de uma mancha adjacente. Nesse passo, decidimos construir paralelamente
uma lista com as cores das regiões adjacentes à mancha que estamos a analisar.
Deste modo, o polígono além de ter as coordenadas dos seus vértices e a sua cor, tem
também as cores dos polígonos adjacentes. Depois de termos as relações pai-filho,
com base nessa lista de cores, passamos a analisar para cada nível de profundidade
45
Fig. 35: Relações topológicas entre os polígonos(a) inclusão; (b) adjacência
(a) (b)
Fig. 36: Determinar se um ponto se encontra dentro de um polígono
even = out
even = out
odd = in
odd = in
do grafo os polígonos adjacentes, comparando as cores. Adicionalmente os polígonos
têm que ter o nó pai em comum, caso contrário é impossível serem adjacentes.
Na Fig. 37 podemos observar a esquematização da construção do grafo de
topologia. O pseudo-código deste algoritmo é apresentado em seguida.
Fig. 37: Construção do grafo de topologia
buildGraph (segmLevel) //segmLevel is a list with all the image's polygons foreach(polygon in segmLevel) graph.addChild(0, polygon.id); //addChild(parent_node, child_node_id) graphLevel = 1;
do foreach(polygon1 in segmLevel) node1 = graph.getNode(polygon1.id) if(node1.level == graphLevel) foreach(polygon2 in segmLevel) if(polygon2 != polygon1) node2 = graph.getNode(polygon2.id) if(node2.level == graphLevel) if(polygon2.contains(polygon1)) graph.changeParent(polygon1.id, polygon2.id) //changeParent(node_id, new_parent_id) node1.updateChildrenLevels(); break; while(graph.hasNodes(++graphLevel));
46
Topology graph
Segmented image and region boundaries
3
6
5
24
1
Extracted simplifiedpolygons
1 2
3
0
4 5 6
1
6 4 3
2
5
foreach(polygon1 in segmLevel) foreach(color in polygon1.neighborColors) foreach(polygon2 in segmLevel) if(polygon1 != polygon2) if(polygon1.color = polygon2.color) graph.connectSiblings(polygon1.id, polygon2.id) // connectSiblings(node1_id, node2_id) checks if the nodes are at the
same level and if they have the same parent node
Repetindo este processo, ficamos com tantos grafos quantas operações de
segmentação (níveis) foram feitas à imagem original (ver Fig. 38). Embora o nosso
sistema suporte até 5 níveis de segmentação, verificámos experimentalmente que a
utilização de 3 níveis é a que produz melhores resultados (ver secção 7).
Fig. 38: Geração de 3 níveis de segmentação
5.3 Extracção da Cor das Manchas
A cor de uma mancha, após a segmentação da imagem, é a média da cor dos
pixels que a constituem. Quando calculamos um polígono através de uma região de
segmentação, como vimos na subsecção 5.1.1,a informação das componentes da cor
também é guardada.
Visto que o sistema HSV está mais próximo do sistema visual humano que o
RGB, torna-se uma escolha mais acertada em CBIR[20]. Posto isto, a nossa solução
converte as cores extraídas das manchas do modelo RGB para o modelo HSV[44] (ver
Fig. 39).
47
Fig. 39: Espaço de cores RGB e HSV
Assim, as cores no sistema PhotoFinder 2 são sempre trabalhadas no modelo
HSV, quer no armazenamento dos dados da imagem na base de dados, quer quando
se efectua uma pesquisa, como mostramos na secção seguinte.
Como o grafo de topologia não guarda esta informação, as cores de um nível de
segmentação são concentradas num vector de cores que fica associado à imagem
original.
5.4 Síntese
Nesta secção apresentámos as técnicas para extracção das características da
imagem. Analisámos o algoritmo de chain coding e as modificações que efectuámos
para suportarmos a computação dos contornos duplos da imagem. Vimos também os
métodos que desenvolvemos para simplificar o número de vértices de um polígono e
reduzir o “ruído”. Examinámos ainda o algoritmo para construir o grafo de topologia
a partir de uma lista de polígonos. Por fim, mostrámos como é feita a extracção da cor
e explicámos as razões da conversão para o formato HSV.
48
HSV modelRGB model
6 Armazenamento e Pesquisa
Nesta secção vamos descrever como é que a nossa solução guarda e pesquisa a
informação extraída das imagens. Quando se adiciona uma imagem ao sistema, tanto
o grafo como o vector de cores extraídos da imagem são inseridos em bases de dados.
A base de dados de topologia guarda um ou mais descritores por cada grafo. A base
de dados de cor guarda a associação entre um vector de cores e a fotografia
correspondente.
6.1 Inserção da Informação em Bases de Dados
Para armazenarmos a informação relativa à topologia dos polígonos de uma
imagem utilizamos a biblioteca SBR[36]. O grafo de topologia é fornecido como
entrada ao sistema SBR, que o converte num descritor (vector), como esquematizado
na Fig. 40. Esse vector é posteriormente inserido na base de dados que contém as
informações topológicas de todas as imagens catalogadas. É possível controlar o
sistema SBR para gerar apenas um descritor por grafo, ou um por cada sub-grafo
(incluindo o grafo original). Deste modo conseguimos descrevera imagem como um
todo ou as suas subpartes. Na secção 7 apresentamos os testes que demonstram que
o nosso sistema obtém melhores resultados se utilizarmos apenas um descritor por
grafo.
Fig. 40: Sistema SBR
Para guardar a cor dos polígonos, criámos uma segunda base de dados para
relacionar as cores com o respectivo grafo e o grafo com a imagem (ver Fig. 41), visto
que calculamos vários grafos por imagem.
49
Fig. 41: Esquema da base de dados de cores
ImagesImage id
Image path
GraphsGraph idImage id
ColorsGraph id
huesaturation
value
SBR
[0.53, 0.42, 0.68, ...]
[0.12, 0.90, 0.32, ...]
[0.03, 0.76, 0.45, ...]
Para implementar este conceito, usámos uma base de dados
relacional[45] embebida no PhotoFinder 2.
6.2 Pesquisa por Imagens Semelhantes
Quando a pesquisa de uma imagem é efectuada, todos os passos descritos nas
secções anteriores são realizados, nomeadamente a segmentação da imagem em
manchas de cor, a criação dos polígonos que constituem a imagem e a formação do
grafo de topologia, com a excepção da inserção nas bases de dados que vimos na
secção 6.1.
A imagem indicada como interrogação ao sistema é segmentada de forma a
obtermos o grafo de topologia das suas regiões e o vector de cores. Posteriormente,
fazemos uma interrogação ao sistema SBR, para obtermos os grafos que têm uma
topologia similar. Como a base de dados contém vários grafos por imagem (3 para
obter os melhores resultados, ver secção 7), necessitamos de adquirir mais grafos do
que os resultados pretendidos. Por exemplo, se quisermos pesquisar as 10 imagens
mais semelhantes à interrogação, então pedimos os 30 grafos mais semelhantes.
Obtendo os grafos mais semelhantes e as respectivas medidas de similaridade,
fazemos interrogações à base de dados de cor usando apenas os grafos que têm
topologias similares. Uma vez que o grafo de topologia não tem associado aos nós
informação sobre a cor de cada mancha, tivemos que desenvolver um algoritmo que
compara os vectores de cor extraídos das imagens. A Fig. 42 ilustra como funciona a
comparação entre dois vectores de cor. Vamos assumir que v1 foi extraído da
interrogação e tem 4 cores (v1_c1 – v1_c4). v2 estava armazenado na base de dados
e tem 5 cores (v2_c1 – v2_c5). Construímos uma matriz representando as distâncias
de cada cor de v1 a cada cor de v2.
Para calcular a diferença entre os dois vectores, o mais pequeno fica sempre
por linhas. Em seguida, para a primeira linha da matriz encontramos o valor mais
pequeno (0.11). Guardamos esse valor e removemos a linha e a coluna
correspondentes. Aplicamos o mesmo procedimento à matriz resultante, continuando
o processo até apagarmos a última linha da matriz. Depois combinamos os valores,
como ilustrado na Fig. 42 e obtemos o grau de semelhança da cor entre as imagens.
A formula de cálculo da distância normalizada entre duas cores (modelo HSV)
que utilizámos foi 1
5v1−v22s1×cosh1−s2×cosh22s1×sin h1−s2×sin h22 [20].
50
Fig. 42: Evolução do algoritmo de comparação de dois vectores de cor
Por último, combinamos os resultados da base de dados de topologia com os
devolvidos pela base de dados de cor, e calculamos a similaridade média para cada
imagem (ver Fig. 43).
Fig. 43: PhotoFinder 2 - apresentação dos resultados
A eficácia da pesquisa varia com o número de níveis de segmentação, tanto
para a inserção no sistema como para a pesquisa. Na secção seguinte apresentamos
os resultados experimentais que realizámos com o PhotoFinder 2.
51
V2_c1 V2_c2 V2_c3 V2_c4 V2_c5V1_c1 0.32 0.11 0.57 0.21 0.43V1_c2 0.78 0.07 0.35 0.12 0.22V1_c3 0.56 0.31 0.15 0.38 0.17V1_c4 0.10 0.35 0.67 0.24 0.12
V2_c1 V2_c2 V2_c3 V2_c4 V2_c5V1_c1 0.32 0.11 0.57 0.21 0.43V1_c2 0.78 0.07 0.35 0.12 0.22V1_c3 0.56 0.31 0.15 0.38 0.17V1_c4 0.10 0.35 0.67 0.24 0.12
V2_c1 V2_c2 V2_c3 V2_c4 V2_c5V1_c1 0.32 0.11 0.57 0.21 0.43V1_c2 0.78 0.07 0.35 0.12 0.22V1_c3 0.56 0.31 0.15 0.38 0.17V1_c4 0.10 0.35 0.67 0.24 0.12
V2_c1 V2_c2 V2_c3 V2_c4 V2_c5V1_c1 0.32 0.11 0.57 0.21 0.43V1_c2 0.78 0.07 0.35 0.12 0.22V1_c3 0.56 0.31 0.15 0.38 0.17V1_c4 0.10 0.35 0.67 0.24 0.12
Step 4
Step 3Step 2
Step 1Original matrix
distancev1v2=0.110.120.150.10
4
V2_c1 V2_c2 V2_c3 V2_c4 V2_c5V1_c1 0.32 0.11 0.57 0.21 0.43V1_c2 0.78 0.07 0.35 0.12 0.22V1_c3 0.56 0.31 0.15 0.38 0.17V1_c4 0.10 0.35 0.67 0.24 0.12
6.3 Síntese
Nesta secção mostrámos que o nosso sistema utiliza duas bases de dados para
guardar a informação extraída das imagens, uma para a topologia e outra para a cor.
Quanto à pesquisa, vimos que as imagens são seleccionadas da base de dados de
acordo com a sua semelhança topológica e só depois é que são comparadas as cores
para encontrarmos a medida de semelhança final.
52
7 Resultados Experimentais
Nesta secção descrevemos o protótipo desenvolvido e apresentamos os testes
experimentais efectuados, tanto a nível da pesquisa total de imagens como parcial.
Discutimos, a partir dos resultados, quais os parâmetros que apresentam melhores
resultados na pesquisa. Comparamos ainda o PhotoFinder 2 com outra solução
existente e de grande divulgação, o retrievr (versão web) / imgSeek (aplicação
tradicional).
7.1 O Protótipo PhotoFinder 2
Com a finalidade de validar os vários algoritmos desenvolvidos, criámos um
protótipo para permitir a pesquisa de imagens semelhantes. Embora este não seja o
foco do nosso trabalho, achamos por bem descrevê-lo para mostrar como os
utilizadores podem pesquisar imagens.
A aplicação que desenvolvemos para testar a nossa solução carrega uma
imagem do pc do utilizador e mostra-a no ecrã. É então possível submeter a imagem
para pesquisa ou seleccionar uma área para recortar com o rato e pesquisar apenas
por essa parte. Os resultados são apresentados em seguida, ordenados pela
similaridade com a interrogação, como se pode ver na Fig. 44.
Fig. 44: Protótipo PhotoFinder 2
53
7.2 Medida de Qualidade
A qualidade de um sistema de pesquisa é medida pela proporção de resultados
relevantes na lista, pela posição desses resultados face aos não relevantes e ainda
pelos resultados relevantes em falta.
De acordo com Gerard Salton et al.[46], um bom sistema de Information
Retrieval deve encontrar tantos documentos relevantes quanto possível e muito
poucos não relevantes. Esta visão vai de encontro às definições de precision e recall.
Precision é uma medida de exactidão (encontrar poucos documentos não relevantes),
e recall mede a completude (tantos relevantes quanto possível). Ambas as medidas
são orientadas à totalidade do conjunto e não contemplam a noção de ranking, ou
seja, a ordenação dos resultados pela similaridade com o original.
precision=relevantdocuments∩retrieveddocumentsretrieveddocuments
recall=relevantdocuments∩retrieveddocumentsrelevantdocuments
Segundo Mahesh[47], os utilizadores desejam que os documentos relevantes
surjam primeiro. A relevância da ordenação pode ser medida calculando a precisão
em diferentes pontos de cut-off (precision at n). Por exemplo, se os 10 primeiros
documentos são relevantes e os restantes 10 devolvidos não são, com um cut-off de
10 o valor de precision é 100%, mas desce para 50% com um cut-off de 20. A medida
precision at n não contempla recall. Nesse sentido, o autor apresenta a average
precision que combina precision, relevance ranking e recall. A medida average
precision é definida como ∑r=1
n
P r ×rel r
relevantdocuments, onde r é a posição do documento, rel()
é uma função binária da relevância e P() é precision num dado cut-off. Assim, esta
medida é a ideal para medir a qualidade dos motores de pesquisa. Para ter um
average precision de 100%, o sistema deve devolver todos os documentos relevantes
(até ao nível de cut-off) e ordená-los perfeitamente. Idealmente, o gráfico de
resultados de average precision deve ser uma recta, monótona e estritamente
crescente. Na posição em que o número de resultados devolvidos é igual ao número
de documentos relevantes, o average precision é 100% numa situação ideal, ou seja,
se todos os resultados até àquele resultado forem relevantes.
7.3 Pesquisa Total
A pesquisa total de imagens é o caso típico de CBIR, ou seja, encontrar imagens
que, na sua totalidade, sejam semelhantes à interrogação.
54
Para avaliarmos o nosso sistema, procurámos inicialmente por bases de dados
existentes e utilizadas noutras soluções, para podermos comparar os resultados. Mas
tal base de dados não existe, cada sistema utiliza uma diferente. Decidimos então
criar uma base de dados controlada com 100 imagens. Cada imagem pertence a uma
de 10 categorias que serão usadas para verificar a relevância dos resultados. As
categorias contêm algumas imagens rodadas e/ou espelhadas, juntamente com as
originais, para avaliarmos também a flexibilidade do sistema nestas condições (ver
Fig. 45).
Fig. 45: Exemplo das imagens utilizadas nos testesEm cima categoria “dakar_yellow”, em baixo ”dog”
Das 10 categorias elegemos 5 aleatoriamente, e dessas escolhemos, também
aleatoriamente, 1 imagem das 10 presentes em cada categoria para servirem como
interrogação ao sistema.
Como procedimento, primeiro configurámos o sistema para fazer 5 níveis de
segmentação por imagem na inserção (IL5 – Insert Levels 5) e para a biblioteca SBR
gerar apenas um descritor por grafo (STN – SBRType N). Introduzimos de seguida as
100 imagens no sistema. Usámos cada uma das 5 imagens eleitas como interrogação
ao PhotoFinder 2 variando de 1 a 5 níveis de segmentação para a interrogação (SL1 -
SL5). A Fig. 46 ilustra os resultados obtidos. Cada linha representa os valor médio de
average precision das 5 imagens de teste.
Podemos ver que, para o primeiro resultado o valor de average precision é 10%,
o que significa que das 10 imagens relevantes, uma foi encontrada. Neste tipo de
gráficos, quanto maior for o average precision num dado ponto, melhores são os
resultados obtidos. Mesmo que dois sistemas devolvam 5 resultados relevantes de um
conjunto de 10 (precision = 50%), a ordem com que o sistema os ordena também
entra na equação, contribuindo para o valor final.
55
Fig. 46: Gráfico dos resultados da pesquisa total com IL5 e STN
O gráfico mostra-nos que, para os parâmetros utilizados, obtemos melhores
resultados se usarmos 2, 3 ou 4 níveis de segmentação na interrogação. Com 1 ou 5
níveis os resultados são menos bons. No Apêndice A podem ser consultadas as tabelas
de resultados individuais, por imagem.
Repetimos o procedimento para 5 níveis de segmentação por imagem na
inserção (IL5), mas produzindo descritores para o grafo e sub-grafos (STL). Os
resultados encontram-se na Fig. 47.
Fig. 47: Gráfico dos resultados da pesquisa total com IL5 e STL
Como podemos observar, também aqui os resultados melhores foram obtidos
com 2 e 4 níveis de segmentação para a interrogação.
Alterando agora o número de níveis para 3 (IL3) e configurando o sistema SBR
para um descritor por grafo (STN), obtivemos os resultados presentes na Fig. 48
56
1 2 3 4 5 6 7 8 9 10
0%
10%
20%
30%
40%
50%
60%
70%
80%
IL5 STN
SL1 SL2 SL3 SL4 SL5
Ranking
Ave
rag
e P
reci
sio
n
1 2 3 4 5 6 7 8 9 10
0%
10%
20%
30%
40%
50%
60%
70%
80%
IL5 STL
SL1 SL2 SL3 SL4 SL5
Ranking
Ave
rag
e P
reci
sio
n
Podemos ver que, como nas situações anteriores, 1 e 5 níveis de segmentação
para a interrogação, produzem resultados ligeiramente abaixo do que usando os
outros valores.
Testámos ainda para 3 níveis de segmentação na inserção (IL3), mas produzindo
descritores para o grafo e sub-grafos (STL),como mostra a Fig. 49.
Fig. 49: Gráfico dos resultados da pesquisa total com IL3 e STL
Neste caso, destacou-se o caso com 2 níveis de segmentação, obtendo
claramente melhores resultados do que com os outros conjuntos de parâmetros.
Depois de analisados os gráficos anteriores, apresentamos na Fig. 50 um gráfico
comparativo dos melhores parâmetros para a pesquisa total, comparando os melhores
parâmetros de cada um dos anteriores.
57
Fig. 48: Gráfico dos resultados da pesquisa total com IL3 e STN
1 2 3 4 5 6 7 8 9 10
0%
10%
20%
30%
40%
50%
60%
70%
80%
IL3 STN
SL1 SL2 SL3 SL4 SL5
Ranking
Ave
rag
e P
reci
sio
n
1 2 3 4 5 6 7 8 9 10
0%
10%
20%
30%
40%
50%
60%
70%
80%
IL3 STL
SL1 SL2 SL3 SL4 SL5
Ranking
Ave
rag
e P
reci
sio
n
Fig. 50: Comparação dos melhores resultados de pesquisa total
Como podemos observar, conseguimos obter melhores resultados gerando
apenas um descritor por grafo (STN), computando 2 níveis de segmentação na
interrogação e 3 níveis na catalogação da imagem.
7.4 Pesquisa Parcial
Na pesquisa parcial de imagens, os resultados não têm que ser imagens
semelhantes à interrogação, mas ter uma parte que seja semelhante, como se pode
observar na Fig. 51.
Fig. 51: Exemplo de pesquisa parcial no PhotoFinder 2
Para avaliarmos a qualidade da nossa solução, procedemos do mesmo modo que
para a pesquisa total. Criámos uma base de dados controlada com 10 categorias
(cada uma com 10 imagens) e escolhemos aleatoriamente 5 imagens de categorias
distintas. Em seguida recortamos um objecto da imagem e medimos quantas imagens
o PhotoFinder 2 encontrou. Configurámos o sistema para fazer 5 níveis de
segmentação por imagem na inserção (IL5) e para a biblioteca SBR gerar vários
descritores por grafo (STL). Introduzimos de seguida as 100 imagens no sistema.
58
1 2 3 4 5 6 7 8 9 10
0%
10%
20%
30%
40%
50%
60%
70%
80%
IL5-STN SL2 IL5-STL SL2 IL3-STN SL2 IL3-STL SL2
Ranking
Ave
rag
e P
reci
sio
n
Usámos cada uma das 5 imagens (recortadas das originais) eleitas como interrogação
ao PhotoFinder 2 usando de 2 a 5 níveis de segmentação. Eliminámos o SL1 porque
apresentou maus resultados nos testes de pesquisa total. A Fig. 52 ilustra os
resultados obtidos.
Fig. 52: Gráfico dos resultados da pesquisa parcial com IL5 e STL
Podemos observar que os resultados são um pouco inferiores aos da pesquisa
total, pois este tipo de pesquisa é geralmente mais complexo. O melhor resultado
obtido foi para 5 níveis de segmentação na interrogação e o pior para 3. No entanto
se considerarmos os 10 resultados, todas as configurações têm um valor de average
precision entre 40% e 45%.
Modificando agora as nossas bases de dados para guardarem apenas um
descritor por grafo, obtivemos os resultados representados na Fig. 53.
Fig. 53: Gráfico dos resultados da pesquisa parcial com IL5 e STN
59
1 2 3 4 5 6 7 8 9 10
0%
5%
10%
15%
20%
25%
30%
35%
40%
45%
50%
IL5 STL
SL2 SL3 SL4 SL5
Ranking
Ave
rag
e P
reci
sio
n
1 2 3 4 5 6 7 8 9 10
0%
10%
20%
30%
40%
50%
60%
IL5 STN
SL2 SL3 SL4 SL5
Ranking
Ave
rage
Pre
cisi
on
Neste caso, os melhores resultados foram conseguidos fazendo 4 níveis de
segmentação à interrogação.
Alterando agora o número de níveis para 3 (IL3) e configurando o sistema SBR
para vários descritores por grafo (STL), obtivemos os resultados presentes na Fig. 54.
Fig. 54: Gráfico dos resultados da pesquisa parcial com IL3 e STL
Como podemos observar, para estes parâmetros de introdução, 2 níveis de
segmentação (SL2) na pesquisa fornecem o melhor resultado.
Testámos ainda para 3 níveis de segmentação na inserção (IL3), produzindo
apenas um descritor por grafo (STN),como mostra a Fig. 55.
Fig. 55: Gráfico dos resultados da pesquisa parcial com IL3 e STN
Também neste caso 2 níveis de segmentação (SL2) para a interrogação
originam claramente os melhores resultados de pesquisa.
Depois de analisados os gráficos anteriores, escolhemos as configurações que
60
1 2 3 4 5 6 7 8 9 10
0%
10%
20%
30%
40%
50%
60%
IL3 STL
SL2 SL3 SL4 SL5
Ranking
Ave
rage
Pre
cisi
on
1 2 3 4 5 6 7 8 9 10
0%
10%
20%
30%
40%
50%
60%
IL3 STN
SL2 SL3 SL4 SL5
Ranking
Ave
rage
Pre
cisi
on
obtiveram melhores resultados. Na Fig. 56 apresentamos um gráfico com uma
comparação entre essas configurações. Podemos observar assim qual a melhor
escolha para a pesquisa parcial.
Fig. 56: Comparação dos melhores resultados de pesquisa parcial
Como se pode observar, os parâmetros IL3-STN SL2 são os que permitem obter
os melhores resultados tanto para a pesquisa parcial como total. Embora os conjuntos
IL3-STN SL2 e o IL5-STN SL4 apresentem valores muito semelhantes pa pequisa
parcial, no caso da pesquisa total o primeiro tem melhores resultados. Assim,
decidimos usar esta configuração na comparação com a outra solução existente, que
apresentamos na secção seguinte.
7.5 Comparação com o Sistema imgSeek
Nesta subsecção vamos comparar os resultados de pesquisa obtidos usando o
PhotoFinder 2 e outra aplicação de pesquisa baseada no conteúdo, o imgSeek. Este
programa utiliza o método descrito em Fast Multiresolution Image Querying[16], à
semelhança da aplicação web retrievr[48]. Gostaríamos de ter comparado o nosso
sistema com outras soluções, mas tal não foi possível, pois a grande maioria desses
projectos encontram-se disponíveis apenas como demonstrações on-line, o que nos
impede de usar a mesma base de dados que usámos nos testes do PhotoFinder 2.
Para esta comparação entre as duas aplicações, utilizámos a última versão
disponível, imgSeek 0.8.5 de Abril de 2005. Catalogámos no imgSeek as 100
fotografias que utilizámos nos nossos testes para a pesquisa total de imagens e
usámos as mesmas 5 interrogações.
Na Fig. 57 podemos ver os resultados de average precision obtidos ao
compararmos directamente os dois sistemas.
61
1 2 3 4 5 6 7 8 9 10
0%
10%
20%
30%
40%
50%
60%
IL5-STL SL5 IL5-STN SL4 IL3-STL SL2 IL3-STN SL2
Ranking
Av
era
ge
Pre
cis
ion
Fig. 57: Comparação entre o imgSeek e o PhotoFinder 2 – pesquisa total
Podemos observar que o PhotoFinder tem um desempenho superior,
encontrando mais imagens relevantes e colocando-as mais acima no ranking (maior
declive da curva).
Repetimos o teste para a pesquisa parcial, introduzindo no sistema as mesmas
fotos que usámos com a nossa solução. Os resultados encontram-se na Fig. 58.
Fig. 58: Comparação entre o imgSeek e o PhotoFinder 2 - pesquisa parcial
Analisando o gráfico constatamos que o PhotoFinder 2 constitui uma solução
mais adequada ao problema da pesquisa parcial, obtendo resultados
significativamente melhores que o imgSeek.
62
1 2 3 4 5 6 7 8 9 10
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
imgSeek and PhotoFinder 2 - Total Search
imgSeek PhotoFinder2
Ranking
Ave
rag
e P
reci
sio
n
1 2 3 4 5 6 7 8 9 10
0%
10%
20%
30%
40%
50%
60%
imgSeek and PhotoFinder 2 - Partial Search
imgSeek PhotoFinder 2
Ranking
Ave
rag
e P
rec
isio
n
8 Conclusões e Trabalho Futuro
Nesta secção resumimos a dissertação, apresentamos as vantagens e limitações
da nossa abordagem e apresentamos os tópicos que podem ser aprofundados
futuramente.
O objectivo desta tese era desenvolver um conjunto de técnicas para resolver o
problema da pesquisa de imagens pelo conteúdo, em particular a pesquisa parcial.
Inicialmente, fizemos um levantamento dos trabalhos mais importantes em CBIR para
entender o que existia actualmente e quais os caminhos que poderíamos seguir.
Vimos que existem três técnicas distintas para extrair informação das imagens
(histograma de cores, disposição de cores, regiões de cor), mas cada solução trata a
informação de um modo distinto. Analisámos em seguida cada trabalho
cuidadosamente e apresentámos uma comparação entre todos acerca das suas
características mais importantes. Discutimos então os vários processos de
segmentação de imagens e justificámos a utilização do sistema EDISON.
Construímos uma solução para a pesquisa total e parcial de imagens baseada no
seu conteúdo. A nossa abordagem utiliza as relações espaciais entre as manchas de
cor e a própria cor destas, para descrever o conteúdo das imagens. Adicionalmente, e
para enriquecer a descrição das imagens, extraímos esta informação (topologia e cor)
para 3 níveis de segmentação da imagem. Com estes 3 níveis de segmentação
conseguimos descrever a imagem com mais ou menos detalhe, tornando assim a
pesquisa mais flexível.
Como principais contribuições deste trabalho podem enumerar-se as seguintes:
• Recuperação parcial de imagens – desenvolvimento de uma técnica para
recuperação total e parcial de imagens insensível à rotação, escala e translação.
• Técnica de segmentação por níveis - aplicação do processo de
segmentação várias vezes à mesma imagem, de modo a obter vários descritores,
um para cada nível de segmentação (detalhe), permitindo melhorar a qualidade e
quantidade de informação extraída da imagem.
• Vectorização das manchas de cor – transformação de regiões raster em
polígonos. É utilizado um algoritmo baseado no de Freeman, que permite
vectorizar contornos duplos. A informação da cor da mancha que o contorno limita
permite distingui-la dos contornos de outras regiões. É ainda executado um
algoritmo de simplificação de polígonos para melhorar a performance.
• Utilização de grafo de topologia – uma imagem é descrita pela topologia
das suas manchas de cor. As relações de inclusão e adjacência permitem que o
63
sistema resista a operações de translacção, rotação ou escala dos objectos.
• Avaliação experimental - Elaboração exaustiva de testes experimentais
para identificar a melhor solução para o nosso algoritmo e também para o
comparar com uma solução existente.
Pensamos ter atingido os objectivos a que nos propusemos, pois conseguimos
obter resultados bastante satisfatórios no que diz respeito à recuperação de imagens.
A grande vantagem da nossa abordagem é conseguirmos ter um bom sistema de
pesquisa total de imagens aliado à pesquisa parcial, característica que nenhum dos
sistemas que analisámos contempla. Adicionalmente, o tempo necessário para
processar as imagens e inseri-las na base de dados, é cerca de 3 seg. Em termos de
limitação, podemos considerar a falta de informação sobre a geometria das manchas
como um dos aspectos a melhorar.
Os resultados que obtivemos abrem caminho para a continuação e extensão do
trabalho aqui apresentado. Pelo menos duas áreas apresentam-se como opções ideais
à ampliação do PhotoFinder 2: a extracção e computação da geometria dos polígonos
e o estreitamento das relações entre a cor de uma mancha e o respectivo nó no grafo
de topologia. A geometria é importante porque de momento não existe qualquer
informação acerca da forma de uma região da imagem. Pensamos que esses dados
contribuiriam para uma pesquisa com resultados mais acertados. Em relação à cor,
poderíamos integrá-la como uma propriedade dos nós do grafo, enriquecendo o
conteúdo semântico das suas relações. No que toca à interacção com o utilizador, o
protótipo básico que elaborámos poderia também ser ampliado ou mesmo substituído,
de maneira a incorporar controlos mais fáceis para o utilizador e novas formas de
realizar a interrogação, por exemplo, usando esboços das manchas de cor.
64
9 Referências Bibliográficas
[1 ] M.L. Kherfi, D. Ziou, and A. Bernardi, “Image Retrieval from the World Wide Web: Issues, Techniques, and Systems,” ACM Comput. Surv., vol. 36, 2004, pp. 35-67.
[2 ] J.Z. Wang et al., “Diversity in multimedia information retrieval research,” Proceedings of the 8th ACM international workshop on Multimedia information retrieval, Santa Barbara, California, USA: ACM, 2006, pp. 5-12; http://portal.acm.org/citation.cfm?id=1178677.1178681.
[3 ] L. Zhang et al., “EnjoyPhoto: a vertical image search engine for enjoying high-quality photos,” Proceedings of the 14th annual ACM international conference on Multimedia, Santa Barbara, CA, USA: ACM, 2006, pp. 367-376; http://portal.acm.org/citation.cfm?id=1180639.1180719.
[4 ] S. Cunningham, D. Bainbridge, and M. Masoodian, “How people describe their image information needs: a grounded theory analysis of visual arts queries,” Digital Libraries, 2004. Proceedings of the 2004 Joint ACM/IEEE Conference on, 2004, pp. 47-48.
[5 ] N. Sebe et al., The State of the Art in Image and Video Retrieval, 2003; http://citeseer.ist.psu.edu/sebe03state.html.
[6 ] N. Shirahatti and K. Barnard, “Evaluating image retrieval,” Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on, 2005, pp. 955-961 vol. 1.
[7 ] R. Datta et al., “Image Retrieval: Ideas, Influences, and Trends of the New Age,” ACM Comput. Surv., 2008.
[8 ] J.Z. Wang, J. Li, and G. Wiederhold, “SIMPLIcity: Semantics-Sensitive Integrated Matching for Picture LIbraries,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 23, 2001, pp. 947-963.
[9 ] J. Ashley et al., “The query by image content (QBIC) system,” Proceedings of the 1995 ACM SIGMOD international conference on Management of data, San Jose, California, United States: ACM, 1995, p. 475; http://portal.acm.org/citation.cfm?id=223888&coll=portal&dl=ACM.
[10 ] A. Smeulders et al., “Content-based image retrieval at the end of the early years,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 22, 2000, pp. 1349-1380.
[11 ] M. Swain and D. Ballard, “Indexing via color histograms,” Computer Vision, 1990. Proceedings, Third International Conference on, 1990, pp. 390-393.
[12 ] E.J. Stollnitz, T.D. DeRose, and D.H. Salesin, “Wavelets for Computer Graphics: A Primer, Part 1,” IEEE Comput. Graph. Appl., vol. 15, 1995, pp. 76-84.
[13 ] E. Stollnitz, T. DeRose, and D. Salesin, “Wavelets for computer graphics: a primer. 2,” Computer Graphics and Applications, IEEE, vol. 15, 1995, pp. 75-85.
[14 ] J. Wang et al., “Unsupervised multiresolution segmentation for images with low
65
depth of field,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 23, 2001, pp. 85-90.
[15 ] G. Pass and R. Zabih, “Histogram refinement for content-based image retrieval,” Proceedings of the 3rd IEEE Workshop on Applications of Computer Vision (WACV '96), IEEE Computer Society, 1996, p. 96; http://portal.acm.org/citation.cfm?id=836717.
[16 ] C.E. Jacobs, A. Finkelstein, and D.H. Salesin, “Fast multiresolution image querying,” Proceedings of the 22nd annual conference on Computer graphics and interactive techniques, ACM, 1995, pp. 277-286; http://portal.acm.org/citation.cfm?id=218454.
[17 ] M. Do and M. Vetterli, “Wavelet-based texture retrieval using generalized Gaussian density and Kullback-Leibler distance,” Image Processing, IEEE Transactions on, vol. 11, 2002, pp. 146-158.
[18 ] J.R. Smith and S. Chang, “Integrated spatial and feature image query,” Multimedia Syst., vol. 7, 1999, pp. 129-140.
[19 ] S. Chang et al., “Visual information retrieval from large distributed online repositories,” Commun. ACM, vol. 40, 1997, pp. 63-71.
[20 ] J.R. Smith and S. Chang, “VisualSEEk: a fully automated content-based image query system,” Proceedings of the fourth ACM international conference on Multimedia, Boston, Massachusetts, United States: ACM, 1996, pp. 87-98; http://portal.acm.org/citation.cfm?id=244151.
[21 ] Yining Deng et al., “An efficient color representation for image retrieval,” Image Processing, IEEE Transactions on, vol. 10, 2001, pp. 140-147.
[22 ] Carson et al., “Blobworld: A System for Region-Based Image Indexing and Retrieval,” Visual Information and Information Systems, 1999, p. 660; http://dx.doi.org/10.1007/3-540-48762-X_63.
[23 ] T. Quack et al., “Cortina: a system for large-scale, content-based web image retrieval,” Proceedings of the 12th annual ACM international conference on Multimedia, New York, NY, USA: ACM, 2004, pp. 508-511; http://portal.acm.org/citation.cfm?id=1027650.
[24 ] E. Cheng et al., “Scalable relevance feedback using click-through data for web image retrieval,” Proceedings of the 14th annual ACM international conference on Multimedia, Santa Barbara, CA, USA: ACM, 2006, pp. 173-176; http://portal.acm.org/citation.cfm?id=1180688.
[25 ] Yixin Chen and J. Wang, “A region-based fuzzy feature matching approach to content-based image retrieval,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 24, 2002, pp. 1252-1267.
[26 ] Ruofei Zhang and Zhongfei Zhang, “Hidden semantic concept discovery in region based image retrieval,” Computer Vision and Pattern Recognition, 2004. CVPR 2004. Proceedings of the 2004 IEEE Computer Society Conference on, 2004, pp. II-996-II-1001 Vol.2.
[27 ] C. Yang, M. Dong, and F. Fotouhi, “Region based image annotation through multiple-instance learning,” Proceedings of the 13th annual ACM international
66
conference on Multimedia, Hilton, Singapore: ACM, 2005, pp. 435-438; http://portal.acm.org/citation.cfm?id=1101149.1101245.
[28 ] A. Natsev, Rajeev Rastogi, and K. Shim, “WALRUS: a similarity retrieval algorithm for image databases,” Knowledge and Data Engineering, IEEE Transactions on, vol. 16, 2004, pp. 301-316.
[29 ] Q. Tian et al., “Image retrieval using wavelet-based salient points,” Journal of Electronic Imaging, vol. 10, Oct. 2001, pp. 835-849.
[30 ] N. Sebe and M.S. Lew, “Comparing salient point detectors,” Pattern Recognition Letters, vol. 24, Jan. 2003, pp. 89-96.
[31 ] H. Zhang et al., “Local image representations using pruned salient points with applications to CBIR,” Proceedings of the 14th annual ACM international conference on Multimedia, Santa Barbara, CA, USA: ACM, 2006, pp. 287-296; http://portal.acm.org/citation.cfm?id=1180709.
[32 ] Wang et al., “Content-based image indexing and searching using Daubechies' wavelets,” International Journal on Digital Libraries, vol. 1, Mar. 1998, pp. 311-328.
[33 ] L.G. Shapiro and G.C. Stockman, Computer Vision, Prentice Hall, 2001.
[34 ] K. Jeffay, H.J. Zhang, and H. Zhang, Readings in Multimedia Computing and Networking, Morgan Kaufmann, 2001.
[35 ] D. Comaniciu and P. Meer, “Mean shift: a robust approach toward feature space analysis,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 24, 2002, pp. 603-619.
[36 ] M.J. Fonseca, “Sketch-Based Retrieval in Large Sets of Drawings,” Jul. 2004; Ph.D. Thesis, Instituto Superior Técnico, Technical University of Lisbon.
[37 ] P. Felzenszwalb and D. Huttenlocher, “Efficient Graph-Based Image Segmentation,” International Journal of Computer Vision, vol. 59, 2004, pp. 167-181.
[38 ] B. Sumengen, B.S. Manjunath, and C. Kenney, Image Segmentation Using Curve Evolution And Flow Fields; http://citeseer.ist.psu.edu/525151.html.
[39 ] M. Seul, L. O'Gorman, and M.J. Sammon, Practical Algorithms for Image Analysis: Description, Examples, and Code, Cambridge UniversityPress, 2000.
[40 ] H. Freeman, “Computer Processing of Line-Drawing Images,” ACM Comput. Surv., vol. 6, 1974, pp. 57-97.
[41 ] H. Haron, S.M. Shamsuddin, and D. Mohamed, “A new corner detection algorithm for chain code representation,” International Journal of Computer Mathematics, vol. 82, 2005, p. 941.
[42 ] J. Hershberger and J. Snoeyink, “Speeding Up the Douglas-Peucker Line-Simplification Algorithm,” Proceedings of the 5th International Symposium on Spatial Data Handling, Charleston, South Carolina: 1992, p. 134―143; http://citeseer.ist.psu.edu/hershberger92speeding.html.
67
[43 ] P. Bourke, “Determining if a point lies on the interior of a polygon,” 1987; http://local.wasp.uwa.edu.au/~pbourke/geometry/insidepoly/.
[44 ] T.N. Mundhenk, “HSV And H2SV Color Space - ILabWiki”; http://ilab.usc.edu/wiki/index.php/HSV_And_H2SV_Color_Space.
[45 ]“SQLite”; http://www.sqlite.org/.
[46 ] G. Salton and M.J. McGill, Introduction to Modern Information Retrieval, McGraw-Hill, 1983.
[47 ] K. Mahesh, “Text Retrieval Quality: A Primer”; http://www.oracle.com/technology/products/text/htdocs/imt_quality.htm.
[48 ] C. Langreiter, “retrievr - search by sketch / search by image”; http://labs.systemone.at/retrievr/about.
68
10 Apêndices
Apêndice A
Testes realizados com uma base de dados controlada contendo 100 imagens,
igualmente distribuídas por 10 categorias.
Rel. - Indica se a imagem é relevante ou não
Prec – Precision at n
AvP – Average Precision
Pesquisa Total
IL5-STN
SL1
SL2
69
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,45 0 0,8 0,4 1 1 0,5 1 1 0,5 1 1 0,5 0 0,8 0,46 0 0,67 0,4 0 0,83 0,5 0 0,83 0,5 1 1 0,6 0 0,67 0,47 0 0,57 0,4 0 0,71 0,5 0 0,71 0,5 1 1 0,7 0 0,57 0,48 0 0,5 0,4 0 0,63 0,5 0 0,63 0,5 1 1 0,8 0 0,5 0,49 0 0,44 0,4 0 0,56 0,5 0 0,56 0,5 0 0,89 0,8 0 0,44 0,410 0 0,4 0,4 1 0,6 0,56 0 0,5 0,5 1 0,9 0,89 0 0,4 0,4
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,4 0 0,75 0,35 1 1 0,5 1 1 0,5 1 1 0,5 1 1 0,5 0 0,6 0,36 1 1 0,6 0 0,83 0,5 1 1 0,6 1 1 0,6 1 0,67 0,377 1 1 0,7 0 0,71 0,5 1 1 0,7 1 1 0,7 1 0,71 0,448 0 0,88 0,7 1 0,75 0,58 0 0,88 0,7 1 1 0,8 0 0,63 0,449 0 0,78 0,7 1 0,78 0,65 0 0,78 0,7 1 1 0,9 0 0,56 0,4410 0 0,7 0,7 0 0,7 0,65 0 0,70 0,7 1 1 1 0 0,5 0,44
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
SL3
SL4
SL5
70
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,4 0 0,75 0,35 1 1 0,5 1 1 0,5 1 1 0,5 1 1 0,5 1 0,8 0,386 1 1 0,6 0 0,83 0,5 1 1 0,6 1 1 0,6 0 0,67 0,387 1 1 0,7 1 0,86 0,59 1 1 0,7 0 0,86 0,6 0 0,57 0,388 1 1 0,8 0 0,75 0,59 1 1 0,8 1 0,88 0,69 1 0,63 0,449 0 0,89 0,8 0 0,67 0,59 0 0,89 0,8 0 0,78 0,69 1 0,67 0,5110 0 0,8 0,8 1 0,7 0,66 0 0,8 0,8 0 0,7 0,69 0 0,6 0,51
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,4 0 0,75 0,35 1 1 0,5 1 1 0,5 1 1 0,5 1 1 0,5 1 0,8 0,386 1 1 0,6 0 0,83 0,5 1 1 0,6 1 1 0,6 0 0,67 0,387 1 1 0,7 1 0,86 0,59 1 1 0,7 0 0,86 0,6 0 0,57 0,388 0 0,88 0,7 1 0,88 0,67 1 1 0,8 1 0,88 0,69 0 0,5 0,389 0 0,78 0,7 0 0,78 0,67 0 0,89 0,8 1 0,89 0,78 1 0,56 0,4410 0 0,7 0,7 0 0,7 0,67 0 0,8 0,8 0 0,8 0,78 1 0,6 0,5
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 0 0,67 0,2 1 1 0,3 1 1 0,3 1 1 0,34 1 1 0,4 0 0,5 0,2 1 1 0,4 1 1 0,4 0 0,75 0,35 1 1 0,5 1 0,6 0,26 1 1 0,5 1 1 0,5 1 0,8 0,386 1 1 0,6 1 0,67 0,33 1 1 0,6 1 1 0,6 0 0,67 0,387 1 1 0,7 1 0,71 0,4 1 1 0,7 0 0,86 0,6 0 0,57 0,388 0 0,88 0,7 0 0,63 0,4 1 1 0,8 1 0,88 0,69 0 0,5 0,389 0 0,78 0,7 0 0,56 0,4 1 1 0,9 1 0,89 0,78 1 0,56 0,4410 0 0,7 0,7 1 0,6 0,46 0 0,9 0,9 0 0,8 0,78 1 0,6 0,5
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
IL5-STL
SL1
SL2
SL3
71
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,45 1 1 0,5 1 1 0,5 0 0,8 0,4 1 1 0,5 0 0,8 0,46 0 0,83 0,5 0 0,83 0,5 0 0,67 0,4 1 1 0,6 0 0,67 0,47 0 0,71 0,5 0 0,71 0,5 0 0,57 0,4 1 1 0,7 0 0,57 0,48 0 0,63 0,5 0 0,63 0,5 0 0,5 0,4 1 1 0,8 0 0,5 0,49 0 0,56 0,5 0 0,56 0,5 0 0,44 0,4 0 0,89 0,8 0 0,44 0,410 0 0,5 0,5 0 0,5 0,5 0 0,4 0,4 1 0,9 0,89 0 0,4 0,4
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,4 0 0,75 0,35 0 0,8 0,4 1 1 0,5 0 0,8 0,4 1 1 0,5 0 0,6 0,36 1 0,83 0,48 0 0,83 0,5 1 0,83 0,48 1 1 0,6 1 0,67 0,377 1 0,86 0,57 0 0,71 0,5 1 0,86 0,57 1 1 0,7 1 0,71 0,448 0 0,75 0,57 0 0,63 0,5 1 0,88 0,66 1 1 0,8 0 0,63 0,449 0 0,67 0,57 1 0,67 0,57 0 0,78 0,66 1 1 0,9 0 0,56 0,4410 0 0,6 0,57 1 0,7 0,64 0 0,7 0,66 0 0,9 0,9 0 0,5 0,44
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 0 0,75 0,3 1 1 0,4 1 1 0,4 1 1 0,4 0 0,75 0,35 0 0,6 0,3 1 1 0,5 0 0,8 0,4 1 1 0,5 1 0,8 0,386 0 0,5 0,3 0 0,83 0,5 1 0,83 0,48 1 1 0,6 0 0,67 0,387 1 0,57 0,36 1 0,86 0,59 1 0,86 0,57 0 0,86 0,6 0 0,57 0,388 0 0,5 0,36 0 0,75 0,59 1 0,88 0,66 1 0,88 0,69 0 0,5 0,389 0 0,44 0,36 0 0,67 0,59 1 0,89 0,75 0 0,78 0,69 1 0,56 0,4410 0 0,4 0,36 0 0,6 0,59 0 0,8 0,75 1 0,8 0,77 1 0,6 0,5
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
SL4
SL5
72
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 0 0,75 0,3 1 1 0,4 1 1 0,4 1 1 0,4 0 0,75 0,35 0 0,6 0,3 1 1 0,5 0 0,8 0,4 1 1 0,5 1 0,8 0,386 0 0,5 0,3 0 0,83 0,5 1 0,83 0,48 1 1 0,6 0 0,67 0,387 1 0,57 0,36 1 0,86 0,59 1 0,86 0,57 0 0,86 0,6 0 0,57 0,388 0 0,5 0,36 0 0,75 0,59 1 0,88 0,66 1 0,88 0,69 0 0,5 0,389 0 0,44 0,36 0 0,67 0,59 1 0,89 0,75 0 0,78 0,69 1 0,56 0,4410 0 0,4 0,36 0 0,6 0,59 0 0,8 0,75 1 0,8 0,77 1 0,6 0,5
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 0 0,5 0,13 1 1 0,3 0 0,67 0,2 1 1 0,3 1 1 0,3 0 0,33 0,14 1 1 0,4 1 0,75 0,28 1 1 0,4 1 1 0,4 1 0,5 0,155 1 1 0,5 0 0,6 0,28 1 1 0,5 0 0,8 0,4 1 0,6 0,216 0 0,83 0,5 0 0,5 0,28 1 1 0,6 1 0,83 0,48 0 0,5 0,217 0 0,71 0,5 1 0,57 0,33 1 1 0,7 1 0,86 0,57 0 0,43 0,218 1 0,75 0,58 1 0,63 0,39 0 0,88 0,7 0 0,75 0,57 0 0,38 0,219 0 0,67 0,58 1 0,67 0,46 1 0,89 0,79 0 0,67 0,57 0 0,33 0,2110 0 0,6 0,58 0 0,6 0,46 0 0,8 0,79 1 0,7 0,64 0 0,3 0,21
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
IL3-STN
SL1
SL2
SL3
73
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,45 1 1 0,5 0 0,8 0,4 1 1 0,5 1 1 0,5 0 0,8 0,46 0 0,83 0,5 1 0,83 0,48 0 0,83 0,5 1 1 0,6 0 0,67 0,47 0 0,71 0,5 0 0,71 0,48 0 0,71 0,5 1 1 0,7 0 0,57 0,48 0 0,63 0,5 0 0,63 0,48 0 0,63 0,5 1 1 0,8 0 0,5 0,49 0 0,56 0,5 0 0,56 0,48 0 0,56 0,5 0 0,89 0,8 0 0,44 0,410 0 0,5 0,5 1 0,6 0,54 0 0,5 0,5 1 0,9 0,89 0 0,4 0,4
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,4 0 0,75 0,35 1 1 0,5 1 1 0,5 1 1 0,5 1 1 0,5 0 0,6 0,36 1 1 0,6 0 0,83 0,5 1 1 0,6 1 1 0,6 1 0,67 0,377 1 1 0,7 0 0,71 0,5 1 1 0,7 1 1 0,7 1 0,71 0,448 0 0,88 0,7 1 0,75 0,58 1 1 0,8 1 1 0,8 0 0,63 0,449 0 0,78 0,7 1 0,78 0,65 0 0,89 0,8 1 1 0,9 0 0,56 0,4410 0 0,7 0,7 0 0,7 0,65 0 0,8 0,8 1 1 1 0 0,5 0,44
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,4 0 0,75 0,35 1 1 0,5 1 1 0,5 1 1 0,5 1 1 0,5 0 0,6 0,36 1 1 0,6 0 0,83 0,5 1 1 0,6 1 1 0,6 1 0,67 0,377 1 1 0,7 0 0,71 0,5 1 1 0,7 1 1 0,7 1 0,71 0,448 0 0,88 0,7 1 0,75 0,58 1 1 0,8 1 1 0,8 0 0,63 0,449 0 0,78 0,7 1 0,78 0,65 0 0,89 0,8 1 1 0,9 0 0,56 0,4410 0 0,7 0,7 0 0,7 0,65 0 0,8 0,8 1 1 1 0 0,5 0,44
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
SL4
SL5
74
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,45 1 1 0,5 0 0,8 0,4 1 1 0,5 1 1 0,5 0 0,8 0,46 1 1 0,6 0 0,67 0,4 1 1 0,6 1 1 0,6 0 0,67 0,47 1 1 0,7 1 0,71 0,47 1 1 0,7 0 0,86 0,6 1 0,71 0,478 1 1 0,8 0 0,63 0,47 1 1 0,8 1 0,88 0,69 0 0,63 0,479 0 0,89 0,8 0 0,56 0,47 0 0,89 0,8 1 0,89 0,78 0 0,56 0,4710 0 0,8 0,8 0 0,5 0,47 0 0,8 0,8 0 0,8 0,78 0 0,5 0,47
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 0 0,67 0,2 1 1 0,3 1 1 0,3 1 1 0,34 1 1 0,4 0 0,5 0,2 1 1 0,4 1 1 0,4 1 1 0,45 1 1 0,5 1 0,6 0,26 1 1 0,5 1 1 0,5 0 0,8 0,46 1 1 0,6 1 0,67 0,33 1 1 0,6 1 1 0,6 0 0,67 0,47 1 1 0,7 0 0,57 0,33 1 1 0,7 0 0,86 0,6 0 0,57 0,48 1 1 0,8 0 0,5 0,33 1 1 0,8 1 0,88 0,69 0 0,5 0,49 0 0,89 0,8 0 0,44 0,33 0 0,89 0,8 1 0,89 0,78 0 0,44 0,410 0 0,8 0,8 0 0,4 0,33 0 0,8 0,8 0 0,8 0,78 0 0,4 0,4
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
IL3-STL
SL1
SL2
SL3
75
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,45 1 1 0,5 1 1 0,5 0 0,8 0,4 1 1 0,5 0 0,8 0,46 0 0,83 0,5 0 0,83 0,5 0 0,67 0,4 1 1 0,6 0 0,67 0,47 0 0,71 0,5 0 0,71 0,5 0 0,57 0,4 1 1 0,7 0 0,57 0,48 0 0,63 0,5 0 0,63 0,5 0 0,5 0,4 1 1 0,8 0 0,5 0,49 0 0,56 0,5 0 0,56 0,5 0 0,44 0,4 0 0,89 0,8 0 0,44 0,410 0 0,5 0,5 0 0,5 0,5 0 0,4 0,4 1 0,9 0,89 0 0,4 0,4
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 1 1 0,4 1 1 0,4 1 1 0,4 1 1 0,4 0 0,75 0,35 0 0,8 0,4 1 1 0,5 1 1 0,5 1 1 0,5 0 0,6 0,36 1 0,83 0,48 0 0,83 0,5 0 0,83 0,5 1 1 0,6 1 0,67 0,377 1 0,86 0,57 0 0,71 0,5 1 0,86 0,59 1 1 0,7 1 0,71 0,448 1 0,88 0,66 0 0,63 0,5 1 0,88 0,67 1 1 0,8 0 0,63 0,449 0 0,78 0,66 1 0,67 0,57 0 0,78 0,67 1 1 0,9 0 0,56 0,4410 0 0,7 0,66 1 0,7 0,64 0 0,7 0,67 0 0,9 0,9 0 0,5 0,44
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 0 0,75 0,3 0 0,75 0,3 1 1 0,4 1 1 0,4 0 0,75 0,35 0 0,6 0,3 1 0,8 0,38 1 1 0,5 1 1 0,5 1 0,8 0,386 0 0,5 0,3 1 0,83 0,46 0 0,83 0,5 1 1 0,6 0 0,67 0,387 0 0,43 0,3 0 0,71 0,46 1 0,86 0,59 0 0,86 0,6 0 0,57 0,388 1 0,5 0,35 1 0,75 0,54 1 0,88 0,67 1 0,88 0,69 0 0,5 0,389 0 0,44 0,35 0 0,67 0,54 0 0,78 0,67 0 0,78 0,69 1 0,56 0,4410 0 0,4 0,35 0 0,6 0,54 0 0,7 0,67 1 0,8 0,77 1 0,6 0,5
SL4
SL5
76
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,3 0 0,67 0,24 0 0,75 0,3 0 0,75 0,3 1 1 0,4 1 1 0,4 1 0,75 0,285 0 0,6 0,3 1 0,8 0,38 1 1 0,5 1 1 0,5 1 0,8 0,366 0 0,5 0,3 1 0,83 0,46 1 1 0,6 1 1 0,6 0 0,67 0,367 0 0,43 0,3 0 0,71 0,46 0 0,86 0,6 0 0,86 0,6 0 0,57 0,368 0 0,38 0,3 1 0,75 0,54 0 0,75 0,6 0 0,75 0,6 0 0,5 0,369 0 0,33 0,3 0 0,67 0,54 1 0,78 0,68 0 0,67 0,6 0 0,44 0,3610 0 0,3 0,3 0 0,6 0,54 0 0,7 0,68 1 0,7 0,67 0 0,4 0,36
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 0 0,67 0,2 1 1 0,3 1 1 0,3 0 0,67 0,24 0 0,75 0,3 1 0,75 0,28 1 1 0,4 1 1 0,4 0 0,5 0,25 0 0,6 0,3 0 0,6 0,28 1 1 0,5 1 1 0,5 1 0,6 0,266 0 0,5 0,3 0 0,5 0,28 1 1 0,6 0 0,83 0,5 1 0,67 0,337 0 0,43 0,3 0 0,43 0,28 1 1 0,7 1 0,86 0,59 0 0,57 0,338 0 0,38 0,3 1 0,5 0,33 0 0,88 0,7 1 0,88 0,67 0 0,5 0,339 0 0,33 0,3 0 0,44 0,33 0 0,78 0,7 0 0,78 0,67 0 0,44 0,3310 0 0,3 0,3 1 0,5 0,38 0 0,7 0,7 0 0,7 0,67 0 0,4 0,33
Pesquisa Parcial
IL5-STL
SL2
SL3
SL4
77
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 0 0,67 0,2 0 0,67 0,2 0 0,67 0,2 0 0,67 0,24 1 1 0,4 0 0,5 0,2 1 0,75 0,28 1 0,75 0,28 0 0,5 0,25 1 1 0,5 0 0,4 0,2 1 0,8 0,36 1 0,8 0,36 0 0,4 0,26 1 1 0,6 0 0,33 0,2 0 0,67 0,36 0 0,67 0,36 0 0,33 0,27 0 0,86 0,6 0 0,29 0,2 0 0,57 0,36 0 0,57 0,36 0 0,29 0,28 1 0,88 0,69 0 0,25 0,2 0 0,5 0,36 0 0,5 0,36 1 0,38 0,249 1 0,89 0,78 0 0,22 0,2 1 0,56 0,41 0 0,44 0,36 0 0,33 0,2410 1 0,9 0,87 0 0,2 0,2 1 0,6 0,47 0 0,4 0,36 0 0,3 0,24
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 0 0 0 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 0,5 0,05 1 1 0,2 0 0,5 0,1 1 1 0,2 1 1 0,23 0 0,33 0,05 1 1 0,3 0 0,33 0,1 1 1 0,3 1 1 0,34 1 0,5 0,1 0 0,75 0,3 1 0,5 0,15 1 1 0,4 0 0,75 0,35 0 0,4 0,1 0 0,6 0,3 1 0,6 0,21 1 1 0,5 0 0,6 0,36 1 0,5 0,15 0 0,5 0,3 0 0,5 0,21 1 1 0,6 0 0,5 0,37 1 0,57 0,21 0 0,43 0,3 0 0,43 0,21 0 0,86 0,6 0 0,43 0,38 1 0,63 0,27 0 0,38 0,3 0 0,38 0,21 1 0,88 0,69 0 0,38 0,39 0 0,56 0,27 0 0,33 0,3 0 0,33 0,21 1 0,89 0,78 0 0,33 0,310 1 0,6 0,33 0 0,3 0,3 1 0,4 0,25 1 0,9 0,87 0 0,3 0,3
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 0 0,67 0,2 1 1 0,3 0 0,67 0,2 0 0,67 0,2 1 1 0,34 1 0,75 0,28 0 0,75 0,3 0 0,5 0,2 1 0,75 0,28 1 1 0,45 0 0,6 0,28 0 0,6 0,3 1 0,6 0,26 1 0,8 0,36 0 0,8 0,46 1 0,67 0,34 0 0,5 0,3 0 0,5 0,26 1 0,83 0,44 0 0,67 0,47 0 0,57 0,34 0 0,43 0,3 0 0,43 0,26 0 0,71 0,44 1 0,71 0,478 0 0,5 0,34 0 0,38 0,3 1 0,5 0,31 1 0,75 0,51 0 0,63 0,479 1 0,56 0,4 0 0,33 0,3 1 0,56 0,37 0 0,67 0,51 0 0,56 0,4710 0 0,5 0,4 0 0,3 0,3 0 0,5 0,37 0 0,6 0,51 0 0,5 0,47
SL5
78
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 0 0,67 0,2 0 0,67 0,2 1 1 0,34 0 0,75 0,3 0 0,75 0,3 0 0,5 0,2 1 0,75 0,28 1 1 0,45 1 0,8 0,38 0 0,6 0,3 1 0,6 0,26 1 0,8 0,36 0 0,8 0,46 0 0,67 0,38 0 0,5 0,3 0 0,5 0,26 0 0,67 0,36 0 0,67 0,47 0 0,57 0,38 0 0,43 0,3 0 0,43 0,26 1 0,71 0,43 0 0,57 0,48 1 0,63 0,44 0 0,38 0,3 1 0,5 0,31 1 0,75 0,5 0 0,5 0,49 0 0,56 0,44 0 0,33 0,3 1 0,56 0,37 1 0,78 0,58 0 0,44 0,410 0 0,5 0,44 0 0,3 0,3 0 0,5 0,37 1 0,8 0,66 1 0,5 0,45
IL5-STN
SL2
SL3
SL4
79
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 0 0,5 0,1 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 0 0,33 0,1 1 1 0,3 0 0,67 0,2 0 0,67 0,24 1 1 0,4 0 0,25 0,1 1 1 0,4 1 0,75 0,28 0 0,5 0,25 1 1 0,5 0 0,2 0,1 0 0,8 0,4 1 0,8 0,36 0 0,4 0,26 1 1 0,6 0 0,17 0,1 0 0,67 0,4 0 0,67 0,36 0 0,33 0,27 0 0,86 0,6 0 0,14 0,1 0 0,57 0,4 0 0,57 0,36 0 0,29 0,28 1 0,88 0,69 0 0,13 0,1 0 0,5 0,4 0 0,5 0,36 1 0,38 0,249 1 0,89 0,78 0 0,11 0,1 1 0,56 0,46 0 0,44 0,36 0 0,33 0,2410 1 0,9 0,87 0 0,1 0,1 1 0,6 0,52 0 0,4 0,36 0 0,3 0,24
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 0 0 0 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 0,5 0,05 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 0 0,33 0,05 1 1 0,3 1 1 0,3 0 0,67 0,2 1 1 0,34 0 0,25 0,05 0 0,75 0,3 1 1 0,4 1 0,75 0,28 0 0,75 0,35 1 0,4 0,09 0 0,6 0,3 0 0,8 0,4 1 0,8 0,36 0 0,6 0,36 1 0,5 0,14 1 0,67 0,37 0 0,67 0,4 0 0,67 0,36 0 0,5 0,37 1 0,57 0,2 1 0,71 0,44 0 0,57 0,4 0 0,57 0,36 0 0,43 0,38 1 0,63 0,26 0 0,63 0,44 0 0,5 0,4 0 0,5 0,36 0 0,38 0,39 1 0,67 0,33 0 0,56 0,44 0 0,44 0,4 0 0,44 0,36 0 0,33 0,310 1 0,7 0,4 0 0,5 0,44 1 0,5 0,45 0 0,4 0,36 0 0,3 0,3
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 0 0 0 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 0 0 0 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 0,33 0,03 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 0 0,25 0,03 0 0,75 0,3 1 1 0,4 1 1 0,4 0 0,75 0,35 0 0,2 0,03 0 0,6 0,3 1 1 0,5 1 1 0,5 0 0,6 0,36 1 0,33 0,07 0 0,5 0,3 1 1 0,6 0 0,83 0,5 0 0,5 0,37 1 0,43 0,11 1 0,57 0,36 0 0,86 0,6 1 0,86 0,59 0 0,43 0,38 1 0,5 0,16 0 0,5 0,36 0 0,75 0,6 0 0,75 0,59 0 0,38 0,39 1 0,56 0,22 1 0,56 0,41 0 0,67 0,6 0 0,67 0,59 0 0,33 0,310 1 0,6 0,28 0 0,5 0,41 0 0,6 0,6 0 0,6 0,59 0 0,3 0,3
SL5
80
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 0 0 0 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 0 0 0 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 0,33 0,03 1 1 0,3 1 1 0,3 1 1 0,3 1 1 0,34 0 0,25 0,03 0 0,75 0,3 1 1 0,4 0 0,75 0,3 1 1 0,45 0 0,2 0,03 0 0,6 0,3 1 1 0,5 1 0,8 0,38 0 0,8 0,46 1 0,33 0,07 0 0,5 0,3 1 1 0,6 1 0,83 0,46 1 0,83 0,487 1 0,43 0,11 1 0,57 0,36 0 0,86 0,6 0 0,71 0,46 0 0,71 0,488 1 0,5 0,16 0 0,5 0,36 0 0,75 0,6 1 0,75 0,54 0 0,63 0,489 1 0,56 0,22 1 0,56 0,41 0 0,67 0,6 0 0,67 0,54 0 0,56 0,4810 1 0,6 0,28 0 0,5 0,41 0 0,6 0,6 0 0,6 0,54 0 0,5 0,48
IL3-STL
SL2
SL3
SL4
81
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 0 0,67 0,2 0 0,67 0,2 1 1 0,34 1 1 0,4 0 0,75 0,3 0 0,5 0,2 1 0,75 0,28 1 1 0,45 1 1 0,5 0 0,6 0,3 1 0,6 0,26 1 0,8 0,36 0 0,8 0,46 1 1 0,6 0 0,5 0,3 1 0,67 0,33 1 0,83 0,44 1 0,83 0,487 0 0,86 0,6 0 0,43 0,3 0 0,57 0,33 0 0,71 0,44 0 0,71 0,488 1 0,88 0,69 0 0,38 0,3 0 0,5 0,33 0 0,63 0,44 0 0,63 0,489 1 0,89 0,78 0 0,33 0,3 1 0,56 0,38 0 0,56 0,44 0 0,56 0,4810 1 0,9 0,87 0 0,3 0,3 0 0,5 0,38 0 0,5 0,44 0 0,5 0,48
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 0 0 0 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 0,5 0,05 1 1 0,2 0 0,5 0,1 1 1 0,2 1 1 0,23 0 0,33 0,05 1 1 0,3 0 0,33 0,1 1 1 0,3 1 1 0,34 1 0,5 0,1 0 0,75 0,3 0 0,25 0,1 1 1 0,4 0 0,75 0,35 0 0,4 0,1 0 0,6 0,3 1 0,4 0,14 1 1 0,5 0 0,6 0,36 1 0,5 0,15 0 0,5 0,3 1 0,5 0,19 1 1 0,6 0 0,5 0,37 1 0,57 0,21 0 0,43 0,3 0 0,43 0,19 0 0,86 0,6 0 0,43 0,38 1 0,63 0,27 0 0,38 0,3 0 0,38 0,19 1 0,88 0,69 0 0,38 0,39 0 0,56 0,27 0 0,33 0,3 0 0,33 0,19 1 0,89 0,78 0 0,33 0,310 1 0,6 0,33 0 0,3 0,3 0 0,3 0,19 1 0,9 0,87 0 0,3 0,3
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 0 0,5 0,1 1 1 0,23 1 1 0,3 1 1 0,3 0 0,67 0,2 1 0,67 0,17 1 1 0,34 0 0,75 0,3 1 1 0,4 0 0,5 0,2 1 0,75 0,24 1 1 0,45 1 0,8 0,38 0 0,8 0,4 1 0,6 0,26 1 0,8 0,32 0 0,8 0,46 0 0,67 0,38 0 0,67 0,4 0 0,5 0,26 0 0,67 0,32 1 0,83 0,487 0 0,57 0,38 0 0,57 0,4 0 0,43 0,26 0 0,57 0,32 0 0,71 0,488 1 0,63 0,44 0 0,5 0,4 0 0,38 0,26 1 0,63 0,38 0 0,63 0,489 0 0,56 0,44 0 0,44 0,4 0 0,33 0,26 1 0,67 0,45 0 0,56 0,4810 1 0,6 0,5 0 0,4 0,4 1 0,4 0,3 1 0,7 0,52 0 0,5 0,48
SL5
82
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 0 0,5 0,1 1 1 0,23 1 1 0,3 1 1 0,3 0 0,67 0,2 1 0,67 0,17 1 1 0,34 1 1 0,4 1 1 0,4 0 0,5 0,2 1 0,75 0,24 1 1 0,45 0 0,8 0,4 0 0,8 0,4 1 0,6 0,26 1 0,8 0,32 0 0,8 0,46 0 0,67 0,4 0 0,67 0,4 0 0,5 0,26 0 0,67 0,32 1 0,83 0,487 1 0,71 0,47 0 0,57 0,4 0 0,43 0,26 0 0,57 0,32 0 0,71 0,488 0 0,63 0,47 0 0,5 0,4 0 0,38 0,26 1 0,63 0,38 0 0,63 0,489 0 0,56 0,47 0 0,44 0,4 0 0,33 0,26 1 0,67 0,45 0 0,56 0,4810 0 0,5 0,47 0 0,4 0,4 1 0,4 0,3 0 0,6 0,45 0 0,5 0,48
IL3-STN
SL2
SL3
SL4
83
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 1 1 0,3 1 1 0,3 0 0,67 0,2 1 1 0,34 1 1 0,4 1 1 0,4 1 1 0,4 1 0,75 0,28 0 0,75 0,35 1 1 0,5 0 0,8 0,4 0 0,8 0,4 1 0,8 0,36 0 0,6 0,36 1 1 0,6 0 0,67 0,4 1 0,83 0,48 0 0,67 0,36 0 0,5 0,37 0 0,86 0,6 0 0,57 0,4 0 0,71 0,48 0 0,57 0,36 0 0,43 0,38 1 0,88 0,69 1 0,63 0,46 1 0,75 0,56 0 0,5 0,36 0 0,38 0,39 1 0,89 0,78 0 0,56 0,46 0 0,67 0,56 0 0,44 0,36 0 0,33 0,310 1 0,9 0,87 0 0,5 0,46 0 0,6 0,56 0 0,4 0,36 0 0,3 0,3
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 0 0,5 0,1 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 0 0,33 0,1 1 1 0,3 0 0,67 0,2 1 1 0,34 1 1 0,4 0 0,25 0,1 1 1 0,4 1 0,75 0,28 0 0,75 0,35 1 1 0,5 0 0,2 0,1 0 0,8 0,4 1 0,8 0,36 0 0,6 0,36 1 1 0,6 0 0,17 0,1 1 0,83 0,48 0 0,67 0,36 0 0,5 0,37 0 0,86 0,6 0 0,14 0,1 0 0,71 0,48 0 0,57 0,36 0 0,43 0,38 1 0,88 0,69 0 0,13 0,1 1 0,75 0,56 0 0,5 0,36 0 0,38 0,39 1 0,89 0,78 0 0,11 0,1 0 0,67 0,56 0 0,44 0,36 0 0,33 0,310 1 0,9 0,87 0 0,1 0,1 0 0,6 0,56 0 0,4 0,36 0 0,3 0,3
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 0 0 0 0 0 0 1 1 0,1 1 1 0,1 1 1 0,12 1 0,5 0,05 0 0 0 1 1 0,2 1 1 0,2 1 1 0,23 0 0,33 0,05 1 0,33 0,03 1 1 0,3 1 1 0,3 1 1 0,34 0 0,25 0,05 0 0,25 0,03 1 1 0,4 1 1 0,4 0 0,75 0,35 1 0,4 0,09 0 0,2 0,03 0 0,8 0,4 1 1 0,5 0 0,6 0,36 1 0,5 0,14 0 0,17 0,03 1 0,83 0,48 1 1 0,6 0 0,5 0,37 1 0,57 0,2 1 0,29 0,06 1 0,86 0,57 0 0,86 0,6 0 0,43 0,38 1 0,63 0,26 1 0,38 0,1 1 0,88 0,66 1 0,88 0,69 0 0,38 0,39 1 0,67 0,33 1 0,44 0,14 0 0,78 0,66 0 0,78 0,69 0 0,33 0,310 1 0,7 0,4 0 0,4 0,14 0 0,7 0,66 0 0,7 0,69 0 0,3 0,3
SL5
84
Image 1 Image 2 Image 3 Image 4 Image 5# Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp1 0 0 0 0 0 0 1 1 0,1 1 1 0,1 1 1 0,12 1 0,5 0,05 0 0 0 1 1 0,2 1 1 0,2 1 1 0,23 0 0,33 0,05 1 0,33 0,03 1 1 0,3 0 0,67 0,2 1 1 0,34 0 0,25 0,05 0 0,25 0,03 1 1 0,4 1 0,75 0,28 1 1 0,45 0 0,2 0,05 0 0,2 0,03 0 0,8 0,4 1 0,8 0,36 0 0,8 0,46 1 0,33 0,08 0 0,17 0,03 1 0,83 0,48 1 0,83 0,44 0 0,67 0,47 1 0,43 0,13 1 0,29 0,06 1 0,86 0,57 0 0,71 0,44 0 0,57 0,48 1 0,5 0,18 1 0,38 0,1 1 0,88 0,66 0 0,63 0,44 1 0,63 0,469 1 0,56 0,23 0 0,33 0,1 0 0,78 0,66 1 0,67 0,51 0 0,56 0,4610 1 0,6 0,29 0 0,3 0,1 0 0,7 0,66 1 0,7 0,58 0 0,5 0,46
imgSeek
Pesquisa Total
Pesquisa Parcial
85
#1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,1 1 1 0,12 1 1 0,2 0 0,5 0,1 1 1 0,2 1 1 0,2 1 1 0,23 1 1 0,3 0 0,33 0,1 1 1 0,3 1 1 0,3 0 0,67 0,24 0 0,75 0,3 0 0,25 0,1 1 1 0,4 0 0,75 0,3 0 0,5 0,25 0 0,6 0,3 0 0,2 0,1 0 0,8 0,4 1 0,8 0,38 0 0,4 0,26 1 0,67 0,37 0 0,17 0,1 1 0,83 0,48 0 0,67 0,38 1 0,5 0,257 0 0,57 0,37 0 0,14 0,1 1 0,86 0,57 1 0,71 0,45 0 0,43 0,258 0 0,5 0,37 0 0,13 0,1 1 0,88 0,66 1 0,75 0,53 0 0,38 0,259 1 0,56 0,42 0 0,11 0,1 0 0,78 0,66 0 0,67 0,53 0 0,33 0,2510 1 0,6 0,48 1 0,2 0,12 0 0,70 0,66 0 0,6 0,53 0 0,3 0,25
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp
#1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,12 0 0 0 0 0 0 0 0 0 1 0,5 0,05 1 0,5 0,153 0 0 0 0 0 0 0 0 0 0 0,33 0,05 0 0,33 0,154 0 0 0 0 0 0 0 0 0 0 0,25 0,05 1 0,5 0,25 0 0 0 1 0,2 0,02 0 0 0 1 0,4 0,09 0 0,4 0,26 0 0 0 0 0,17 0,02 1 0,17 0,02 0 0,33 0,09 1 0,5 0,257 0 0 0 0 0,14 0,02 0 0,14 0,02 0 0,29 0,09 0 0,43 0,258 0 0 0 0 0,13 0,02 0 0,13 0,02 0 0,25 0,09 1 0,5 0,39 0 0 0 1 0,11 0,03 0 0,11 0,02 0 0,22 0,09 0 0,44 0,310 0 0 0 0 0,1 0,03 0 0,1 0,02 0 0,2 0,09 0 0,4 0,3
Image 1 Image 2 Image 3 Image 4 Image 5Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp Rel. Prec Avp