Image Segmentation
© Jorge Salvador Marques, 2008
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
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
binary segmentation: thresholding
© Jorge Salvador Marques, 2008
binary segmentationy g
thresholding
⎪⎩
⎪⎨⎧
=>
contráriocaso
),(
0
1),(
TnmInmJ
thresholding
⎪⎩ contráriocaso0
histogram
© Jorge Salvador Marques, 2008
Examplep
© Jorge Salvador Marques, 2008
automatic choice of the threshold
Can be done using na histogram of the data by heurisric methods or statistical methods
© Jorge Salvador Marques, 2008
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
Examplep
© Jorge Salvador Marques, 2008
Dificulties
© Jorge Salvador Marques, 2008
region growing
© Jorge Salvador Marques, 2008
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 .
classification of isolated pixels
© Jorge Salvador Marques, 2008
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
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)
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
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
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 ∈∈
Exemplop
método de ligação simples
© Jorge Salvador Marques, 2008
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
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
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
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
Aplicação do K-médias (2)p ç ( )
© Jorge Salvador Marques, 2008
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
Aplicação do K-médias (4)p ç ( )
© Jorge Salvador Marques, 2008
Classificação conjunta de pixels
© Jorge Salvador Marques, 2008
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
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)
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)
deformable curves
© Jorge Salvador Marques, 2008
challengeg
how can we detect deformable curves?
© Jorge Salvador Marques, 2008
Snakes
Kass Witkin Terzopoulos 1987Kass, Witkin, Terzopoulos,1987
© Jorge Salvador Marques, 2008
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
Snake idea
potencial functionx
Energy
dssxαdssxPE |)(| ))(( 2∫+∫= &
© Jorge Salvador Marques, 2008
The minimization of E is a variational calculus problem.
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
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
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.",
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
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 &
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+=
∂
External force field
u
P=-h*u
© Jorge Salvador Marques, 2008
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
Examplep
© Jorge Salvador Marques, 2008
work with Jacinto Nascimento
© Jorge Salvador Marques, 2008
Examplep
© Jorge Salvador Marques, 2008
Robustness problemp
what data are valid ?
How to avoid the attraction toward wrong data?
© Jorge Salvador Marques, 2008
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
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
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
Examplep
Snakes adaptative potential
© Jorge Salvador Marques, 2008
Exemplop
Snakes adaptative potential
© Jorge Salvador Marques, 2008
Exemplop
Snakes adaptative potential
© Jorge Salvador Marques, 2008
Exemplop
© Jorge Salvador Marques, 2008
Top Related