Data Structures and Image Segmentation Luc Brun L.E.R.I., Reims University, France and Walter...
-
Upload
aldous-gardner -
Category
Documents
-
view
214 -
download
0
Transcript of Data Structures and Image Segmentation Luc Brun L.E.R.I., Reims University, France and Walter...
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)