Mestrando Jackson Gomes de Souza Orientador Prof. Dr. José Alfredo F.

Costa

 Motivação  Segmentação de Imagens  Técnicas de Computação Natural  Algoritmos Genéticos  Otimização

por Enxames de

Partículas  Metodologia  Detecção de aglomerados com AG e PSO  Segmentação de imagens com AG e

 Visão

– Imagem – Representação do Conhecimento  Inspiração Biológica e Social para a Computação  Aplicações
 Visão Computacional  Recuperação de Imagens Baseada em

Conteúdo  Visualização de Dados  Auxílio ao diagnóstico médico

 Separação

ou classificação de pixels  Conjuntos de pixels como objetos

Inspiração biológica
 Redes Neurais

Inspiração social ou comportamental
 Inteligência de

Artificiais  Algoritmos Genéticos

Enxames  Sistemas Imunes Artificiais

 População

de indivíduos (cromossomos = codificação da solução)  Reprodução (geração de novos indivíduos, nova população)  Herança  Variação genética (mutação)  Seleção natural (não aleatória, usa medida de desempenho)  Objetivo: encontrar soluções “ótimas” (aproximadas)

 Inspiração

biológica e psico-social (comportamento de bandos de pássaros)
 Avaliar  Comparar  Imitar

 Vizinhança (topologias)  Modelo computacional

em 1995

 Bases de dados  Ruspini: 2D, simples para visualização e  Fuzzy

Clustering Toolbox p/ Matlab (índices de validação)  K-means vs. Fuzzy C-means  Análise quantitativa (índices de validação)  Análise qualitativa (classificação)  Hipótese: testes de detecção de aglomerados servirão de guia para os testes de segmentação de imagens

análise  Brainweb: simulador de MRI, ground truth

 75

160 140 120 100 80 60 40 20 0

Plot do conjunto de  dados de t este (Ruspini)

padrões  4 classes

0

20

40

60

80

100

120

 MSE  Função

de custo J() (K-means ou

FCM)  Índice  Índice  Índice  Indice

SC (partição de clusters) S (separação de clusters) Xie-Beni de Dunn

Parâmetros
          

Saída

Tamanho da população (np) Conjunto de dados Número de clusters (k) Número máximo de gerações (gmax) (K-means) Probabilidade de mutação (mp) Fuzzyficador (m) (FCM) Tempo de execução (em segundos) O melhor indivíduo, ou cromossomo (s) Os centróides (c) Valor de fitness do melhor indivíduo Histórico do melhor fitness durante as gerações

1: 2: 3: 4:

5:

P[0] = Initialize(); BEST_TWCV = +Inf; i = 1; while (not Terminate()) { P[i] = Selection(P[i]); P[i] = Mutation(P[i]); P[i] = KMeans(P[i]); TWCV = Fitness(P[i]); if (TWCV < BEST_TWCV) BEST_TWCV = TWCV; i = i + 1; }

Tabela 1: Resumo dos melhores e piores resultados de clustering para o algoritmo GKA

7 24 31 48 55 81

IV Aval. K Gmax Np Mp Tempo(s) F() mse min 4 5 5 0,85 0,098 0,091 mse min 4 100 50 0,5 19,635 0,091 di max 4 5 5 0,5 0,357 0,521 di max 4 100 50 0,025 60,866 0,521 j min 4 5 5 0,025 0,024 0,807 j min 4 100 50 0,85 4,937 0,807

Tabela 1: Resumo dos melhores e piores resultados de clustering para o algoritmo GFCMA

13 16 27 28 37 38 58 63 70 82 91 105 112 121 128

IV mse mse mse j j j xb xb xb s s s sc sc sc

Aval. K Gmax Np Mp Tempo(s) F() min 4 10 5 0,5 0,223 0,090 min 4 10 5 0,85 0,224 0,090 min 4 100 50 0,85 22,260 0,090 min 4 5 5 0,025 0,055 4,778 min 4 10 5 0,025 0,114 2,680 min 4 10 20 0,025 0,431 2,670 min 4 5 5 0,5 0,098 0,843 min 4 5 50 0,85 0,854 0,825 min 4 10 5 0,85 0,276 1,920 min 4 5 5 0,025 0,090 0,005 min 4 10 5 0,025 0,168 0,005 min 4 100 50 0,5 15,921 0,005 min 4 5 5 0,5 0,086 0,464 min 4 10 5 0,5 0,192 0,363 min 4 100 20 0,025 7,736 0,362

