Você está na página 1de 46

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
Artificiais
 Algoritmos
Genéticos
 Inspiração social
ou
comportamental
 Inteligência de
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çãobioló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
análise
 Brainweb: simulador de MRI, ground truth
 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
 75 160
Plot do conjunto de  dados de t este (Ruspini)

padrões 140

 4 classes 120

100

80

60

40

20

0
0 20 40 60 80 100 120
 MSE
 Função de custo J() (K-means ou
FCM)
 Índice SC (partição de clusters)
 Índice S (separação de clusters)
 Índice Xie-Beni
 Indice de Dunn
 Parâmetros
 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)
 Saída
 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: P[0] = Initialize();
2: BEST_TWCV = +Inf;
3: i = 1;
4: 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;
5: }
Tabela 1: Resumo dos melhores e piores resultados de clustering para o algoritmo GKA

IV Aval. K Gmax Np Mp Tempo(s) F()


7 mse min 4 5 5 0,85 0,098 0,091
24 mse min 4 100 50 0,5 19,635 0,091
31 di max 4 5 5 0,5 0,357 0,521
48 di max 4 100 50 0,025 60,866 0,521
55 j min 4 5 5 0,025 0,024 0,807
81 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

IV Aval. K Gmax Np Mp Tempo(s) F()


13 mse min 4 10 5 0,5 0,223 0,090
16 mse min 4 10 5 0,85 0,224 0,090
27 mse min 4 100 50 0,85 22,260 0,090
28 j min 4 5 5 0,025 0,055 4,778
37 j min 4 10 5 0,025 0,114 2,680
38 j min 4 10 20 0,025 0,431 2,670
58 xb min 4 5 5 0,5 0,098 0,843
63 xb min 4 5 50 0,85 0,854 0,825
70 xb min 4 10 5 0,85 0,276 1,920
82 s min 4 5 5 0,025 0,090 0,005
91 s min 4 10 5 0,025 0,168 0,005
105 s min 4 100 50 0,5 15,921 0,005
112 sc min 4 5 5 0,5 0,086 0,464
121 sc min 4 10 5 0,5 0,192 0,363
128 sc min 4 100 20 0,025 7,736 0,362
 Parâmetros
 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
 Saída
 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)
 yi (t ) se f ( xi (t + 1)) ≥ f ( yi (t ))
yi ( t + 1) =  (2.9)
 xi (t + 1) se f ( xi (t + 1)) < f ( yi (t ))

yˆ (t ) ∈ { y 0 , y1 ,..., y s } = min{ f ( y 0 (t )), f ( y1 (t )),..., f ( y s (t ))} (2.10)

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 )) (2.11)

x i (t + 1) = x i (t ) + v i (t + 1) (2.13)
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: y i = xi
5: Fim-Para
6: Repita
7: Para cada partícula i ∈1,..., s faça
8: Avalie a aptidão da partícula i , f ( xi )
9: Atualize y i usando (Eq. 2.9)
10: Atualize ŷ usando (Eq. 2.10)
11: Para cada dimensão j ∈ 1,..., N d faça
12: Atualize a velocidade usando (Eq. 2.11)
13: Fim-Para
14: Atualize a posição usando (Eq. 2.13)
15: Fim-Para
16: 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

IV Stat. K W P Vmax C1=C2 Tempo (s) F()


3 mse min 4 0,1 30 2 1,49 1,857 0,091
16 mse min 4 0,7 5 2 2 0,223 0,091
28 j min 4 0,1 5 2 2 0,108 1,049
37 j min 4 0,7 5 2 1,49 0,125 1,391
48 j min 4 0,7 30 5 2 0,897 0,861
51 xb min 4 0,1 30 2 1,49 1,870 656176133,400
58 xb min 4 0,1 5 5 2 0,335 905349728,200
70 xb 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

IV. Stat. K W P Vmax C1=C2 Tempo(s) F()


