SEGMETAÇÃO DE IMAGENS VIA CLUSTERING

 

JYRKO CORREA-MORRIS

 

Resumo. Neste trabalho é apresentado uma metodologia para segmentar imagens digitais a qual está baseada na idéia de combinar resultados individuais obtidos a partir de algoritmos previamente selecionados para desta maneira obter uma segmentação de consenso que é "melhor" que cada uma das segmentações iniciais com respeito a certo critério.

 

1. Introdução

 

Imagens são um dos meios mais importantes para transportar informação. Entender as imagens e extrair informação delas que possa ser utilizada noutras tarefas é um aspecto importante dentro da teoria de aprendizado. Exemplos destas situações são encontrados em robótica, diagnostico medico, etc. Um dos primeiros passos na direção de entender as imagens é segmenta-la com o objetivo de detectar informação importante. As técnicas de segmentação de imagens são aplicadas para dividir a imagem em subgrupos de pixels que constituem regiões duma imagem de saída (i.e., super cies individuais, objetos ou partes naturales dum objeto). Estas regiões devem estar formadas por pixels que compartilhem certas propriedades comuns que são características dos membros de cada uma destas regiões respectivamente. Por tal razão as técnicas de segmentação também podem ser utilizadas em reconhecimento de objetos dentro duma imagem [1, 2], estimação de bordes [2], compresão e edição de imagem [4, 5] entre muitas outras aplicações. As estratégias de segemetação de imagens que são mais abordadas na literatura em geral seguem um dos seguintes três enfoques fundamentais: aqueles baseados em crescimento e diminução de regiões (region growing and shrinking em inglês) [6], aqueles que usam técnicas de agrupamento (clustering) [7] e os destinados a detectar fronteiras [2]. Neste trabalho nós estamos interessados no segundo tipo de enfoque: aquele baseado em técnicas de agrupamento.

Este tipo de enfoque herda muitas das problemáticas presentes no problema de agrupamento: problema para a determinação dum algoritmo correto dada uma representação dos dados, problemas para a determinação duma medida de similaridade, problemas para determinar a forma ou geometria das regiões e quantidade de regiões, problemas para generalizar o conhecimento obtido dum problema especíco, entre muitos outros. Um dos enfoques mais satisfatórios e novos para o problema de agrupamento está baseado na combinação de resultados de algoritmos especcícos para obter um consenso, que na maioria dos casos tem mostrado ser melhor que os resultados individuais. Seguindo esta perspectiva, nós apresentamos uma metodologia de combinação de resultados de segmentação, que na verdade é uma adaptação para o caso de segmentação da metodologia apresentada em [8] para combinar resultados de algoritmos de agrupamento. Este trabalho tem como objetivo ser apresentado como projeto final da matéria Processamento de imagens oferecida pelo professor Dr. Luiz Velho, mostrar a aplicação de muitos dos conceitos visto no curso e difundir entre os estudantes do curso uma das últimas tendências no tratamento do assunto. É importante dizer que a originalidade deste trabalho é bem pouca, ele essencialmente recolhe e faz pequenas adequações das referências [8, 9], ambas deste ano. Eu quero também agradecer ao colega Sandro Vega-Pons quem é o autor principal da primeira referência e co-autor da segunda por toda a ajuda que me brindou e os materiais que me propiciou.

Este trabalho está organizado em 7 seções além da introdução: a segunda seção é dedicada da apresentação tanto do problema como dos passos gerais da metodologia a seguir para resolver-o. Seção 3, 4 e 5 explicam com mais detalhes duas das etapas fundamentais de dita metodologia: avaliação do ensemble e combinação, embora a seção 4 especi camente trate o tema de comparação de partições. Seções 6 e 7 tratam o referente a alguns testes experimentais que ilustram a potencialidade destes método na resolução do problema de segmentação de imagens. Seção 8 é dedicada aos aspectos conclusivos.

 

2. O problema

