10
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 [email protected] 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 [email protected] 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

Técnicas de Computação Natural para Segmentação de Imagens ... · Conforme Kennedy, Eberhart e Shi (2001) é um algoritmo estocástico, baseado em população, modelado a partir

Embed Size (px)

Citation preview

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

[email protected]

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

[email protected]

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