Data Structures and Image Segmentation Luc Brun L.E.R.I., Reims University, France and Walter...

57
Data Structures and Image Segmentation Luc Brun L.E.R.I., Reims University, France and Walter Kropatsch Vienna Univ. of

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

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