O objetivo deste trabalho é proporcionar um método de segmentação de imagens digitais. Isto significa que dada uma imagem digital I nós queremos classificar os seus pixels em subgrupos {Ci}, in = 1 atendendo a um certo critério determinado a-priori. Os subgrupos Ci, i = 1,...,n são disjuntos e a sua união é toda a imagem I. Realmente este é um caso particular dum problema muito más geral: o problema de agrupamento ou clustering que é o termo usado na literatura em inglês. Como caso particular que é, ele tem características próprias que devem ser levadas em conta na hora de fazer qualquer modelo para resolver este problema; mas ao mesmo tempo muitos dos desenvolvimentos do problema de agrupamento podem ser adaptados para este problema. Baseados nesta filosofia nós propomos a seguinte metodologia para segmentar uma imagem I

  1. Criação do ensemble. Dada uma imagem I selecionamos uma série de algoritmos de segmentação Aj, j ∈ J os quais respectivamente produzirão uma segmentação Sj da imagem I. Esta familia de imagens E={Sj}j∈ J é o que chamamos de ensemble.

    Observe que nós não impomos nenhuma restrição sobre os algoritmos a serem utilizados. Eles devem ser escolhidos o mais adequadamente quanto possível em acordo com o problema particular que esteja se tratando. Também pode ser usado um mesmo algoritmo com parâmetros diferentes.

  2. Avaliação dos elementos do ensemble. Neste passo nós procuramos aquelas características que são comuns à maioria dos elementos de ensemble e que portanto serão desejáveis no resultado final. Você pode pensar que o ensemble está formado por opiniões de espertos numa temática acerca de como um problema determinado da área deve ser resolvido e que neste segundo passo estamos procurando quais são os aspectos nos que a maioria dos espertos coincidem.

  3. Criação dum ensemble de partições usando superpixels. Um superpixel é um subconjunto de pixels de I que é maximal com respeito a propriedade de estar contido num mesmo segmento (cluster) de cada uma das segmentações Sj, j ∈ J. Isto é, a partir de I (olhada como um conjunto de pixels) nós consideramos um novo conjunto que denotamos por ∧I, cujos elementos são subconjuntos de I: o bem são superpixels de I o bem são pixels unitários que não estão contidos em nenhum superpixel de I. Assim a partir de cada segmentação Sj nós obtemos uma partição Pj do conjunto ∧I. O conjunto de partições Pj, j ∈ J forma um novo ensemble o qual denotamos por ∧E. O uso de superpixels tem duas vantagem fundamentais: No primeiro lugar o tamanho do conjunto base é diminuído consideravelmente ao passar de I para ∧I. Além disso, desta maneira nós garantimos que os pixels que todos os algoritmos coincidem em que pertencem a um mesmo segmento, estejam num mesmo segmento no resultado final.

  4. Combinação. Neste passo combinamos as partições do ensemble ∧E atendendo a um certo critério que leve en conta o análise feito nas etapas anteriores. Freqüentemente é procurada uma partição meia. Assim, é obtida como resultado uma partição P∗.

  5. Transformar a P∗ de ∧I numa segmentação de I.

Uma ilustração da metodologia descrita acima é dada na seguinte figura:

As etapas de avaliação e combinação serão explicadas em seções independentes no que segue.

 

3. Avaliação do ensemble

A idéia é avaliar quanto cada uma das segmetações do ensemble satisfaz um conjunto de propriedades, e atendendo a isto associar a cada segmentação Si um peso ωi, o qual por sua vez deve representar quam importante essa segmentação é dentro do ensemble. Já que nós não temos nenhuma informação de qual segmentação é mais apropriada para um problema específico, nós obedecemos a decisão da maioria. Assim, a uma segmentação que se comporta muito diferente do resto das segmentações do ensemble, nós lhe associamos um peso pequeno, já que provavelmente ela seja uma segmentação ruidosa gerada por algum mecanismo não apropriado. Se pelo contrário, a segmentação tem um comportamento médio, então um peso alto lhe será dado.

As partições serão avaliadas usando medidas de avaliação de segmentações. Cada uma das medidas consideradas será a encarregada de medir o cumprimento de uma certa propriedade. Dada a natureza do problema, um conjunto grande de medidas de avaliação será desejado, onde cada medida seja tão pura quanto possível; isto é, cada medida só mede o um cumprimento de uma única propriedade e cada propriedade é medida por uma única medida de avaliação. A metodologia que nós vamos a propor a continuação é totalmente independente do conjunto de medidas de avaliação a ser utilizado.

