6 Segmentação [Modo de Compatibilidade]

54
Image Segmentation © Jorge Salvador Marques, 2008

Transcript of 6 Segmentação [Modo de Compatibilidade]

Page 1: 6 Segmentação [Modo de Compatibilidade]

Image Segmentation

© Jorge Salvador Marques, 2008

Page 2: 6 Segmentação [Modo de Compatibilidade]

Motivation

• segmentation: splits the image domain into regionsinto regions

• each regions should have a semanticmeaning (object)

• in practice: we assume homogeneity

Problem:Find [conected] groups of pixels with similar features (e.g., color, texture)

© Jorge Salvador Marques, 2008

Page 3: 6 Segmentação [Modo de Compatibilidade]

label Imageg

Segmentation can be represented by a label imagemSegmentation can be represented by a label imagem

}{ 110 OJ0 0 0 0 2 0

},...,,{ 110 −∈ OJk

h O i th b f bj t i th i

0 1 1 0 2 2

0 1 1 0 2 2

0 0 0 0 0 2

where O is the number of objects in the image. 0 3 3 3 0 0

0 0 3 3 3 0

Binary segmentation is a special case with O=2.

© Jorge Salvador Marques, 2008

Page 4: 6 Segmentação [Modo de Compatibilidade]

binary segmentation: thresholding

© Jorge Salvador Marques, 2008

Page 5: 6 Segmentação [Modo de Compatibilidade]

binary segmentationy g

thresholding

⎪⎩

⎪⎨⎧

=>

contráriocaso

),(

0

1),(

TnmInmJ

thresholding

⎪⎩ contráriocaso0

histogram

© Jorge Salvador Marques, 2008

Page 6: 6 Segmentação [Modo de Compatibilidade]

Examplep

© Jorge Salvador Marques, 2008

Page 7: 6 Segmentação [Modo de Compatibilidade]

automatic choice of the threshold

Can be done using na histogram of the data by heurisric methods or statistical methods

© Jorge Salvador Marques, 2008

Page 8: 6 Segmentação [Modo de Compatibilidade]

Otsu method (1979)( )

p(I)

22int

2 (T) σ(T)σσ ext+=

222 ))()(())()(()( µTµTPµTµTPTσ ffooext −+−=

TI

)()( 222int TσσTσ ext−=critérion: minimization of variance inside the groups

)()()()()( 222int TσTPTσTPTσ ffoo +=

)()( TPTP fo

)()( 22 TσTσ fo

class probabilities

class variances

© Jorge Salvador Marques, 2008

)( ),( TσTσ fo

Page 9: 6 Segmentação [Modo de Compatibilidade]

Examplep

© Jorge Salvador Marques, 2008

Page 10: 6 Segmentação [Modo de Compatibilidade]

Dificulties

© Jorge Salvador Marques, 2008

Page 11: 6 Segmentação [Modo de Compatibilidade]

region growing

© Jorge Salvador Marques, 2008

Page 12: 6 Segmentação [Modo de Compatibilidade]

region growingg g g

seed

51 52 113 115

53 50 112 111 homogeneity criterion

110 53 109 113

112 113 111 114TInmI <− |),(|

Algorithm

1) region initialization: choose a seed2) test: test if boundary points the homogeneity criterion Tuxxu <− |),(| 21

g

3) grow: enlarge the region with boundary homogeneous points4) update: update the boundary and average intensity5) cicle: go to 2. if some boundary points are not tested .

|),(| 21

© Jorge Salvador Marques, 2008

5) cicle: go to 2. if some boundary points are not tested .

Page 13: 6 Segmentação [Modo de Compatibilidade]

classification of isolated pixels

© Jorge Salvador Marques, 2008

Page 14: 6 Segmentação [Modo de Compatibilidade]

Classification of isolated pixelsp

Th i l t t t i t f l if i h i lThe simplest strategy consists of independently classifying each pixel

