Upload
seraphbr
View
465
Download
0
Embed Size (px)
Citation preview
Mestrando Jackson Gomes de SouzaOrientador 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 PSO Considerações finais
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 pixelsConjuntos 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çã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 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
Implementação dos algoritmos usando Matlab
75 padrões
4 classes
0 20 40 60 80 100 1200
20
40
60
80
100
120
140
160Plot do conjunto de dados de teste (Ruspini)
MSEFunçã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)
))(())1((se)1(
))(())1((se)(1
tyftxftx
tyftxftyty
iii
iiii (2.9)
))(()),...,(()),((min,...,,)(ˆ 1010 tyftyftyfyyyty ss (2.10)
))()(ˆ)(())()()(()()1( 2211 txtytrctxtytrctwvtv ijjjijijjijij (2.11)
)1()()1( tvtxtx iii (2.13)
1: Para cada partícula si ,...,1 faça
2: Inicialize aleatoriamente posições da partícula ix
3: Inicialize aleatoriamente (ou atribua zero) a velocidade
da partícula iv
4: ii xy
5: Fim-Para 6: Repita
7: Para cada partícula si ,...,1 faça
8: Avalie a aptidão da partícula i , )( ixf
9: Atualize iy usando (Eq. 2.9)
10: Atualize y usando (Eq. 2.10) 11: Para cada dimensão dNj ,...,1 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 (d) Gray matter (e) White matter (f) Fat (g) Muscle (h) Peal (i) Skull (j) Glial matter (k) Connective (model)
(a)
(b)
(c)
(d)
(e)
(f)
(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 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
(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
# 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
(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
# 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
(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
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
(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
# 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
(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
# 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
(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
# 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
(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 visual)
Algoritmo IV Tempo (s) F()
Conjunto de dados: imagem_intensidade
GFCMA J 22,202 101,213 GKA J 22,628 21,774 PSOFCM J 278,268 93,492 PSOKA J 25,425 25,948
GFCMA MSE 13,145 0,014 GKA MSE 24,048 0,014 PSOFCM MSE 287,491 0,013 PSOKA MSE 26,843 0,015
GFCMA XB 26,289 137,907 GKA XB 25,813 190,194 PSOFCM XB 41,116 129,125 PSOKA XB 38,845 166669812,500
Conjunto de dados: imagem_textura
GFCMA J 40,531 571,499 GKA J 37,428 695,837 PSOFCM J 445,997 2250,381 PSOKA J 44,076 798,377
GFCMA MSE 43,688 0,042 GKA MSE 40,710 0,098 PSOFCM MSE 268,418 0,083 PSOKA MSE 51,810 0,092
GFCMA XB 23,045 3,941 GKA XB 39,690 8,061 PSOFCM XB 49,069 1,198 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 como base para definir parâmetros de seg. de imagens foi uma boa abordagem
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)
Testes com outros índices de validação Clustering dinâmico