Transcript

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

Contents of the talk

• Hierarchical Data Structures

• Combinatorial Maps

• Combinatorial Pyramids

Regular Pyramids

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

• Stack of successively reduced graphs

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

Formal DefinitionDual Graphs

• Two graphs encoding relationships between regions and segments

Formal DefinitionDual Graphs

• Two graphs encoding relationships between regions and segments

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 ),(:!

Example of Decimation: S:N

Decimation parameters

• Characterisation of non relevant edges(1/2)

d°f = 2

Decimation parameters

• Characterisation of non relevant edges(2/2)

d°f = 1

Decimation Parameter

• Dual face contraction– remove all faces with a degree less than 3

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

Contraction kernels

• Successive decimation parameters form a contraction kernel

Example of Contraction Kernel: S:N

, ,

Example of Contraction kernel

• Removal of redundant edges: Dual contraction kernel

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

Contraction operations

• Preservation of the orientation

1

2

3

4

d

c

b

a

1

2

3

4

d

c

b

a

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=

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)

Conclusion

• Graphs encode efficiently topological features. Combinatorial maps:– Encode the orientation – Provide an implicit encoding of the dual– May be generalised to higher dimension

• Irregular Pyramids overcome the limitations of their regular ancestors

Combinatorial Pyramids


Top Related