• date post

11-Mar-2018
• Category

## Documents

• view

225

3

Embed Size (px)

### Transcript of Map Edit Distance vs. Graph Edit Distance for Matching · PDF fileMap Edit Distance vs. Graph...

• Map Edit Distance vs. Graph Edit Distancefor Matching Images

Camille Combier, Guillaume Damiand and Christine Solnon

LIRIS, INSA de Lyon / CNRS

GbR 2013

1/22

• Motivations

Overview of the talk:

1 Motivations

2 Recalls on Generalized Maps

3 Extension of the Map Edit Distance to Labelled Maps

4 Experimental Comparison

5 Conclusion

2/22

• Motivations

Motivations

Why matching images ?

Recognize objects in images

Reconstitute 3D models from 2D images

. . .

How to match regions (or interest points) of two different images ?

Local approaches: Match each region/point with the most similar one Relationships between regions are not exploited

Global approaches (e.g. RANSAC): Consider rigid transformations Not tolerant to deformations

Graph-based approaches Able to exploit relationships while being tolerant to deformations

3/22

• Motivations

From Graph Edit Distances to Graph Matchings

Definition of the Graph Edit Distance:

d(G1,G2) = minimum cost sequence of edit op. to transform G1 into G2

Edit operations = deletion/insertion/substitution of vertices and edges

Example:

Del a, fDel (a, b), (a, f ), (f , g), (h, e)Subs b 1, c 2, d 3, . . .Ins 9Ins (4, 2), (8, 9), (7, 9)

9

a b c

d e

f g h i

j

1 2

3 4

5 6 7

8

Matching derived from an edit sequence:

v1 is matched with v2 iff v1 is substituted with v2 Ex.: Matching = {(b,1), (c,2), (d ,3), (e,4), (g,5), (h,6), (i ,7), (j ,8)}

4/22

• Motivations

From Graph Edit Distances to Graph Matchings

Definition of the Graph Edit Distance:

d(G1,G2) = minimum cost sequence of edit op. to transform G1 into G2

Edit operations = deletion/insertion/substitution of vertices and edges

Example:

Del a, fDel (a, b), (a, f ), (f , g), (h, e)Subs b 1, c 2, d 3, . . .Ins 9Ins (4, 2), (8, 9), (7, 9)

j

2

3 4

5 6 7

8 9

a b c

d e

f g h i

1

Matching derived from an edit sequence:

v1 is matched with v2 iff v1 is substituted with v2 Ex.: Matching = {(b,1), (c,2), (d ,3), (e,4), (g,5), (h,6), (i ,7), (j ,8)}

4/22

• Motivations

From Graph Edit Distances to Graph Matchings

Definition of the Graph Edit Distance:

d(G1,G2) = minimum cost sequence of edit op. to transform G1 into G2

Edit operations = deletion/insertion/substitution of vertices and edges

Example:

Del a, fDel (a, b), (a, f ), (f , g), (h, e)Subs b 1, c 2, d 3, . . .Ins 9Ins (4, 2), (8, 9), (7, 9)

j

2

3 4

5 6 7

8 9

a b c

d e

f g h i

1

Matching derived from an edit sequence:

v1 is matched with v2 iff v1 is substituted with v2 Ex.: Matching = {(b,1), (c,2), (d ,3), (e,4), (g,5), (h,6), (i ,7), (j ,8)}

4/22

• Motivations

Graphs vs Generalized Maps

Graphs model binary relations Proximity of interest points, Adjacency of regions, . . .But not the topology of the subdivision of the plane into facesGeneralized maps model the topology of the subdivision of a nD spacein cells: 0D vertices, 1D edges, 2D faces, 3D volumes, . . .

Example:

This two graphs are isomorphic. . . but not the corresponding maps

Question addressed in this work:Can we better match image regions by using maps instead of graphs?

5/22

• Recalls on Generalized Maps

Overview of the talk:

1 Motivations

2 Recalls on Generalized Maps

3 Extension of the Map Edit Distance to Labelled Maps

4 Experimental Comparison

5 Conclusion

6/22

• Recalls on Generalized Maps

From plane graphs to generalized mapsDefinition: nD generalized map M = (D, 0, . . . , n)

D = finite set of dartsi , i is an involution on Di ,j i + 2, i j is an involution on D

Example:Graph:

2G-map:

Involutions:

a b c d e f g h i j k l m n0 h c b e d g f a j i l k n m

1 b a d c f e h g n k j m l i2 a b c i j f g h d e k l m n

Notation:d is i-free if i(d) = d (ex: a is 2-free)d is i-sewn with d if i(d) = d 6= d (ex: a is 0-sewn with h) 7/22

• Recalls on Generalized Maps

From plane graphs to generalized mapsDefinition: nD generalized map M = (D, 0, . . . , n)

D = finite set of dartsi , i is an involution on Di ,j i + 2, i j is an involution on D

Example:Graph:

2G-map:

Involutions:

a b c d e f g h i j k l m n0 h c b e d g f a j i l k n m1 b a d c f e h g n k j m l i

2 a b c i j f g h d e k l m n

Notation:d is i-free if i(d) = d (ex: a is 2-free)d is i-sewn with d if i(d) = d 6= d (ex: a is 0-sewn with h) 7/22

• Recalls on Generalized Maps

From plane graphs to generalized mapsDefinition: nD generalized map M = (D, 0, . . . , n)

