Camillo Jorge Santos Oliveira
Classificação de Imagens Coletadas na Web
Dissertação apresentada ao Curso de
Mestrado do Departamento da Ciência da
Computação do Instituto de Ciências
Exatas da Universidade Federal de Minas
Gerais, como requisito parcial à obtenção
do título de Mestre em Ciência da
Computação.
Universidade Federal de Minas Gerais
Belo Horizonte, 20 de Agosto de 2001
© 2001
Camillo J. S. Oliveira
Todos os Direitos Reservados
Oliveira, Camillo Jorge Santos.
519.6
Classificação de imagens coletadas na Web/Camillo Jorge Santos Oliveira. –
O48c Belo Horizonte: DCC/ICEx/UFMG, 2001
73p.: il.
Dissertação (Mestrado) – Universidade Federal de Minas Gerais. Curso de Pós
Graduação em Ciência da Computação. Orientador: Arnaldo de Albuquerque
Araújo.
1. Processamento digital de imagens. 2. Inteligência Artificial. 3. World Wide
Web (Sistemas de recuperação da informação). I. Araújo, Arnaldo de
Albuquerque. II. Universidade Federal de Minas Gerais, Departamento de
Ciência da Computação. III. Título.
iii
À minha esposa LINNYER
DEDICO
iv
Agradecimentos
A Deus.
À minha esposa, Linnyer Beatrys pelo incentivo, confiança, orgulho e dedicação, de todos
os dias.
Ao Prof. Dr. Arnaldo Albuquerque pela determinação ao orientar este trabalho.
Aos professores e funcionários do Programa de Pós-Graduação do Departamento de
Ciência da Computação da UFMG, aqui representados pelo coordenador do curso Prof.
Henrique Pacca, pela secretária Renata Viana Moraes e pelo funcionário da biblioteca
Helvécio, agradecendo pela oportunidade e atenção dispensada ao longo do curso.
Aos meus colegas Silvio (Magnânimo) e Paulo (Marinheiro) pelas contribuições positivas
ao meu trabalho e ao meu estresse através de discussões, comentários e sugestões.
Aos colegas do Núcleo de Processamento Digital de Imagens, em especial ao Carlos
(kapaoc) pela cooperação e atenção dispensada às minha mais diversas solicitações e ao
Daniel (Patrullero) por sua participação.
Aos amigos Flávio Bortolozzi e Hélio Olímpio da Rocha que apoiaram-me de maneira
crucial ao longo da minha vida acadêmica.
Aos casais Vera e Artur, Léia e Josuel pelas palavras de apoio e motivação e por suas
orações que foram fundamentais para esta empreitada.
v
Sumário
INTRODUÇÃO...............................................................................................................................................................11
1.1 M OTIVAÇÃO ............................................................................................................................................................ 12
1.2 P ROBLEMA A BORDADO ......................................................................................................................................... 15
1.3 ESTRUTURA DA DISSERTAÇÃO ............................................................................................................................. 18
REVISÃO BIBLIOGRÁFICA....................................................................................................................................19
2.1 P ROCESSO DE COLETA DAS IMAGENS.................................................................................................................. 19
2.2 M ÉTRICAS ................................................................................................................................................................ 21
2.3 CLASSIFICAÇÃO ...................................................................................................................................................... 26
2.4 O M ÉTODO ID3....................................................................................................................................................... 27
2.5 CONSIDERAÇÕES FINAIS........................................................................................................................................ 34
MATERIAIS E MÉTODOS.........................................................................................................................................35
3.1 DADOS DA COLETA DE IMAGENS.......................................................................................................................... 36
3.2 P REPARAÇÃO DAS A MOSTRAS DE TREINAMENTO ............................................................................................. 36
3.3 A PLICAÇÃO DAS M ÉTRICAS .................................................................................................................................. 37
3.4 UTILIZAÇÃO DO ID3 ............................................................................................................................................... 38
3.5 M ÉTODOS PARA VALIDAR O MODELO ................................................................................................................ 40
3.6 ESCOLHA DO M ÉTODO PARA VALIDAÇÃO DO M ODELO................................................................................... 46
3.7 VALIDAÇÃO DO CLASSIFICADOR.......................................................................................................................... 47
3.8 CONSIDERAÇÕES FINAIS........................................................................................................................................ 49
RESULTADOS EXPERIMENTAIS .........................................................................................................................50
4.1 RESULTADOS UTILIZANDO O MÉTODO DE VALIDAÇÃO CRUZADA COM K-DOBRAS ................................... 50
4.2 RESULTADOS EXPERIMENTAIS UTILIZANDO IMAGENS INÉDITAS ................................................................... 55
4.2 EXCEÇÕES NAS A MOSTRAS DE TREINAMENTO .................................................................................................. 57
4.3 CONSIDERAÇÕES FINAIS........................................................................................................................................ 57
CONCLUSÃO..................................................................................................................................................................59
5.1 CONTRIBUIÇÕES...................................................................................................................................................... 59
5.2 TRABALHOS FUTUROS ........................................................................................................................................... 61
REFERÊNCIAS BIBLIOGRÁFICAS ......................................................................................................................62
APÊNDICE A...................................................................................................................................................................65
APÊNDICE B ...................................................................................................................................................................69
APÊNDICE C...................................................................................................................................................................72
6
Lista de Figuras
Pag
1.1 – Exemplo de imagem fotográfica no formato JPEG e seu respectivo histograma de cores. 16
1.2 – Exemplo de imagem fotográfica no formato GIF e seu respectivo histograma de cores.
16
1.3 – Exemplo de imagem gráfica no formato JPEG e seu respectivo histograma de cores.
17
1.4 – Exemplo de imagem gráfica no formato GIF e seu respectivo histograma de cores.
17
2.1 – (a) Imagem gráfica no formato GIF. (b) Histograma de cores.
21
2.2 – (a) Imagem gráfica no formato GIF. (b) Histograma de cores.
22
2.3 – Exemplo de uma árvore de decisão.
32
3.1 – Coleta de imagens na WWW.
36
3.2 – Processo de separação visual das imagens, da base de imagens, formando as amostras 37
de treinamento.
3.3 – Quatro imagens e suas respectivas tuplas obtidas depois da aplicação das métricas.
39
3.4 – Esboço do método de validação com divisão em duas partes.
41
3.5 – Esboço do método de validação cruzada com subamostragem aleatória..
43
3.6 – Esquema mostrando o exemplo do método de validação cruzada com 4-dobras.
44
3.7 – Esquema mostrando o exemplo do método de validação cruzadas com “um de fora”.
45
4.1 – Taxas de erro obtidas para amostras de imagens que possuem o formato GIF.
51
4.2 – Desvio padrão das taxas de erro para amostras de imagens que possuem o formato GIF. 52
4.3 – Taxas de erro obtidas para amostras de imagens que possuem o formato JPEG.
53
4.4 – Desvio padrão das taxas de erro para amostras de imagens que possuem o formato 53
JPEG.
4.5 – Número médio de iterações para imagens no formato GIF.
54
4.6 – Número médio de iterações para imagens no formato JPEG.
55
4.7 – Taxas de classificação para imagens no formato GIF, onde obteve-se uma média de 56
92,3% de imagens classificadas corretamente.
4.8 – Taxas de classificação para imagens no formato JPEG, onde obteve-se uma média de 56
89,5% de imagens classificadas corretamente.
4.9 – Alguns exemplos de imagens que não foram classificadas corretamente
57
B1 – Gráficos obtidos da avaliação das amostras de treinamento formadas por imagens GIF.
70
B2 – Gráficos obtidos da avaliação das amostras de treinamento formadas por imagens JPEG. 71
C1 – Exemplos de imagens gráficas coletadas na WWW
72
C2 – Exemplos de imagens gráficas coletadas na WWW
72
C3 – Exemplos de imagens gráficas coletadas na WWW
73
7
Lista de Tabelas
Pag
A1 – Valores das taxas de erro obtidas para o método de validação cruzada com kdobras, para k = 2, 4, 5, 8 e 10, em amostras de tamanho igual a 200.
65
A2 – Valores das taxas de erro obtidas para o método de validação cruzada com kdobras, para k = 2, 4, 5, 8 e 10, em amostras de tamanho igual a 400.
65
A3 – Valores das taxas de erro obtidas para o método de validação cruzada com kdobras, para k = 2, 4, 5, 8 e 10, em amostras de tamanho igual a 800.
65
A4 – Valores das taxas de erro obtidas para o método de validação cruzada com kdobras, para k = 2, 4, 5, 8 e 10, em amostras de tamanho igual a 1000.
66
A5 – Valores das taxas de erro obtidas para o método de validação cruzada com kdobras, para k = 2, 4, 5, 8 e 10, em amostras de tamanho igual a 1200.
66
A6 – Valores das taxas de erro obtidas para o método de validação cruzada com kdobras, para k = 2, 4, 5, 8 e 10, em amostras de tamanho igual a 200.
66
A7 – Valores das taxas de erro obtidas para o método de validação cruzada com kdobras, para k = 2, 4, 5, 8 e 10, em amostras de tamanho igual a 400.
67
A8 – Valores das taxas de erro obtidas para o método de validação cruzada com kdobras, para k = 2, 4, 5, 8 e 10, em amostras de tamanho igual a 800.
67
A9 – Valores das taxas de erro obtidas para o método de validação cruzada com kdobras, para k = 2, 4, 5, 8 e 10, em amostras de tamanho igual a 1000.
67
A10 – Valores das taxas de erro obtidas para o método de validação cruzada com kdobras, para k = 2, 4, 5, 8 e 10, em amostras de tamanho igual a 1200.
67
A11 – Resultados da classificação de imagens que possuem o formato GIF e JPEG
que não foram utilizadas na obtenção da árvore de decisão (treinamento).
68
8
Lista de Abreviaturas
CLS
Concept Learning System
GIF
Graphics Interchange Format
HTML
Hypertext Markup Language
ID3
Itemized Dichotomizer 3
JPEG
Joint Photographics Experts Group
NPDI
Núcleo de Processamento Digital de Imagens
RAM
Random Access Memory
RGB
Red Green Blue
SGBD
Sistema Gerenciador de Banco de Dados
TDIDT
Top-Down Induction Decision Tree
UFMG
Universidade Federal de Minas Gerais
URL
Universal Resource Locator
VoD
Video on Demand
WWW
World Wide Web
9
Resumo
O objetivo deste trabalho é o desenvolvimento de um classificador que permita separar
imagens coletadas na WWW (World Wide Web) em duas classes semânticas: imagens
fotográficas e imagens gráficas. Imagens fotográficas incluem cenas naturais, como
pessoas, faces, animais, flores, paisagens e cidades. Imagens gráficas são logotipos,
desenhos, ícones, mapas e panos de fundo, geralmente gerados utilizando o computador.
O desenvolvimento do classificador envolve as seguintes atividades: coleta das
imagens na WWW realizada através do uso de um robô; preparação das amostras de
treinamento; estudo, definição, implementação e aplicação de métricas (número de cores,
cor predominante, vizinho mais distante, saturação, histograma de cor, histograma do
vizinho mais distante, razão de dimensão, dimensão menor) baseadas nas diferenças entre
as duas classes em questão; disponibilização dos valores resultantes das métricas em tuplas
de atributos com valores normalizados e utilização destas tuplas da amostra de treinamento
na construção do classificador utilizando método supervisionado ID3 (Itemized
Dichotomizer 3). O resultado deste desenvolvimento é o classificador que inclui uma
árvore de decisão geradora de regras para a classificação.
Um esquema de validação do classificador é utilizado. Este esquema é implementado
através de dois procedimentos. O primeiro utiliza o método de validação cruzada com kdobras nas amostras de treinamento já disponíveis e seus resultados demonstraram a
estabilidade do aprendizado do classificador, com taxa média de erro de 9,2% quando
aplicado o método de validação cruzada com 10-dobras. O segundo procedimento de
validação consiste em utilizar o classificador com imagens inéditas (imagens não utilizadas
para construir o classificador) e verificar-se a precisão da classificação. Obteve-se uma
média de 91% de imagens classificadas corretamente. O desenvolvimento deste trabalho
demonstra a viabilidade de se construir classificadores que possam ser utilizados em
ferramentas de recuperação de imagens com base no conteúdo.
10
Abstract
The purpose of this work is the development of a classifier that allows to separate images
collected from the WWW (World Wide Web) into two semantic classes: photographs and
graphics. Photographs images include natural scenes such as people, faces, animals,
flowers, landscapes and cities. Graphics images are logotypes, drawings, icons, maps and
backgrounds walls, generally created by a computer.
The development of the classifier includes the following steps: image collecting on the
WWW using a robot; preparation of training samples; study, definition, implementation,
and application of the metrics (the number of colors, the percentage of the prevalent color,
the farthest neighbor, the saturation, the color histogram, the farthest neighbor histogram,
the dimension ratio, the smallest dimension) based on the differences between the two
classes mentioned; availability of the metrics output in tuples of attributes with normalized
values and utilization of these training sample tuples in the construction of the classifier
using the supervisioned method ID3 (Itemized Dichotomizer 3). The result of this
development is the classifier that includes a decision tree which is responsible for
generating the rules for classification.
A classifier validation schema is used. This schema is implemented by two
procedures. The first uses k-fold cross-validation method on the training samples already
available and its results demonstrated the stability of the classifier learning, reaching an
average tax error of 9,2% when the cross-validation method is applied with ten-folds. The
second validation procedure consists in utilize the classifier with unseen images (images
that were not used to construct the classifier) and verify the precision of classification. We
obtained an average of 91% of images classified correctly. The development of this work
demonstrates the viability in constructing classifiers that can be used in image retrieval
based on content tools.
11
Capítulo 1
Introdução
Esta dissertação apresenta uma proposta de classificação de imagens coletadas na WWW
(World Wide Web). A classificação agrupa as imagens em duas classes semânticas de
grande importância e abrangência, que são, imagens fotográficas e imagens gráficas.
Com a expansão da WWW tem-se a inclusão de uma imensa quantidade de
informações que são colocadas à disposição do usuário da rede, como: vídeos, documentos
texto e imagens. Além disso, um outro fator de grande importância é a velocidade com que
estas imagens, são adicionada à rede.
Assim, faz-se necessário a utilização de ferramentas capazes de recuperar imagens
deste ilimitado ambiente que é a WWW. Em 1970, foram iniciadas pesquisas na área de
recuperação de imagens. Nesta época, tais pesquisas eram desenvolvidas por pesquisadores
da área de banco de dados e que tratavam de fazer a recuperação das imagens baseada em
texto. As características das imagens eram anotadas na forma de texto e depois utilizava-se
um SGBD (Sistema Gerenciador de Banco de Dados) para tratar da recuperação das
informações. Em 1990, surgiu uma nova abordagem que permitiu de fato, trabalhar com
imagens. Imagens estas que aumentaram em larga escala na WWW. A idéia principal desta
abordagem é realizar a recuperação das informações baseada nos conteúdos das imagens,
tais como cor, forma e textura. Desta maneira, muitas técnicas têm sido desenvolvidas com
base nesta linha de pesquisa e muitos sistemas de recuperação baseados no conteúdo foram
construídos. Alguns, citados em Bimbo (1999), são: QBIC, Virage, Visual Retrievalware,
Macs-Hermes, Chabot, IRIS, Picasso, ICARS, Photobook, CANDID, VisualSeek,
FIBSSR, CORE e NeTra. Uma área que contribui de forma relevante para esta abordagem
é a visão computacional.
12
Até o momento, não existem algoritmos genéricos para processar todos os tipos de
imagens e a diversidade destes tipos, bem como o tamanho ocupado por estas imagens. A
etapa de classificação das imagens torna-se importantíssima para o desenvolvimento de
uma ferramenta de recuperação de imagens para a WWW. As imagens podem pertencer a
classes semânticas diferentes, tais como fotografias, gráficos, mapas, caricaturas, retratos
de pessoas, cartões, faces, imagens coloridas e etc. Após a classificação, pode-se então
realizar a pesquisa por classes.
Esta dissertação tem por objetivo apresentar a viabilidade de classificação de imagens
coletadas na WWW em duas classes semânticas: imagens fotográficas e imagens gráficas.
1.1 M OTIVAÇÃO
Recentemente, tem-se visto um rápido crescimento no tamanho das coleções de imagens
digitais. Todos os dias, equipamentos militares e civis geram gigabytes de imagens. Gupta
(1997) relata que o sistema de observação da terra, desenvolvido e operado pela NASA,
deverá gerar um terabyte de dados de imagens por dia quando em total operação. Em
conseqüência, não se pode acessar ou fazer uso da informação sem que esta esteja
organizada, permitindo uma navegação, pesquisa e recuperação. A recuperação de imagens
representa uma área de pesquisa muito ativa desde o início da década de 1970 e tem
recebido a contribuição de duas grandes linhas de pesquisas que seriam o gerenciamento
de banco de dados e a visão computacional. Estas duas linhas de pesquisas estudam a
recuperação de imagens sob dois ângulos diferentes, um sendo baseado em textos e o outro
baseado no conteúdo visual (Rui, 1999).
Como visto, a recuperação de imagens baseada em texto era uma maneira muito
popular de se recuperar a imagem, primeiro descrevendo a imagem de texto e então usando
sistemas de gerenciamento de banco de dados baseados em textos para executar a
recuperação da imagem. Muitos avanços, tais como modelagem de dados, indexação
multidimensional e avaliação de consultas, tem sido realizados ao longo das pesquisas.
Contudo, Rui (1999) afirma que existem duas grandes dificuldades, especialmente, quanto
ao tamanho das coleções de imagens que são grandiosas. A primeira dificuldade é a vasta
quantidade de trabalho requerido na anotação manual das imagens. A segunda dificuldade,
que é mais essencial, resulta do rico conteúdo das imagens e a subjetividade humana de
percepção. Isto é, para um mesmo conteúdo de imagem, diferentes pessoas possuem
13
percepções diferentes. Para Rui (1999), a subjetividade da percepção e anotações
imprecisas podem causar, mais tarde, perdas irrecuperáveis no processo de recuperação.
Do ano de 1990 em diante, por causa da emergência em larga escala das coleções de
imagens, as dificuldades encontradas pela anotação manual tornaram-se mais agudas. A
fim de superar estas dificuldades, foi proposta a recuperação de imagens baseada no
conteúdo. Ou seja, em vez de serem anotadas manualmente por chaves baseadas em texto,
as imagens são indexadas pelo seu próprio conteúdo visual, tal como, cor, forma e textura.
Para Gupta (1997), a recuperação de imagens emergiu como uma área de pesquisa
importante com muitas aplicações em vários campos, como banco de dados de imagens,
multimídia e bibliotecas digitais.
Segundo Vailaya (1998), a organização e a recuperação de imagens baseada no
conteúdo emergiu como uma área importante da visão computacional e da multimídia,
devido ao desenvolvimento rápido das imagens digitais, do armazenamento e da tecnologia
das redes.
A expansão da WWW é fato. Para Abbadeni (1999), a WWW é hipermídia grande,
distribuída e um sistema de informação não estruturado. A cada dia, novos documentos,
entre os quais muitas imagens, são adicionados na Web. Para melhor organizar e recuperar
esta quase ilimitada informação, máquinas de busca na Web são altamente desejadas (Rui,
1999).
A Web é uma complexa e grande fonte de informação multimídia. É estimado que
existam 180 milhões de imagens públicas na Web e que ocupem aproximadamente três
terabytes. Cada vez mais imagens digitais são adicionadas e retiradas na Web todos os dias.
A necessidade de encontrar uma imagem dentro de uma coleção digital específica na Web
é importante para muitos grupos de usuários, incluindo jornalistas, engenheiros,
historiadores, designers, professores, artistas e agências de propagandas, entre outros. A
tecnologia de acesso às imagens vem mudando rapidamente e a forma como as pessoas
interagem com a informação visual ultrapassa nossa compreensão (Goodrum, 2001).
Segundo Goodrum (2001), mais e mais pessoas e organizações carregam imagens para
a Web, desta forma, a pesquisa e recuperação de imagens tem se tornado o maior desafio
para os pesquisadores e desenvolvedores.
O desenvolvimento de ferramentas que permitam agrupar imagens em categorias
semanticamente significativas, que utilizam características visuais de baixo nível, tornou-
14
se fundamental dentro do cenário apresentado. Este desenvolvimento representa uma
solução para o desafio da recuperação de imagens baseada no conteúdo.
Ferramentas tornarão possíveis as buscas de imagens específicas em um banco de
dados grande e de utilidade inquestionável e darão à WWW todo seu potencial (Abbadeni,
1999).
Para Abbadeni (1999), a busca por imagens no contexto da WWW é uma tarefa
extremamente difícil e se apresenta como um novo desafio. Três características são
relevantes em se tratando de imagens na WWW:
•
o tamanho inacreditavelmente grande de todas estas imagens (espaço ocupado
em disco);
•
a diversidade extraordinária de tipos de imagens que podem ser encontrados na
WWW;
•
no campo do processamento de imagens e visão computacional, não existe um
algoritmo de uso geral capaz de processar todos os tipos de imagens.
Diante destas características, uma etapa de classificação é fundamental antes do
desenvolvimento de uma ferramenta de recuperação de imagens para a WWW, isto porque,
tais imagens podem pertencer a classes semânticas diferentes, como fotografias, gráficos,
mapas, caricaturas, retratos de pessoas, cartões, faces, imagens coloridas, etc. Após a
classificação, pode-se então fazer a pesquisa por classes semânticas. Desta forma,
Abbadeni (1999) afirma que surgem duas vantagens imediatas:
•
uma melhoria efetiva, onde os ruídos são reduzidos, pois a pesquisa é feita em
uma classe específica e não em todo o banco de dados;
•
podem ser aplicados algoritmos apropriados a cada classe de imagens, uma vez
que não existem algoritmos genéricos (de uso comum) para todas as classes.
A classificação semântica das imagens pode ser realizada de diversas maneiras. Um
exemplo é mostrado por Vailaya (1998), que separa fotografias de paisagens e fotografias
de cidades (construções), ou ainda, como mostram Guérin-Dungué (2000) e Szumer
(1998), a classificação de imagens fotográficas com cenas de ambientes internos e
externos.
Para Guérin-Dungué (2000) a classificação de cenas do mundo real em categorias
semânticas é um desafio aberto na análise de imagens. Com o aumento da viabilidade de
15
base de dados de imagens e vídeos, há uma necessidade crucial por métodos automáticos
de indexação baseado no conteúdo.
1.2 P ROBLEMA ABORDADO
Para realizar a classificação semântica das imagens coletadas na WWW, objetivo deste
trabalho, é necessária a especificação de métricas capazes de diferenciar os dois tipos de
imagens em questão. As métricas são procedimentos que aplicados a uma imagem,
retornam um valor numérico capaz de permitir a classificação destas imagens. Estas
métricas estão baseadas nas diferenças entre imagens fotográficas e imagens gráficas.
A coleta das imagens, que serão submetidas à classificação, é realizada por um robô.
O robô recebe como entrada uma lista contendo a URL (Universal Resource Locator) de
vários servidores. Para cada servidor, é analisado o seu arquivo HTML (Hypertext Markup
Language) e extraídas as ligações (links) para outras páginas HTML e os endereços de
todas as imagens de extensão JPEG (Joint Photographics Experts Group) e GIF (Graphics
Interchange Format) encontradas no arquivo HTML, realizando assim a recuperação das
imagens e gravando-as em disco local.
A partir da base de imagens coletada através do robô, aplicam-se métricas para
distinguir as duas classes de imagens, que seriam as imagens fotográficas (Figura 1.1(a) e
Figura 1.2(a)) e as imagens gráficas (Figura 1.3(a) e Figura 1.4(a)). Imagens fotográficas
são as imagens que incluem cenas naturais, como pessoas, faces, flores, animais, paisagens
e cidades (Abbadeni, 1999; Athitsos, 1998; Frankel, 1996).
Algumas características apresentadas pelas imagens fotográficas, podem ser
comprovadas observando a Figura 1.1 e a Figura 1.2, são:
•
Descrevem objetos do mundo real;
•
Ausência de regiões com cores constantes, isto é, os objetos tendem a possuir
textura;
•
Tendem a ser imagens quadradas, com pouca diferença na razão de aspecto
(altura x largura);
•
Pouca incidência de regiões com altas saturações de cores;
•
Possuem um maior número de cores utilizadas.
16
Tanto a Figura 1.1 como a Figura 1.2 mostra uma imagem fotográfica e seu respectivo
histograma de cores no modelo de formação da cor RGB (Red, Green e Blue), onde cada
pixel possui uma certa quantidade de cor em cada canal (Vermelho, Verde e Azul). Cada
canal varia dentro do intervalo de [ 0, 255] (256 cores para cada canal). Analisando o
histograma de cores (cor x probabilidade que ocorre a cor (p(cor)), pode-se observar o
número de cores, a cor que mais predomina, cores que não existem e inclusive podemos
(de maneira qualitativa) observar a transição entre os pixels da imagem (mais acentuados
ou menos acentuados).
Figura 1.1 – Exemplo de imagem fotográfica no formato JPEG e seu respectivo
histograma de cores.
Figura 1.2 – Exemplo de imagem fotográfica no formato GIF e seu respectivo histograma
de cores.
As imagens gráficas seriam logotipos, desenhos, mapas, botões e ícones, geralmente
gerados pelo computador (Abbadeni, 1999; Athitsos, 1998; Frankel, 1996).
17
Algumas características apresentadas pelas imagens gráficas, que podem ser
comprovadas observando a Figura 1.3 e a Figura 1.4, são:
•
Tendem a possuir grandes regiões cobertas pela mesma cor;
•
Possuem menor número de cores utilizadas;
•
As bordas dos objetos tendem a ser mais aguçadas (bem definidas);
•
Tendem a ser imagens com grande diferença na razão de aspecto (altura x
largura);
•
Tendem a possuir um tamanho menor que as imagens fotográficas;
•
Geralmente, possuem regiões cobertas com cores saturadas.
Figura 1.3 – Exemplo de imagem gráfica no formato JPEG e seu respectivo histograma de
cores.
Figura 1.4 – Exemplo de imagem gráfica no formato GIF e seu respectivo histograma de
cores.
18
As métricas elaboradas, implementadas e aplicadas nas imagens coletadas apresentam
como resultado deste processo, um vetor de características extraídas para cada imagem, a
este vetor, chama-se tupla. Após a obtenção das tuplas resultantes das métricas, faz-se a
normalização dos valores dos atributos e obtém-se as amostras de treinamento. O problema
a ser abordado a partir das amostras refere-se ao processo de desenvolvimento de um
classificador para os tipos de imagens envolvidas e a determinação de processos de
validação para o classificador proposto.
1.3 ESTRUTURA DA DISSERTAÇÃO
Nas seções anteriores pode-se notar a importância, nos dias atuais, da separação das
imagens em classes semânticas visando a recuperação das imagens na Web. Nos demais
capítulos desta dissertação encontram-se todos os aspectos relacionados com a proposta de
classificação em imagens fotográficas e as imagens gráficas.
No Capítulo 2, tem-se uma revisão bibliográfica, onde são feitas as descrições do robô
utilizado para a coleta das imagens, a descrição das métricas utilizadas para distinguir os
dois tipos de classes de imagens (fotográficas e gráficas). Por fim, a descrição da
classificação empregando o método de classificação supervisionado ID3.
O Capítulo 3 apresenta os materiais e métodos utilizados nas etapas de
desenvolvimento quais sejam, coleta de imagens, preparação das amostras de treinamento,
aplicação das métricas, obtenção do classificador e validação do método de classificação
proposto.
No Capítulo 4, estão dispostos os resultados dos experimentos. Através da observação
dos dados dispostos na forma de gráficos, pode-se observar a viabilidade de utilização do
classificador.
O Capítulo 5 conclui o trabalho apresentando as contribuições e propostas para
trabalhos futuros.
19
Capítulo 2
Revisão Bibliográfica
Aplicações recentes em sistemas multimídia têm gerado a necessidade da utilização de
ferramentas para a recuperação de imagens na WWW. Conforme apresentado no Capítulo
1, nota-se o problema relacionado com a quantidade de imagens incluídas diariamente na
WWW e a necessidade de uma classificação destas imagens em grupos semânticos, o que
pode ser realizado utilizando a abordagem que utiliza informações baseadas no conteúdo
visual das imagens como: cor, forma e textura.
Este Capítulo provê um estudo prospectivo sobre os principais conceitos envolvidos
no desenvolvimento do classificador proposto. Neste estudo, estão incluídos a descrição da
coleta das imagens, a descrição das métricas e a descrição do método supervisionado de
classificação ID3.
A Seção 2.1 apresenta a descrição do processo de coleta das imagens na WWW
utilizando um robô. A Seção 2.2 reúne as considerações sobre as métricas e os conceitos
fundamentais envolvidos com o processo de caracterização das diferenças entre imagens
fotográficas e imagens gráficas. A Seção 2.3 tece comentários sobre a classificação e
finalmente a Seção 2.4 descreve o método de classificação supervisionado ID3 utilizado
neste trabalho.
2.1 P ROCESSO DE COLETA DAS IMAGENS
A coleta das imagens na WWW é realizada utilizando-se um robô. Desenvolvido
inicialmente no Laboratório de Vídeo sob Demanda (VoD - Video on Demand) do
Departamento de Ciência da UFMG (Universidade Federal de Minas Gerais). Trata-se de
20
um programa capaz de recuperar imagens disponíveis na WWW, que possuem o formato
JPEG e GIF. Basicamente o programa tem como entrada um arquivo texto contendo uma
lista de URL´s da Internet, recuperando os arquivos HTML dos servidores indicados pela
URL. O robô extrai as ligações (links) para outras páginas HTML, extrai as localizações das
imagens, recupera as imagens e grava as mesmas em disco.
Para organizar a recuperação dos arquivos, o robô implementa uma árvore binária.
Cada nodo da árvore binária representa um servidor a ser pesquisado. Para cada servidor
pesquisado, existe uma outra árvore binária que armazena as URL´s pertencentes a um
servidor da lista de servidores de entrada do programa robô. Cada nodo das árvores possui
uma variável de estado, indicando se a URL já está sendo coletada ou não.
Para cada servidor, o programa robô cria um diretório local no disco com o mesmo
nome da URL. Arquivos recuperados de um servidor são salvos neste diretório, sob o
mesmo nome do diretório de sua localização usada no servidor remoto. Assim, tem-se uma
árvore de diretórios exatamente igual à analisada no servidor remoto.
O robô foi implementado utilizando threads o que caracteriza um sistema concorrente.
Threads são disparadas pelo programa robô durante a sua execução, sendo responsáveis
pela recuperação dos arquivos. A execução utilizando threads é importante pois se a
execução fosse seqüencial, o programa robô seria muito lento, sob dois aspectos:
•
o robô faz freqüentemente requisições de entrada e saída e isto é sempre um
procedimento instável sobre o ponto de vista de tempo;
•
existem muitas regras a serem respeitadas e seguidas pelos robôs na Internet.
Uma delas é crítica, onde o robô não pode fazer mais que uma requisição de
arquivo no mesmo servidor em um período de 60 segundos, assim o robô deve
esperar 60 segundos depois de cada arquivo recuperado de um servidor.
Cada thread disparada trabalha da seguinte maneira: inicialmente pesquisa um
servidor que não está sendo utilizado por outra thread, isto é, somente uma thread pode
coletar imagens de um servidor por vez. A thread faz a pesquisa da URL na árvore de
URL´s e recupera esta. Toda vez que a thread recupera um arquivo texto (extensão .html),
o seu conteúdo é analisado para verificação das ligações para outras páginas. Neste
momento, a árvore binária de servidores URL pode crescer – cada nova ligação de servidor
ou arquivos HTML são inseridos na árvore binária de URL´s. Da mesma forma, se um
21
novo servidor é encontrado, este é inserido na árvore binária de servidores. Após cada
recuperação, a thread é forçada a parar por 60 segundos.
2.2 M ÉTRICAS
Na construção de um classificador de imagens, são necessários procedimentos, que quando
aplicados sobre as imagens informem a classe (imagens fotográficas ou imagens gráficas) à
qual pertencem. Estes testes (procedimentos) são construídos a partir de métricas que são
baseadas nas diferenças entre as duas classes em questão. Imagens fotográficas e imagens
gráficas tendem a possuir diferentes faixas de valores obtidas com as métricas, com isto
consegue-se distinguir os dois tipos de imagens. As métricas, que serão descritas na
seqüência, foram obtidas de Athitsos (1998).
Número de Cores
O valor utilizado para esta métrica é o número de cores distintas que aparecem na imagem.
Leva-se em consideração o RGB, ou seja, todos os canais (Red, Green, Blue) junto.
Imagens gráficas possuem menor número de cores utilizadas, como pode ser
observado, comparando-se os histogramas apresentados, na Figura 2.1(b) e na Figura
2.2(b), fica bem evidente que a imagem da Figura 2.1(a) possui um menor número de cores
utilizadas que a imagem da Figura 2.2(a).
A normalização é feita dividindo-se o valor obtido por ( L arg ura × Altura) , que são as
dimensões da imagem em pixels.
Figura 2.1 – (a) Imagem gráfica no formato GIF. (b) Histograma de cores.
22
Figura 2.2 – (a) Imagem fotográfica no formato GIF. (b) Histograma de cores.
Porcentagem da Cor Predominante
Esta métrica consiste em encontrar a porcentagem da cor mais freqüente na imagem. O
valor calculado é o número de pixels da cor predominante expresso em porcentagem.
Imagens gráficas possuem um número pequeno de cores e grandes regiões com a mesma
cor. Imagens gráficas possuem um valor calculado maior que o das imagens fotográficas.
Comparando os histogramas apresentados, na Figura 2.1(b) e na Figura 2.2(b) observa-se a
porcentagem da cor que mais ocorre. Note que a imagem gráfica da Figura 2.1(a) possui
uma cor que aparece em 57% dos seus pixels. Já na imagem fotográfica da Figura 2.2(a)
possui uma cor que aparece em 10% dos pixels da imagem.
A normalização é feita dividindo-se o valor obtido por ( L arg ura × Altura) , que são as
dimensões da imagem em pixels.
Vizinho Mais Distante
A métrica do vizinho mais distante baseia-se na transição de cores que aparecem tanto em
imagens gráficas como em imagens fotográficas. Imagens gráficas possuem regiões com
cores constantes e possuem transições de cores bem pronunciadas (visíveis).
Para dois pontos
p1 e
p 2 , com vetor de cores ( r1 , g 1 , b1 )
respectivamente, define-se distância de cor d como:
d = r1 − r2 + g1 − g 2 + b1 − b2 .
e ( r2 , g 2 , b2 )
23
Desde que o intervalo de cores varie de 0 até 255, o intervalo para a distância de cor
varia de 0 até 765.
Cada pixel p1 (exceto os das bordas da imagem) possui vizinhos acima, abaixo, à
direita e à esquerda. Um vizinho p 2 de p1 é considerado o vizinho mais distante de p1 se
a distância de cor entre p1 e p 2 for maior ou igual que a distância entre p1 e qualquer um
dos seus vizinhos. Define-se valor de transição de p1 , como a distância entre p1 e seu
vizinho mais distante.
Nesta métrica, deve-se especificar o parâmetro P que varia entre 0 e 765. O valor
obtido para a imagem é o número de pixels que tem um valor de transição maior ou igual a
P (Athitsos, 1998).
Desde que imagens gráficas possuam grandes regiões com a mesma cor, elas possuem
muitos pixels cujo valor de transição é zero. Conseqüentemente, se P for igual a 1 (um),
espera-se, como regra, valores calculados maiores para imagens fotográficas que imagens
gráficas.
A normalização é feita dividindo-se o valor obtido por ( L arg ura × Altura) , que são as
dimensões da imagem em pixels.
Existe uma segunda versão desta mesma métrica para acentuar as diferenças dos
valores calculados, entre imagens gráficas e imagens fotográficas, que gera valores altos de
P . Nesta segunda versão, o valor calculado em uma imagem é o número f 1 de pixels com
valor de transição maior ou igual a P , dividido pelo número f 2 de pixels com valor de
transição maior que 0 (zero). Desde que f 2 tenda a ser grande para imagens fotográficas,
imagens gráficas têm valores calculados maiores em relação às imagens fotográficas.
Saturação
Esta métrica é baseada na saturação das cores. Cores altamente saturadas são mais comuns
em imagens gráficas do que em imagens fotográficas.
Para um pixel p com vetor de cor ( r , g , b) , seja m o máximo e n o mínimo entre o
r, g e b . O nível de saturação de p é definido por m − n .
É especificado um parâmetro P . O valor calculado de uma imagem é o número de
pixels com nível de saturação maior ou igual à P . Para valores altos de P , esperam-se
24
valores calculados maiores para as imagens gráficas, desde que as cores saturadas ocorram
mais freqüentemente em imagens gráficas.
A normalização é feita dividindo-se o valor obtido por ( L arg ura × Altura) , que são as
dimensões da imagem em pixels.
Histograma de Cor
A métrica do histograma de cor está baseada no fato que certas cores ocorrem mais
freqüentemente em imagens gráficas do que em imagens fotográficas. Consiste na simples
coleta estatística de um grande número de imagens gráficas e fotográficas e na construção
de histogramas que mostram qual a freqüência de ocorrência de cada cor para cada tipo de
imagem. O valor calculado para uma imagem depende da correlação de seu histograma de
cor com o histograma das imagens gráficas e o histograma das imagens fotográficas.
Um histograma de cor é uma tabela tridimensional de tamanho 16 x16x16 . Cada cor
 r   g   b 
( r , g , b) corresponde ao bin indexado por   ,   ,    na tabela. O histograma de
 16  16  16  
cor de uma imagem contém cada bin o número de pixels naquela imagem cujas cores
correspondem para aquele bin.
A correlação C ( A, B) entre dois histogramas A e B é definido como
16
16
16
C ( A, B ) = ∑∑∑ ( Ai , j , k Bi , j ,k ) ,
i =0 j = 0 k = 0
onde Ai , j , k e Bi , j , k são respectivamente os bins (pacotes) em A e B indexados por
(i , j , k ) .
Cria-se o histograma de cor das imagens gráficas H g apanhando centenas ou milhares
de imagens gráficas e calculando a média de seus histogramas de cor. Similarmente cria-se
o histograma de cor das imagens fotográficas H f , usando um conjunto grande de imagens
fotográficas.
Suponha que uma imagem I
tenha o histograma de cor
H i e considere
a = C ( H i , H g ) e b = C( H i , H f ) . O valor calculado para a imagem I na métrica do
histograma de cor é definido como s =
b
. Quando C ( H i , H f ) aumenta, s também
a+b
25
aumenta. Quando C ( H i , H g ) aumenta, s diminui. Espera-se que os valores sejam
calculados maiores para imagens fotográficas.
Histograma do Vizinho Mais Distante
Esta métrica está baseada nos mesmos princípios utilizados na métrica do vizinho mais
distante.
Nesta métrica, o histograma do vizinho mais distante é um histograma unidimensional
com 766 bins. O i − ésimo bin (começando com zero) contém o número de pixels com
valor de transição igual à i . Cria-se um histograma Fg , de uma imagem gráfica, pela
média dos histogramas do vizinho mais distante de centenas ou milhares de imagens
gráficas. Cria-se um histograma F f , de uma imagem fotográfica, na mesma maneira como
foi feito para as imagens gráficas, utilizando um grande número de imagens fotográficas.
Define-se a correlação D( A, B) entre os histogramas A e B como
765
D( A, B) = ∑ Ai Bi ,
0
onde Ai e Bi são, respectivamente, os i − ésimos bins de A e B .
Seja Fi o histograma do vizinho mais distante de uma imagem,
a = D( Fi , Fg ) e b = D( Fi , F f ) .
O valor calculado s de uma imagem nesta métrica é dado por
s=
b
.
a+b
Como na métrica do histograma de cores, espera-se que imagens fotográficas possuam um
valor calculado maior que das imagens gráficas.
Razão de Dimensão
As razões de dimensões são dadas por:
•
w é a variável referente à largura da imagem em pixels;
•
h é a variável referente à altura da imagem em pixels;
26
•
m receberá o maior valor entre w e h , ou seja, se w tiver um valor maior, m
receberá o valor de w , caso contrário, se h for maior que w , então m receberá
o valor de h .
•
l receberá o menor valor entre w e h , ou seja, se w tiver um valor menor, m
receberá o valor de w , caso contrário, se h for menor que w , então m
receberá o valor de h .
O valor calculado para a Razão de Dimensão seria a razão entre l e m .
Espera-se que as imagem fotográficas possuam um valor calculado maior que das
imagens gráficas.
Dimensão Menor
O valor calculado para uma imagem é o tamanho de sua menor dimensão em pixels, ou
seja, se a altura é menor, então o valor calculado para a imagem será a altura. Se a largura
for menor, então o valor calculado para a imagem será a largura. Em geral, as imagens
gráficas têm valores calculados menores do que para as imagens fotográficas.
2.3 C LASSIFICAÇÃO
Han (1996) afirma que classificar consiste em separar conjuntos distintos de objetos ou
observações, alocando novos objetos ou observações em grupos previamente definidos.
Para realizar a classificação, é necessário um algoritmo para separar e alocar objetos ou
observações. Este algoritmo é chamado técnica de classificação. O objetivo final de um
método de classificação é prover resultados relevantes ou replicar o julgamento
especialista. A performance relativa de diferentes técnicas de classificação pode depender
das condições dos dados.
Wu (1999) afirma que a aquisição de conhecimento em bases de dados tem sido
trabalhada por pesquisadores em várias disciplinas, incluindo a inteligência artificial, há
mais de vinte anos. Embora muito trabalho tenha sido feito e alguns pacotes de
aprendizagem comerciais já estejam disponíveis, o trabalho existente concentra-se nos
quatro aspectos seguintes:
•
construção de bases de conhecimento para sistemas especialistas;
27
•
projeto de vários algoritmos de aprendizado;
•
adição de uma máquina de indução para um sistema de banco de dados existentes
em modo ad hoc para implementar regras de indução do banco de dados; e
•
projeto de uma máquina específica para aprender de um conjunto de dados de
domínio específico. Junto com o reconhecimento da limitação do problema do
conhecimento em transformar conhecimento de especialistas humanos para
sistema baseados em máquinas que aprende e sistemas baseados no conhecimento
e ainda é uma fronteira de pesquisa importante para ambos, máquina de
aprendizado e tecnologia de banco de dados.
Neste trabalho, utiliza-se um método de classificação não paramétrico supervisionado
chamado ID3 (Itemized Dichotomizer 3) desenvolvido por Quinlan (1986). Trata-se de um
algoritmo que usa lógica e matemática para processar, organizar e simplificar um grande
conjunto grande de dados. Sua habilidade para operar dados não numéricos é facilmente
aplicável para muitas situações. Este método é capaz de gerar regras através da indução de
atributos, gerando uma árvore de decisão. Han (1996) afirma ser o método mais utilizado
em aplicação de aprendizado indutivo. Para Pao (1989), o ID3 é facilmente automatizado.
O aprendizado indutivo utiliza um conjunto de exemplos (amostra de treinamento) e
determina uma relação entre estes exemplos via inferência indutiva. Regras de indução
podem ser utilizadas para predizer (prever) as saídas ou para replicar o julgamento. A
técnica do aprendizado indutivo é diferente da técnica estatística em muitos aspectos (Han
1996; Mak, 1996; Pal, 1997). Uma diferença é que os métodos estatísticos utilizam funções
discriminantes, enquanto o método ID3 (não numérico, categórico) desenvolve uma árvore
discriminante, resultado da indução utilizando amostras de treinamento. O método ID3
assume atributos nominais enquanto os métodos estatísticos assumem atributos numéricos.
2.4 O MÉTODO ID3
Origens
Em 1966, foi publicado um modelo de formação de conceito. Este modelo está baseado na
idéia de que para formar conceitos discretos do “novo” (desconhecido), do desorganizado
ou de dados não estruturados, as mentes humanas dividem os itens e conceitos em
28
subconjuntos com características comuns. Aqui está um esboço da estratégia da formação
do conceito (Hunt, 1966):
1. Estabelecer critérios que possam ser úteis, de acordo com alguma heurística,
para separar um conjunto em subconjuntos. Um exemplo em nosso contexto
seria dado pelas características antagônicas que permitam separar imagens
gráficas de imagem fotográficas (situações antagônicas). Outros exemplos
seriam os critérios estabelecidos para separar humano de animal, macho de
fêmea.
2. Dividir (separar) o conjunto de acordo com um critério selecionado.
3. Retornar ao item 1, escolher um novo critério até que uma única definição de
dados “novos” (desconhecidos) seja alcançada.
Hunt (1966) chamou este algoritmo de CLS (Concept Learning System). Muitos
afirmam que este método é baseado no conceito do dividir para conquistar. De fato, alguns
cientistas da computação explicam seus projetos de algoritmos de dividir para conquistar
como sendo intuitivos.
CLS é um método algorítmico para resolver tarefas de aprendizados de conceitos
simples usando conceitos de aprendizados para classificar informação nova. Devido à
natureza do CLS, este requer um número pequeno de valores discretos possíveis para o
vetor de características (esta é uma falha que foi superada com o ID3). O ID3 usa o CLS
como parte de sua implementação.
Desenvolvimento
Quinlan (1986) utilizando o modelo da formação do conceito, desenvolveu o método ID3,
que trata de um método supervisionado de aprendizado, capaz de gerar regras através da
construção de uma árvore de decisão. A construção desta árvore é função do valor da
entropia dos atributos da amostra de treinamento. A entropia mede o grau de desordem
entre os atributos. Deste modo, consegue-se induzir a construção de uma árvore, levandose em conta uma hierarquia de importância entre os atributos. Trata-se do método TDIDT
(Top-Down Induction Decision Tree) (Quinlan, 1986; McSherry, 1999; Wu, 1999).
Quinlan (1986) usou a estratégia do dividir para conquistar combinada à lógica, isto é, ao
critério de classificação para separar em grupos menores. O resultado deste experimento
foi impressionante com pequeno tempo de processamento.
29
Implementações
Antes que o algoritmo possa ser implementado, algumas terminologias devem ser
definidas. Faz-se referência a um conjunto de treinamento I . Cada subconjunto de I ,
incluindo o mesmo I na primeira iteração, será chamado de “janela”.
Segue um esboço do algoritmo ID3:
1. Selecionar aleatoriamente uma “janela” (subconjunto) de I .
2. Usar o CLS para formar uma regra, considerando-se a estrutura de árvore de
decisão produzida pela “janela”.
3. Realizar iterações em todo conjunto I , encontrando os elementos que não
foram classificados pelas regras geradas no item 2.
4. Formar uma nova “janela” adicionando para a “janela” corrente os elementos
que não foram classificados no item 3.
5. Repetir o item 2 até não existirem mais elementos não classificados no conjunto
I.
Entropia
Uma definição matemática do ID3 é que este determina algoritmicamente o maior ganho
em conteúdo de informação, enquanto o sistema decrementa a entropia (TDIDT). A
entropia e o conceito de conteúdo de informação recorrem a muitos aspectos da ciência da
computação, incluindo teoria da informação, algoritmos e compressão de dados.
Sucintamente, conteúdo da informação é a quantidade de dados existente em cada unidade
de representação (usualmente bits) e entropia é a menor unidade de representação
necessária para comunicar um certo conjunto de dados.
Por exemplo, seja M o conjunto {1, 2}. Obviamente, um bit será necessário para
representar um elemento de M , o conteúdo da informação de cada bit é um item de M .
A entropia pode ser definida matematicamente. Sendo W um subconjunto (“janela”)
de uma amostra de treinamento, m é o número de elementos da “janela” W e n a o
número de instâncias do elemento a em W . Conseqüentemente, a probabilidade p a de
encontrar a em W é definida como:
30
pa =
na
m
(1)
Para um sistema simples com classes c i , i = 1, 2, Κ , C , a entropia do sistema podem
ser definidas como:
C
Entropia = ∑ − pi log 2 pi
(2)
i =1
Por exemplo, em um conjunto de dados com dois valores disjuntos (como o conjunto
M mostrado anteriormente), onde existe uma probabilidade igual de encontrar cada um
dos valores, a entropia pode ser calculada como:
Entropia( M ) = −0,5 log 2 0,5 − 0,5 log 2 0,5 = 1
(3)
Caso Geral
Nesta seção, é dado uma interpretação matemática do ID3. A complexidade das equações
pode tornar o método ID3 inteiramente difícil de ser analisado devido ao grande número de
variáveis.
Seja N o número de elementos (padrões conhecidos) separados em conjuntos de
padrões de classes c i , i = 1, 2, Κ , C e o número de elementos na janela c i é N i .
Assumindo que todos os atributos têm J valores, para cada padrão K atributos e cada
atributo tem J k valores.
O objetivo matemático final do ID3 é reorganizar os dados de modo a criar uma árvore
de decisão. Isto é feito seguindo as etapas abaixo:
1. Calcule a entropia inicial do conjunto de treinamento T utilizando a Equação (2).
2. (a) Um atributo deve ser selecionado para ser o nodo raiz da árvore de decisão.
Isto é feito particionando o conjunto de treinamento T em K subconjuntos
de treinamento: para cada atributo Ak , k = 1, 2, Κ , K , onde a k é um valor
possível de Ak , particionando T de acordo com os valores a kj dos J valores
do atributo Ak . O número de atributos no ramo a kj é n kj . Note que estas sub
árvores particionadas não têm nenhuma relação inerente ao critério do grupo
final.
31
(b) O número de padrões pertencendo à classe c i em qualquer ramo da
população n kj é definido como n kj (i ) . A entropia de cada ramo n kj é avaliada
por:
C
Entropia(T , Ak , j ) = ∑ −
i =1
nkj (i )
nkj
log 2
nkj (i )
nkj
(4)
(c) A entropia de cada subconjunto é um resultado parcial – o ID3 necessita
considerar a entropia total do sistema. Esta é calculada como:
J 
n ij 
Entropia(T , Ak ) = ∑ 
Entropia (T , Ak , j )


j =1 ∑ j nij


(5)
(d) A árvore de decisão com a menor entropia é então selecionada pelo ID3
seleciona. A redução na entropia pode ser facilmente calculada através de:
Entropia(T ) − Entropia(T , Ak ) = ∆Entropia( k )
(e) Encontre o atributo
Ak0
(6)
que dê o maior decréscimo na entropia.
Matematicamente, encontre Ak0 tal que ∆Entropia ( k 0 ) > ∆Entropia( k ) para
todo k = 1, 2, Κ , K e k ≠ k 0 .
(f) O nodo Ak0 torna-se o nodo raiz da árvore de decisão.
3. Sintetize o próximo nível da árvore de decisão encontrando o atributo Ak que,
depois de testar todos os ramos, produz o maior decréscimo na entropia do
sistema. Forme subconjuntos de um nível prévio separando T de acordo com o
valor de Ak . É importante observar que o mesmo atributo é testado ao longo da
largura de cada nível de profundidade da árvore.
4. Repita este algoritmo até todos os elementos do subconjunto sejam do mesmo
tipo ou a entropia do sistema todo seja zero.
A Figura 2.3 mostra um exemplo de árvore de decisão, onde cada nodo não folha é um
atributo e cada nodo folha uma classe (um padrão conhecido).
32
Figura 2.3 – Exemplo de uma árvore de decisão.
A árvore de decisão construída tem-se uma estrutura que agrupa as regras aprendidas
durante o treinamento. Uma regra nada mais é que uma expressão lógica capaz de produzir
como resultado a classe a qual o objeto possui. Um exemplo de expressão lógica
sintetizada
a
partir
de
uma
árvore
de
decisão
pode
ser:
A1 (a11 ) ∧ A4 ( a43 ) ∧ A2 (a 22 ) → C ( N 4 ) , que representa o caminho destacado na Figura 2.3.
Para o atributo A1 aplicando um limiar resulta o subconjunto a11 e para o atributo A4
aplicando um limiar resulta o subconjunto a 43 e para o atributo A2 aplicando um limiar
resulta no subconjunto a 22 que resultaria no nodo folha N 4 que seria a classe, resultante da
classificação. Esta expressão pode ser representada utilizando estruturas de seleção
condicional se-então, que seria equivalente à:
Se o valor do atributo A1 = a11 , e
o valor do atributo A4 = a43 , e
o valor do atributo A2 = a22 .
Então todas as classificações c i ∈ N 4 podem ser assumidas.
O conjunto N 4 ⊆ C é o conjunto de uma ou mais conclusões, c i ∈ C , que ocorre
neste nodo. A expressão C ( N 4 ) indica que todas as classificações c i ∈ N 4 podem ser
afirmadas. O ideal seria que cada caminho na árvore terminasse com um nodo folha
33
contendo uma conclusão única ( N i = 1 para todo i ). Cada árvore de classificação poderia
ser capaz de diferenciar cada um dos exemplos que aprendeu da amostra de treinamento
T.
Complexidade
Segundo Quinlan (1986) a cada nodo não folha da árvore de decisão, o ganho de cada
atributo não testado F deve ser determinado. Este ganho depende do valor p a para cada
valor Fi de F , assim todo objeto em C deve ser examinado para determinar a sua classe e
seu valor F . Conseqüentemente, a complexidade computacional do procedimento a cada
nodo é O(C ⋅ F ) , onde F é o número de atributos acima. O gasto computacional total do
ID3 requerido por iteração é assim proporcional ao produto do tamanho do conjunto de
treinamento, o número de atributos e o número de nodos não folhas na árvore de decisão.
A mesma relação aparece ao se estender para todo processo de indução, até mesmo quando
várias iterações são executadas. Nenhum crescimento exponencial em tempo e espaço tem
sido observado quando as dimensões do trabalho de indução crescem, desta forma, a
técnica poderá ser aplicada para trabalhos maiores.
Vantagens e Desvantagens
Uma das grandes vantagens do ID3 é a sua simplicidade, quando comparado com outros
algoritmos de aprendizado: ID3 é muito mais direto na sua aproximação. Sua modelagem
baseada na cognição torna relativamente simples a compreensão de seu funcionamento
pelos humanos. Lamentavelmente, a árvore de decisão produzida pelo ID3, quando
utilizado para grandes processos ou conjuntos de dados com ruídos, tende a ser confusa
para a percepção humana.
ID3 executa muito bem quando os conjuntos dados são complexos e grandes – muito
melhor que o seu predecessor o CLS. Uma das maneiras pela qual o ID3 realiza isto é
encontrando o dado escondido e seus relacionamentos. Isto deve-se a problemas usando a
técnica simples do dividir e conquistar.
Outra vantagem do ID3 é seu uso conservativo dos recursos do sistema. O tempo
computacional envolvido no ID3 é linear e pode ser calculado como o produto do número
de objetos de treinamento, o número de possíveis atributos que descrevem cada objeto, e a
34
complexidade do critério final de seleção (medido como o número de nodos na árvore de
decisão).
A maior desvantagem do ID3 é que a árvore de decisão produzida é essencialmente
imutável – não se pode eficientemente trocar a árvore de decisão sem reconstruí-la. Usando
um método de atualização, a árvore tende a produzir um árvore de decisão que está longe
da árvore de decisão ótima, refutando assim a idéia original de formar a árvore de decisão
do ID3.
2.5 CONSIDERAÇÕES FINAIS
Nas seções deste capítulo pode-se observar a utilização de métricas na obtenção de valores,
parâmetros que permitem caracterizar os diferentes tipos de imagens, neste caso, imagens
fotográficas e imagens gráficas.
Estes valores resultantes das métricas serão organizados em tuplas contendo os
atributos valorados para cada imagem coletada.
O método é capaz de construir uma árvore de decisão em função do valor da entropia
dos atributos destas tuplas das amostras de imagens de treinamento.
Verifica-se que o método ID3 de classificação supervisionada apresenta características
importantes e adequadas ao desenvolvimento deste trabalho.
No próximo capítulo, estão descritos os procedimentos relacionados à utilização do
ID3, e também são apresentados os materiais e métodos empregados nas etapas de coleta
das imagens na WWW, separação das amostras de treinamento, aplicação das métrica para
obtenção de tuplas contendo as características das imagens, a utilização do método de
classificação supervisionado ID3 e também são discutidos os materiais e métodos
utilizados no processo de validação do modelo de classificação.
35
Capítulo 3
Materiais e Métodos
Nos capítulos anteriores, observa-se a importância dos classificadores para a recuperação
de imagens no ambiente da WWW. Também, foram descritas as principais métricas
envolvidas no processo de classificação e o método ID3 utilizado na construção do
classificador.
Este capítulo é dedicado à descrição dos materiais e métodos utilizados no
desenvolvimento e validação do classificador de imagens propostos.
Estimar a precisão de um classificador que utiliza um algoritmo de aprendizado
supervisionado é importante não somente para prever a sua exatidão de cálculos e
regularidade na execução, mas também se estabelecer critérios de escolha do classificador
em um conjunto de classificadores (seleção do modelo) ou combinando classificadores
(Wolpert, 1992).
O capítulo está organizado em seções que representam cada uma das etapas de
desenvolvimento do classificador de imagens. A Seção 3.1 apresenta os resultados
referentes à execução do robô de coleta de imagens. A Seção 3.2 descreve o processo
inicial de preparação das amostras de treinamento. A Seção 3.3 descreve os resultados
obtidos com aplicação das métricas. A Seção 3.4 descreve a utilização do método ID3 na
obtenção do classificador. A Seção 3.5 descreve os métodos que podem ser utilizados para
validação do classificador. A Seção 3.6 analisa a escolha do método para validar o modelo
e finalmente a Seção 3.7 faz a descrição dos experimentos para a validação do classificador
utilizando o método de validação cruzada com k-dobras.
36
3.1 D ADOS DA COLETA DE IMAGENS
No processo de coleta das imagens na WWW, ilustrado na Figura 3.1, utiliza-se um
programa robô descrito na Seção 2.1. Foram coletadas aproximadamente 10 gigabytes de
imagens no formato GIF e JPEG em vários domínios. Estas imagens foram armazenadas
em disco rígido do computador onde o robô esteve em execução por aproximadamente 8
dias.
3.2 P REPARAÇÃO DAS AMOSTRAS DE TREINAMENTO
Após o processo de coleta e armazenamento das imagens, realiza-se a separação das
amostras que serão utilizadas no treinamento. Esta etapa consiste em separar as imagens
em quatro grupos, que estão enumerados abaixo:
1. Imagens gráficas no formato GIF;
2. Imagens fotográficas no formato GIF;
3. Imagens gráficas no formato JPEG;
4. Imagens fotográficas no formato JPEG.
Figura 3.1 – Coleta de imagens na WWW.
Todo o processo de separação das amostras de treinamento é realizado por inspeção
visual. Isto torna o trabalho um pouco cansativo. A figura 3.2 ilustra a separação visual das
amostras de treinamento.
37
A separação destas em um dos grupos acima mencionados é realizada de forma
manual. Na execução desta etapa foram separadas 1350 imagens fotográficas GIF, 3058
imagens gráficas GIF, 4763 imagens fotográficas JPEG e 1434 imagens gráficas JPEG.
Figura 3.2 – Processo de separação visual das imagens, da base de imagens, formando as
amostras de treinamento.
3.3 APLICAÇÃO DAS MÉTRICAS
O processo de separação visual das imagens resulta em quatro conjuntos distintos (ver
Seção 3.2). Sobre cada um destes conjuntos aplicam-se as métricas descritas na Seção 2.2,
quais sejam número de cores, cor predominante, vizinho mais distante (as duas versões
descritas anteriormente), saturação, histograma de cor, histograma do vizinho mais
distante, razão de dimensão e dimensão menor.
Nesta seção, são mostrados os resultados indicativos para cada métrica. Foram
submetidos às métricas 1350 imagens fotográficas GIF, 2967 imagens gráficas GIF, 4742
imagens fotográficas JPEG e 1434 imagens gráficas JPEG. Como os valores calculados
pelas métricas possuem intervalos e grandezas diferentes, para cada tipo de imagem, estes
valores devem ser normalizados (na Seção 2.2, na descrição das métrica, é citada a
normalização), colocando-os no intervalo fechado de [0,1]. Desta forma, qualquer que seja
38
o valor resultante de cada métrica, estará normalizado, não existindo valores fora do
intervalo de [ 0,1] .
Os valores obtidos para cada imagem são colocados em um vetor, constituindo assim
uma tupla, para cada imagem. Uma tupla é descrita da seguinte forma:
t i = ( a1 , a2 ,Κ , a j , ck )
Onde: t i - tupla da i-ésima imagem; a j - j-ésima métrica (número de cores, porcentagem
da cor predominante, vizinho mais distante 1, vizinho mais distante 2, saturação,
histograma de cor, histograma do vizinho mais distante, razão de dimensão) e ck - k-ésima
classe (neste trabalho tem-se apenas duas classes: 1 – imagens fotográficas e 0 – imagens
gráficas).
A Figura 3.3 mostra exemplos de imagens e suas respectivas tuplas obtidas após a
aplicação das métricas.
Como resultado desta etapa, tem-se 1350 tuplas de imagens fotográficas GIF, 2967
tuplas de imagens gráficas GIF, 4742 tuplas de imagens fotográficas JPEG e 1434 tuplas
de imagens gráficas JPEG.
3.4 U TILIZAÇÃO DO ID3
O método supervisionado de aprendizado ID3 é capaz de gerar regras através da
construção de uma árvore de decisão.
Na construção do classificador, utilizam-se as tuplas resultantes da aplicação das
métricas nas amostras de treinamento. Não se deve esquecer que estes valores foram
normalizados.
Para cada atributo contido nas tuplas, calcula-se a entropia, Seção 2.4. O atributo de
maior entropia passa a ser o nodo raiz da árvore de decisão.
Com os valores existente para o atributo de maior entropia, busca-se um limiar, que
seria o valor que melhor consegue separar o conjunto de treinamento em questão. Levando
somente em consideração, para a separação, os valores do atributo de maior entropia.
Aplicando um limiar, utilizando o nodo raiz, ou seja o atributo de maior entropia,
realiza-se a classificação das tuplas, gerando dois novos subconjuntos de tuplas onde o
39
atributo utilizado como critério não participa dos dois novos subconjuntos. O algoritmo é
descrito no Capítulo 2, Seção 2.4.
t = (0,000364; 0,003; 1,000; 0,087; 0,211; 0,623; 0,017; 0,733; 1)
(a)
t = (0,000013; 0,132; 0,870; 0,119; 0,072; 0, 208; 0,000 0,927; 1)
(b)
t = (0,000986; 0,413; 0,626; 0,113; 0,061; 0,181; 0,192; 0, 249 ;
(c)
0)
t = (0,000008; 0,825; 0,210; 0,629; 0,061 0,157; 0,144; 0,294; 0 )
(d)
Figura 3.3 – Quatro imagens e suas respectivas tuplas obtidas depois da aplicação das
métricas. (a) imagem fotográfica no formato JPEG, (b) imagem fotográfica no formato
GIF, (c) imagem gráfica no formato JPEG e (d) imagem gráfica no formato GIF. A ordem
dos atributos da tupla são: número de cores, porcentagem da cor predominante, vizinho
mais distante 1, vizinho mais distante 2, saturação, histograma de cor, histograma do
vizinho mais distante, razão de dimensão e classe (1 – imagem fotográfica ou 0 – imagem
gráfica).
40
Com a árvore de decisão construída, tem-se uma estrutura que agrupa as regras
aprendidas. Neste momento, o classificador, ou seja, o modelo para classificação está
construído.
Desta forma, tem-se um modelo de classificação que utiliza o ID3 para disponibilizar
uma árvore de decisão. Uma árvore para imagens JPEG e outra para imagens GIF.
3.5 M ÉTODOS PARA V ALIDAR O MODELO
Esta seção é dedicada à descrição de alguns métodos capazes de verificar a estabilidade do
modelo de classificação obtido.
Um classificador é uma função de mapeamento de uma instância desconhecida (sem
tipo, rótulo, sem classificação), tornando-a conhecida (com tipo, rótulo, classificada)
usando para isto uma estrutura de dados interna.
O método ID3, descrito na Seção 3.4, constrói, a partir de um conjunto de dados
conhecidos, uma árvore de decisão através da abordagem TDIDT.
Para validar o classificador, faz-se necessário a utilização de algumas definições
matemáticas.
Seja V o espaço de instâncias desconhecidas, Y o conjunto classes possíveis,
X = V × Y o espaço de instâncias conhecidas e D = { x1 , x 2 , Κ , x n } um conjunto de dados
consistindo de N instâncias conhecidas, onde x i v i ∈ V , y i ∈ Y . Um classificador C faz
o mapeamento de uma instância desconhecida v ∈ V para uma instância conhecida y ∈ Y
e um indutor I faz o mapeamento de um conjunto de dados D em um classificador C . A
notação I ( D, v) significa atribuir um tipo para a instância v pelo classificador construído
pela indução I no conjunto de dados D , isto é, I ( D, v ) = ( I ( D))( v) . Assume-se que exista
uma distribuição no conjunto de instâncias conhecidas e que o conjunto de dados sejam
consistidos de uma distribuição independente e uniforme.
A precisão do classificador C é a probabilidade de classificar corretamente uma
instância selecionada de maneira aleatória, isto é, precisão = Pr[C (v ) = y ] para uma
instância selecionada de maneira aleatória v, y ∈ X , onde a distribuição de probabilidade
sobre o espaço das instâncias é o mesmo da distribuição que foi usada para selecionar as
41
instâncias para o conjunto de treinamento do indutor. Normalmente, ao utilizar uma única
forma de estimar a precisão não faz sentido pois não apresenta um intervalo de confiança.
Assim deve-se considerar como aproximar um intervalo quando possível. Para identificar
fraquezas, também tenta-se identificar casos onde a estimativa falha.
Existem vários métodos capazes de testarem a estabilidade de um modelo. Entre eles
temos: validação com divisão em duas partes (holdout validation), validação cruzada com
subamostragem aleatória (random subsampling cross-validation), validação cruzada com
k-dobras (k-fold cross-validation), validação cruzada com “um de fora” (leave-one-out
cross-validation) e bootstrap validation.
Validação com divisão em duas partes
O método de validação com divisão em duas partes (holdout validation) (Kohavi, 1995;
Blum, 1999) é um dos métodos mais comuns para estimar a generalização de erro. Este
método, também chamado de teste de estimativa simples, particiona o conjunto de dados
em dois subconjuntos mutuamente excludentes chamados de conjunto de treinamento e
conjunto de teste. É comum designar 2 3 do conjunto de dados para o conjunto de
treinamento e 1 3 para o conjunto de teste. A Figura 3.4 mostra um esboço da partição do
conjunto de dados para o método de validação com divisão em duas partes.
Figura 3.4 – Esboço do método de validação com divisão em duas partes.
De posse do conjunto de dados particionado, realiza-se o treinamento com o conjunto
de dados destinado para este fim e aplica-se a árvore gerada na etapa de treinamento na
etapa de classificação dos dados do conjunto de teste, calculando-se então a precisão da
classificação.
O método de validação com divisão em duas partes é uma estimativa pessimista
porque somente uma parte dos dados é utilizada para o treinamento. Quanto maior o
42
número de instâncias deixadas para teste maior será o erro, porém um pequeno conjunto de
teste conduz a um intervalo de confiança muito grande. Como verifica-se a seguir.
Em estatística, uma sucessão de eventos independentes é chamado processo de
Bernoulli. Seja S o número de classificações corretas em um conjunto de teste, então S é
uma distribuição binomial (soma de Bernoulli). Para um conjunto de teste razoavelmente
grande, a distribuição
S N , onde
N
é o tamanho do conjunto de teste, é
aproximadamente uma distribuição normal com média p e variância p (1 − p ) N . Assim,
o valor transformado para f = S N (a taxa de acerto do classificador) é dado subtraindose a média e dividindo-se pelo desvio padrão:
f −p
p (1 − p )
N
Pelo teorema do limite de De Moivre-Laplace, tem-se:


Pr − z ≤





f −p
≤ + z = c

p(1 − p)

N

Onde z é o (1 − c) 2 − th ponto quantil de uma distribuição normal padrão e c é o
intervalo de confiança. Com 100c porcento de intervalo de confiança, este determina z e
inverte as desigualdades. Inverter as desigualdades conduz para uma equação quadrática
em p , onde as raízes são os pontos inferior e superior do intervalo de confiança.

z2
f
f2
z2
p = f +
±z
−
+

2N
N N 4N 2





 z2 
1 + 
N

O maior problema do método de validação com divisão em duas partes ocorre quando
o conjunto de dados estiver distribuído de forma esparsa e as amostragens não forem
representativas. Este método faz uso ineficiente dos dados (Kohavi, 1995).
Weiss (1991) afirma que a desvantagem do método de validação com divisão em duas
partes está na redução da quantidade de dados disponíveis para treinamento e validação,
quando do particionamento do conjunto de dados.
43
Validação cruzada com subamostragem aleatória
O método validação cruzada com subamostragem aleatória (random subsampling crossvalidation) (Kohavi, 1995) separa um número fixo de elementos exemplos aleatórios do
conjunto de dados D . No segundo experimento, separa o mesmo número de exemplos,
porém em posições excludentes (diferentes do experimentos anteriores). Repete-se esta
separação em todos os demais experimentos que possam existir. A Figura 3.5 mostra um
esboço do método de validação cruzada com subamostragem aleatória, onde a parte
destacada é um exemplo dos elementos separados de forma aleatória em cada experimento.
A estimativa do Erro seria dada por:
Erro =
1 k
∑ Ei
k i =1
Onde Ei é 1 se classificou corretamente ou 0 se classificou erroneamente e k é o número
de elementos separados de forma aleatória de um conjunto de dados D .
Figura 3.5 – Esboço do método de validação cruzada com subamostragem aleatória
Validação cruzada com k-dobras
No método de validação cruzada com k-dobras (k-fold cross-validation) (Kohavi, 1995;
Anthony, 1998; Blum, 1999) o conjunto D , de tamanho N , é dividido em k subconjuntos
(dobras) mutuamente excludentes de tamanhos aproximadamente iguais. Onde 1 < k ≤ N .
O treinamento e o teste são realizados k vezes. Sempre utilizando k − 1 subconjuntos para
treinamento e o subconjunto que restou para teste.
44
A principal vantagem do método de validação cruzada com k-dobras é que todos os
exemplos do conjunto de dados são eventualmente usados para treinamento e teste. A
Figura 3.6 mostra um esquema ilustrando o método de validação cruzada com k-dobras,
mais precisamente uma validação cruzada com 4-dobras.
A estimativa de Erro seria dada por:
Erro =
1 k
∑ Ei
k i =1
Onde é 0 ≤ Ei ≤ 1 e representa taxa de erro para o dobra e k é o número de dobras.
Figura 3.6 – Esquema mostrando o exemplo do método de validação cruzada com 4dobras.
Validação cruzada com “um de fora”
O método de validação cruzada com “um de fora” (leave-one-out cross-validation)
(Kearns, 1997) é o caso degenerado do método de validação cruzada com k-dobras, onde o
número de dobras ( k ) é igual ao número de elementos do conjunto D . Para um conjunto
de dados com N exemplos, executar N experimentos. Para cada experimento usar N − 1
exemplos para treinamento e um único exemplo para teste. A Figura 3.7 mostra um esboço
do método de validação cruzada com “um de fora”, onde a parte destacada é um único
elemento a ser testado. Treinam-se todos os outros elementos e testa apenas um.
A estimativa do Erro seria dada por:
45
Erro =
1 k
∑ Ei
k i =1
Onde Ei é 1 se classificou corretamente ou 0 se classificou erroneamente e k é o número
de dobras, que neste caso é igual ao número de elementos do conjunto de dados.
Figura 3.7 – Esquema mostrando o exemplo do método de validação cruzadas com “um de
fora”.
0,249
Bootstrap
O método bootstrap foi descrito por Efron (1983). Dado um conjunto de dados de tamanho
N , uma amostra bootstrap é criada da reamostragem de N instâncias do conjunto de
dados (com sobreposição) para criar a amostra de treinamento. Desde que o conjunto de
dados seja amostrado com sobreposição, a probabilidade de uma dada instância qualquer
não seja escolhida depois de N amostras é (1 − 1 N ) N ≈ e −1 ≈ 0,368 . O número esperado
de instâncias distintas que aparecem do conjunto original de dados é 0,632 N . A estimativa
de precisão eteste nos dados de teste será muito pessimista ( ~ 63% das instâncias), porém
este número é combinado com o erro de substituição etreino sendo menor que o eteste . Assim
o Erro seria:
Erro = 0,632 ⋅ e teste + 0,368 ⋅ etreino
46
O processo é repetido para vários experimentos com diferentes sobreposições e os
resultados são obtidos através da média dos valores de Erro para todos os experimentos:
Ebootstrap =
1 b
∑ (0,632 ⋅ eteste + 0,368 ⋅ etreino )
b i =1
O método bootstrap é a melhor maneira de estimar performance para conjuntos de
dados muito pequenos.
3.6 ESCOLHA DO MÉTODO PARA V ALIDAÇÃO DO MODELO
Dos métodos descritos na seção anterior, o método de validação com divisão em duas
partes é um dos mais simples, porém, não conduz a uma boa validação do modelo. O
método bootstrap para pequenas amostras pode fazer uma boa validação do modelo mas
existem algumas situações onde o método falha, por exemplo, quando não se tem alteração
no conjunto de treinamento com etreino = 0% de substituição eteste = 50% . A estimativa
para o classificador é Ebootstrap = 0,632 ⋅ 50% + 0,368 ⋅ 0% = 31,6% , um valor calculado
inteiramente inconsistente, sendo o erro esperado de 50%.
Os métodos que realizam a divisão do conjunto de dados em dobras (validação
cruzada com subamostragem aleatória, validação cruzada com k-dobras e validação
cruzada com “um de fora”) são intensamente utilizados em Kohavi (1995), Kearns (1997),
Anthony (1998) e Blum (1999). Para validação do modelo proposto neste trabalho, utilizase o método de validação cruzada com k-dobras em virtude deste método possuir a
vantagem sobre o método da validação cruzada com subamostragem aleatória, no que diz
respeito da utilização de todo o conjunto de dados tanto para treinamento como para teste e
possuir menor gasto computacional, isto em relação ao método de validação cruzada com
“um de fora”, visto que o método de validação cruzada com “um de fora”, que seria o caso
degenerado do método de validação cruzada com k-dobras, com custo computacional
muito alto, inviável neste trabalho.
Ao optar pelo método de validação cruzada com k-dobras, deve-se pensar em quantas
dobras devem ser utilizados para a realização da validação. Algumas ponderações extraídas
da literatura, sobre o assunto, dizem respeito às seguintes opções:
•
Utilizar um grande número de dobras.
47
+ A taxa de erro será menor (a estimativa será mais precisa).
− O tempo computacional gasto será muito grande (muitos experimentos).
•
Com um pequeno número de dobras.
+ O número de experimentos e consequentemente tempo de computacional gasto
serão menores.
− A taxa de erro será maior.
Na prática, a escolha do número de dobras depende do tamanho do conjunto de dados,
da distribuição do conjunto de dados e dos recursos computacionais disponíveis. Para
conjuntos de dados esparsos, deve-se utilizar o método de validação cruzada com “um de
fora” de modo a treinar o máximo de exemplos (elementos) possíveis. Kohavi (1995)
afirma que o método de validação cruzada com 10-dobras repetido para 10 experimentos é
uma boa maneira para obter uma estimativa do erro.
3.7 V ALIDAÇÃO DO C LASSIFICADOR
Na Seção 3.2, descreve-se o processo de preparação das amostras de treinamento que são
utilizadas na construção do classificador (árvores de decisão para imagens nos formatos
JPEG e GIF). Estas amostras de treinamento são agora utilizadas com o método de
validação cruzada com k-dobras.
Nesta seção, descrevem-se dois procedimentos para validação do classificador obtido
na Seção 3.5. O primeiro procedimento utiliza imagens conhecidas, isto é imagens da
amostra de treinamento. Sobre estas amostras de treinamento, aplica-se o método de
validação cruzada com k-dobras.
O segundo procedimento de validação utiliza imagens inéditas a todo o processo, isto
é, imagens separadas para teste e mantidas fora do processo de treinamento. Serão
submetidas ao classificador de forma a se verificar a precisão do classificador.
Aplicação do método de validação cruzada com k-dobras
De posse das amostras de treinamento (tuplas), realiza-se uma reamostragem para a
construção de subconjuntos de imagens, isto é, seleciona-se de forma aleatória dentro do
conjunto de amostras de treinamento, imagens que irão participar de novos conjuntos.
48
Os novos conjuntos terão tamanhos diferentes. Eles serão compostos de 200, 400, 800,
1000 e 1200 imagens (representadas através de tuplas). Estes novos conjuntos serão
formados para imagens nos formatos GIF e JPEG. O motivo de se ter conjuntos para os
tipos de imagens (GIF e JPEG) deve-se a forma em que estes trabalham com o conjunto de
pixels da imagem (Miano, 1999).
Ao final desta etapa, tem-se, para cada conjunto de amostras GIF e JPEG de tamanhos
200, 400, 800, 1000 e 1200, as tuplas resultantes da aplicação das métricas sobre as
imagens destas amostras.
Para cada amostra de 200, 400, 800, 1000 e 1200, utiliza-se o método ID3 para a
geração de uma árvore de decisão e realiza-se a validação cruzada utilizando o método de
validação cruzada com k-dobras para k = 2, 4, 5, 8 e 10.
Para realizar o treinamento das k − 1 dobras na validação, utiliza-se inicialmente uma
“janela” de tamanho igual à 50. Monta-se a árvore de decisão com estas 50 tuplas e
classifica as tuplas que ficaram de fora da “janela”. Caso se tenha 100% de classificação, a
árvore de decisão foi encontrada e para-se. Caso contrário, incluir na “janela” as tuplas que
não foram classificadas corretamente e construir uma nova árvore. Repetir o processo
quantas vezes forem necessários até que a árvore gerada pela janela classifique
corretamente a amostra de treinamento toda. Segundo Quinlan (1986), este método
converge com poucas iterações.
Após a realização da validação do modelo, de posse das árvores geradas para imagens
GIF e JPEG que deram as menores taxas de erro utiliza-se estas duas árvores para
classificar imagens desconhecidas. Para isto, deve-se montar amostras obtidas do banco de
dados de imagens coletadas pelo programa robô (Seção 3.2).
De posse das árvores de decisão dos experimentos que geraram as menores taxas de
erro. Uma árvore para classificar imagens no formato GIF e outra árvore para o formato
JPEG. Realiza-se uma nova reamostragem de imagens desconhecidas (não utilizadas para
o treinamento), obtidas de maneira totalmente aleatória junto a base de imagens coletadas
pelo robô (Seção 3). A taxa de classificação é obtida da seguinte maneira:
 número _ classifica ções _ corretas 
%C = 
 × 100
 tamanho _ amostra _ testada 
Esta nova reamostragem gera as seguintes amostras: 10 amostras com 250 imagens
cada, com imagens fotográficas no formato GIF; 10 amostras de 250 imagens cada, com
49
imagens gráficas no formato GIF; 10 amostras de 250 imagens cada, com imagens
fotográficas no formato JPEG e 10 amostras de 150 imagens cada, com de imagens
gráficas no formato JPEG.
3.8 CONSIDERAÇÕES FINAIS
Este capítulo apresentou os procedimentos realizados em cada etapa de desenvolvimento
do classificador. Da mesma forma, discutiu a escolha de uma técnica para validação do
classificador obtido a partir das amostras de treinamento. O processo de separação destas
amostras de treinamento também foi tema deste capítulo.
Os materiais e métodos envolvidos a cada etapa quais sejam, coleta de imagens,
preparação das amostras de treinamento, aplicação das métricas, obtenção do classificador
foram realizadas em ambiente computacional do NPDI (Núcleo de Processamento Digital
de Imagens, do Departamento de Ciência da Computação, do Instituto de Ciências Exatas
da UFMG).
Entre as dificuldades comuns a qualquer processo de desenvolvimento cita-se como o
de maior relevância, as restrições dos recursos computacionais disponíveis para o
desenvolvimento. Toda implementação foi realizada sobre processador Pentium II,
utilizando 20 gigabytes de disco e 192 megabytes de memória RAM (Random Access
Memory). Os resultados experimentais obtidos neste ambiente estarão disponíveis no
próximo capítulo.
50
Capítulo 4
Resultados Experimentais
Este capítulo tem como objetivo mostrar os resultados experimentais obtidos na execução
dos procedimentos do classificador (obtido na Seção 3.4). Estes procedimentos foram
propostos na Seção 3.6. Como visto, estão envolvidos com a validação dois procedimentos.
O primeiro procedimento envolve as mesmas amostras de treinamento utilizadas na
construção do classificador e aplica-se sobre elas o método de validação cruzada com kdobras. O segundo procedimento de validação utiliza imagens inéditas a todo processo e
submete estas imagens ao classificador. A Seção 4.1 mostra os resultados experimentais,
para imagens no formato GIF e imagens no formato JPEG, das taxas de erro e do desvio
padrão das taxas de erro quando da utilização do método de validação cruzada com kdobras. A Seção 4.2 apresenta os resultados das taxas de classificações aplicando o
procedimento para validação em imagens que não foram utilizadas para o treinamento.
Este procedimento é feito tanto para imagens no formato GIF como para imagens no
formato JPEG.
Na Seção 4.3, são exemplificadas as condições de execução na construção das
amostras de treinamento utilizadas no desenvolvimento do classificador e no procedimento
de validação usando a validação cruzada com k-dobras.
4.1 R ESULTADOS U TILIZANDO O MÉTODO DE V ALIDAÇÃO
C RUZADA COM K-D OBRAS
A Figura 4.1 apresenta o gráfico das taxas de erro, em porcentagem, obtidas para as
amostras de imagens no formato GIF, cada amostra contendo 200, 400, 800, 1000 e 1200
51
imagens, utilizando-se o método de validação cruzada com k-dobras, com k = 2, 4, 5, 8 e
10. Percebe-se que as amostras que possuem os tamanhos de 800, 1000 e 1200 foram as
que obtiveram menores taxas de erro.
Figura 4.1 – Taxas de erro obtidas para amostras de imagens que possuem o formato GIF.
A Figura 4.2 apresenta o desvio padrão das taxas de erro apresentadas na Figura 4.1.
Como conseqüência dos resultados do gráfico da Figura 4.1, percebe-se que as amostras
que possuem os tamanhos de 800, 1000 e 1200 foram as que obtiveram os menores valores
para o desvio padrão.
Ainda na Figura 4.2, para as amostras de tamanhos iguais à 800, 1000 e 1200, que
apresentam os menores desvios padrão, vê-se que estas possuem uma tendência de
aumento do desvio padrão em função do aumento do número de dobras.
Se o algoritmo de indução, neste caso a árvore de decisão gerada, é estável para um
conjunto de dados, o desvio padrão do método de validação aplicado deve ser
aproximadamente o mesmo, independente do número de dobras (kohavi, 1995). Isto é
visível na Figura 4.2 onde a variância quase não é alterada para as várias dobras, para as
amostras de 800, 1000 e 1200. Com base nestes resultados, verifica-se a estabilidade do
classificador proposto.
52
Apresentados os resultados para imagens no formato GIF, mostra-se agora os
resultados para as amostras de treinamento JPEG.
A Figura 4.3 apresenta o gráfico das taxas de erro, em porcentagem, obtida para as
amostras de imagens no formato JPEG, cada amostra contendo 200, 400, 800, 1000 e 1200
imagens. Utiliza-se o método de validação cruzada com k-dobras, com k = 2, 4, 5, 8 e 10.
Da mesma forma que ocorreu com as imagens no formato GIF, percebe-se que as amostras
que possuem os tamanhos de 800, 1000 e 1200 foram as que obtiveram menores taxas de
erro.
A Figura 4.4 mostra o gráfico do desvio padrão das taxas de erro, obtidas para as
amostras de imagens no formato JPEG, cada amostra contendo 200, 400, 800, 1000 e 1200
imagens. Utiliza-se o método de validação cruzada com k-dobras, com k = 2, 4, 5, 8 e 10.
As amostras que possuem os tamanhos de 800, 1000 e 1200 foram as que obtiveram os
menores desvio padrões.
Ainda na Figura 4.4, as amostras de tamanhos iguais à 800, 1000 e 1200, apresentam
uma tendência de aumento do desvio padrão em função do aumento do número de dobras.
Figura 4.2 – Desvio padrão das taxas de erro para amostras de imagens que possuem o
formato GIF.
53
Figura 4.3 – Taxas de erros obtidas para amostras de imagens que possuem o formato
JPEG.
Figura 4.4 – Desvio padrão das taxas de erro para amostras de imagens que possuem o
formato JPEG.
Uma iteração consiste em gerar a árvore de decisão para as imagens que estão dentro
da “janela” (inicialmente tamanho igual a 50) e classificando o que está fora da janela.
Caso não se tenha sucesso em classificar corretamente todas as imagens, inclui-se na
54
“janela” as imagens que tiveram classificação errada e inicia-se uma outra iteração. Assim,
sucessivamente, até que todos os elementos da amostras de treinamento sejam classificados
corretamente.
Observa-se, além do número de iterações, que em todos os procedimentos de
treinamento ocorridos houve a convergência do algoritmo, conseguindo sempre classificar
100% da amostra de treinamento.
As Figuras 4.5 e 4.6 mostram, para imagens no formato GIF e imagens no formato
JPEG respectivamente, o número médio de iterações para cada validação cruzada com kdobras, com k = 2, 4, 5, 8 e 10 e amostras de tamanhos iguais à 200, 400, 800, 1000 e
1200. Percebemos que o número de iterações não cresce na mesma proporção que cresce o
número de dobras. Também não cresce na mesma proporção o número de iterações em
relação ao tamanho da amostra e não existe diferença significativa entre o número de
iterações para imagens no formato GIF ou no formato JPEG.
Figura 4.5 – Número médio de iterações para imagens no formato GIF.
55
Figura 4.6 Número médio de iterações para imagens no formato JPEG.
4.2 R ESULTADOS E XPERIMENTAIS U TILIZANDO IMAGENS INÉDITAS
A Figura 4.7 mostra os resultados obtidos quando da utilização de imagens inéditas, isto é,
imagens que não fizeram parte do treinamento ao processo de classificação. Como
resultados apresentados em forma de gráficos, vê-se a porcentagem de imagens
classificadas corretamente em amostras de imagens que possuem o formato GIF. Foram
utilizados 10 conjuntos (amostras) de 250 imagens inéditas. Obteve-se uma porcentagem
média de 92,3% de acerto, com desvio padrão igual a 2,1.
A Figura 4.8 mostra a porcentagem de imagens classificadas corretamente em
amostras de imagens inéditas submetidas ao classificador obtido e que possuem o formato
JPEG. Foram utilizados 10 conjuntos (amostras) de 250 imagens inéditas. Obteve-se uma
porcentagem média de 89,5% de acerto, com desvio padrão igual a 3,0.
56
Figura 4.7 – Taxas de classificação para imagens no formato GIF, onde obteve-se uma
média de 92,3% de imagens classificadas corretamente.
Figura 4.8 – Taxas de classificação para imagens no formato JPEG, onde obteve-se uma
média de 89,5% de imagens classificadas corretamente.
57
4.2 E XCEÇÕES NAS AMOSTRAS DE TREINAMENTO
Algumas imagens foram problemáticas para a classificação devido a sua aparência não ter
coerência com os valores retornados pelas métricas. É o caso das imagens apresentadas na
Figura 4.9. Por isso é importante criar mais métricas, que realmente expressem as
diferenças entre imagens gráficas e imagens fotográficas.
A Figura 4.9 mostra alguns exemplos que não foram classificados corretamente. A
Figura 4.9(a) é uma imagem gráfica no formato JPEG que apresenta características de uma
imagem fotográfica (muitas cores, transição entre as cores dos pixels suave, forma
quadrada). A imagem da Figura 4.9(b) é uma imagem fotográfica no formato GIF, que
apresenta características de uma imagem gráfica (grandes regiões com a mesma cor, altas
saturações de cores e transições abruptas). A Figura 4.9(c) é outro exemplo de uma
imagem no formato JPEG, que é uma imagem gráfica, mas se comporta como se fosse
uma imagem fotográfica.
(a)
(b)
(c)
Figura 4.9 – Alguns exemplos de imagens que não foram classificadas corretamente.
4.3 CONSIDERAÇÕES FINAIS
Avaliando os resultados obtidos para a taxa de erro e o desvio padrão da taxa de erro
percebe-se que a árvore de decisão gerada e utilizada para o experimento mostrou-se
estável. Isto pode ser observado quando nota-se que a variância praticamente não variou
com o aumento do número de dobras e que as amostras de tamanhos iguais a 800, 1000 e
1200 foram as amostras mais representativas. Isto vale tanto para imagens no formato GIF
e imagens no formato JPEG.
58
Foram mostradas a taxa de classificação para as imagens no formato GIF e imagens no
formato JPEG. Para este experimento foram utilizadas 10 amostras de 250 imagens para
cada um dos tipos de imagens. Percebe-se que a taxa de classificação para as imagens no
formato GIF é um pouco mais alta que a taxa de classificação para imagens no formato
JPEG e que as imagens no formato JPEG possuem um maior desvio padrão.
Mostrou-se o número de iterações para cada validação cruzada com k-dobras realizado
e percebe-se que o número de iterações não cresce na mesma proporção do número de
dobras e tão pouco com o aumento do tamanho da amostra.
Por fim, foram mostrados alguns exemplos de imagens problemáticas para a
classificação, que possuem aparências questionadas pelas métricas.
59
Capítulo 5
Conclusão
Esta dissertação apresentou as etapas necessárias para realizar a classificação de imagens
coletadas na WWW, que são: a utilização de um robô para a coleta das imagens; preparação
de amostras de treinamento; aplicação de procedimentos (métricas) sobre as imagens
obtendo valores capazes de discriminar os dois tipos de imagens em questão; utilização de
um método supervisionado simbólico capaz de induzir uma árvore de decisão, utilizando
para isto uma abordagem TDIDT. Este método chama-se ID3. Após a obtenção do
classificador, foram descritos métodos capazes de avaliar a estabilidade do modelo de
classificação, na realidade avaliar a estabilidade da árvore de decisão gerada pelo ID3. Em
seguida realizou-se a avaliação do classificador utilizando imagens inéditas, ou seja,
imagens que não fizeram parte do treinamento, calculando a taxa de classificação para cada
um dos tipos de imagens envolvidas neste trabalho (GIF e JPEG). Obteve-se uma taxa de
classificação de 92,3% para imagens no formato GIF e 89,5% para imagens no formato
JPEG.
5.1 CONTRIBUIÇÕES
Com a expansão e a popularização da WWW, as coleções de imagens digitais crescem
rapidamente. Uma imensa quantidade de informações são incluídas diariamente na Web.
Grande parte destas informações estão disponíveis na forma de imagens. Porém, o acesso,
ou seja, a recuperação destas imagens é uma tarefa que ainda apresenta grandes desafios.
60
O desenvolvimento deste trabalho demonstra a viabilidade de construir classificadores
que possam ser utilizados em ferramentas de recuperação de imagens com base no
conteúdo.
O grande volume das coleções de imagens e a complexidade de processamento dos
métodos utilizados, além das limitações do ambiente computacional disponível para o
desenvolvimento, representaram um importante desafio. Várias dificuldades menores
tiveram de ser superadas e entre elas, quer-se citar: a imaturidade desta área de pesquisa, a
ausência de documentação relevante a respeito da utilização do ID3, as restrições impostas
pelos equipamentos. No entanto, pode-se assegurar que este trabalho corresponde a uma
importante contribuição para a área de recuperação da informação, processamento de
imagens e visão computacional.
A disponibilização do classificador foi realizada a partir da utilização de imagens
coletadas na WWW. O Capítulo 2 apresentou este processo de coleta. Neste capítulo,
realizou-se a revisão bibliográfica que envolveu a descrição das métricas utilizadas na
obtenção de atributos que foram utilizados pelo método de classificação supervisionado
ID3. Ainda neste capítulo, apresentaram-se as origens e os algoritmos relacionados com o
desenvolvimento e implementação deste método para obtenção do classificador.
O Capítulo 3 tratou dos materiais e métodos envolvidos no desenvolvimento de cada
etapa deste trabalho. Nota-se que nas seções deste capítulo estão informações a respeito da
preparação das amostras de treinamento, da construção do classificador e da validação
deste classificador. Foram propostas duas formas de validação. A primeira proposta
envolve a aplicação do método de validação cruzada com k-dobras sobre as mesmas
amostras de treinamento que foram utilizadas pelo método ID3. A segunda proposta utiliza
imagens inéditas que são submetidas ao classificador.
O Capítulo 4 apresentou os resultados experimentais obtidos no processo de validação.
Vê-se que as duas propostas de validação foram realizadas. A Seção 4.1 apresentou
gráficos dos resultados experimentais aplicando-se o método de validação cruzada com kdobras sobre as amostras de treinamento. A Seção 4.2 foi dedicada aos resultados
experimentais do procedimento de validação que submete imagens inéditas ao
classificador. Pode-se constatar a viabilidade dos resultados e a estabilidade do
classificador.
61
Constata-se que o processo de construção de um classificador não é trivial. Muitas
técnicas e métodos devem ser considerados. Uma heterogeneidade de conhecimentos é
absorvida para que se possa realizar com sucesso cada uma das etapas. Durante todo o
trabalho os resultados e dificuldades encontradas foram discutidos e comentados. O que se
pode ressaltar é que um ambiente computacional arrojado e estável é fundamental para o
desenvolvimento deste tipo de aplicação.
5.2 TRABALHOS F UTUROS
Seguindo a mesma linha desta dissertação, podem ser indicados os seguintes caminhos
para trabalhos futuros:
•
Utilização de outros modelos para classificação como: Redes Neurais, CN2 e
CN4.5-rules estes dois últimos filhos do ID3.
•
Viabilizar a associação com outros modelos de classificadores. Por exemplo,
utilizar Redes Neurais nas imagens que não foram classificadas ou vice-versa.
•
Pesquisar mais métricas como por exemplo: as imagens gráficas possuem em
geral algumas similaridades.
•
Criar uma etapa capaz de encontrar e retirar a moldura que muitas vezes ocorre
nas imagens e estas afetam o resultados das métricas.
•
Buscar separar as duas classes, objeto deste trabalho, em subclasses (Vailaya,
1998; Guérin-Dungué, 2000). Exemplos de subclasses para a classe de imagens
fotográficas seriam: imagens de paisagens, imagens de ambientes internos,
imagens de ambientes externos, imagem de rostos e etc. Exemplos de subclasses
para a classe de imagens gráficas seriam: logotipos, mapas, ícones, botões,
desenhos.
•
Muitas imagens fotográficas, tanto no formato GIF como no JPEG, possuem
algum texto, que retirado, tem-se a imagem limpa. Criar uma etapa que realize
este trabalho. Uma proposta para isto pode ser encontrada em Guimarães (2000).
62
Referências Bibliográficas
[Abbadeni, 1999]
Abbadeni N., Ziou, D., Wang, S., Image classification and
retrieval on the www, Proceedings of the 4th ACM Conference
on Digital Libraries, 1999, Berkeley, CA USA, p. 208-209,
August.
[Anthony, 1998]
Anthony, M., Holden, S. B., Cross-validation for binary
classification by real-valued functions: theorical analysis,
Proceedings of the 11th Annual Conference on Computational
Learning Theory, 1998, Madison, WI USA, p. 218-229, July.
[Athitsos, 1998]
Athitsos, V., Swain, M. J., Frankel, C., Distinguishing
photographs and graphics on the www, Proceeding of IEEE
Workshop on Content-Based Access of Image and Video
Libraries, 1998, Puerto Rico, June.
[Bimbo, 1999]
Bimbo, A. D., Visual information retrieval, Morgan Kaufmann,
270p., 1999.
[Blum, 1999]
Blum, A., Kalai, A., Langford, J., Beating the hold-out: bounds
for k-fold and progressive cross-validation, Proceedings of the
twelfth Annual Conference on Computational learning theory,
1999, Santa Cruz, CA USA, July.
[Efron, 1983]
Efron, B., Estimating the error rate of a prediction rule:
improvement on cross-validation, Jounal of the American
Statistical Association, 78:316-331.
[Frankel, 1996]
Frankel, C., Swain, M. J., Athitsos, V., WebSeer: an image
search engine for the www, University of Chicago, Technical
Report 9614, 1996, Computer Science Departament, 1100 East
58th Street, Chicago, Illinois 60637, August.
[Goodrum, 2001]
Goodrum, A., Spink, A., Image searching on the excite web
search engine, Information Processing and Management, 2001,
v. 37, p. 295 – 311.
[Guérin-Dungué, 2000] Guérin-Dungué, A., Oliva, A., Classification of scene
photopgraphs from local orientations features, Pattern
Recognition Letters, 2000, v. 21, p. 1135 – 1140.
[Guimarães, 2000]
Guimarães, S. J. F., Leite, N. J., Image decomposition in
morphological residues: an approach for image filtering and
segmentation, 13th Brazilian Symposium on Computer Graphics
63
and Image Processing (SIBGRAPI), Gramado-RS, 2000, 276283, October.
[Gupta, 1997]
Gupta, A., Jain, R., Visual information retrieval,
Communications of the ACM, 1997, 40(5):71-79, May.
[Han, 1996]
Han, I., Chandler, J. S., Liang, T. -Peng. The impact of
meansurement scale and correlation structure on classification
performance of inductive learning and statistical methods,
Expert Systems With Applications, Elsevier Ltd, 1996,
10(2):209-221.
[Hunt, 1966]
Hunt, E. B., Experiments in Induction, Academic Press, New
York, NY, 1966.
[Kearns, 1997]
Kearns, M., Ron, D., Algorithmic stability and sanity-check
bounds for leave-one-out cross-validation, Proceedings of the
tenth Annual Conference on Computational Learning Theory,
1997, Nashville, TN USA, July.
[Kohavi, 1995]
Kohavi, R. A study of cross-validation and bootstrap for
accuracy estimation and model selection, International Joint
Conference on Artificial Intelligence (IJCAI), 1995.
[Quinlan, 1986]
Quinlan, J. R., Induction of decision tress, Machine learning,
1986, v. 1, p. 81 – 106.
[Mak, 1996]
Mak, B., Bui, Tung, Blanning, R., Aggregating and updating
experts´ knowledge: na experimental evaluation of five
classification techniques, Expert Systems with Applications,
Elsevier, 1996, 10(2):233-241.
[McSherry, 1999]
McSherry, D., Strategic induction of decision tree, KnowledgeBased Systems, Elsevier, 1999, 12:269-275.
[Miano, 1999]
Miano, J., Compressed image file formats: jpeg, png, gif, xbm,
bmp, Addison Wesley Longman, Inc, 1999, 264p.
[Pal, 1997]
Pal, N. R., Chakraborty, S., Bagchi, A., RID3: an id3-like
algorithm for real data. Information Science 96, Elsevier, 1997,
p 271-290.
[Pao, 1989]
Pao, Y., Adaptive pattern recognition and neural networks,
Addison Wesley, Reading, MA, 1989.
[Rui, 1999]
Rui, Y., Huang, T. S., Chang. S., -F., Image retrieval: current
techiniques, promising directions, and open issue, Journal of
Visual Communications and Image Representation, 1999, v. 10,
p. 39 – 62.
64
[Szumer, 1998]
Szumer, M., Picard, R. W. Indoor – outdoor image classification,
Proceedings of IEEE International Workshop on Content-Based
Access of Image and Vídeo Database, in conj. ICCV´98,1998,
Bombay, January.
[Vailaya, 1998]
Vailaya, A., Jain, A., Zhang, H. J., On image classification: city
vs. landscape, Proceeding of IEEE Workshop on Content-Based
Access of Image and Video Libraries, 1998, Santa Barbara,
California, June.
[Weiss, 1991]
Weiss, S. M., Kulikowski, C. A., Computer systems that learn,
1991, Morgan Kaufmann.
[Wolpert, 1992]
Wolpert, D. H., Stacked generalization, Neural Networks, 1992,
5:241-259.
[Wu, 1999]
Wu, X., Induction by attribute elimination, IEEE Transactions on
Knowledge and Data Engineering, September/October, 1999,
11(5):805-812.
65
Apêndice A
As tabelas que seguem mostram os resultados das taxas de erro do método de validação
cruzada com k-dobras para imagens no formato GIF, para amostras de imagens de
tamanhos iguais a 200, 400, 800, 1000 e 1200.
N = 200
k
Média Var. D.p.
2 4,0 13,0
8,5 40,5 6,4
4 8,0 6,0 18,0 8,0
10,0 29,3 5,4
5 10,0 7,5 5,0 7,5 5,0
7,0
4,4 2,1
8 12,0 12,0 4,0 0,0 8,0 16,0 8,0 8,0
8,5 24,9 5,0
10 0,0 10,0 0,0 5,0 5,0 10,0 10,0 10,0 0,0 15,0 6,5 28,1 5,3
Tabela A1 – Valores das taxas de erro obtidas para o método de validação cruzada
com k-dobras, para k = 2, 4, 5, 8 e 10 em uma amostra de tamanho igual a 200.
N = 400
k
Média Var. D.p.
2 9,0 12,5
10,8 6,1 2,5
4 6,0 10,0 11,0 22,0
12,3 46,9 6,8
5 5,0 16,3 6,3 6,3 6,3
8,0 21,6 4,6
8 10,0 8,0 8,0 12,0 12,0 8,0 18,0 2,0
9,8 21,1 4,6
10 7,5 7,5 15,0 22,5 7,5 10,0 15,0 10,0 2,5 2,5 10,0 37,5 6,1
Tabela A2 – Valores das taxas de erro obtidas para o método de validação cruzada
com k-dobras, para k = 2, 4, 5, 8 e 10 em uma amostra de tamanho igual a 400.
N = 800
k
Média Var. D.p.
2 5,5 7,8
6,6
2,5 1,6
4 8,0 6,0 7,5 5,0
6,6
1,9 1,4
5 5,6 8,8 6,3 6,3 5,0
6,4
2,0 1,4
8 4,0 5,0 5,0 8,0 6,0 6,0 7,0 8,0
6,1
2,1 1,5
10 3,8 7,8 10,0 3,8 7,5 5,0 5,0 6,3 7,5 6,3
6,3
3,9 2,0
Tabela A3 – Valores das taxas de erro obtidas para o método de validação cruzada
com k-dobras, para k = 2, 4, 5, 8 e 10 em uma amostra de tamanho igual a 800.
Obs. Var. significa variância e D. p. significa desvio padrão.
66
N = 1000
k
Média Var. D.p.
2 6,6 6,8
6,7
0,0 0,1
4 5,6 7,6 7,6 4,4
6,3
2,5 1,6
5 5,0 6,0 7,5 7,0 6,0
6,3
1,0 1,0
8 3,2 5,6 5,6 6,4 6,4 9,6 5,6 6,4
6,1
3,1 1,8
10 2,0 4,0 8,0 7,0 6,0 6,0 8,0 9,0 5,0 3,0
5,8
5,3 2,3
Tabela A4 – Valores das taxas de erro obtidas para o método de validação cruzada
com k-dobras, para k = 2, 4, 5, 8 e 10 em uma amostra de tamanho igual a 1000.
N = 1200
k
Média Var. D.p.
2 8,2 9,5
8,8
0,9 0,9
4 7,0 9,0 6,0 8,0
7,5
1,7 1,3
5 9,2 7,5 8,3 6,3 10,0
8,3
2,1 1,5
8 6,0 6,0 7,3 8,7 9,3 8,0 4,7 10,7
7,6
3,9 2,0
10 5,8 8,3 7,5 3,3 10,0 6,7 6,7 5,8 7,5 8,3
7,0
3,9 2,0
Tabela A5 – Valores das taxas de erro obtidas para o método de validação cruzada
com k-dobras, para k = 2, 4, 5, 8 e 10 em uma amostra de tamanho igual a 1200.
As tabelas que seguem mostram os resultados das taxas de erro do método de
validação cruzada com k-dobras para imagens no formato JPEG, para amostras de imagens
de tamanhos iguais a 200, 400, 800, 1000 e 1200.
N = 200
K
Média Var. D.p.
2 23,0 18,0
20,5 12,5 3,5
4 20,0 22,0 10,0 16,0
17,0 28,0 5,3
5 17,5 32,5 5,0 0,0 25,0
16,0 183 13,5
8 24,0 4,0 28,0 16,0 8,0 8,0 24,0 24,0
17,0 85,7 9,3
10 35,0 20,0 25,0 15,0 15,0 10,0 20,0 15,0 15,0 25,0 19,5 52,5 7,2
Tabela A6 – Valores das taxas de erro obtidas para o método de validação cruzada
com k-dobras, para k = 2, 4, 5, 8 e 10 em uma amostra de tamanho igual a 200.
Obs. Var. significa variância e D. p. significa desvio padrão.
67
N = 400
K
Média Var. D.p.
2 11,0 17,5
14,3 21,1 4,6
4 15,0 14,0 17,0 24,0
17,5 20,3 4,5
5 16,3 10,0 13,0 23,8 18,8
16,4 28,0 5,3
8 20,0 10,0 14,0 18,0 16,0 22,0 16,0 16,0
16,5 13,4 3,7
10 17,5 12,5 7,5 10,0 20,0 17,5 10,0 22,5 12,5 15,0 14,5 23,3 4,8
Tabela A7 – Valores das taxas de erro obtidas para o método de validação cruzada
com k-dobras, para k = 2, 4, 5, 8 e 10 em uma amostra de tamanho igual a 400.
N = 800
k
Média Var. D.p.
2 15,5 21,0
18,3 15,1 3,9
4 14,5 19,0 16,5 15,7
16,4 3,6 1,9
5 10,6 16,3 13,1 15,0 14,4
13,9 4,6 2,1
8 8,0 14,0 18,0 16,0 13,0 11,0 14,0 15,0
13,6 9,4 3,1
10 17,5 12,5 15,0 13,8 16,3 16,3 16,3 11,3 12,5 13,8 14,5 4,2 2,1
Tabela A8 – Valores das taxas de erro obtidas para o método de validação cruzada
com k-dobras, para k = 2, 4, 5, 8 e 10 em uma amostra de tamanho igual a 800.
N = 1000
k
Média Var. D.p.
2 16,0 15,6
15,8 0,1 0,3
4 14,4 15,6 14,0 14,8
14,7 0,5 0,7
5 12,0 17,0 14,0 13,0 17,0
14,6 5,3 2,3
8 8,8 12,8 9,6 13,6 13,6 13,6 14,4 14,9
12,7 5,0 2,2
10 11,0 13,0 16,0 11,0 11,0 11,0 11,0 18,0 11,0 15,0 12,8 6,8 2,6
Tabela A9 – Valores das taxas de erro obtidas para o método de validação cruzada
com k-dobras, para k = 2, 4, 5, 8 e 10 em uma amostra de tamanho igual a 1000.
N = 1200
k
Média Var. D.p.
2 15,5 14,0
14,8 1,1 1,1
4 14,3 17,7 13,3 13,0
14,6 4,5 2,1
5 13,8 15,4 14,2 12,9 13,8
14,0 0,8 0,9
8 15,3 19,3 15,3 18,7 15,0 14,9 13,5 13,3
15,7 4,9 2,2
10 15,0 16,0 15,0 13,6 13,6 14,4 11,0 13,0 16,0 13,3 14,1 2,4 1,5
Tabela A10 – Valores das taxas de erro obtidas para o método de validação cruzada
com k-dobras, para k = 2, 4, 5, 8 e 10 em uma amostra de tamanho igual a 1200.
Obs. Var. significa variância e D. p. significa desvio padrão.
68
Percentual de imagens classificadas corretamente nos conjuntos de amostras de
imagens, utilizados para testes e formado por imagens GIF e JPEG que não fizeram parte
do treinamento da árvore de decisão.
1
2
3
4
5
6
7
8
9
10 Média Var. D. p.
GIF 95,8 90,6 95,7 93,1 90,3 92,4 93,0 91,4 89,8 91,1 92,3 4,5 2,1
JEPG 88,1 86,5 91,4 90,6 93,0 84,5 87,2 89,6 94,3 89,8 89,5 9,1 3,0
Tabela A12 – Resultado da classificação de imagens que possuem o formato GIF e JPEG
que não foram utilizadas na obtenção da árvore de decisão (do treinamento).
Obs. Var. significa variância e D. p. significa desvio padrão.
69
Apêndice B
As métricas descritas na Seção 2.2 foram submetidas a experimentos e nesta seção são
mostrados alguns resultados indicativos para cada métrica. Foram utilizadas para os testes
1350 imagens fotográficas GIF, 2967 imagens gráficas GIF, 4742 imagens fotográficas
JPEG e 1434 imagens gráficas JPEG. Como os valores retornados pelas métricas possuem
intervalos e grandezas diferentes, estes valores devem ser normalizados, colocando-os no
intervalo fechado de [ 0,1] . Realizadas as normalizações, calculam-se as porcentagens de
imagens gráficas e imagens fotográficas cujos valores foram inferiores aos dos limiares
0,1; 0,2; 0,3; 0,4; 0,5; 0,6; 0,7; 0,8; e 0,9. Este procedimento foi feito para o conjunto de
imagens GIF e JPEG, e os resultados estão colocados em forma de gráficos e são
apresentados na Figura B1 e na Figura B2. Estes gráficos mostram que, dependendo do
limiar, obtêm-se uma porcentagem de imagens, dependendo do tipo da imagem
(fotográfica ou gráfica). Isto fica bem ilustrado observando a Figura B1 e a Figura B2, que
mostram os gráficos gerados para cada métrica. Pode-se concluir que estas métricas são
viáveis para serem utilizadas como características utilizadas na discriminação dos dois
tipos de imagens.-
70
Figura B1 – Gráficos obtidos da avaliação das amostras de treinamento formadas por
imagens GIF.
71
Figura B2 – Gráficos obtidos da avaliação das amostras de treinamento formada por
imagens JPEG.
72
Apêndice C
Neste apêndice, são mostrados (Figura C1, Figura C2 e Figura C3) mais alguns exemplos
de imagens gráficas que podem ser coletadas na WWW.
Figura C1 – Exemplos de imagens gráficas coletadas na WWW
Figura C2 – Exemplos de imagens gráficas coletadas na WWW
73
Figura C3 – Exemplos de imagens gráficas coletadas na WWW
Download

Camillo Jorge Santos Oliveira Classificação de Imagens Coletadas