computing the shortest path on a polyhedral surface

59
Computing the shortest path on a polyhedral surface Presented by: Liu Gang 2008.9.25

Upload: oleg-bowers

Post on 30-Dec-2015

43 views

Category:

Documents


0 download

DESCRIPTION

Computing the shortest path on a polyhedral surface. Presented by: Liu Gang 2008.9.25. Overview of Presentation. Introduction Related works Dijkstra’s Algorithm Fast Marching Method Results. Introduction. Motivation. - PowerPoint PPT Presentation

TRANSCRIPT

Computing the shortest path on a polyhedral

surface

Presented by: Liu Gang2008.9.25

Overview of Presentation

Introduction Related works Dijkstra’s Algorithm Fast Marching Method Results

Introduction

Motivation Computing the shortest path between

two points s and t on a polyhedral surface S is a basic and natural problem

From the viewpoint of application: Robotics, geographic information

systems and navigation Establishing a surface distance metric

Related worksExact globally shortest path algorithms Shair and Schorr (1986) On shortest paths in polyhedral spaces.

O(n3logn) Mount (1984) On finding shortest paths on convex polyhedral. O(n2logn) Mitchell, Mount and Papadimitriou (MMP)(1987) The discrete

geodesic problem. O(n2logn) Chen and Han(1990) shortest paths on a polyhedron. O(n2)

Approximate shortest path algorithms Sethian J.A (1996) A Fast Marching Level Set Method for Monotonically

Advancing Fronts. O(nlogn) Kimmel and Sethian(1998) Computing geodesic paths on manifolds.

O(nlogn) Xin Shi-Qing and Wang Guo-Jin(2007) Efficiently determining a locally

exact shortest path on polyhedral surface. O(nlogn)

Exact globally shortest path algorithms Shair and Schorr (1986) On shortest paths in polyhedral spaces.

O(n3logn) Mount (1984) On finding shortest paths on convex polyhedral. O(n2logn) Mitchell, Mount and Papadimitriou (MMP)(1987) The discrete geodesic

problem. O(n2logn) Chen and Han(1990) shortest paths on a polyhedron. O(n2)

Approximate shortest path algorithms Sethian J.A (1996) A Fast Marching Level Set Method for Monotonically

Advancing Fronts. O(nlogn) Kimmel and Sethian(1998) Computing geodesic paths on manifolds.

O(nlogn) Xin Shi-Qing and Wang Guo-Jin(2007) Efficiently determining a locally

exact shortest path on polyhedral surface. O(nlogn)

Related works

Dijkstra's algorithm

Fast Marching Methods(FMM)

Dijkstra's Algorithm

Dijkstra's Shortest Path Algorithm

Find shortest path from s to t.

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

0

distance label

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

0

distance label

delmin

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

15

9

14

0

distance label

decrease key

X

X

X

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

15

(0,9)

14

0

distance label

X

X

X

delmin

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

15

(0,9)

14

0

X

X

X

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

15

(0,9)

14

0

X

X

X

decrease key

X 33

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

15

(0,9)

(0,14

)

0

X

X

X

X 33

delmin

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

15

(0,9)

(0,14

)

0

X

X

X

X 33

44X

X

32

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

15

9

(0,14

)

0

X

X

X

44X

delmin

X 33X

32

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

18

2

9

14

15 5

30

20

44

16

11

6

19

6

(0,15)

(0,9)

(0,14

)

0

X

X

X

44X

35X

59 X

24

X 33X

32

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

15

9

14

0

X

X

X

44X

35X

59 X

delmin

X 33X

(6,32)

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

(0,15

)

(0,9)

(0,14)

0

X

X

X

44X

35X

59 XX 51

X

(3,34)

X 33X

(6,32

)

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

18

2

9

14

15 5

30

20

44

16

11

6

19

6

(0,15)

(0,9)

(0,14)

0

X

X

X

44X

35X

59 XX 51

X

(3,34)

delmin

X 33X

(6,32)

24

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

18

2

9

14

15 5

30

20

44

16

11

6

19

6

(0,15

)

(0,9)

(0,14)

0

X

X

X

44X

35X

59 XX 51

X

(3,34)

24

X 50

X 45

X 33X

(6,32)

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

18

2

9

14

15 5

30

20

44

16

11

6

19

6

(0,15

)

(0,9)

(0,14

)

0

X

X

X

44X

35X

59 XX 51

X

(3,34)

24

X 50

X(5, 45)

delmin

X 33X

(6,32)

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

18

2

9

14

15 5

30

20

44

16

11