MAP classifier

)()|(maxarg )|(maxarg xPxIPxIxPx kx

kkx

k ==

How can we estimate the probability distribution of each type of object?

supervised methods the trainint set is not classifiedunsupervised methods classified training set

© Jorge Salvador Marques, 2008

p g

Page 15: 6 Segmentação [Modo de Compatibilidade]

clustering methodsg

Goal: seek groups of pixels with similar features

O agrupamento é feito no espaço de características (cor movimento textura)

© Jorge Salvador Marques, 2008

O agrupamento é feito no espaço de características (cor, movimento, textura)

Page 16: 6 Segmentação [Modo de Compatibilidade]

Métodos hierárquicosq

Tem associada uma noção de escala.

métodos partitivos – dividem recursivamente o domínio da imagem em regiões cada vez mais pequenas.

métodos agomerativos – associam regiões elementares para formarem regiões maiores com base num critério de homogeneidadehomogeneidade.

© Jorge Salvador Marques, 2008

Page 17: 6 Segmentação [Modo de Compatibilidade]

Métodos aglomerativosg

12

34 dendograma

5

6

7

8 9

1 2 3 4 5 6 7 8 9

inicialização: definir uma colecção de regiões elementares (p.ex., pixels)

1 2 3 4 5 6 7 8 9

ciclo: até se obter um única região- determinar o par de regiões mais próximas e fundi-los

registar num dendograma as regiões associadas e a distância entre elas- registar num dendograma as regiões associadas e a distância entre elas

segmentação: escolher uma distância máxima de fusão e obter os grupos de dados por análise do dendograma

© Jorge Salvador Marques, 2008

Page 18: 6 Segmentação [Modo de Compatibilidade]

Distância entre gruposg p

mindmaxd mind da maxd

||||id

||||max

||||min

max

,min

yxd

yxd

YX

YyXx

−=

−=∈∈

distância do mínimo

distância do máximo

método de ligação simples

método de ligação completa

© Jorge Salvador Marques, 2008

, YyXx ∈∈

Page 19: 6 Segmentação [Modo de Compatibilidade]

Exemplop

método de ligação simples

© Jorge Salvador Marques, 2008

Page 20: 6 Segmentação [Modo de Compatibilidade]

Método de k-Médias

1c

2c

3c

2c

Separar o conjunto de dados X em k subconjuntos disjuntos Xk

Aproximar os dados em cada subconjunto Xk por um centróide ckp j k p k

Critério2|||| icxE −∑∑= problema de optimização

© Jorge Salvador Marques, 2008

|||| iXxi

cxEi

∑∑=∈

problema de optimização

Page 21: 6 Segmentação [Modo de Compatibilidade]

Método de k-Médias (2)( )

Inicialização: escolher valores para os k centróides (p.ex., k observações)

CicloCiclo

classificação: classificar os padrões na classe com centróides mais próximos

actualização: recalcular os centróidesikcxcxXx kii ≠∀−<−∈ |||||||| sse

∑=∈ k

k XxXk xc #1

(se a distância for euclidiana)k

© Jorge Salvador Marques, 2008

Page 22: 6 Segmentação [Modo de Compatibilidade]

Exemplop

d ddados resultados do k-médias

Nota: mostra-se a classe correcta (cor) que não é usada pelo algoritmo de k-medias

© Jorge Salvador Marques, 2008

Nota: mostra se a classe correcta (cor) que não é usada pelo algoritmo de k medias

Page 23: 6 Segmentação [Modo de Compatibilidade]

Aplicação do K-médias p ç

© Jorge Salvador Marques, 2008

Segmentação com o método k-médias no espaço RGB, 9 classes

Page 24: 6 Segmentação [Modo de Compatibilidade]

Aplicação do K-médias (2)p ç ( )

© Jorge Salvador Marques, 2008

Page 25: 6 Segmentação [Modo de Compatibilidade]

Aplicação do K-médias (3)p ç ( )

© Jorge Salvador Marques, 2008

Segmentação com o método k-médias no espaço RGB, 9 classes

Page 26: 6 Segmentação [Modo de Compatibilidade]

Aplicação do K-médias (4)p ç ( )

© Jorge Salvador Marques, 2008

Page 27: 6 Segmentação [Modo de Compatibilidade]

Classificação conjunta de pixels

© Jorge Salvador Marques, 2008

Page 28: 6 Segmentação [Modo de Compatibilidade]

Dependência espacialp p

O ét d t i b i d i i í iOs métodos anteriores baseiam-se em dois princípios:

• estimação das propriedades de cada classe usando métodos de

aprendizagem não supervisionada (métodos de agrupamento)

• classificação independente de cada pixel

Não exploram a dependência espacial: pixels vizinhos são provavelmente da mesma classe.

Como explorar a dependência espacial dos pixels ?

© Jorge Salvador Marques, 2008

Page 29: 6 Segmentação [Modo de Compatibilidade]

Minimização de Energiaç g

E iEnergia

),()( lkk xxExEE ∑+∑=

E(x ) custo de classificar o pixel k no objecto (classe) x

, Vlkk ∈

E(xk) custo de classificar o pixel k no objecto (classe) xk

E(xk,xl) custo de atribuir labels xk,xl a pixels vizinhosV conjunto de pares de pixels vizinhos

Questões:• como obter E ?• como optimizar a energia E ?

© Jorge Salvador Marques, 2008(Energy minimization methods)

Page 30: 6 Segmentação [Modo de Compatibilidade]

Métodos Baseados em Grafos

A minimização de

),()( lkk xxExEE ∑+∑=

A minimização de

, Vlkk ∈

quando xk é uma variável binária tem solução óptima em tempo quase li d é i d i i b d f (G i 1989)linear usando técnicas de optimização baseada em grafos (Greig, 1989).

Essas técnicas podem ser aplicadas (de forma sub óptima) para resolverEssas técnicas podem ser aplicadas (de forma sub-óptima) para resolver problemas em que xk não é binário.

Este é actualmente um tema quente .

© Jorge Salvador Marques, 2008

(procurar mais informação nas páginas de Zabih, Kolmogorov, Boykov)

Page 31: 6 Segmentação [Modo de Compatibilidade]

deformable curves

© Jorge Salvador Marques, 2008

Page 32: 6 Segmentação [Modo de Compatibilidade]

challengeg

how can we detect deformable curves?

© Jorge Salvador Marques, 2008

Page 33: 6 Segmentação [Modo de Compatibilidade]

Snakes

Kass Witkin Terzopoulos 1987Kass, Witkin, Terzopoulos,1987

© Jorge Salvador Marques, 2008

Page 34: 6 Segmentação [Modo de Compatibilidade]

association problemp

what point in the image domain d t h d l i t?corresponds to each model point?P

© Jorge Salvador Marques, 2008

Page 35: 6 Segmentação [Modo de Compatibilidade]

Snake idea

potencial functionx

Energy

dssxαdssxPE |)(| ))(( 2∫+∫= &

© Jorge Salvador Marques, 2008

The minimization of E is a variational calculus problem.

Page 36: 6 Segmentação [Modo de Compatibilidade]

Potencial functions

Potential functions should have valleys at the object boundary

dxduxP −=)(gradient potentialdx

)()( cxGxPCc

−∑−=∈

σCohen potencial σG Gaussian kernel

C – set of boundary points

© Jorge Salvador Marques, 2008

Page 37: 6 Segmentação [Modo de Compatibilidade]

variacional calculus

dsxxsFxIs

),,()(1

&∫=

is used to minimize minimizar integrals

dsxxsFxIs

),,()(0∫

where x(s) na unknown function defined in the interval [s0,s1]

Example: Brachistochrone problem (1696)

Necessáry condition: Euler equation

0=− xdsd

x FF & 0=−++ xxsxxxx FFxFF &&&& &

© Jorge Salvador Marques, 2008

Page 38: 6 Segmentação [Modo de Compatibilidade]

Brachistochrone problemp

Johann Bernoulli presented this challenge in 1969 to the best mathematiciens of that time

Problem:

Given to points A B what is the trajectory of a point acted by the gravity forceGiven to points A, B what is the trajectory of a point acted by the gravity force which starts from A and reaches B in the shortest time?

B

A

NÃO

http://www-history mcs st-and ac uk/HistTopics/Brachistochrone html

© Jorge Salvador Marques, 2008

http://www-history.mcs.st-and.ac.uk/HistTopics/Brachistochrone.html

Hector J. Sussmann and Jan C. Willems, 300 years of Optimal Control: from the brachystochrone to the maximum principle. IEEE Control Systems, pages 32-44, 1997.",

Page 39: 6 Segmentação [Modo de Compatibilidade]

Brachistochrone problemp

2gyv 2=A(x(t),y(t))

conservação da energia

dxydydxds 222 '1)()( +=+=

comprimento de arco

dxdyy ='

B1

dxT ydsB

211 2'+

∫=∫= gyvA

20∫∫

cicloide

© Jorge Salvador Marques, 2008

Page 40: 6 Segmentação [Modo de Compatibilidade]

Euler equation: how to get it?q g

)()()(~ sεηsxsx +=Let x(s) be a solution and let us consider na additive perturbation: )()()( sεηsxsx +

dFIs

)()(1

&&∫

0)()( 10 == sηsη

Let x(s) be a solution and let us consider na additive perturbation:

The integral

dsηεxεηxsFεIs

),,()(0

&& ++∫=

should be minimum for ε=0.

0),,( 0)0(1

=++∫= dsηεxεηxsFdd

ddI s

&& 01

=+∫ dsFηFη xxs

s&&

0εdεd s 0s

Integrating by parts,

[ ] ( ) 0 01

0

1

0

10

1

0

=−∫=∫−+∫ dsFFηdsFηFηdsFη xdsd

xs

sxds

ds

s

ssxx

s

s&&&

© Jorge Salvador Marques, 2008

0=− xdsd

x FF &

Page 41: 6 Segmentação [Modo de Compatibilidade]

Energy minimizationgy

Given the snake energy

dssxαdssxPE |)(| ))(( 2∫+∫= &

the Euler equation is

dP0))(()( =− sx

dxdPsxα && dx

dPFsxαF ext −== )(int &&

equilíbrium of forces)()(int sFxF ext=

)()(),(i tsFtsFtsx +=∂

Dynamic Euler equation

© Jorge Salvador Marques, 2008

),(),(int tsFtsFt ext+=

Page 42: 6 Segmentação [Modo de Compatibilidade]

External force field

u

P=-h*u

© Jorge Salvador Marques, 2008

Page 43: 6 Segmentação [Modo de Compatibilidade]

Discrete Snakes

discrete model nxxx ,...,, 21

energy 21 ||||)()( −−∑+∑= iii xxxPxE α

ii

gradient

)(6)( kkkimgk

xxxFdxdE −+−= α

11

−+ +=

−=

kk xxk

dxdP

img

x

F

2kx

recursion

))()(())(()()1( txtxtxFtxtx kkkimgkk −−+=+ β

© Jorge Salvador Marques, 2008

Page 44: 6 Segmentação [Modo de Compatibilidade]

Examplep

© Jorge Salvador Marques, 2008

Page 45: 6 Segmentação [Modo de Compatibilidade]

work with Jacinto Nascimento

© Jorge Salvador Marques, 2008

Page 46: 6 Segmentação [Modo de Compatibilidade]

Examplep

© Jorge Salvador Marques, 2008

Page 47: 6 Segmentação [Modo de Compatibilidade]

Robustness problemp

what data are valid ?

How to avoid the attraction toward wrong data?

© Jorge Salvador Marques, 2008

Page 48: 6 Segmentação [Modo de Compatibilidade]

solution

Nascimento & Marques, Image and Vision Computing, 2003

Assign a binary label to each visual feature (segment): kj

ki=1

kj=0

© Jorge Salvador Marques, 2008

Visual featurees are segments

Page 49: 6 Segmentação [Modo de Compatibilidade]

Ideal case

(known labels)

Estimation

)(minargˆ iix

xPx ∑=

KkxPkxP jjj

j)1()()( −+∑=

j

Difficulty: how to estimate the curve when the labels are unknown?

EM method

© Jorge Salvador Marques, 2008

EM method

Page 50: 6 Segmentação [Modo de Compatibilidade]

Real case

(unknwon labels)

Adaptive potencialp p

)()( xPwxP jj

ja ∑=

j

)ˆ/1( xykPw jjj == ),/1( xykPw ==

The adaptive potencial is obtained using the EM método for the estimation of parameters with incomplete data.

© Jorge Salvador Marques, 2008

Page 51: 6 Segmentação [Modo de Compatibilidade]

Examplep

Snakes adaptative potential

© Jorge Salvador Marques, 2008

Page 52: 6 Segmentação [Modo de Compatibilidade]

Exemplop

Snakes adaptative potential

© Jorge Salvador Marques, 2008

Page 53: 6 Segmentação [Modo de Compatibilidade]

Exemplop

Snakes adaptative potential

© Jorge Salvador Marques, 2008

Page 54: 6 Segmentação [Modo de Compatibilidade]

Exemplop

© Jorge Salvador Marques, 2008