Os algoritmos de clustering (JAIN; MURTY; FLYNN, 1999) foram desenvolvidos com o objetivo de indentificar grupos de componentes de uma mesma amostra que possuem caracter´ısticas similares. Assim, os algoritmos de clustering, ou os procedimentos adotados pelos algoritmos de clustering, podem ser aplicados na classifica¸c˜ao dos quadros de imagem de uma seq¨uˆencia de v´ıdeo.
Em analogia aos m´etodos vistos anteriormente e introduzindo o jarg˜ao de cluster- ing temos que: classes s˜ao denominadas de clusters; as m´edias de cada cluster s˜ao denotadas como centr´oide e a classifica¸c˜ao ´e efetuada avaliando a menor distˆancia entre o componente em quest˜ao e cada centr´oide.
1. Escolha um n´umero k de clusters.
2. Escolha k pontos iniciais para serem utilizados como estimativas dos centr´oides.
3. Examine cada ponto da s´erie e coloque-o no cluster cujo centr´oide que estiver mais pr´oximo. A posi¸c˜ao do centr´oide ´e recalculada cada vez que um novo ponto ´e adicionado ao cluster.
4. Repita o passo 3 at´e que n˜ao haja mudan¸ca no cluster ou um n´umero m´aximo de passos seja executado.
Figura 4.4: Algoritmo k-Means.
De modo geral, os algoritmos de clustering podem ser enquadrados em duas cate- gorias: hier´arquicas e n˜ao hier´arquicas. Os algoritmos hier´arquicos visam uma classi- fica¸c˜ao que atenda `as especifica¸c˜oes pr´evias, com o menor n´umero de clusters poss´ıvel. Por outro lado, os algoritmos n˜ao hier´arquicos objetivam uma classifica¸c˜ao que atenda `as especifica¸c˜oes pr´e-estabelecidas, com um n´umero determinado de clusters.
A literatura apresenta uma variedade de algoritmos de clustering de prop´ositos gerais ou espec´ıficos. Dentre esses, destacamos o algoritmo n˜ao hier´arquico k-Means (MENASCE; ALMEIDA; DOWDY, 1994; LINDE; BUZO; GRAY, 1980). A Figura 4.4 sumariza o procedimento adotado pelo algoritmo k-Means.
Em nosso trabalho, decidimos pelo uso de um algoritmo baseado no k-Means. In- troduzimos algumas altera¸c˜oes no algoritmo adaptando-o aos nossos objetivos. Op- tamos por um procedimento que possibilita a busca pelo n´umero mais adequado de clusters, partindo de um determinado n´umero k. Assim, se k clusters n˜ao forem suficientes para obten¸c˜ao de uma classifica¸c˜ao na qual todos os cluster possuam um coeficiente de varia¸c˜ao abaixo do limiar desejado, o algoritmo acrescentar´a mais um cluster, repetindo o processo at´e a satisfa¸c˜ao da condi¸c˜ao ou at´e um n´umero m´aximo de vezes.
1. Escolha um n´umero k de clusters.
2. Ordene a seq¨uˆencia e divida em k blocos. Calcule a mediana de cada bloco e utilize cada mediana como estimativa inicial do centr´oide de cada cluster. 3. Examine cada ponto da seq¨uˆencia, inserindo-os ao cluster cujo centr´oide que estiver mais pr´oximo. Estabele¸ca o novo centr´oide do cluster escolhido para atribui¸c˜ao como a m´edia calculada ap´os cada atribui¸c˜ao.
4. Calcule o coeficiente de varia¸c˜ao de cada cluster e determine o coeficiente de varia¸c˜ao m´aximo. Caso o coeficiente de varia¸c˜ao m´aximo seja menor do que o limiar, ou caso o n´umero m´aximo de passos seja executado, termine. Caso contr´ario, divida o cluster com o coeficiente de varia¸c˜ao m´aximo em 2 clusters e recalcule o centr´oide de cada novo cluster.
5. Repita os passos 3 e 4 at´e satisfazer a condi¸c˜ao de t´ermino.
Figura 4.5: Algoritmo k+Means.
de clusters que introduzimos ´e uma caracter´ıstica dos algoritmos hier´arquicos. As- sim, ap´os essas altera¸c˜oes, renomeamos o algoritmo para k+Means, simbolizando a
possibilidade de aumento no n´umero de clusters3.
A Figura 4.5 exibe o algoritmo k+Means. Observe que utilizamos um procedi-
mento similar ao do m´etodo das medianas para inicializa¸c˜ao dos centr´oides.
Nas Figuras 4.6 e 4.7 apresentamos um exemplo num´erico simplificado para o uso do algoritmo k+Means. Para o exemplo, considere uma seq¨uˆencia X , com os valores
mostrados, como entrada do algoritmo. Assuma C como o conjunto de clusters, ck o
cluster k, M o conjunto de centr´oides e mkcomo o centr´oide k. Os valores num´ericos
do exemplo podem ser conferidos passo a passo, de acordo com o algoritmo, conforme exibimos nas figuras.
O resultado do procedimento seguido no exemplo ilustrado nas Figuras 4.6 e 4.7 pode ser visualizado graficamente na Figura 4.8. No gr´afico `a esquerda, exibimos
3Ball e Hall, em (
BALL; HALL, 1965) apud (JAIN; MURTY; FLYNN, 1999), propuseram o algoritmo
ISODATA que ´e uma varia¸c˜ao do k-Means, na qual os clusters podem ser unificados e particionados
na busca de uma classifica¸c˜ao ´otima. Portanto, o algoritmo k+Means pode ser visto tamb´em como
Seja uma seq¨uˆencia X , com limiar l = 0, 2.
X = {11; 5; 20; 23; 12; 4; 14; 16; 8; 15; 22; 6} = {x1; x2; x3; x4; x5; x6; x7; x8; x9; x10; x11; x12}
1. Escolha um n´umero k = 3 de clusters. 2. Ordene a seq¨uˆencia
X0
= {x6; x2; x12; x9; x1; x5; x7; x10; x8; x3; x11; x4}
e divida X0 em k clusters.
C = {c1, c2, c3}
= {(x6; x2; x12; x9); (x1; x5; x7; x10); (x8; x3; x11; x4)}
Calcule a mediana de cada cluster cke utilize a mediana mk, como estimativa
inicial do centr´oide de cada cluster. M = {x2+ x12 2 ; x5+ x7 2 ; x3+ x11 2 } = {5, 5; 13; 21}
3. Examine cada ponto da seq¨uˆencia, inserindo-os ao cluster cujo centr´oide que estiver mais pr´oximo. Estabele¸ca o novo centr´oide do cluster escolhido para atribui¸c˜ao como a m´edia calculada ap´os cada atribui¸c˜ao.
∀x0
i ∈ X0, ∃ ck tal que dk = minj{|x0i− mj|}
atualizando o valor de ck e mk
ck = ck∪ {x0i}
mk =
Σt:xt∈ck xt
kckk
Ap´os a inser¸c˜ao de cada x0
i o novo conjunto de clusters ´e o seguinte:
C0 = {(x6; x2; x12; x9); (x1; x5; x7; x10; x8); (x3; x11; x4)}
M0 = {5, 75; 13, 6; 21, 66}
4. Calcule o coeficiente de varia¸c˜ao de cada cluster C.O.V. = {0, 29; 0, 15; 0, 07} e determine o coeficiente de varia¸c˜ao m´aximo.
C.O.V.max = 0, 29
Caso o coeficiente de varia¸c˜ao m´aximo seja menor ou igual ao limiar, ou caso o n´umero m´aximo de passos seja executado, termine.
C.O.V.max > l
Caso contr´ario, divida o cluster com o coeficiente de varia¸c˜ao m´aximo em 2 clusters e recalcule o centr´oide de cada novo cluster.
Um novo cluster deve ser inserido na posi¸c˜ao 1 e os centr´oides recalculados:
C00 = {(x6; x2); (x12; x9); (x1; x5; x7; x10; x8); (x3; x1; x4)}
M00 = {4, 5; 7; 13, 6; 21, 66}
5. Repita os passos 3 e 4 at´e satisfazer a condi¸c˜ao de t´ermino. Repetindo os passos 3 e 4 mais uma vez temos:
C000 = {(x6; x2; x12); (x9); (x1; x5; x7; x10; x8); (x3; x1; x4)}
M000 = {5; 8; 13, 6; 21, 66} C.O.V.’ = {0, 2; 0; 0, 15; 0, 07} C.O.V.’max = 0, 2
Termina.
Figura 4.7: Exemplo Num´erico do Algoritmo k+Means. Parte II
2 4 6 8 10 12 14 16 18 20 22 24 0 2 4 6 8 10 12 14
Tamanho dos quadros (bits)
Quadros 2 4 6 8 10 12 14 16 18 20 22 24 0 2 4 6 8 10 12 14
Tamanho dos quadros (bits)
Quadros
Cluster 1 Cluster 2 Cluster 3 Cluster 4
Tabela 4.4: Estat´ısticas das classes da seq¨uˆencia dino obtidas pelo M´etodo Baseado em Clustering para 8 clusters.
CLASSE M´EDIA COEFICIENTE DE VARIAC¸~AO 1 2.418 0,18 2 3.756 0,11 3 5.708 0,12 4 8.671 0,12 5 13.378 0,14 6 22.678 0,17 7 43.076 0,14 8 62.194 0,14
a disposi¸c˜ao gr´afica dos pontos da seq¨uˆencia X e `a direita mostramos as m´edias representativas (centr´oides) de cada cluster obtidas ap´os o fim do procedimento. Tabela 4.5: Estat´ısticas das classes da seq¨uˆencia dino obtidas pelo M´etodo Baseado em Clustering – Algoritmo k+Means para 7 clusters.
CLASSE M´EDIA COEFICIENTE DE VARIAC¸~AO 1 2.700 0,19 2 4.326 0,12 3 6.875 0,14 4 10.904 0,15 5 19.177 0,18 6 37.158 0,17 7 59.546 0,15
Utilizando a seq¨uˆencia dino como dado de entrada para a implementa¸c˜ao do k+Means e definindo um coeficiente de varia¸c˜ao de 0,2 como limiar, obtivemos os
resultados expressos na Tabela 4.4. Podemos observar que todos os clusters aten- deram `a especifica¸c˜ao desejada.
Explorando a capacidade do algoritmo k+Means de obten¸c˜ao de um n´umero ade-
quado de clusters que atendem aos requisitos pr´e-determinados, obtivemos os resul- tados mostrados na Tabela 4.5. Apresentamos uma ilustra¸c˜ao gr´afica da classifica¸c˜ao
0 20000 40000 60000 80000 100000 120000 0 5000 10000 15000 20000 25000 30000 35000 40000
Tamanho dos quadros (bits)
Quadros Cluster 1 Cluster 2 Cluster 3 Cluster 4 Cluster 5 Cluster 6 Cluster 7
Figura 4.9: Seq¨uˆencia dino com 7 classes definidas pelo algoritmo k+Means.
efetuada pelo algoritmo k+Means na Figura 4.9. Esses resultados demonstram a pos-
sibilidade de classifica¸c˜ao da seq¨uˆencia dino em 7 clusters com coeficientes de varia¸c˜ao menores que 0,2.