Parâmetros
      

Saída
       

Tamanho da população (p) Número de clusters (k) Número máximo de iterações (tmax) Valor máximo da velocidade (vmax) Parâmetro regulador (w) Constantes (c1 e c2) Critério de parada: avalia histórico do fitness e estabilidade durante as gerações Tempo de execução (em segundos) Melhores posições das partículas (Yp) Posições finais das partículas (X) Melhor posição (Yg) Índice da melhor partícula (Xgi) Melhor valor de fitness (Fg) Histórico do fitness Matriz de associações entre padrões e centróides (Z)

se f ( xi (t + 1)) ≥ f ( yi (t ))  yi (t ) yi ( t + 1) =   xi (t + 1) se f ( xi (t + 1)) < f ( yi (t ))

(2.9) (2.10) (2.11) (2.13)

ˆ y (t ) ∈ { y 0 , y1 ,..., y s } = min{ f ( y 0 (t )), f ( y1 (t )),..., f ( y s (t ))}
ˆ vij (t + 1) = wv ij (t ) + c1 r1 j (t )( y ij (t ) − xij (t )) + c 2 r2 j (t )( y j (t ) − xij (t ))

x i (t + 1) = x i (t ) + v i (t + 1)

1:

Para cada partícula

i ∈1,..., s faça

2: Inicialize aleatoriamente posições da partícula x i 3: Inicialize aleatoriamente (ou atribua zero) a velocidade da partícula v i 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:

y i = xi
Fim-Para Repita Para cada partícula Atualize Atualize

i ∈1,..., s faça
i , f ( xi )

Avalie a aptidão da partícula

y i usando (Eq. 2.9)

ˆ y

usando (Eq. 2.10)

Para cada dimensão j ∈ 1,..., N d faça Atualize a velocidade usando (Eq. 2.11) Fim-Para Atualize a posição usando (Eq. 2.13) Fim-Para Até que seja satisfeito um critério de convergência Listagem 1: Pseudocódigo para o PSO

Tabela 1: Resumo dos melhores e piores resultados de clustering com o algoritmo PSOKA

3 16 28 37 48 51 58 70

IV mse mse j j j xb xb xb

Stat. K W P Vmax C1=C2 Tempo (s) F() min 4 0,1 30 2 1,49 1,857 0,091 min 4 0,7 5 2 2 0,223 0,091 min 4 0,1 5 2 2 0,108 1,049 min 4 0,7 5 2 1,49 0,125 1,391 min 4 0,7 30 5 2 0,897 0,861 min 4 0,1 30 2 1,49 1,870 656176133,400 min 4 0,1 5 5 2 0,335 905349728,200 min 4 0,7 5 5 2 0,221 761935226,300

Tabela 1: Resumo dos melhores e piores resultados de clustering para o algoritmo PSOFCM

1 3 16 20 34 38 52 58 62 71 82 86 89 106

IV. mse mse mse j j xb xb xb s s s sc sc sc

Stat. K W P Vmax C1=C2 Tempo(s) F() min 4 0,1 5 2 1,49 0,380 0,090 min 4 0,1 30 2 1,49 2,055 0,090 min 4 0,7 5 2 2 0,386 0,090 min 4 0,1 10 2 1,49 0,377 2,671 min 4 0,7 5 2 2 0,347 2,673 min 4 0,1 10 2 1,49 0,442 0,968 min 4 0,7 5 2 2 0,219 1,333 min 4 0,7 5 5 2 0,226 1,333 min 4 0,1 10 2 1,49 0,508 0,005 min 4 0,1 10 5 2 0,435 0,005 min 4 0,7 5 5 2 0,590 0,005 min 4 0,1 10 2 1,49 0,491 0,362 min 4 0,1 10 2 2 0,48807 0,362 min 4 0,7 5 5 2 0,50754 0,363

 Algoritmos

Genéticos

 mp (pouco relevante)  5 <= gmax <= 10; np = 5  Índice DI: inviável para grandes

conjuntos de dados, como imagens  Índice XB: comportamento irregular
 Otimização

por Enxames de

Partículas
 w = 0.1; p = 10; vmax = 2; c1 = c2 =

1.49

