Você está na página 1de 8

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE

DEPARTAMENTO DE ENGENHARIA ELTRICA


TOPICOS ESPECIAIS EM INTELIGENCIA ARTIFICIAL
Acadmico: Indira dos Santos Medeiros
Larissi Arajo Da Silva
Docente: Jos Alfredo Ferreira Costa

RELATRIO
COMPRESSO DE IMAGENS COM K-MEANS

NATAL/RN
2017
SUMRIO

1. INTRODUO...................................................................................3

2. PROCEDIMENTO..............................................................................3

3. BASE DE DADOS.............................................................................4

4. EXPERIMENTO.................................................................................5

5. RESULTADOS...................................................................................6

6. CONCLUSO ...................................................................................7

REFERNCIAS..................................................................................7
1. INTRODUO

Em minerao de dados, o algoritmo k-means um mtodo de Clustering que


objetiva particionar n observaes dentre k grupos onde cada observao pertence
ao grupo mais prximo da mdia.
Esse algoritmo foi desenvolvido para resolver o problema da segmentao de
imagens. A ideia fornecer uma classificao de informaes de acordo com os
prprios dados, baseada em anlises e comparaes entre os seus valores
numricos. Assim, o algoritmo fornecer uma classificao automtica sem a
necessidade de superviso humana, ou seja, sem pr-classificao existente. Por
causa desta caracterstica, o K-Means considerado como um algoritmo de
minerao de dados (data mining) no supervisionado.

2. PROCEDIMENTO

Para a realizar o experimento foi utilizado uma sequncia de passos, apresentada


abaixo.
1) Os centrides recebem valores iniciais.

Neste passo os k centrides devem receber valores iniciais. No incio do


algoritmo geralmente escolhem-se os k primeiros pontos da tabela. Tambm
importante colocar todos os pontos em um centride qualquer para que o algoritmo
possa iniciar seu processamento.

2) Gera-se uma matriz de distncia entre cada ponto e os centrides.

Neste passo, calculada a distncia entre cada ponto e os centrides. A parte


que exige mais processamento para os clculos ocorre neste passo, pois se existem
N pontos e k centrides deve se calcular N x k distncias neste passo.

3) Classificar cada ponto de acordo com as suas distncias dos centrides.

Aqui, os pontos so classificados de acordo com sua distncia dos centrides


de cada classe. A classificao funciona assim: o centride que est mais perto deste
ponto vai incorpor-lo, ou seja, o ponto vai pertencer classe representada pelo
centride que est mais perto do ponto. importante dizer que o algoritmo termina se
nenhum ponto mudar de classe, ou seja, se nenhum ponto for incorporado a uma
classe diferente da que ele estava antes deste passo.

4) Clculo dos novos centrides para cada classe.


Nesta etapa, os valores das coordenadas dos centrides so refinados. Para
cada classe que possui mais de um ponto o novo valor dos centrides calculado
fazendo-se a mdia de cada atributo de todos os pontos que pertencem a esta classe.

5) Repetir at a convergncia.

O algoritmo retorna ao passo 2 repetindo iterativamente o refinamento do clculo das


coordenadas dos centrides, at que mais nenhum ponto mude de classe.

3. BASE DE DADOS

A imagem gold_coast_australia foi escolhida como base de dados para este


relatrio, mostrada na figura 1. uma imagem de intensidade, ou seja, consiste
apenas de uma matriz, cujos valores representam intensidades dentro de alguma
faixa. A gold_coast_australia, apresenta valores entre 0 e 255 e a classe uint8,
mostrado na Figura 2.

Figura 1: Imagem utilizada gold_coast_australia


4. EXPERIMENTO

Como foi dito, o algoritmo analisa todos os dados desta tabela e cria
classificaes, isto , o algoritmo indica uma classe (cluster) e diz quais linhas
pertencem a esta classe. A quantidade de classes desejadas deve ser fornecida pelo
usurio. Este nmero de classes que deve ser passado para o algoritmo chamado
de k e dele que vem a primeira letra do nome do algoritmo: K-Means.
O algoritmo compara cada valor de cada linha por meio da distncia e gera as
classes, alm de classificar as ocorrncias. Geralmente, para calcular a que distncia
uma ocorrncia est da outra, utilizada a distncia euclidiana. A maneira de calcular
esta distncia depende da quantidade de atributos da tabela fornecida. Aps o clculo
das distncias o algoritmo calcula centrides para cada uma das classes. Conforme
as iteraes do algoritmo, o valor de cada centride refinado pela mdia dos valores
de cada atributo de cada ocorrncia pertencente a este centride. Com isso, o
algoritmo gera k centrides e coloca as ocorrncias da tabela de acordo com sua
distncia dos centrides.

No MatLab existe uma funo que executa todas esses passos:

B = imresize(A, M, nearest)

Retorna uma matriz que M vezes maior (ou menor) que A. Exemplo:

>> A = imread('eight', 'tif');

>> B = imresize(A, 0.5, 'nearest');

>> imshow(B)
5. RESULTADOS

Os resultados mostrados abaixo foram utilizando a imagem


gold_coast_australia com uma janela 8x8 e alterando o valor de K.
Utilizando a funo resize os resultados so apresentados abaixo:
6. CONCLUSO

Dentro do processamento de imagens, levando em considerao a maneira


como as imagens so processadas digitalmente, encontra-se o processo de
segmentao, que consiste em dividir a imagem em vrias partes de acordo com as
caractersticas dos pontos (pixels). O algoritmo k-means pode ser utilizado de maneira
prtica para resolver esse problema.
De maneira geral, o algoritmo conseguiu convergir rapidamente para o
resultado final. Contudo foi observado que a medida que o K aumenta, o tempo de
computao aumentou bastante. A qualidade da soluo final depende muito do
nmero inicial de segmentos, k, e o tamanho da janela escolhida se 4x4 ou 8x8.

REFERNCIAS

IMAGE segmentation using K-means. Disponvel


em: <https://team.inria.fr/steep/files/2015/03/tp51.pdf>. Acesso em: 18 maio 2017.

KOLOSSOSKI, George. SEGMENTAO DE IMAGENS E ALGORITMO K-


MEANS. 2007. 9 f. Tese (Doutorado) - Curso de Engenharia Eltrica, UFPR, Curitiba,
2007.

Você também pode gostar