reconhecimento de padrões segmentação

38
Reconhecimento de Padrões Segmentação David Menotti, Ph.D. www.decom.ufop.br/menotti Universidade Federal de Ouro Preto (UFOP) Programa de Pós-Graduação em Ciência da Computação (PPGCC)

Upload: bethany-ellison

Post on 01-Jan-2016

30 views

Category:

Documents


0 download

DESCRIPTION

Universidade Federal de Ouro Preto (UFOP) Programa de Pós-Graduação em Ciência da Computação (PPGCC). Reconhecimento de Padrões Segmentação. David Menotti, Ph.D. www.decom.ufop.br/menotti. Objetivos. Introduzir os conceitos básicos de segmentação de imagens Limiarização Regiões Clustering - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Reconhecimento de Padrões Segmentação

Reconhecimento de Padrões

Segmentação

David Menotti, Ph.D.www.decom.ufop.br/menotti

Universidade Federal de Ouro Preto (UFOP)Programa de Pós-Graduação em Ciência da Computação (PPGCC)

Page 2: Reconhecimento de Padrões Segmentação

Objetivos

• Introduzir os conceitos básicos de segmentação de imagens– Limiarização– Regiões– Clustering– Movimento

Page 3: Reconhecimento de Padrões Segmentação

Segmentação

• Subdivide a imagem em partes ou objetos constituintes.

• O nível até o qual essa subdivisão deve ser realizada depende do problema sendo resolvido.

• A segmentação é uma das tarefas mais difíceis em visão computacional. Se ela falha, a maioria dos processos subsequentes estará comprometido.

Page 4: Reconhecimento de Padrões Segmentação

Segmentação

• Os algoritmos de segmentação para imagens monocromáticas são geralmente baseados em uma das propriedades básicas:– Descontinuidade e similaridade

Page 5: Reconhecimento de Padrões Segmentação

Limiarização

• Consiste em separar regiões de uma imagem quando esta apresenta duas classes:– Fundo e objeto (background, foreground)

Page 6: Reconhecimento de Padrões Segmentação

Limiarização

• A maneira obvia de extrair objetos é selecionar um limiar T que separe os dois grupos.

• Então, para cada ponto (x,y) tal que f(x,y) > T é denominado ponto do objeto, caso contrario, fundo

• Nesse caso, T depende apenas de f(x,y) e portanto é conhecida como limiarização global.

Tyx

Tyxyxg

,f se 0

,f se 1,

Page 7: Reconhecimento de Padrões Segmentação

Limiarização

• Exercício– Segmentar imagens usando o método de

Otsu.• level = graythresh(I)• It = im2bw(I,level)

Page 8: Reconhecimento de Padrões Segmentação

Limiarização

• Exercício– Segmentar imagens usando o método de

Otsu.• level = graythresh(I)• It = im2bw(I,level)

Page 9: Reconhecimento de Padrões Segmentação

Limiarização

function MSER(file)

img=imread(file);

for(i=0:255)

ima=img;

ima(img>=i) = 255; ima(img<i) = 0;

imt(:,:,i+1) = ima;

end

idV=VideoWriter('imagem.avi');

open(idV);

for(i=1:256)

writeVideo(idV,uint8(imt(:,:,i)));

end

close(idV);

Page 10: Reconhecimento de Padrões Segmentação

Limiarização Adaptativa

• Resultados satisfatórios são obtidos com a limiarização global.

• Mas...

Page 11: Reconhecimento de Padrões Segmentação

Limiarização Adaptativa

• Porém em alguns casos, mais de um limiar deve ser utilizado.

• Algoritmos: Janela/Cauda

Page 12: Reconhecimento de Padrões Segmentação

Limiarização Adaptativa

• A limiarização adaptativa seleciona um limiar individual para cada pixel baseado no alcance da intensidade estimado em sua vizinhança local.

• Isso permite uma melhor limiarização quando não existem cumes bem definidos.

Page 13: Reconhecimento de Padrões Segmentação

Limiarização Adaptativa

• Mecanismo para limiarização adaptativa– A imagem original é dividida em sub-imagens– Um limiar é determinado independentemente

para cada região

– Cada imagem Ri é então processada usando um limiar local

– Uma nova imagem R’ = U Ri

Page 14: Reconhecimento de Padrões Segmentação

Segmentação por Regiões

• Seja R a região completa de uma imagem. Pode-se imaginar a segmentação como um processo de dividir R em n regiões R1, R2, ..., Rn, tal que:

• onde que P(Ri) é um predicado lógico (ex: todos os pixels possuem a mesma intensidade) sobre os pontos do conjunto R i e 0 é o conjunto vazio.

FRRP

VRP

RR

RR

ji

i

ji

i

n