Imagens de Ressonância Magnética (MRI)  Simulador BrainWeb

 Modalidade de pulso (T1,       

T2, PD) Espessura da fatia Ruído Não-uniformidade da intensidade Modelo crisp e fuzzy Imagens de intensidade [0,1000] Normalização [0,1] Download de imagens no formato MINC

 10 classes  (b) Background  (c) CSF  (d) Gray matter  (e) White matter  (f) Fat  (g) Muscle  (h) Peal  (i) Skull  (j) Glial matter  (k) Connective (model)
(b) (f)

(a)

(c)

(d)

(e)

(g)

(h)

(i)

(j)

(k)

(a)

(b)

(c)
Figura 1: Exemplos de fatias de imagens nos modelos T1 (a), T2 (b) e PD (c)

imagens resultantes de simulação na modalidade T1, com baixo ruído  imagem_intensidade
 

imagem_textura

 Considera os pixels  Considera características de textura  Janela 5 x 5  Estatísticas
▪ ▪ ▪ ▪ ▪ Média Desvio-padrão Variância Co-variância Coeficiente de correlação

Tabela 1: Resultados de segmentação de imagens para o algoritmo GKA considerando o conjunto de dados imagem_textura

# IV

K Gmax Np 10 20 10 20 10 20 5 5 5 5 5 5

Mp Tempo (s) 0,025 0,025 0,025 0,025 0,025 0,025

F()

1 mse 10 2 mse 10 3 j 10 4 j 10 5 xb 10 6 xb 10

19,360 0,107 40,710 0,098 19,504 1193,152 37,428 695,837 19,973 9,765 39,690 8,061

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

Figura 1: Resultados de segmentação de imagem para o algoritmo GKA considerando o conjunto de dados imagem_textura; (a-c) índice J; (d-f) índice MSE; (g-i) índice XB

Tabela 1: Resultados de segmentação de imagens para o algoritmo GKA considerando o conjunto de dados imagem_intensidade

# 1 2 3 4 5 6

IV mse mse j j xb xb

K Gmax Np Mp 10 10 5 0,025 10 20 5 0,025 10 10 5 0,025 10 20 5 0,025 10 10 5 0,025 10 20 5 0,025

Tempo (s) 11,894 24,048 11,316 22,628 13,771 25,813

F() 0,016 0,014 19,698 21,774 225,876 190,194

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

Figura 1: Resultados de segmentação de imagem para o algoritmo GKA considerando o conjunto de dados imagem_intensidade; (a-c) índice J; (d-f) índice MSE; (g-i) índice XB

Tabela 1: Resultados de segmentação de imagens para o algoritmo GFCMA considerando o conjunto de dados imagem_textura

# 1 2 3 4 5 6

IV mse mse j j xb xb

K m Gmax Np Mp Tempo (s) F() 10 2 10 5 0,025 26,221 0,044 10 2 20 5 0,025 43,688 0,042 10 2 10 5 0,025 20,836 591,725 10 2 20 5 0,025 40,531 571,499 10 2 10 5 0,025 23,045 3,941 10 2 20 5 0,025 45,360 3,941

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

Figura 1: Resultados de segmentação de imagem para o algoritmo GFCMA considerando o conjunto de dados imagem_textura; (a-c) índice J; (d-f) índice MSE; (g-i) índice XB

Tabela 1: Resultados de segmentação de imagens para o algoritmo GFCMA considerando o conjunto de dados imagem_intensidade

1 2 3 4 5 6

IV mse mse j j xb xb

K m Gmax Np Mp Tempo (s) 10 2 10 5 0,025 13,145 10 2 20 5 0,025 24,302 10 2 10 5 0,025 11,254 10 2 20 5 0,025 22,202 10 2 10 5 0,025 13,358 10 2 20 5 0,025 26,289

F() 0,014 0,013 109,282 101,213 153,075 137,907

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

Figura 1: Resultados de segmentação de imagem para o algoritmo GFCMA considerando o conjunto de dados apenas com informações de intensidade dos pixels; (a-c) índice J; (d-f) índice MSE; (g-i) índice XB

Tabela 1: Resultados de segmentação de imagem para o algoritmo PSOKA, considerando o conjunto de dados imagem_textura

IV K W P Vmax C1 = C2 Tempo (s) F() 1 mse 10 0,1 10 2 1,49 51,810 0,092 2 j 10 0,1 10 2 1,49 44,076 798,377 3 xb 10 0,1 10 2 1,49 69,644 443508103,800

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

