10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou...

18
10º CAPÍTULO Segmentação de imagem

Transcript of 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou...

Page 1: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

10º CAPÍTULO

Segmentação de imagem

Page 2: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 2

Segmentação

• Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo obter-se– Áreas com um dado significado semântico, ou

– Conjuntos de pixels de fronteira, ou

– Estruturas de pixels com forma determinada (linhas, círculos, polígonos)

• Porquê realizar a operação de segmentação?– Isolar zonas de interesse, para posterior processamento.

– Mudança de representação da imagem, para um nível hierárquico superior

entrada entradasaída saída

Page 3: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 3

O que é uma região?

• Conjuntos de pixels conexos com ‘propriedades’ homogéneas, relativamente à(s) característica(s) (features) usadas na operação de segmentação

• Regiões adjacentes deverão ser significativamente diferentes, relativamente a essas mesmas features

• As fronteiras das regiões deverão ser suaves

• O interior duma região deverá ser simples, não devendo conter um grande número de buracos

Page 4: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 4

Métodos de clustering

• Clustering– Processo de decompôr (classificar) um conjunto de padrões (vectores de

features) em diferentes subconjuntos, designados por clusters

• Exemplos de features– Intensidade

– Cor

– Textura

– Forma

– Movimento

• Alguns métodos– Algoritmos clássicos: K-médias, Isodata

– Baseados em histogramas: Otsu, Ohlander

– Baseados em partições de grafos: Shi

Page 5: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 5

K-médias / Isodata

K

k Cxki

ki

mxD1

2

K = 6

K = 5

K-m

édia

sIs

odat

a

Objectivo:

Page 6: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 6

Métodos baseados em histogramas• Hipótese

– Os subconjuntos de pixels que originam os diferentes modos do histograma, correspondem a diferentes objectos na cena (caso binário – método de Otsu)

• Vantagem – Métodos deste tipo necessitam de

apenas uma passagem pelos dados

• Exemplo– Algoritmo recursivo de Ohlander

Page 7: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 7

Partição de grafos – algoritmo de Shi• Seja o grafo definido pelo

conjunto de nós V e ligações E– Cada nó representa um ponto no espaço de

features

– Cada ligação tem um peso, w(i,j), que representa o grau de semelhança entre os nós i e j

• Problema da segmentação – Encontrar partições do grafo, tais que as

medidas de semelhança intra-partições sejam elevadas, e as inter-partições baixas

• Caso binário

– Caso M-ário: recursão do algoritmo binário

BvAu

vuwBA,

),(),cut(

VtAu

tuwVA,

),(),asso(

(pesos inversamente proporcionais àdistância entre nós)

),( EVG

Usand

o cu

t

Usand

o Ncu

t

),asso(

),cut(

),asso(

),cut(),Ncut(

VB

BA

VA

BABA

Minimizar Ncut

Page 8: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 8

Exemplo – Escolha da função de pesos

contrário caso 0

)()(se*),( 2

)()()()( 22

rjXiXeejiw XI

jXiXjFiF

• F(i), F(j) são vectores de features, (por exemplo intensidade luminosa)• X(i), X(j) são as correspondentes coordenadas dos pixels i, j

Page 9: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 9

Resultados de segmentação – trabalho de Shi e Malik

original fundo player1

player2 símbolo solo

• Problema de optimização formulado como um problema de cálculo de vectores e valores próprios

Page 10: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 10

Crescimento de região

• Ideias– Começar com uma região de um só pixel (canto superior esquerdo) e ir

agrupando pixels a essa região enquanto as medidas de semelhação forem suficientemente elevadas

– Iniciar uma nova região quando falha

• Critério estatístico

• Actualizar, recursivamente, a média e a medida de dispersão

Rcr

crIN

X),(

),(1

Rcr

XcrIS),(

22 ),(

)1( NyXNX oldnew

2222oldnewnewoldnew XXNXySS

21

22

1

1

SXy

N

NNT

semelhante não

semelhante

τT

T

Page 11: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 11

Representação de regiões• Overlays

• Imagem de labels

• Chain codes

• Quadtrees

Page 12: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 12

Extracção de fronteira

Page 13: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 13

Detecção e seguimento de contornos – algoritmo de Canny

• Ideias chave:• Supressão de não-máximos• Seguimento com histerese

Page 14: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 14

Algoritmo de Canny - Resultados

= 1 = 4

= 1 Roberts

original

original

original = 1 = 2

Page 15: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 15

Transformada de Hough – Extracção de segmentos de recta

Acumulador A(dq,q)

H: imagem 256x256

0cos

sin,

0

0

cc

rr

dc

r

cos

sin,

0

0

(r,c)

(r0,c0)

cos

sin

70

)707(.50)707.(50

)º315cos(50)º315sin(50

d

Exemplo:

cossin crd Equação da recta:

sincos yxd Sistema de coordenadas xy:

ry

cx

x

y

Page 16: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 16

Algoritmo – transformada Hough

Page 17: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 17

ExemploPré-processamento Acumulador

Page 18: 10º CAPÍTULO Segmentação de imagem. 2 Segmentação Objectivo: decompôr uma imagem (ou sequência de imagens) num conjunto de regiões (1d, 2d ou 3d), podendo.

Segmentação de imagem 18

Transformada de Hough Generalizada

• A TH pode ser extendida para qualquer curva com expressão analítica da forma f(x,a) = 0, – x é um vector 2D com as coordenadas de um ponto da curva

– a é um vector de parâmetros

• Algoritmo genérico:

– Inicializar acumulador A(a) a zero

– Por cada pixel x na imagem, determinar valores de a, tais que f(x,a) = 0; incrementar acumulador: A(a) = A(a) + 1

– Máximos locais de A correspondem a curvas f na imagem