6

19

6

(0,15)

(0,9)

(0,14

)

0

X

X

X

44X

35X

59 XX 51

X

(6,34)

24

X 50

X (5,45

)

X 33X

(6,32

)

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

18

2

9

14

15 5

30

20

44

16

11

6

19

6

(0,15)

(0,9)

(0,14

)

0

X

X

X

44X

35X

59 XX 51

X (3,34)

X 50

X (5,45)

delmin

X 33X

(6,32)

24

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

(0,15)

(0,9)

(0,14)

0

X

X

X

44X

35X

59 XX 51

X

(3,34)

X

(5,50)

X(5, 45)

X 33X

(6,32

)

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

(0,15)

(0,9)

(0,14)

0

X

X

X

44X

35X

59 XX 51

X

(3,34)

X

(5,50)

X(5, 45)

X 33X

(6,32

)

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

(0,15)

(0,9)

(0,14)

0

X

X

X

44X

35X

59 XX 51

X

(3,34)

X

(5,50)

X(5, 45)

X 33X

(6,32

)

Dijkstra's Shortest Path Algorithm

s

3

t

2

6

7

4

5

24

18

2

9

14

15 5

30

20

44

16

11

6

19

6

(0,15)

(0,9)

(0,14)

0

X

X

X

44X

35X

59 XX 51

X

(3,34)

X

(5,50)

X(5, 45)

X 33X

(6,32

)

Summary Dijkstra’s algorithm is to construct a

tree of shortest paths from a start vertex to all the other vertices on the graph.

Characteristics: 1. Monotone property: Every vertex is processed exactly once 2. When reach the destination, trace backward to find the shortest path.

PreliminariesLet S be a triangulated

polyhedral surface in R3, defined by a set

of faces, edges and vertices.

Assume that the Surface S has n faces

and x0, x are two points on the

surface.

Face sequence: F is defined by a list of adjacent faces f1, f2,…, fm+1 such that fi and fi+1 share a common edge ei . Then we call the list of edges E=(e1,e2,…,em) an edge sequence.

Fast Marching Method(FMM) R. Kimmel

ProfessorDepartment of Computer

ScienceTechnion-Israel Institute of

TechnologyIEEE Transactions on Image Processing

J. A. Sethian

ProfessorDepartment of Mathematics

University of California, Berkeley

Norbert Wiener Prize in Applied Mathematics

Forest fire

Eikonal equation

Let be a minimal geodesic between and .

The derivative

is the fire front propagation direction.

In arclength parametrization .

Fermat’s principle:

Propagation direction = direction of steepest increase of

.

Geodesic is perpendicular to the level sets of on .

Eikonal equation

Eikonal equation (from Greek εικων)

Hyperbolic PDE with boundary

condition

Minimal geodesics are

characteristics.

Describes propagation of waves

in medium.

Fast marching algorithm

Initialize and mark it as black.

Initialize for other vertices and mark them as

green.

Initialize queue of red vertices .

Repeat

Mark green neighbors of black vertices as red (add to

)

For each red vertex

For each triangle sharing the vertex

Update from the triangle.

Mark with minimum value of as black (remove

from )

Until there are no more green vertices.

Return distance map .

Update step difference

Dijkstra’s update

Vertex updated from

adjacent vertex

Distance computed

from

Path restricted to graph

edges

Fast marching update

Vertex updated from

triangle

Distance computed

from and

Path can pass on mesh faces

Fast Marching Method cont.

propagationUsing the intrinsic variable of the triangulation

Acute triangulation

The update procedure is given as follows

Fast Marching Method cont.

Acute triangulation guarantee that the consistent solution approximating the Viscosity solution of the Eikonal equation has the monotone property

Obtuse triangulation

Inconsistent solution if the mesh contains obtuse

triangles

Remeshing is costly

Obtuse triangulation cont.

Solution: split obtuse triangles by adding virtual connections to non-adjacent vertices

Obtuse triangulation cont.

Done as a pre-processing step in

Results (Good)

Results (Bad)

Why?

More Flags for Keeping Track of an Advancing Wavefront

From Vertex : the shortest path to the vertex v goes via its adjacent vertex v’.

From Edge: the shortest path to the vertex v goes across the edge v1v2; p is the access point.

More Flags for Keeping Track of an Advancing Wavefront

(a) From Left Part: edge v1v3 receives wavefront coming from theleft part of edge v1v2.

(b) From Right Part: Edge v3v2

receives wavefront coming fromthe right part of edge v1v2.

Backtracing Paths

Result

Questions will be welcome !