Com o objetivo de formalizar a nossa idéia de medida de avaliação nós damos a seguinte definição:

Definition 1 Seja I uma imagem e SI o conjunto de todas as possíveis segmentações de I. Uma medida de avaliação é uma função M:SI →R, onde para cada SSI o número M(S) é interpretado como o grau no qual a segmentação S satisfaz a propriedade representada por M. Além disso, se S,S′SI e M(S) > M(S′) então a segmentação S satisfaz a propriedade medida por M em um maior grau do que S′.

Uma excelente referência para medidas de avaliação de segmentações duma imagem é [10]. Nesse artigo são estudadas as medidas de avaliação de segmentações que estão sendo mais usadas na atualidade, são classificadas e comparadas atendendo a várias características e propriedades importantes.

Suponha que temos um conjunto M={M1,M2,…,Mk} de medidas de avaliação de segmentações, cada uma delas medindo uma propriedade específica. Para cada medida Mi ∈ M, nós computamos mi=[1/(|J|)]∑j ∈ JMi(Sj), e definimos a função φi:SI→ [0,1] por φ(S)=[(Mi(S))/(mi)]. Assim, ∑j ∈ Jφi(Sj)=1 para cada i=1,2,…,k e portanto cada φi pode ser pensada como uma função de distribuição associada a certa variável aleatória discreta Yi. Desta maneira nós podemos definir a entropia de cada medida de avaliação como sendo a entropia (ver [11]) de cada uma das variáveis aleatórias mencionadas acima. Tal entropia está definida por:


H(Mi): = H(Yi)=−

j ∈ J 
φi(Sj)log(φi(Sj))
(1)

onde a H(Yi) denota a entropia de Yi. Usando as propriedades da entropia, nós temos 0 ≤ H(Yi) ≤ log(|J|) e H atinge seu máximo valor quando φi(S1)=φi(S2)=… = φi(S|J|). Daí e usando a continuidade da função H, podemos concluir que enquanto mais parecidos sejam os valores da medida de avaliação Mi, maior será o valor H(Mi), e vice versa. Desta maneira, podemos saber quam significativa é a propriedade medida por Mi e assim saber em que magnitude esta propriedade é desejada no resultado final.

Finalmente, nós assinamos a cada segmentação Sj o peso ωj, o qual representa a sua relevância no ensemble e o qual é dado por:


ωj = k

i=1 
H(Mi)|Mi(Sj)−mi|
(2)

Assim teremos uma magnitude de quam importante é a segmentação Sj dentro do ensemble. Esta informação será usada na etapa de combinação.

 

4. Medindo similaridade entre partições

Para medir a similaridade entre partições, nós nos baseamos na idéia de variáveis ocultas, a qual é uma maneira comum de construir funções kernels [12] para dados estruturados tais como strings, árvores e grafos [13, 14]. Desde que os elementos duma partição dum conjunto X são subconjuntos disjuntos de X, nós vamos considerar como variáveis os subconjuntos de X. Agora que medições vamos fazer para cada uma destas variáveis? Dada uma partição P de X, nós vamos associar um vetor que denotaremos por V(P) o qual tem 2|X|−1 componentes: uma por cada subconjunto S ⊆ X não vazio. Para isto, nós medimos para cada subconjunto S ⊆ X quam significante ele é com respeito à partição P, atendendo a quam parecido ele é a um elemento (cluster) de dita partição. Mais precisamente, nós dizemos que o subconjunto S ⊆ X é significativo com respeito à partição P se existe um cluster C de P tal que a quantidade |S−C|+|C−S| é muito pequena.

Uma primeira proposta para medir a significância dos subconjuntos de X é a função μB:2X×PX→ R dada por