1 mse min 4 0,1 5 2 1,49 0,380 0,090
3 mse min 4 0,1 30 2 1,49 2,055 0,090
16 mse min 4 0,7 5 2 2 0,386 0,090
20 j min 4 0,1 10 2 1,49 0,377 2,671
34 j min 4 0,7 5 2 2 0,347 2,673
38 xb min 4 0,1 10 2 1,49 0,442 0,968
52 xb min 4 0,7 5 2 2 0,219 1,333
58 xb min 4 0,7 5 5 2 0,226 1,333
62 s min 4 0,1 10 2 1,49 0,508 0,005
71 s min 4 0,1 10 5 2 0,435 0,005
82 s min 4 0,7 5 5 2 0,590 0,005
86 sc min 4 0,1 10 2 1,49 0,491 0,362
89 sc min 4 0,1 10 2 2 0,48807 0,362
106 sc 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 (a)

 (d) Gray matter


 (e) White matter (b) (c) (d) (e)

 (f) Fat
 (g) Muscle
 (h) Peal (f) (g) (h) (i)

 (i) Skull
 (j) Glial matter
 (k) Connective (model) (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
 Considera os pixels
 imagem_textura
 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 Mp Tempo (s) F()


1 mse 10 10 5 0,025 19,360 0,107
2 mse 10 20 5 0,025 40,710 0,098
3 j 10 10 5 0,025 19,504 1193,152
4 j 10 20 5 0,025 37,428 695,837
5 xb 10 10 5 0,025 19,973 9,765
6 xb 10 20 5 0,025 39,690 8,061
(c)
(a) (b)

(d) (f)
(e)

(g) (i)
(h)
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

# IV K Gmax Np Mp Tempo (s) F()


1 mse 10 10 5 0,025 11,894 0,016
2 mse 10 20 5 0,025 24,048 0,014
3 j 10 10 5 0,025 11,316 19,698
4 j 10 20 5 0,025 22,628 21,774
5 xb 10 10 5 0,025 13,771 225,876
6 xb 10 20 5 0,025 25,813 190,194
(b) (c)
(a)

(e) (f)
(d)

(h) (i)
(g)
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

# IV K m Gmax Np Mp Tempo (s) F()


1 mse 10 2 10 5 0,025 26,221 0,044
2 mse 10 2 20 5 0,025 43,688 0,042
3 j 10 2 10 5 0,025 20,836 591,725
4 j 10 2 20 5 0,025 40,531 571,499
5 xb 10 2 10 5 0,025 23,045 3,941
6 xb 10 2 20 5 0,025 45,360 3,941
(b) (c)
(a)

(e) (f)
(d)

(h) (i)
(g)
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

IV K m Gmax Np Mp Tempo (s) F()


1 mse 10 2 10 5 0,025 13,145 0,014
2 mse 10 2 20 5 0,025 24,302 0,013
3 j 10 2 10 5 0,025 11,254 109,282
4 j 10 2 20 5 0,025 22,202 101,213
5 xb 10 2 10 5 0,025 13,358 153,075
6 xb 10 2 20 5 0,025 26,289 137,907
(b) (c)
(a)

(e) (f)
(d)

(h) (i)
(g)
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
(b) (c)
(a)

(e) (f)
(d)

(h) (i)
(g)
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

# IV K W P Vmax C1 = C2 Tempo (s) F()


1 mse 10 0,1 10 2 1,49 26,843 0,015
2 j 10 0,1 10 2 1,49 25,425 25,948
3 xb 10 0,1 10 2 1,49 38,845 166669812,500
(b) (c)
(a)

(e) (f)
(d)

(h) (i)
(g)
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

# IV K W P Vmax C1 = C2 Tempo (s) F()


1 mse 8 0,1 10 2 1,49 268,418 0,083
2 j 8 0,1 10 2 1,49 445,997 2250,381
3 xb 8 0,1 10 2 1,49 49,069 1,198
(b) (c)
(a)

(e) (f)
(d)

(h) (i)
(g)
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

# IV K W P Vmax C1 = C2 Tempo (s) F()


1 mse 10 0,1 10 2 1,49 287,491 0,013
2 j 10 0,1 10 2 1,49 278,268 93,492
3 xb 10 0,1 10 2 1,49 41,116 129,125
(b) (c)
(a)

(e) (f)
(d)

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

Você também pode gostar