i

)(

)(

01

Page 15: Reconhecimento de Padrões Segmentação

Segmentação – Quadtree Decomp.

I = imread('liftingbody.png');S = qtdecomp(I,.27);blocks = repmat(uint8(0),size(S));

for dim = [512 256 128 64 32 16 8 4 2 1]; numblocks = length(find(S==dim)); if (numblocks > 0) values = repmat(uint8(1),[dim dim numblocks]); values(2:dim,2:dim,:) = 0; blocks = qtsetblk(blocks,S,dim,values); endend

blocks(end,1:end) = 1;blocks(1:end,end) = 1;

imshow(I), figure, imshow(blocks,[])

Page 16: Reconhecimento de Padrões Segmentação

Segmentação por Regiões

• Agregação de pixels– Agrupa pixels ou sub-regiões em regiões

maiores.– Começa com um conjunto de pontos,

chamados sementes, e a partir deles, cresce as regiões anexando a cada ponto semente aqueles pixels que possuam propriedades similares

• Nível de cinza, textura, cor.

Page 17: Reconhecimento de Padrões Segmentação

Segmentação por Regiões

0 0 5 6 7

1 1 5 8 7

0 1 6 7 7

2 0 7 6 6

0 1 5 6 5

Sementes

Propriedade P: Diferença absoluta entre os níveis de cinza daqueles entre o pixel e semente deve ser menor que T

0 0 5 6 7

1 1 5 8 7

0 1 6 7 7

2 0 7 6 6

0 1 5 6 5

T=3

Note que qualquer semente levariaao mesmo resultado.

Desvantagens:-Seleção das sementes-Seleção da propriedade P

Page 18: Reconhecimento de Padrões Segmentação

Agregação

Menotti et al 2004

Page 19: Reconhecimento de Padrões Segmentação

Clustering

• Existem basicamente dois tipos de clustering:– Divisive

• A imagem é vista como um cluster, e então são feitas divisões sucessivas.

– Segmentação por regiões.

– Agglomerative• Cada pixel é visto como um cluster, e clusters são

unidos recursivamente até formarem um bom cluster.

Page 20: Reconhecimento de Padrões Segmentação

Clustering

• Parâmetro a definir– Número de clusters.– Geralmente não se conhece a priori o número

de clusters que existem na imagem.

Page 21: Reconhecimento de Padrões Segmentação

Clustering

• Uma coleção de objetos que são similares entre si, e diferentes dos objetos pertencentes a outros clusters.

• Isso requer uma medida de similaridade.

• No exemplo anterior, a similaridade utilizada foi a distância.– Distance-based Clustering

Page 22: Reconhecimento de Padrões Segmentação

k-Means Clustering

• É a técnica mais simples de aprendizagem não supervisionada.

• Consiste em fixar k centróides (de maneira aleatória), um para cada grupo (clusters).

• Associar cada indivíduo ao seu centróide mais próximo.

• Recalcular os centróides com base nos indivíduos classificados.

Page 23: Reconhecimento de Padrões Segmentação

Algoritmo k-Means

1. Determinar os centróides

2. Atribuir a cada objeto do grupo o centróide mais próximo.

3. Após atribuir um centróide a cada objeto, recalcular os centróides.

4. Repetir os passos 2 e 3 até que os centróides não sejam modificados.

Page 24: Reconhecimento de Padrões Segmentação

k-Means – Um Exemplo

Objetos em um plano 2D

Page 25: Reconhecimento de Padrões Segmentação

k-Means – Um Exemplo

Passo 1:Centróides inseridos aleatoriamente

Page 26: Reconhecimento de Padrões Segmentação

k-Means – Um Exemplo

Passo 2: Atribuir a cada objeto o centróide mais próximo

Page 27: Reconhecimento de Padrões Segmentação

k-Means – Um Exemplo

Passo 3: Recalcular os centróides

Page 28: Reconhecimento de Padrões Segmentação

k-Means – Um Exemplo

Impacto da inicialização aleatória.

Page 29: Reconhecimento de Padrões Segmentação

k-Means – Um Exemplo

Impacto da inicialização aleatória

FronteiraDiferente

Page 30: Reconhecimento de Padrões Segmentação

k-Means – Inicialização

• Importância da inicialização.

• Quando se têm noção dos centróides, pode-se melhorar a convergência do algoritmo.

• Execução do algoritmo várias vezes, permite reduzir impacto da inicialização aleatória.

Page 31: Reconhecimento de Padrões Segmentação

k-Means – Um Exemplo

4 Centróides

Page 32: Reconhecimento de Padrões Segmentação

Movimento

• O movimento é uma poderosa pista usada pelos seres humanos e animais para a extração de um objeto de interesse de um fundo de detalhes irrelevantes.

• Abordagem básica– A abordagem mais simples para a detecção

de mudanças entre dois quadros de imagem f(x,y,ti) e f(x,y,tj) tomados em instantes ti e tj, respectivamente, é através da comparação de imagens pixel a pixel.

Page 33: Reconhecimento de Padrões Segmentação

Movimento

• Essa abordagem pode ser aplicada quando a iluminação é relativamente constante.

• Além de objetos em movimento, a imagem da diferença pode contar com pequenos ruídos e objetos que se movem vagarosamente.

contrario caso0

|),,(),,(|se1),( ji

ij

tyxftyxfyxd

Page 34: Reconhecimento de Padrões Segmentação

Movimento

• Subtração do fundo– Fazer a média (mediana) de várias imagens

afim de criar uma aproximação do fundo.– Subtrair os quadros subsequentes desta

aproximação.– Objetos que não fazem parte do fundo da

cena apareceram como resultado desta operação de segmentação.

Page 35: Reconhecimento de Padrões Segmentação
Page 36: Reconhecimento de Padrões Segmentação

Movimento

Page 37: Reconhecimento de Padrões Segmentação

Segmentação – Estado da Arte

Farabet, et al 2012

Page 38: Reconhecimento de Padrões Segmentação

Referencias• D Menoti, D Borges, A de Albuquerque Araújo

Statistical hypothesis testing and wavelet features for region segmentation(CIARP 2004) Progress in Pattern Recognition, Image Analysis and Applications, 671-678

• Clément Farabet, Camille Couprie, Laurent Najman, Yann LeCun Learning Hierarchical Features for Scene LabelingIEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), in press, 2012.