View
214
Download
0
Category
Preview:
Citation preview
Data Structures and Image Segmentation
Luc Brun
L.E.R.I., Reims University, France
and
Walter Kropatsch
Vienna Univ. of Technology, Austria
Segmentation
• Segmentation: Partition of the image into homogeneous connected components
falseSSPadjSS
jinji
trueSPni
connectedisSni
SX
jiji
i
i
n
ii
2
1
,...,1,)4
,...,1)3
,...,1)2
)1 S1 S2
S3S4
S5
Segmentation
• Problems– Huge amount of data– Homogeneity:
• Resolution/Context dependent
• Needs– Massive parallelism
– Hierarchy
Matrix-Pyramids
• Stack of images with progressively reduced resolution
Level 0
Level 1
Level 2
2x2/4 Pyramid
Level 3
M-Pyramids
• M-Pyramid NxN/q (Here 2x2/4)– NxN : Reduction window. Pixels used to
compute father’s value (usually low pass filter)
– q : Reduction factor. Ratio between the size of two successive images.
– Receptive field: set of children in the base level
M-Pyramids
• NxN/q=1: Non overlapping pyramid without hole (eg. 2x2/4)
• NxN/q<1: Holed Pyramid.
• NxN/q>1: Overlapping pyramid
Regular Pyramids
• Advantages(Bister)– makes the processes independent of the
resolution….
• Drawbacks(Bister) : Rigidity– Regular Grid– Fixed reduction window– Fixed decimation ratio
Irregular Pyramids [Mee89,MMR91,JM92]
• From G=(V,E) to the reduced graph G’=(V’,E’)– Selection of a set of surviving vertices V’V
– Child Parent link Partition of V
– Definition of E’
• Selection of Roots
Stochastic Pyramids
• V’ : Maximum Independent Set
– maximum of• a random variable
– [Mee89,MMR91]
• a criteria of interest– [JM92]
EvvVvVVv ),'('''
EvvVvv ','', 2
Stochastic Pyramids
• Child-Parent link :
– maximum of• a random variable
– [Mee89,MMR91]
• a similarity measure– [JM92]
1 5 10 8
6 20 9 6
15 11 3 9
13 7 10 21
EvvVvVVv ),'('''
Stochastic Pyramids
• Selection of surviving edges E’– Two father are joint if they have adjacent
children
Stochastic Pyramids
• Selection of Roots:
– Restriction of the decimation process by a class membership function [MMR91]
– contrast measure with legitimate father exceed a threshold [JM92]
Stochastic Pyramid [MMR91]
• Restriction of the decimation process : Class membership function
otherwize
mergemayvvifvv
E
0
,1),(
1,0
2121
Stochastic Pyramids
• Advantages– Purely local Processes [Mee89]– Each root corresponds to a connected
region[MMR91]
• Drawback – Rough description of the partition
Formal DefinitionsEdge Contraction
Identify both vertices
Remove the contracted edge
Given an edge to be contracted
Dual Graphs
• Advantages (Kropatsch)[Kro96]– Encode features of both vertices and faces
• Drawbacks [BK00]– Requires to store and to update two data
structures• Contraction in G Removal in G
• Removal in G Contraction in G
Decimation parameter
• Given G=(V,E), a decimation parameter (S,N) is defined by (Kropatsch)[WK94]:– a set of surviving vertices SV– a set of non surviving edges NE
• Every non surviving vertex is connected to a surviving one in a unique way:
NsvSsSVv ),(:!
Decimation Parameter
• Edge contraction: Decimation parameter (S,N) – Contractions in G– Removals in G
• Dual face contraction : Dual Decimation parameter– Contractions in G– Removals in G
Decimation parameter
Characterisation of redundant edges requires the dual graph
Dual graph data structure (G,G)
Decimation Parameter
• Advantages– Better description of the partition
• Drawbacks– Low decimation Ratio
Contraction Kernels
Given G=(V,E), a Contraction kernel (S,N) is defined by:– a set of surviving vertices SV– a set of non surviving edges NE
Such that:– (V,N) is a forest of (V,E)– Surviving vertices S are the roots of the trees
Hierarchical Data Structures / Combinatorial Maps
• M-Pyramids•Overlapping Pyramids• Stochastic Pyramids• Adaptive Pyramids• Decimation parameter• Contraction kernel
Combinatorial Maps Definition
• G=(V,E) G=(D,,)– decompose each edge into two half-
edges(darts) :
2
3-3 4
-4
5
-5
-2
6-6
1
-1
bbb 6,...,1,1,...,6
6,65,54,43,32,21,1
- : edge encoding
D ={-6,…,-1,1,…,6}
Combinatorial Maps Definition
• G=(D,, ) : vertex encoding
)6,2,1)(5,6,4)(5,4,3)(2,3,1(
*(1)=(1,*(1)=(1,3*(1)=(1,3,2)
12
-1
3-3 4
-4
5
-5
-2
6-6
Combinatorial MapsProperties
• Computation of the dual graph :– G=(D,,) G=(D, = , )
• The order defined on induces an order on
)5,4)(2,3,5,6)(6,4,3,1)(2,1(
*(-1)=(-1,*(-1)=(-1,3*(-1)=(-1,3,4*(-1)=(-1,3,4,6)
1
5-5 -4
-3
-6 6
2
-2
-1
4
3
Combinatorial MapsProperties
• Computation of the dual graph :– G=(D,,) G=(D, = , )
)5,4)(2,3,5,6)(6,4,3,1)(2,1(
*(-1)=(-1,*(-1)=(-1,3*(-1)=(-1,3,4*(-1)=(-1,3,4,6)
1
-1
2
3-3 4
-4
5
-5
-26
-6
Combinatorial MapsProperties
• Summary– The darts are ordered around each vertex and
face• The boundary of each face is ordered • The set of regions which surround an other one is
ordered
– The dual graph may be implicitly encoded– Combinatorial maps may be extended to higher
dimensions (Lienhardt)[Lie89]
Combinatorial Maps/Combinatorial Pyramids
• Combinatorial Maps•Computation of Dual Graphs•Combinatorial Maps properties•Discrete Maps
[Bru99]http://www.univ-st-etienne.fr/iupvis/color/Ecole-Ete/Brun.ppt
Removal operation
• G=(D,, )– dD such that d is not a bridge
• G’=G\ *(d)=(D’, ’, )
dd
dd
ddddDd
1
1
11
'
'
''','
d -d
d1
d d 1
d
Removal Operation
• Example
-1
3-3 4
-4
5
-5
-2
6-6
12
-1
3-3 4
-4
-2
6-6
12
456'
354'
'''6,4'
ddDd
d=5
Contraction operations
• G=(D,, )– dD such that d is not a self-loop
• G’=G/*(d)=(D’, ’, )
dd
dd
ddddDd
1
1
11
'
'
''','
d -d
d1
d d 1
d
d d 1
d d1
Basic operationsImportant Property
-1
3-3 4
-4
-2
6-6
12
-4
-3
-6 6
2
-2
-1
4
3
-1
3-3
4
-4
5
-5
-2
6-6
12
d=5
d=5
removal
contraction
• The dual graph is implicitly updated
1
5-5 -4
-3
-6 6
2
-2
-1
4
3
Contraction Kernel
• Given G=(D,, ), KD is a contraction kernel iff:– K is a forest of G
• Symmetric set of darts ((K)=K)
• Each connected component is a tree
– Some surviving darts must remain• SD=D-K
Contraction Kernel
• Example1 2 3
4 5 6
7 8 9
10 11 12
13 14 15 16
17 18 19 20
21 22 23 24
K=
10,21,17,13,1*
Contraction Kernel
• How to compute the contracted combinatorial map ?– What is the value of ’(-2) ?1 2
413 14 15
-2-1 2
4
13
1415
-2
13122' 2 12
Contraction Kernel
• How to compute the contracted combinatorial map ?– What is the value of ’(-2) ?1 2
4
13 14 15
-2-1
-13
17
7
2
414
15
-217
7
171322' 3
Contraction Kernel
• Connecting Walk– Given G=(D,, ) , KD and SD=D-K– If d SD, CW(d) is the minimal sequence of non
surviving darts between d and a surviving one.
• The connecting walks connect the surviving darts.
SDdNIpMinn
withddddCWSDd p
n
*
1...)(
Contraction Kernel
• Connecting Walk1 2 3
4 5 6
7 8 9
10 11 12
13 14 15 16
17 18 19 20
21 22 23 24
-2-1
CW(-2)=-2.-1.13.17.21.10
Contraction Kernel
• CW(-2)=-2,-1,13,17,21,10
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15 16
17 18 19 20
21 22 23 24
-2-1
2
3
5 6
8 9
11 12
15 16
19 20
23 24
-2
18
14
22
7
4
112' -11
-11
Contraction Kernel
• Construction of the contracted combinatorial map.– For each d in SD
• compute d’: last dart of CW(-d)’(-d)=(d’)’(d)=’(-d) = (d’)
3
11
2
5 6
8 9
12
15 16
19 20
23 24
-2
18
14
22
7
4
Extensions(1/2)
• Dual contraction kernel– Replace by
• Successive Contraction kernels with a same type– Concatenation of connecting walks
Extensions(2/2)
• Successive contraction kernels with different types– From connecting walks to Connecting Dart
Sequences
• Label Pyramids: – for each dart encode
• Its maximum level in the pyramid (life time)
• How its disappear (contracted or removed)
Recommended