D = finite set of dartsi , i is an involution on Di ,j i + 2, i j is an involution on D

Example: Graph: 2G-map:

Involutions:

a b c d e f g h i j k l m n0 h c b e d g f a j i l k n m1 b a d c f e h g n k j m l i2 a b c i j f g h d e k l m n

Notation:d is i-free if i(d) = d (ex: a is 2-free)d is i-sewn with d if i(d) = d 6= d (ex: a is 0-sewn with h)

7/22

• Recalls on Generalized Maps

From plane graphs to generalized mapsDefinition: nD generalized map M = (D, 0, . . . , n)

D = finite set of dartsi , i is an involution on Di ,j i + 2, i j is an involution on D

Example: Graph: 2G-map:

Involutions:

a b c d e f g h i j k l m n0 h c b e d g f a j i l k n m1 b a d c f e h g n k j m l i2 a b c i j f g h d e k l m n

Notation:d is i-free if i(d) = d (ex: a is 2-free)d is i-sewn with d if i(d) = d 6= d (ex: a is 0-sewn with h)

7/22

• Recalls on Generalized Maps

Orbits and cells

Cells (vertices, edges, faces, . . . ) = sets of darts corresponding to orbits

i-cell containing d : celli(d) =< {0, . . . , n} \ {i} > (d)

Example:

cell0(e) =< {1, 2} > (e) = {e, f , j , k} Vertex containing e

cell1(e) =< {0, 2} > (e) = {d ,e, i , j} Edge containing e

cell2(e) =< {0, 1} > (e) = {a,b, c,d ,e, f ,g,h} Face containing e

8/22

• Recalls on Generalized Maps

Orbits and cells

Cells (vertices, edges, faces, . . . ) = sets of darts corresponding to orbits

i-cell containing d : celli(d) =< {0, . . . , n} \ {i} > (d)

Example:

cell0(e) =< {1, 2} > (e) = {e, f , j , k} Vertex containing e

cell1(e) =< {0, 2} > (e) = {d ,e, i , j} Edge containing e

cell2(e) =< {0, 1} > (e) = {a,b, c,d ,e, f ,g,h} Face containing e

8/22

• Recalls on Generalized Maps

Orbits and cells

Cells (vertices, edges, faces, . . . ) = sets of darts corresponding to orbits

i-cell containing d : celli(d) =< {0, . . . , n} \ {i} > (d)

Example:

cell0(e) =< {1, 2} > (e) = {e, f , j , k} Vertex containing e

cell1(e) =< {0, 2} > (e) = {d ,e, i , j} Edge containing e

cell2(e) =< {0, 1} > (e) = {a,b, c,d ,e, f ,g,h} Face containing e

8/22

• Recalls on Generalized Maps

Orbits and cells

Cells (vertices, edges, faces, . . . ) = sets of darts corresponding to orbits

i-cell containing d : celli(d) =< {0, . . . , n} \ {i} > (d)

Example:

cell0(e) =< {1, 2} > (e) = {e, f , j , k} Vertex containing e

cell1(e) =< {0, 2} > (e) = {d ,e, i , j} Edge containing e

cell2(e) =< {0, 1} > (e) = {a,b, c,d ,e, f ,g,h} Face containing e

8/22

• Recalls on Generalized Maps

Map Edit Distance [PRL 2012]

Edit operations:Add or delete free dartsi-sew i-free darts or i-unsew darts which are i-sewn

Example:e

2

f

ed

1

a c

h

g

db

f

h

g

b

a

b

c

d

e f

g

h

1 = 1-unsew(e,a), 1-unsew(c,f), 1-unsew(g,h),2-unsew(a,b), 2-unsew(c,d), 0-unsew(a,c)

2 = del(a), del(c), 1-sew(g,e), 1-sew(h,f)

Definition of the Map Edit distance:

d(M1,M2) = minimum cost sequence of edit op. to transform M1 into M29/22

• Extension of the Map Edit Distance to Labelled Maps

Overview of the talk:

1 Motivations

2 Recalls on Generalized Maps

3 Extension of the Map Edit Distance to Labelled Maps

4 Experimental Comparison

5 Conclusion

10/22

• Extension of the Map Edit Distance to Labelled Maps

Labelled maps

Modelling the geometry of cells:Maps model the topology but not the geometry of cells Add labels to model the geometryCells are implicitely defined by sets of darts corresponding to orbits All darts of an i-cell must have the same i-label

A labelled map is defined by M = (D, 0, . . . , n,L, l) such that:(D, 0, . . . , n) is an nG-map and L a set of labelsl : D{0, ..,n} L is s. t. d ,d , i , celli(d)=celli(d ) l(d , i)=l(d , i)

Example:

ml

k

j

i

n

d

fgh

ab c

e

l(a,2) = l(b,2) = . . . = l(h,2) = blue

l(i ,2) = l(j ,2) = . . . = l(n,2) = green

l(c,0) = l(d ,0) = l(i ,0) = l(j ,0) = X

11/22

• Extension of the Map Edit Distance to Labelled Maps

Labelled maps

Modelling the geometry of cells:Maps model the topology but not the geometry of cells Add labels to model the geometryCells are implicitely defined by sets of darts corresponding to orbits All darts of an i-cell must have the same i-label

A labelled map is defined by M = (D, 0, . . . , n,L, l) such that:(D, 0, . . . , n) is an nG-map and L a se