Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Computing the shortest path on a polyhedral surface Presented by: Liu Gang 2008.9.25."— Presentation transcript:

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

2

3 Overview of Presentation Introduction Related works Dijkstra’s Algorithm Fast Marching Method Results

4 Introduction

5 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

6 Related works Exact globally shortest path algorithms Shair and Schorr (1986) On shortest paths in polyhedral spaces. O(n 3 logn) Mount (1984) On finding shortest paths on convex polyhedral. O(n 2 logn) Mitchell, Mount and Papadimitriou (MMP)(1987) The discrete geodesic problem. O(n 2 logn) Chen and Han(1990) shortest paths on a polyhedron. O(n 2 ) Approximate shortest path algorithms Sethian J.A (1996) A Fast Marching Level Set Method for Monotonically Advancing Fronts. O(n logn ) 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)

7 Exact globally shortest path algorithms Shair and Schorr (1986) On shortest paths in polyhedral spaces. O(n 3 logn) Mount (1984) On finding shortest paths on convex polyhedral. O(n 2 logn) Mitchell, Mount and Papadimitriou (MMP)(1987) The discrete geodesic problem. O(n 2 logn) Chen and Han(1990) shortest paths on a polyhedron. O(n 2 ) Approximate shortest path algorithms Sethian J.A (1996) A Fast Marching Level Set Method for Monotonically Advancing Fronts. O(n logn ) 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)

8 Dijkstra's Algorithm

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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 44 X X 32

18 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 44 X delmin  X 33 X 32

19 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 44 X 35 X 59 X 24  X 33 X 32

20 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 44 X 35 X 59 X delmin  X 33 X (6,32)

21 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 44 X 35 X 59 XX 51 X (3,34)  X 33 X (6,32)

22 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 44 X 35 X 59 XX 51 X (3,34) delmin  X 33 X (6,32) 24

23 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 44 X 35 X 59 XX 51 X (3,34) 24 X 50 X 45  X 33 X (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 44 X 35 X 59 XX 51 X (3,34) 24 X 50 X (5, 45) delmin  X 33 X (6,32)

25 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 44 X 35 X 59 XX 51 X (6,34) 24 X 50 X (5,45)  X 33 X (6,32)

26 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 44 X 35 X 59 XX 51 X (3,34) X 50 X (5,45) delmin  X 33 X (6,32) 24

27 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 44 X 35 X 59 XX 51 X (3,34) X (5,50) X (5, 45)  X 33 X (6,32)

28 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 44 X 35 X 59 XX 51 X (3,34) X (5,50) X (5, 45)  X 33 X (6,32)

29 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 44 X 35 X 59 XX 51 X (3,34) X (5,50) X (5, 45)  X 33 X (6,32)

30 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 44 X 35 X 59 XX 51 X (3,34) X (5,50) X (5, 45)  X 33 X (6,32)

31 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 onceexactly once 2. When reach the destination, trace backward to find the shortest path.

32 Preliminaries Let S be a triangulated polyhedral surface in R 3, defined by a set of faces, edges and vertices. Assume that the Surface S has n faces and x 0, x are two points on the surface. Face sequence: F is defined by a list of adjacent faces f 1, f 2,…, f m+1 such that f i and f i+1 share a common edge e i. Then we call the list of edges E=(e 1,e 2,…,e m ) an edge sequence.

33 Fast Marching Method(FMM) R. Kimmel Professor Department of Computer Science Technion-Israel Institute of Technology IEEE Transactions on Image Processing J. A. Sethian Professor Department of Mathematics University of California, Berkeley Norbert Wiener Prize in Applied Mathematics

34 Forest fire

35 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.

36 Eikonal equation Eikonal equation (from Greek εικων) Hyperbolic PDE with boundary condition Minimal geodesics are characteristics. Describes propagation of waves in medium.

37 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.

38 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

39 Fast Marching Method cont.

40 propagation Using the intrinsic variable of the triangulation Acute triangulation The update procedure is given as follows

41 Fast Marching Method cont. Acute triangulation guarantee that the consistent solution approximating the Viscosity solution of the Eikonal equation has the monotone property

42 Obtuse triangulation Inconsistent solution if the mesh contains obtuse triangles Remeshing is costly

43 Obtuse triangulation cont. Solution: split obtuse triangles by adding virtual connections to non-adjacent vertices

44 Obtuse triangulation cont. Done as a pre-processing step in

45 Results (Good)

46 Results (Bad)

47 Why?

48 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 v 1 v 2 ; p is the access point.

49 More Flags for Keeping Track of an Advancing Wavefront (a) From Left Part: edge v 1 v 3 receives wavefront coming from the left part of edge v 1 v 2. (b) From Right Part: Edge v 3 v 2 receives wavefront coming from the right part of edge v 1 v 2.

50

51

52

53

54 Backtracing Paths

55

56

57

58 Result

59 Questions will be welcome !


Download ppt "Computing the shortest path on a polyhedral surface Presented by: Liu Gang 2008.9.25."

Similar presentations


Ads by Google