μB(S,P)= {
|S|

|C|
,
Se existe C ∈ P tal que S ⊆ C;
0,
noutro caso.
(3)

Esta medida nós a chamaremos medida básica de significância. Ela é fácil de interpretar e satisfaz as seguintes propriedades:

  1. 0 ≤ μB(S,P) ≤ 1, μB(S,P)→ 0 quando S→∅ e μB(S,P)→ 0 quando S ⊆ C, S→ C para algum C ∈ P. Além disso para uma seqüência S1 ⊆ S2 ⊆ … ⊆ Sn ⊆ … ⊆ C se satisfaz que μB(S1,P) ≤ μB(S2,P) ≤ … ≤ μB(Sn,P) ≤ … ≤ μB(C,P)=1.
  2. Se S=S1∪S2 ⊂ C para algum C ∈ P e S1∩S2=∅, então:
    μB(S,P)= |S|

    |C|
    = |S1|+|S2|

    |C|
    B(S1,P)+μB(S2,P).
  3. Se S1,S2 ⊆ C para algum C ∈ P e |S1|=|S2| então μB(S1,P)=μB(S2,P).

A segunda propriedade nos diz que a significância com respeito à partição P dum subconjunto S ⊆ C, para certo C ∈ P, pode ser medida como a suma das significâncias dos elementos duma partição arbitrária de S, é dizer μB satisfaz uma espécie de σ−aditividade. Esta é a justificativa para só considerar aqueles subconjuntos que estão contidos em algum cluster da partição considerada, já que os outros somente ofereceriam informação redundante e complicariam os cálculos.

A medida básica de significância não é a única maneira de medir a significância dum subconjunto S ⊂ X com respeito à uma partição P. Num problema particular, pode ser que subconjuntos mais grandes sejam mais importantes que os pequenos ou vice versa, então uma medida de significância apropriada poderia incorporar outros aspectos. Desta maneira nós damos a seguinte definição:

Definition 1 Seja X um conjunto de objetos. Uma função μ:2X×PX→ R é uma medida de significância dos subconjuntos S ⊆ X se as seguintes condições são satisfeitas:

  1. μ(S,P) ≥ 0 e é zero se e só se S não está contido em nenhum cluster de P.
  2. ∀C ∈ P, se S1 ⊆ S2 ⊆ C, então μ(S1,P) ≤ μ(S2,P).
  3. ∀S1,S2 ⊆ C ∈ P tais que |S1|=|S2| se tem μ(S1,P)=μ(S2,P).
  4. μ é uma função limitada.

Desta maneira, nós definimos um operador Vμ: PX→ R2|X|−1, P→ Vμ(P), onde cada componente de P corresponde a um subconjunto S de X, e a componente correspondente a S tem o valor μ(S,P). Agora podemos definir a similaridade K entre duas partições P e ˆP de X, como sendo o produto interno de Vμ(P) com Vμ(ˆP). Assim nós obtemos que


K(P,
^
P
 
)=

S ⊆ X 
μ(S,P)μ(S,
^
P
 
).
(4)

Finalmente, só falaremos ao respeito do custo computacional da medida de similaridade definida acima. A primeira vista o custo de calcular a similaridade entre duas partições P e ˆP poderia parecer muito alto desde que a definição involve todos os subconjuntos dum conjunto dado X. Contudo, se olhamos cuidadosamente a definição acima e a definição 4, podemos ver que só aqueles subconjuntos de X que estão contidos tanto nun cluster de P quanto num cluster de ˆP aportam valores não nulos e além disso aqueles que estejam contidos nos mesmos clusters de P e ˆP respectivamente e tenham o mesmo cardinal têm a mesma significância. Basta então calcular todas as intersecções de todos os clusters de P com clusters de ˆP e para cada uma destas intersecções calcular a quantidade de subconjuntos de um cardinal fixo e multiplicar dita quantidade por a significância de um subconjunto qualquer que esteja contido nessa intersecção e tenha esse cardinal. Logo é só somar. Baseados nestes fatos, nós temos a seguinte proposição que brinda uma expressão muito mais útil na prática para computar a similaridade K(P,ˆP) quando a medida de significância usada é a básica.

Lemma 4.2 Seja X um conjunto com n objetos. Sejam P={C1,C2,…,Cs} e ˆP={ˆC1,ˆC2,…,ˆCl} partições X. Então,


(4.3)
B(P,
^
P
 
)=

i,j 
2nij

(

nij2 + nij

ni
^
n
 


)

,
(5)

onde ni= | Ci | , ∧nj= | ∧Cj | e nij= | Ci∩∧Cj | , i=1,s, j=1,l. Em particular,


(4.4)
KμB(P,P)=


2ni

(

1+ 1

ni

)

.
(6)

 

5. Função de consenso

A função de consenso está baseada na partição media, mas neste caso os pesos introduzidos na seção anterior serão considerados. Assim, nós definimos a partição de consenso como sendo uma solução do seguinte problema de otimização:


P∗=arg
max
P ∈ PX 


j ∈ J 
ωj
~
K
 
(P,Pj)
(1)

onde as Pj são as partições obtidas a partir das segmentações do ensemble usando super-pixels, os ωj são os pesos computados mediante o procedimento descrito na seção e ~K é a função de similaridade normalizada associada à medida básica de significância.

Contudo resolver este problema de otimização é um problema muito difícil de resolver diretamente em PX, já que obter uma solução dele involve um gram trabalho combinatório. Por tal motivo, nós consideramos o seguinte problema de otimização em R2|X| o qual é "equivalente" a (1):


~
V
 
(P∗)=arg
max
~V(P) ∈ R2|X| 
 
 
~
V
 
(P),

j ∈ J 
ωj
~
V
 
(Pj)  
 
(2)

Este novo problema de otimização nós sabemos resolver. De fato na esfera unitária de R2|X| ele tem solução única como mostra a seguinte proposição. Por comodidade para os nossos propósitos vamos supor que o vetor j ∈ Jωj~V(Pj) tem norma 1. Em caso contrário só teríamos que dividir pela sua norma o qual só implica um re-escalamento dos pesos, definindo ωj′=[(ωj)/(||∑j ∈ Jωj~V(Pj)||)].

Proposition 5.1 V* = ∑j ∈ Jωj~V(Pj) é uma única solução na esfera unitária do problema de otimização (2).

Uma vez que sabemos qual é a solução do problema de otimização (2), nós poderíamos obter a solução de nosso problema original achando a pre-imagem dessa solução pelo operador ~V. Isto não seria muito difícil, desde que dita solução estivesse na imagem do operador V (isto não vai se cumprir sempre!), se os nossos dados iniciais fossem também vetores do espaço Euclideano, só teríamos que verificar umas poucas condições não muito restritivas. Contudo, para dados estruturados a situação é bem mais difícil. Por tais motivos, nós vamos ter que escolher uma solução aproximada:


^
P
 
=arg
min
P ∈ PX 
||
~
V
 
(P)−V∗||2,
onde
||
~
V
 
(P)−V∗||2 =
~
K
 
(P,P)−2

j ∈ J 
ωj
~
K
 
(P,Pj)+

l,j ∈ J 
ωlωj
~
K
 
(Pl,Pj).
(5)
A

A idéia é definir um processo iterativo para acercarmos à solução real. Nós usaremos para isto a bem conhecida meta-heurística simulated annealing [15]. Algoritmos tradicionais de busca local começam por encontrar uma solução inicial e se uma melhor solução aparece no processo, então a solução atual é trocada por esta nova. Isto significa que a busca termina com um ótimo local o qual necessariamente não é um ótimo global. Uma maneira de controlar isto é permitir que nós nos movamos a uma pior solução duma maneira controlada. Em simulated annealing, este movimentos a soluções piores são controlados por uma função de probabilidade. Isto é, na medida que o processo vai avançando, a probabilidade de ocorrência de tais movimentos a soluções piores decresce e portanto devemos estarmos acercando a uma solução global.

A energia e a temperatura são dois parâmetros importantes no simulated annealing. Esta energia é uma medida é o estado que está sendo analisado e o objetivo deste processo é encontrar um estado com a mínima energia possível. A temperatura é uma parâmetro global que controla os movimentos a estados para os quais a energia cresce. A medida que o processo avança a temperatura devera ir decrescendo fazendo mais difícil mover-se a um estado com maior valor de energia.

Existem alguns aspectos que nós devemos considerar para adaptar os simulated annealing a o nosso problema: a definição de estado inicial, a função de custo (função que computa a energia), a função geradora de vizinhanças e o desenho de annealing schedule, o qual controla a redução de temperatura. Em nosso caso os estados do sistema são partições e queremos portanto começar com uma partição inicial e ir ficando cada vez mais próximos da partição de consenso. Como estado inicial, nós começaremos com a partição do ensemble que minimiza (5). Isto significa que nós começamos com a "melhor" que foi obtida no processo de geração. é claro que a função de energia é também dada por (13). Nós dizemos que duas partições P1 e P2 do conjunto X são vizinhas se existe x ∈ X tal que mudando apropriadamente ele do cluster de P1 ao qual ele pertence a algum outro obtemos P2. Assim, nós definimos a vizinhança duma partição P como


N(P)={P′ ∈ PX : P′é vizinha de P}.

Finalmente, nós usamos um annealing schedule muito simples no qual a temperatura t é decrescida de maneira geométrica, é dizer, ti=βti−1, onde ti é a temperatura do i-ésimo estado do processo e β < 1 é uma constante. De pseudo-code do algoritmo geral, incluindo esta parte de simulated annealing, segue embaixo.

#1Função de Consenso usando Simulated Annealing Notations: P    −Estado atual.

e    −Energia do estado atual.

Pnext   Próximo estado.

enext    −Energia do estado próximo.

P    −Melhor solução atual.

eP    −Energia da melhor solução atual.

k    −Número de iterações.

kMax    −Número máximo de iterações.

eMax    −Umbral para a energia.

neighbor(P)    −Retornar o vizinho de P. I -Conjunto de super-pixels.

P -Ensemble.

Ω -Conjunto dos associadas às partições.

P0= argminP ∈ P ||~V(P)−V||2H ;                //Estado inicial é computado.

P=P0; e=E(P)=||~V(P)−V||2H;          //Inicializações.

P=P; eP=e; k=0;
Pnext=neighbor(P);                         //Selecionar um vizinho.

enext=E(Pnext);                                   //Calcular sua energia.

P=Pnext; eP=enext;                      //Atualizar a melhor solução.
P=Pnext; e=enext;                         //Mudar o estado atual.
t= βt                                               //Atualizar a temperatura.

k=k+1;

retornar P;                                         //A melhor solução

é retornada.



 

6. Experimentação

Nesta seção nós apresentamos alguns experimentos que ilustram o desempenho da metodologia proposta e de outros métodos de combinação. Os experimentos e medidas de avaliação usadas são também detalhados. é importante dizer que os experimentos executados são uma pequena parte de todo um estudo comparativo realizado em [9]. Uma boa idéia é dar uma olhada nessa referência. Mais uma vez agradeço a Sandro pela sua colaboração.

6.1  Bases de dados

Nós usamos as imagens a cor da base de dados da Universidade de Berkeley [15] para fazer a comparação experimental do nosso algoritmo com outros algoritmos do estado del arte. A base de dados de Berkeley é amplamente usada para a avaliação dos métodos de segmentação de imagens e está composta de 300 imagens naturais de 481×321. Para cada imagem na base de dados, nós usamos três segmentadores do estado-da-arte para gerar três ensembles: TBES ensembles, UCM ensemble e TBS & UCM ensembles. Cada ensemble contém dez segmentações obtidas a traves da variação dos valores dos parâmetros dos algoritmos usados para gerar o ensemble. TBES ensemble foi gerado a partir do algoritmo TBES [16], o qual está baseado no principio MDL e tem como parâmetro o nível de quantização (ε). Nós variamos ε = 40, 70, 100, 130, …, 310 para obter as dez segmentações do ensemble. Por a sua parte UCM foi gerado usando um segmentador baseado ultrametric contour map (UCM) [17]. Seu único parâmetro é o umbral l. Nós escolhemos l=0.03, 0.11, 0.19, 0.27, …, 0.74. Finalmente TBS & UCM ensembles foi gerado usando os dois anteriores segmentadores: TBS e UCM. Cinco segmentações foram obtidas com TBS (ε = 40, 100, 160, 220, 280) e o resto com UCM (l=0.03, 0.19, 0.35, 0.50, 0.66).

Para avaliar os resultados das experimentações, nós comparamos as segementações obtidas de cada uma das imagens com as respectivas segmentações feitas por humanos (ground truth). Para fazer dita comparação nós usaremos quatro medidas bem conhecidas, as quais são freqüentemente usadas neste tipo de experimentos: Informação mutua normalizada (NMI) [18], variação de informação (VI) [22], indexe de Rand (RI) [23] e as F-medidas [15].

NMI, RI e as F-medidas são medidas de similaridade que tomam valores no intervalo [0,1], onde o 1 representa uma correspondência perfeita entre a segmentação considerada e o ground truth. Por sua parte, VI é uma medida de disimilaridade que toma valores no intervalo [0,+∞], onde o 0 representa uma correspondência perfeita entre a segmentação considerada e o ground truth. Com o objetivo de fazer as comparações um pouco mais homogêneas, nós mostraremos os valores de 1-NMI, 1-RI e as 1-F-medidas ao invés dos próprios valores de NMI, RI e F-medidas respectivamente. Assim, sempre os menores valores sempre representam as melhores correspondências.

A base de dados de Berkeley provê varias segmentações manuais para cada imagens (i.e., varias ground truths). Por tais motivos, nós usaremos duas estratégias diferentes para avaliar os resultados e obter resultados que sejam o mais objetivos possíveis. primeiramente nós compararemos cada segmentação com aquela ground truth que produz o maior valor de desempenho. Denotaremos este valor por max GT. Em segundo lugar, nós consideramos a media sobre todos os valores de desempenhos produzidos respectivamente por todas as ground truth. Este valor é denotado por med GT.

A Tabela 1 mostra os resultados dos algoritmos com o parâmetro k livre, enquanto na Tabela 2 mostramos os resultados para o parâmetro k fixado.

Table 1: Desempenho do algoritmo com parâmetro k livre

  1-NMI 1-NMI VI VI 1-RI 1-RI 1-F-med. 1-F-med.
Ensemble maxGT medGT maxGT medGT maxGT medGT maxGT medGT
TBES 0.32 0.39 1.58 1.85 0.15 0.22 0.42 0.49
UCM 0.34 0.40 2.06 2.32 0.15 0.21 0.43 0.51
TBC & UCM 0.31 0.37 1.66 1.92 0.14 0.20 0.40 0.47

Table 2: Desempenho do algoritmo com parâmetro k fixado

  1-NMI 1-NMI VI VI 1-RI 1-RI 1-F-med. 1-F-med.
Ensemble maxGT medGT maxGT medGT maxGT medGT maxGT medGT
TBES 0.32 0.39 1.53 1.80 0.15 0.20 0.41 0.48
UCM 0.34 0.40 1.90 2.17 0.15 0.21 0.43 0.51
TBC & UCM 0.30 0.36 1.66 1.93 0.13 0.20 0.38 0.45

 

7. Conclusões

Neste trabalho nós propomos uma metodologia para abordar o problema de segmentação de imagens digitais baseada na combinação de resultados individuais. Dita metodologia consta de várias etapas as quais incluem uma etapa de criação do ensemble mediante a aplicação de qualquer tipo de algoritmos, uma etapa de avaliação de dito ensemble que tenta diminuir o efeito de segmentações ruidosas, uma etapa de pre-processamento que tem como objetivo fundamental lidar com o problema da dimensão dos dados e uma etapa de combinação a qual usa uma função de consenso que é definida a partir dum kernel que compara as similaridades entre as partições. Tanto os desenvolvimentos teóricos quanto os experimentos realizados e outros que foram referenciados nós permitem concluir que esta metodologia é uma alternativa muito viável para atacar o problema de segmentação, na qual ainda existem muitas questões não resolvidas.

 

8. Referências

[1] Roth, V., Lange, T.: Adaptive feature selection in image segmentation. In: Pattern Recognition. DAGM'04, Springer (2004) 9-17.

[2] Agarwal, S., Awan, A., Roth, D.: Learning to detect objects in images via a sparse, part-based representation. IEEE Trans. Pattern Anal. Machine Intell. 26(11) (2004).

[3] D. Martin, C. Fowlkes, and J. Malik. Learning to detect natural image boundaries using local brightness, color, and texture cues. IEEE Trans. Pattern Anal. and Machine Intell., 26(5):530{ 549, (2004).

[4] John G. Daugman. Complete Discrete 2-D Gabor Transforms by Neural Networks for Image Analysis and Compression. IEEE Trans. on Acoustics, Speesh, and Signal Processing. Vol. 36. No. 7. July 1988.

[5] Gao, J.; Kosaka, A.; Kak, A. Interactive color image segmentation editor driven by active contour model. Image Processing, 1999. ICIP 99. Proceedings. 1999 International Conference on, 245 - 249 vol.3, 1999.

[6] Zhuang, X. D. and Mastorakis, N. E. Region shrinking and image segmentation based on the compressing vector eld, MMACTEE'08: Proceedings of the 10th WSEAS International Conference on Mathematical Methods and Computational Techniques in Electrical Engineering, 217{223, 2008.

[7] Suman Tatiraju and Avi Mehta. Image Segmentation using k-means clustering, EM and Normalized Cuts. Technical Report, Department of EECS. University Of California, Irvine.

[8] Sandro Vega-Pons and Jyrko Correa-Morris and José Ruiz-Shulcloper. Weighted partition consensus via kernels, Pattern Recognition, 43(8), 2712-2724, 2010.

[9] L. Franek, D. Duarte Abdala, S. Vega-Pons, X. Jiang. Image Segmentation Fusion using General Ensemble Clustering Methods. In: Proc. (2010).

[10] Hui Zhanga, Jason E. Frittsb and Sally A. Goldmana. Image segmentation evaluation: A survey of unsupervised methods. Computer Vision and Image Understanding Vol. 110(2), 260-280 (2008).

[11] T. M. Cover, J. A. Thomas. Elements of Information Theory 2nd Edition (Wiley Series in Telecommunication and Signal Processing), Wiley-Interscience, 2006.

[12] T. Gartner. kernel for Structured Data, Series in Machine Perception and Arti cial Intelligence, World Scienti c Press, 2008.

[13] H. Kashima, K. Tsuda, A. Inokushi. Marginalized kernels between labeled graphs, in: Proceedings of the Twentieth International Conference on Machine Learning, AAAI Press, 2003, pp. 321-328.

[14] S. Kirkpatrick, C. Gellat, M. Vecchi. Optimization by simulated annealing, in: Science, Vol. 220, 1983, pp. 671-680.

[15] D. Martin, C. Fowlkes, D. Tal, J. Malik. A database of human segmented natural images and its applications to evaluating segmentation algorithms and measuring ecologiacal statistic. In: Proc. ICCV. Vol. 2 (2001) 416-423.

[16] S. Rao, H. Mobahi, A. Y. Yang, S. Satry, Y. Ma. Natural image segmentation with adaptative texture and boundary encoding. In: ACCV (1)(2009) 135-146.

[17] P. Arbelaez, M. Maire, C. Fowlkes, J. Malik. From contour to regions: An empirical evaluation. In: CVPR, IEEE (2009) 2294-2301.

[18] A. Strehl, J. Ghosh. Cluster ensemble- a knowledge reuse framework for combining multiple aprtitions. Journal of Machine Learning Research 3 (2002) 583-617.

[19] V. Singh, L. Mukherjee, J. Peng, J. Xu. Ensemble clustering using semide nite programing with aplications. Mach. Learn. 79 (2010) 177-200.

[20] A. Goder, V. Filkov. Consensus clustering algorithm: Comparision and re nament. Proceedings of ALENEX (2008) 109-117.

[21] P. Wattuya, K. Rothaus, J. S. PraBni, X. Jiang. A randomwalker based approach to combining multiple segmentation. In: Proc. of the 19th Int. Conf. on Pattern Recong. (2008).

[22] M. Meila. Comparing clusterings-an information based distance. Journal of Multivariate Analysis 98 (2007) 873-895.

[23] W. M. Rand. Objetive criteria for the evaluation of clustering methods. Journal of the American Statistical Association 66 (1971) 846-850.