Técnicas de Computação Natural para Segmentação de Imagens ... · Conforme Kennedy, Eberhart e...
Transcript of Técnicas de Computação Natural para Segmentação de Imagens ... · Conforme Kennedy, Eberhart e...
Técnicas de Computação Natural para Segmentação de Imagens Médicas
Jackson Gomes de Souza
Laboratório de Sistemas Adaptativos, Dep. Engenharia Elétrica, Centro de Tecnologia
Universidade Federal do Rio Grande do Norte, Natal-RN, Brasil
José Alfredo F. Costa
Laboratório de Sistemas Adaptativos, Dep. Engenharia Elétrica, Centro de Tecnologia
Universidade Federal do Rio Grande do Norte, Natal-RN, Brasil
RESUMO
O presente trabalho apresenta conceitos fundamentais e resultados de experimentos de métodos
para resolver um problema que é objeto de diversos estudos e algoritmos: Segmentação de
Imagens. O domínio principal é a aplicação de Segmentação de Imagens em imagens médicas,
buscando técnicas para suporte ao diagnóstico por imagem. Computação Natural é um método
recente para resolver problemas do mundo real inspirando-se na própria vida. Computação
Evolucionária, baseada nos conceitos de biologia evolucionária e adaptação indivíduo-população,
e Inteligência de Enxames, que é inspirada no comportamento de indivíduos que, em grupo,
tentam obter melhores resultados para um problema complexo de otimização, são detalhados e
resultados experimentais apresentam uma comparação entre implementações de algoritmos.
PALAVRAS CHAVE. Segmentação de Imagens. Imagens médicas. Computação Natural.
Aplicações à Saúde.
ABSTRACT
The present paper presents fundamental concepts and experimental results of approaches to solve
a problem which is object of many studies and algorithms: image segmentation. The main
domain is the application of Image Segmentation on medical images, aiming to develop
techniques to support image diagnosis. Natural computing is a novel approach to solve real life
problems inspired in the life itself. Evolutionary Computing, which is based on the concepts of
the evolutionary biology and individual-to-population adaptation, and Swarm Intelligence, which
is inspired in the behavior of individuals that, in group, try to achieve better results for a complex
optimization problem, are detailed and experimental results present a comparison between some
algorithms' implementations.
KEYWORDS. Image Segmentation. Medical Images. Natural Computing. Applications to
Health.
XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1514
1. Introdução
Diversas técnicas atuais de Segmentação de Imagens são baseadas em Detecção de
Aglomerados (clustering), Reconhecimento de Padrões e Mineração de Dados e, em suma, a
tarefa é identificar comportamento e relações em um conjunto de dados. A relação entre os
padrões encontrados na imagem gera classes, aglomerados (clusters) ou, no contexto de
segmentação de imagens, regiões e objetos. Mais que simples características da imagem, estas
regiões representam informação; sendo assim, segmentação de imagens é aplicada a uma lista
virtualmente infinita de áreas, como Diagnóstico Assistido por Computador (CAD) na detecção
de câncer de mama, como indica Doi (2007), reconhecimento dinâmico de objetos, visão de
robôs, e recuperação de imagens baseada em conteúdo.
Independentemente da importância ou das características dos diversos métodos de
Segmentação de Imagem, todos são suscetíveis a problemas como:
a) determinação da quantidade de clusters (que não é conhecida, a priori); e
b) segundo Omram, Salman e Engelbrecht (2006), independência de condições iniciais.
Dentre os métodos para análise de dados através de clustering e Segmentação de Imagens não
supervisionada estão: Nearest Neighbor Clustering, Fuzzy Clustering e Artificial Neural
Networks for Clustering, de Jain, Murty e Flynn (1999). Tais métodos bio e sócio-inspirados
atuam usando formas de resolução de problemas encontradas na natureza. Métodos inspirados em
comportamento social procuram resolver problemas considerando que uma solução
potencialmente fraca e definida previamente (ou inicialmente) pode levar toda uma população a
encontrar uma solução melhor ou ótima.
O presente trabalho está inserido no contexto da Segmentação de Imagens médicas. Desta
forma, são apresentados conceitos gerais de clustering, Segmentação de Imagens e Computação
Natural, e os resultados obtidos a partir da execução dos algoritmos implementados.
2. Clustering e Segmentação de Imagens
Encontrar clusters em um conjunto de dados significa encontrar relações entre os dados não
rotulados. O sentido de “relação” é que algum dado está, de alguma maneira, próximo a um outro,
de forma que ambos formem um grupo. Conforme Jain, Murty e Flynn (1999) os componentes de
uma tarefa de clustering são:
1. Representação do padrão, que inclui extração e seleção de características;
2. Uma medida de distância, que é usada para determinar a proximidade entre padrões;
3. Clustering: relacionado a encontrar grupos e pode ser rígida (hard) ou suave (fuzzy);
4. Abstração de dados: extrai uma representação simples e compacta do conjunto de dados
(escolha dos centróides);
5. Avaliação da saída: o processo de avaliar o resultado de clustering.
Conforme Omram, Salman e Engelbrecht (2006) no último passo (5) podem ser utilizadas
técnicas de Validação de Clustering, que são métodos para se avaliar, de forma quantitativa, a
qualidade do resultado de clustering para encontrar o particionamento que mais se adéqüe ao
conjunto de dados.
3. Computação Natural
Segundo Castro (2007) Computação Natural é a versão computacional do processo de extrair
idéias da natureza para desenvolver sistemas computacionais, ou usando materiais naturais, para
realizar computação. Algumas das abordagens mais representativas são as seguintes:
a) Redes Neurais Artificiais: conforme Haykin (2001) corresponde a um processador
distribuído e paralelo composto de unidades simples de processamento (os neurônios) que
atuam, naturalmente, para armazenar conhecimento que é adquirido através de um
processo de aprendizagem que leva a melhores resultados na medida da interconexão entre
os neurônios, o que forma a rede neural.
b) Computação Evolucionária: as idéias de biologia evolucionária a respeito de como
descendentes carregam características de seus pais para serem adaptativos e conseguirem
XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1515
sobreviver a situações diversas são as principais inspirações para desenvolver técnicas de
busca e otimização para resolver problemas complexos.
c) Inteligência de Enxames: segundo Omram, Salman e Engelbrecht (2006), como uma
técnica de exemplo, Otimização por Enxames de Partículas (PSO) é um algoritmo de
otimização baseado em população modelado com base na simulação do comportamento
social de pássaros.
d) Sistemas Imunes Artificiais: referem-se a sistemas adaptativos inspirados na imunologia
teórica e experimental com o objetivo de resolução de problemas.
4. Clustering usando Computação Natural
Esta seção apresenta dois métodos de clustering baseados no conceito de Computação Natural:
o Algoritmo Genético para Clustering (GCA) e o Algoritmo PSO para Clustering (PSOCA).
Ambos possuem variações quanto ao algoritmo clássico de clustering utilizado: K-means e Fuzzy
C-means. Desta forma, o presente trabalho apresenta resultados de quatro algoritmos (ou
variações de GCA e PSOCA):
a) Algoritmo K-Means Genético (GKA);
b) Algoritmo Genético Fuzzy C-Means (GFCMA);
c) Algoritmo PSO baseado em K-means (PSOKA); e
d) Algoritmo PSO baseado em Fuzzy C-Means (PSOFCMA).
4.1 Algoritmo Genético para Clustering
Como indicam Krishna e Murty (1999) Algoritmos Genéticos têm sido aplicados a diversos
problemas de otimização e se mostram adequados para encontrar soluções próximas ao ótimo.
Com o objetivo de solucionar o problema de algoritmos particionais de clustering – encontrar
uma partição em um conjunto de dados com um número de clusters – o algoritmo GKA foi
introduzido por Krishna e Murty (1999), o qual estabelece um critério de avaliação baseado na
minimização da Variação Total Intra-Cluster (TWCV), uma função-objetivo que é definida
como: dado X, o conjunto de N padrões, e Xnd o d-ésimo feature de um padrão Xn, Gk o k-ésimo
cluster e Zk o número de padrões em Gk, a TWCV é definida como:
N
n
K
k
D
d
kd
k
D
d
nd SFZ
XTWCV1 1 1
2
1
2 1
(1)
onde SFkd é a soma dos d-ésimos features de todos os padrões em Gk.
Segundo Krishna e Murty (1999) a TWCV também é conhecida como medida do erro
quadrado. Portanto, a função-objetivo tenta minimizar a TWCV, encontrando o particionamento
em que os centróides atendam aos conceitos:
a) Compactação: padrões de um cluster são similares uns aos outros e diferentes de
padrões em outros clusters; e
b) Separação: conforme Omram, Salman e Engelbrecht (2006) centróides dos clusters são
bem-separados, considerando uma medida de distância como a Distância Euclidiana.
Outros trabalhos, como dos autores Bandyopadhyay e Maulik (2002), utilizam Índices de
Validação de Clustering, como o índice Davies-Boudin. Esta também é a abordagem utilizada
neste trabalho, como será visto adiante. Os principais aspectos do GKA são, conforme Krishna e
Murty (1999) e Lu et al (2004):
1) Codificação: refere-se à codificação da solução (o cromossomo). A forma mais comum é
utilizar uma string onde, para Z soluções (partições), representadas por strings de
tamanho N, cada elemento de cada string (um alelo), contém o número de um cluster. O
conjunto de cromossomos define uma população.
2) Inicialização: a população inicial P0 é definida aleatoriamente, ou seja, cada alelo recebe
o número de um cluster. A próxima população (Pi+1) é definida em termos da seleção,
mutação e do operador K-means.
XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1516
3) Seleção: cromossomos de uma população anterior são escolhidos aleatoriamente, de
acordo com a seguinte distribuição:
𝑃𝑧 =𝐹 𝑆𝑧
𝐹 𝑆𝑧 𝑍𝑧=1
(𝑧 = 1, … , 𝑍) (2)
onde F(Sz) é o valor de fitness da solução Sz.
4) Mutação: o operador de mutação muda o valor de um alelo, dependendo das distâncias
dos centróides do padrão correspondente e de acordo com a seguinte distribuição:
𝑝𝑘 =1.5 ∗ 𝑑𝑚𝑎𝑥(𝑋𝑛) − 𝑑(𝑋𝑛 , 𝑐𝑘) + 0.5
1.5 ∗ 𝑑𝑚𝑎𝑥(𝑋𝑛) − 𝑑(𝑋𝑛 , 𝑐𝑘) + 0.5 𝐾𝑘=1
(3)
onde 𝑑(𝑋𝑛 , 𝑐𝑘) é a Distância Euclidiana entre o padrão Xn e o centróide ck do k-ésimo cluster, e
𝑑𝑚𝑎𝑥(𝑋𝑛) = max𝑘 𝑑(𝑋𝑛 , 𝑐𝑘) . 5) Operador K-means: é usado para aumentar a velocidade do processo de convergência e
corresponde a um passo do algoritmo K-means clássico. Dado um cromossomo, cada
alelo é substituído, de forma que esteja mais próximo do seu centróide.
Como visto anteriormente, há duas variações para o algoritmo GCA e, conforme o exposto
nesta seção, a diferença entre GKA e GFCMA é a utilização do algoritmo clássico K-means e do
algoritmo clássico Fuzzy C-means, respectivamente. Desta forma, ambos operam de forma
similar, apenas sendo necessário modificar o último operador, que realiza um passo de um
algoritmo de clustering.
4.2 Algoritmo PSO para Clustering
PSO é um método de computação natural inspirado no comportamento de indivíduos sociais.
Conforme Kennedy, Eberhart e Shi (2001) é um algoritmo estocástico, baseado em população,
modelado a partir da observação e simulação do comportamento de pássaros. Segundo Kennedy,
Eberhart e Shi (2001) a diferença entre esta abordagem e a Computação Evolucionária está no
fato de que em PSO cada partícula beneficia-se das suas próprias soluções prévias (histórico).
O modelo de cultura adaptativa de enxames de partículas que norteia o PSO é baseado nos
seguintes princípios (baseados em Kennedy, Eberhart e Shi (2001)):
a) Avaliar: uma tendência natural de indivíduos vivos é avaliar um estímulo como positivo
ou negativo. Portanto, o aprendizado é entendido como o resultado da avaliação que o ser
vivo faz do ambiente no qual está inserido.
b) Comparar: pessoas usam experiências de outras pessoas como uma forma de aprender e
mudar. No Modelo de Cultura Adaptativa o indivíduo é estimulado a comparar-se a outros
e decidir se seguir um líder é mais adequado do que seguir seu próprio caminho.
c) Imitar: é a conseqüência lógica das duas características anteriores e a que leva ao
aprendizado social do indivíduo. Imitar é repetir ações anteriores que levaram a bons
resultados, considerando que seguir estas ações possa levar a resultados ainda melhores.
Segundo Kennedy, Eberhart e Shi (2001) a definição clássica de PSO é de que cada partícula,
inserida entre uma multidão de indivíduos (o enxame), voa através de um espaço de busca e,
como indicam Omram, Salman e Engelbrecht (2006), carrega uma solução potencial para o
problema de otimização. Conforme Omram, Salman e Engelbrecht (2006) e Kennedy, Eberhart e
Shi (2001) a movimentação da partícula é determinada pela equação que considera a posição
atual da partícula e um vetor de velocidade:
𝐱𝒊 = 𝐱𝑖(𝑡) + 𝐯𝐢(𝑡 + 1) (4)
onde 𝐯𝐢(𝑡 + 1) é definido como:
𝐯𝐢(𝑡 + 1) = 𝜔𝐯𝐢(𝑡) + 𝑐1𝑟1 ∗ (𝐩𝑖(𝑡) − 𝐱𝑖(𝑡)) + 𝑐2𝑟2 ∗ (𝐩𝑔(𝑡) − 𝐱𝑖(𝑡)) (5)
onde, segundo Omram, Salman e Engelbrecht (2006), 𝜔 é o peso de inércia, que controla o
impacto da velocidade anterior; 𝑐1 e 𝑐2 são constantes de aceleração e 𝑟1~𝑈(0,1) e 𝑟2~𝑈(0,1);
𝐩𝑖(𝑡) é a melhor posição da particular i; 𝐩𝑔(𝑡) é a melhor posição entre todas as partículas do
XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1517
enxame. Uma velocidade máxima definida pelo usuário, 𝑉𝑚𝑎𝑥 , pode ser utilizada para limitar a
atualização da velocidade.
Ainda, conforme Omram, Salman e Engelbrecht (2006), alguns termos comportamentais são
encontrados em Haykin (2001):
a) O componente cognitivo, 𝐩𝑖 𝑡 − 𝐱𝑖 𝑡 , representa a experiência da própria partícula;
b) O componente social, 𝐩𝑔(𝑡) − 𝐱𝑖(𝑡), representa a crença de todo o enxame sobre onde
está a melhor solução.
O desempenho da partícula é medido usando uma função fitness que depende do problema de
otimização.
Seja f() uma função-objetivo que deve ser minimizada, portanto, a melhor posição da partícula
é atualizada conforme:
𝐩𝑖 𝑡 + 1 = 𝐩𝑖(𝑡), 𝑓(𝐱𝑖(𝑡 + 1)) ≥ 𝑓(𝐩𝑖(𝑡))
𝐱𝑖(𝑡 + 1), 𝑓(𝐱𝑖(𝑡 + 1)) < 𝑓(𝐩𝑖(𝑡))
(6)
Os passos do algoritmo, semelhantes ao GKA, correspondem ao seguinte:
a) Inicializar, aleatoriamente, posições das partículas e os vetores de velocidade;
b) Avaliar a solução da partícula;
c) Encontrar a melhor posição de cada partícula;
d) Encontrar a melhor posição entre todas as partículas do enxame;
e) Atualizar os vetores de velocidade (Eq. 5); e
f) Atualizar as posições das partículas (Eq. 6).
Diferentes abordagens de clustering usando PSO são encontradas em Omram, Salman e
Engelbrecht (2006), Omram (2004) e Cohen e Castro (2006). Entretanto, uma avaliação
detalhada de Cohen e Castro (2006) indica que os autores realizam modificações originais no
projeto do PSO que, praticamente, o descaracterizam, portanto, o presente trabalho considera
como base os trabalhos de Omram, Salman e Engelbrecht (2006) e Omram (2004) para
demonstrar o PSOCA.
PSOCA pode ser definido como: no contexto de clustering de dados, a posição de uma
partícula representa o conjunto de K centróides, em outras palavras, cada partícula representa
uma possível solução para o problema de clustering e, portanto, o enxame representa um
conjunto de soluções candidatas.
Entre os passos (a) e (b) é inserido mais um passo, o que realiza o clustering, ou seja, encontra
e ajusta as associações entre as soluções das partículas (os centróides). Do mesmo modo que em
GCA, é realizado um passo de um algoritmo clássico de clustering (K-Means ou Fuzzy C-
Means), o que leva às duas variações PSOKA e PSOFCMA.
A qualidade da solução da partícula pode ser medida usando uma medida de distância (como a
Distância Euclidiana) ou um Índice de Validação de Clustering.
5. Resultados dos Experimentos e Discussões
Os algoritmos de clustering foram implementados em Matlab, versão 2006a. Os experimentos
foram realizados em um hardware com a seguinte configuração:
Processador Intel Core 2 Duo, 1.6GHz; e
2 GB RAM DDR 667MHz.
Os conjuntos de dados escolhidos para teste de clustering são:
Base de dados de Ruspini (Ruspini, 1970): com 75 padrões, em duas dimensões (75 x 2),
com quatro classes facilmente separáveis, inclusive a olho nu;
Base de dados Wine (Assuncion e Newman, 2007): com 178 padrões, com 13 dimensões
(178 x 13), com três classes; e
Base de dados Iris (Assuncion e Newman, 2007): com 150 padrões, com 4 dimensões
(150 x 4), com três classes.
Para que pudessem ser obtidos resultados da análise do erro de classificação, em cada base de
dados foi adicionada uma dimensão, que corresponde ao número correto da classe associada ao
XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1518
padrão. Para avaliação das soluções de clustering foram utilizados os Índices de Validação de
Clustering: Davies-Boudin (DB), SC, S, e Xie-Beni (XB).
Como o foco principal do presente trabalho é a segmentação de imagens médicas, não serão
apresentados resultados detalhados (em termos numéricos) quanto a clustering. A Figura 1
apresenta o resultado de clustering de GFCMA para Wine. Como Wine é uma base de dados com
13 dimensões, é necessário usar uma técnica para visualização dos dados em menos dimensões.
Para tanto, foi utilizada a técnica de PCA (Principal Component Analysis) para reduzir as
dimensões do conjunto de dados Wine de 13 para 2. Desta forma, os dados são apresentados em
um gráfico bidimensional e é possível visualizar 3 conjuntos de dados.
Figura 1: Resultados de GFCMA para a base de dados Wine
Os dados para testes de segmentação de imagens médicas foram utilizados a partir do conjunto
de dados (cérebro normal) do sistema BrainWeb, disponibilizado por BrainWeb (2007). Tais
dados correspondem à modalidade T1, ruído em 0% e intensidade 0%. O BrainWeb fornece
dados com 10 classes:
1. Plano de fundo (background);
2. CSF (fluido cérebro-espinhal) (CSF);
3. Matéria cinzenta (gray matter);
4. Matéria branca (white matter);
5. Gordura (fat);
6. Músculo / Pele (músculo);
7. Pele (peal);
8. Crânio / osso (skull);
9. Matéria Glial (glial matter);
10. Material Conectivo (connective).
Também é fornecido um modelo de dados fuzzy – com as 10 classes devidamente separadas
em conjuntos de dados individuais – que é utilizado como ground-truth para cálculo da taxa de
erro dos algoritmos.
Além dos dados de imagem, para efeito de verificação da eficácia dos algoritmos e teste do
comportamento do algoritmo utilizando-se uma característica adicional (textura), foram
utilizados dois conjuntos de dados de imagem: imagem_textura (gerado considerando uma janela
XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1519
5x5 e estatísticas como média, desvio padrão e variância) e imagem_intensidade (que considera
apenas os dados dos pixels).
A Tabela 1 e a Figura 2 apresentam os resultados de segmentação de imagens para os
algoritmos GKA e GFCMA e os conjuntos de dados imagem_textura e imagem_intensidade. De
forma semelhante, a Tabela 2 e a Figura 3 apresentam os resultados de segmentação de imagens
para os algoritmos PSOKA e PSOFCMA, considerando os mesmos conjuntos de dados.
Tabela 1: Resultados dos Algoritmos GKA e GFCMA: a) conjunto de dados imagem_textura; b) conjunto de dados
imagem_intensidade
(a)
Índice GKA GFCMA
Min. Méd. Max. Min. Méd. Max.
DB 0,31476 0,33616 0,35755 0,33990 0,35202 0,36414
SC 0,16075 0,16075 0,16075 0,16075 0,28419 0,29732
S 0,00001 0,00001 0,00001 0,00001 0,00001 0,00001
XB 169,59 202,84 236,09 84,10 92,94 101,78
Erro (%) 75,19 85,17 90,80 55,66 61,42 70,80
(b)
Índice GKA GFCMA
Min. Méd. Max. Min. Méd. Max.
DB 0,68072 0,68072 0,68072 0,71655 0,73323 0,74991
SC 0,20654 0,20654 0,20654 0,64346 0,64346 0,64346
S 0,00001 0,00001 0,00001 0,00003 0,00003 0,00003
XB 10,19488 10,19488 10,19488 1,17901 1,24838 1,31775
Erro (%) 84,96 87,68 91,68 67,67 69,49 71,27
(a)
(b)
(c)
(d)
Figura 2: Resultados de Segmentação de Imagem com GKA e GFCMA: imagem_intensidade: a) GKA, b) GFCMA;
imagem_textura: c) GKA, d) GFCMA
Tabela 3 Resultados de segmentação dos Algoritmos PSOKA e PSOFCM: a) conjunto de dados imagem_textura; b) conjunto
de dados imagem_intensidade
(a)
Índice PSOKA PSOFCM
Min. Méd. Max. Min. Méd. Max.
DB 0,56977 0,63134 0,69290 0,67515 0,69406 0,71297
SC 0,25217 0,25217 0,25217 0,54645 0,55021 0,55397
S 0,00001 0,00001 0,00001 0,00002 0,00002 0,00002
XB 1,85475 1,85475 1,85475 1,03556 1,08944 1,14332
Erro (%) 45,18 72,28 90,06 57,78 66,60 72,69
XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1520
(b)
Índice PSOKA PSOFCM
Min. Méd. Max. Min. Méd. Max.
DB 0,29822 0,32084 0,34345 0,34237 0,34627 0,35017
SC 0,12357 0,15516 0,18674 0,12357 0,27962 0,29527
S 0,00001 0,00001 0,00001 0,00001 0,00001 0,00001
XB 210,67 235,639 260,6045 81,4605 83,4044 85,34844
Erro (%) 60,57 76,13 88,45 65,87 70,00 72,86
(a)
(b)
(c)
(d)
Figura 3: Resultados de Segmentação de Imagem com PSOKA e PSOFCMA: imagem_textura: a) PSOKA, b) PSOFCMA;
imagem_intensidade: c) PSOKA, d) PSOFCMA
6. Conclusões
O presente trabalho apresentou dois métodos de Computação Natural para clustering e
Segmentação de Imagens, sua implementação e alguns resultados. Um é baseado em Algoritmos
Genéticos e o outro em Otimização por Enxames de Partículas (PSO). A tarefa de Segmentação
de Imagens não constitui um processo trivial. Considerando o domínio de imagens médicas é
altamente importante a opinião de um especialista do domínio em relação aos resultados
apresentados pelos experimentos. Como o conjunto de dados usado é simulado, os experimentos
foram guiados por esta situação. Portanto, é necessário realizar experimentos com imagens reais.
A metodologia usada neste trabalho foi baseada no seguinte:
a) Implementar os algoritmos;
b) Avaliar os resultados de clustering usando bases de dados já conhecidas na comunidade
científica;
c) Usar os resultados obtidos para guiar testes com segmentação de imagens.
Testes de segmentação de imagem precisam levar em consideração características das
imagens. Portanto, dois conjuntos de dados foram criados: um que considera os dados brutos da
imagem (imagem_intensidade), e outro que considera informação de textura (imagem_textura).
Como os métodos usados são baseados em Computação Evolucionária e Computação Natural
e possuem uma função de avaliação de desempenho (fitness) é necessária uma maneira de guiar o
processo de evolução, portanto foram realizados testes considerando diversos Índices de
Validação de Clustering (CVI): DB, SC, S e XB. Além disso, uma medida de classificação de
erro foi estabelecida para identificar e avaliar o desempenho final do método. CVI pode ser usado
como uma função de qualidade de uma solução (população ou geração para GKA e partícula para
PSO).
Análise quantitativa indica que:
a) Considerando CVI e o conjunto de dados imagem_textura, GKA obteve melhores
XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1521
resultados considerando os índices DB, SC e S, enquanto PSOFCM obteve melhores
resultados no índice XB;
b) Considerando CVI e o conjunto de dados imagem_intensidade, PSOKA obteve os
melhores resultados para os índices DB, SC e S, enquanto GFCMA obteve melhores
resultados para o índice XB;
c) Considerando o Erro de Classificação, GFCMA obteve melhores resultados nos dois
conjuntos de dados usados nos experimentos.
Análise qualitativa precisa levar em consideração que os dados de imagem não são reais, mas
simulados (como apresentado anteriormente), desta forma, a conclusão é que GKA e PSOFCMA
obtiveram melhores resultados nos dois conjuntos de dados usados nos experimentos. Para
avaliar os resultados, as regiões (considerando área) dos elementos (conforme as 10 classes
apresentadas anteriormente) são levadas em consideração, e como estão relacionadas a regiões da
imagem original. Em relação aos valores de Erro de Classificação é importante salientar que os
experimentos levaram em consideração os dados “brutos” da imagem, sem pré-processamento.
Desta forma, trabalhos futuro podem levar em consideração abordagens como detecção de bordas
e definição ou extração de regiões da imagem em conjunto com as técnicas de clustering e
segmentação de imagens. Sobretudo uma avaliação ainda mais detalhada é necessária com o
suporte de um especialista para reforçar esta argumentação.
Em resumo, considerando os resultados obtidos dos testes, pode-se dizer que os métodos
baseados em FCM obtiverem melhor desempenho considerando Erro de Classificação e os
métodos baseados em K-means foram melhores considerando CVI. Como o presente trabalho não
chega até as tarefas de registro e classificação de imagem, mais testes são necessários para
argumentar sobre a superioridade do FCM sobre K-means, nos termos dos algoritmos
implementados.
7. Agradecimento
Os autores gostariam de agradecer ao CNPq, processos 480043/2008-6 e 201382/2008-3.
8. Referências
Asuncion, A. e Newman, D. J. (2007), UCI Machine Learning Repository. Irvine, CA:
University of California, School of Information and Computer Science. Disponível online em:
<http://www.ics.uci.edu/~mlearn/MLRepository.html>. Último acesso em: 24 de junho de 2009.
Bandyopadhyay, S. e Maulik, U. (2002), An evolutionary technique based on K-Means
algorithm for optimal clustering in Rn, Information Sciences, vol. 146, Elsevier, 221-237.
BrainWeb. BrainWeb: Simulated Brain Database. Disponível online em:
<http://www.bic.mni.mcgill.ca/brainweb/>. Último acesso em: 27 de abril de 2007.
Castro, L. N. de (2007), Fundamentals of natural computing: an overview, Physics of Life
Reviews 4, Elsevier, 1-36.
Cohen, S. C. M., e Castro, L. N. de (2006), Data Clustering with Particle Swarms, 2006 IEEE
Congress on Evolutionary Computations, Canada, 1792-1798.
Doi, K. (2007), Computer-aided diagnosis in medical imaging: Historical review, current status
and future potential. Comp. Medical Imaging and Graphics, vol. 31, Elsevier, 198-211.
Haykin S. Redes neurais: princípios e prática, 2nd. ed. (trad. para Portugês por Paulo Martins
Engel). Bookman, Porto Alegre, 2001.
Jain, A. K., Murty, M. N. e Flynn, P. J. (1999), Data clustering: a review, ACM Computer
Surveys (31), ACM Press, 264-323.
Kennedy, J., Eberhart, R. C. e Shi, Y. (2001), Swarm intelligence: collective, adaptive, The
Morgan Kaufmann Series in Evolutionary Computation, Morgan Kaufmann, New York.
Krishna, K. e Murty, M. N. (1999), Genetic K-Means Algorithm, IEEE Trans. Systems, Man,
and Cybernetics – Part B: Cybernetics, vol. 29, no. 3, 433-439.
Lu, Y., Lu, S., Fotouhi, F., Deng, Y. e Brown, S. J. (2004), Incremental genetic K-means
XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1522
algorithm and its application in gene expression data analysis, BMC Bioinformatics, BioMed
Central.
Omram, M. G. H., Particle Swarm Optimization Methods for Pattern Recognition and Image
Processing, Ph.D. Thesis, University of Pretoria, Pretoria, 2004.
Omram, M. G., Salman, A. e Engelbrecht, A. P. (2006), Dynamic clustering using particle
swarm optimization with application in image segmentation, Pattern Anal. Applic. (8), Springer-
Verlag, London, 332-344.
Ruspini, E. H. (1970), Numerical methods for fuzzy clustering. Inform. Sci., 2, 319–350.
XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1523