Figura 1: Resultados de segmentação de imagem para o algoritmo PSOKA considerando o conjunto de dados com informações de textura; (a-c) índice MSE; (d-f) índice J; (g-i) índice XB

Tabela 1: Resultados de segmentação de imagem para o algoritmo PSOKA, considerando o conjunto de dados imagem_intensidade

# 1 2 3

IV K W P Vmax C1 = C2 Tempo (s) F() mse 10 0,1 10 2 1,49 26,843 0,015 j 10 0,1 10 2 1,49 25,425 25,948 xb 10 0,1 10 2 1,49 38,845 166669812,500

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

Figura 1: Resultados de segmentação de imagem para o algoritmo PSOKA considerando o conjunto de dados apenas com informações de intensidade dos pixels; (a-c) índice MSE; (d-f) índice J; (g-i) índice XB

Tabela 1: Resultados de segmentação de imagem para o algoritmo PSOFCM, considerando o conjunto de dados com informações de textura

# 1 2 3

IV K W P Vmax C1 = C2 Tempo (s) F() mse 8 0,1 10 2 1,49 268,418 0,083 j 8 0,1 10 2 1,49 445,997 2250,381 xb 8 0,1 10 2 1,49 49,069 1,198

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

Figura 1: Resultados de segmentação de imagem para o algoritmo PSOFCM considerando o conjunto de dados imagem_textura; (a-c) índice MSE; (d-f) índice J; (g-i) índice XB

Tabela 1: Resultados de segmentação de imagem para o algoritmo PSOFCM, considerando o conjunto de dados imagem_intensidade

# 1 2 3

IV K W P Vmax C1 = C2 Tempo (s) F() mse 10 0,1 10 2 1,49 287,491 0,013 j 10 0,1 10 2 1,49 278,268 93,492 xb 10 0,1 10 2 1,49 41,116 129,125

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

Figura 1: Resultados de segmentação de imagem para o algoritmo PSOFCM considerando o conjunto de dados imagem_intensidade; (a-c) índice MSE; (d-f) índice J; (g-i) índice XB

 Uma

região da imagem com degradê causou comportamento inadequado, contornado com o uso de informações de textura

(a)

(b)

(c)

Figura 1: Comparativo entre a imagem original e alguns resultados com algoritmos PSOKA e PSOFCM

 

Melhores resultados com FCM (embora com maior tempo) Em seg. imagens, AG foi melhor (tempo e análise Algoritmo IV Tempo (s) F() Conjunto de dados: imagem_textura Conjunto de visual)dados: imagem_intensidade
GFCMA GKA PSOFCM PSOKA GFCMA GKA PSOFCM PSOKA GFCMA GKA PSOFCM PSOKA J J J J MSE MSE MSE MSE XB XB XB XB 22,202 101,213 22,628 21,774 278,268 93,492 25,425 25,948 13,145 0,014 24,048 0,014 287,491 0,013 26,843 0,015 26,289 137,907 25,813 190,194 41,116 129,125 38,845 166669812,500 GFCMA GKA PSOFCM PSOKA GFCMA GKA PSOFCM PSOKA GFCMA GKA PSOFCM PSOKA J 40,531 571,499 J 37,428 695,837 J 445,997 2250,381 J 44,076 798,377 MSE 43,688 0,042 MSE 40,710 0,098 MSE 268,418 0,083 MSE 51,810 0,092 XB 23,045 3,941 XB 39,690 8,061 XB 49,069 1,198 XB 69,644 443508103,800

 Critério

de parada de PSO (K-means e FCM) é mais adequado (estabilidade relativa)  PSO encontra valores um pouco mais próximos do ótimo (análise quantitativa), mas a qualidade é menor do que AG (análise qualitativa)  Alto tempo de computação, principalmente considerando PSO  Com maior tempo de computação, resultados ainda mais próximos do ótimo (viabilidade?)  Considerar os resultados de clustering

 Viabilidade

dos algoritmos em ambientes reais?  Imagens do Brainweb foram relativamente úteis (necessidade de imagens reais)  Método de avaliação qualitativa é útil para avaliação supervisionada (necessidade de um método de avaliação não-supervisionada)  Trabalhos posteriores poderiam incluir
 Verificações de implementações paralelas,

em outras plataformas e linguagens de programação (ex.: C++, Java)