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

Slides:



Advertisements
Similar presentations
Fast Marching on Triangulated Domains
Advertisements

2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Great Theoretical Ideas in Computer Science for Some.
IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
Data Structure and Algorithms (BCS 1223) GRAPH. Introduction of Graph A graph G consists of two things: 1.A set V of elements called nodes(or points or.
Management Science 461 Lecture 2b – Shortest Paths September 16, 2008.
FUNDAMENTAL PROBLEMS AND ALGORITHMS Graph Theory and Combinational © Giovanni De Micheli Stanford University.
Visibility Computations: Finding the Shortest Route for Motion Planning COMP Presentation Eric D. Baker Tuesday 1 December 1998.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Fast marching methods The continuous way 1
1 Processing & Analysis of Geometric Shapes Shortest path problems Shortest path problems The discrete way © Alexander & Michael Bronstein, ©
Applied Discrete Mathematics Week 12: Trees
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Fast marching methods Lecture 3 1 © Alexander & Michael Bronstein
Numerical geometry of non-rigid shapes
1 GEOMETRIE Geometrie in der Technik H. Pottmann TU Wien SS 2007.
1 Dijkstra's Shortest Path Algorithm Find shortest path from s to t. s 3 t
1 Dijkstra's Shortest Path Algorithm Find shortest path from s to t. s 3 t
1 Numerical geometry of non-rigid shapes Lecture II – Numerical Tools Numerical geometry of shapes Lecture II – Numerical Tools non-rigid Alex Bronstein.
Shortest Path Problems Directed weighted graph. Path length is sum of weights of edges on path. The vertex at which the path begins is the source vertex.
1 Numerical geometry of non-rigid shapes A journey to non-rigid world objects Numerical methods non-rigid Alexander Bronstein Michael Bronstein Numerical.
1 Numerical geometry of non-rigid shapes Numerical Geometry Numerical geometry of non-rigid shapes Numerical geometry Alexander Bronstein, Michael Bronstein,
Breadth First Search (BFS) Part 2 COMP171. Graph / Slide 2 Shortest Path Recording * BFS we saw only tells us whether a path exists from source s, to.
1 University of Denver Department of Mathematics Department of Computer Science.
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
1 Numerical geometry of non-rigid shapes Shortest Path Problems Shortest Path Problems Alexander Bronstein, Michael Bronstein © 2008 All rights reserved.
ECE 250 Algorithms and Data Structures Douglas Wilhelm Harder, M.Math. LEL Department of Electrical and Computer Engineering University of Waterloo Waterloo,
KNURE, Software department, Ph , N.V. Bilous Faculty of computer sciences Software department, KNURE The distance.
May 5, 2015Applied Discrete Mathematics Week 13: Boolean Algebra 1 Dijkstra’s Algorithm procedure Dijkstra(G: weighted connected simple graph with vertices.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
Programming for Geographical Information Analysis: Advanced Skills Online mini-lecture: Introduction to Networks Dr Andy Evans.
Dijkstras Algorithm Named after its discoverer, Dutch computer scientist Edsger Dijkstra, is an algorithm that solves the single-source shortest path problem.
Dijkstra’s algorithm N: set of nodes for which shortest path already found Initialization: (Start with source node s) n N = {s}, D s = 0, “s is distance.
1 Fast Marching Method for generic Shape From Shading E. Prados & S. Soatto RFIA 2006 January 2006, Tours, France.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
1 Numerical geometry of non-rigid shapes Shortest path problems Shortest path problems Lecture 2 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
Computing Geodesic Paths on Manifolds R. Kimmel J.A. Sethian Department of Mathematics Lawrence Berkeley Laboratory University of California, Berkeley.
Geometry Images Xiang Gu Harvard University Steven J. Gortler Harvard university Hugues Hoppe Microsoft Research Some slides taken from Hugues Hoppe.
10/13/2015IT 328, review graph algorithms1 Topological Sort ( topological order ) Let G = (V, E) be a directed graph with |V| = n. 1.{ v 1, v 2,.... v.
COSC 2007 Data Structures II Chapter 14 Graphs III.
May 1, 2002Applied Discrete Mathematics Week 13: Graphs and Trees 1News CSEMS Scholarships for CS and Math students (US citizens only) $3,125 per year.
Algorithm Course Dr. Aref Rashad February Algorithms Course..... Dr. Aref Rashad Part: 6 Shortest Path Algorithms.
1 Shortest Paths in Three Dimensions Speaker: Atlas F. Cook IV Advisor: Carola Wenk.
Nonoverlap of the Star Unfolding Boris Aronov and Joseph O’Rourke, 1991 A Summary by Brendan Lucier, 2004.
Kruskal’s and Dijkstra’s Algorithm.  Kruskal's algorithm is an algorithm in graph theory that finds a minimum spanning tree for a connected weighted.
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
Presenter : Kuang-Jui Hsu Date : 2011/3/24(Thur.).
CENG 789 – Digital Geometry Processing 04- Distances, Descriptors and Sampling on Meshes Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
© 2006 Pearson Addison-Wesley. All rights reserved 14 A-1 Chapter 14 Graphs.
Prims Algorithm for finding a minimum spanning tree
Lecture 19 Minimal Spanning Trees CSCI – 1900 Mathematics for Computer Science Fall 2014 Bill Pine.
Fast Marching Algorithm & Minimal Paths Vida Movahedi Elder Lab, February 2010.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Shortest Path Problems
Discrete Mathematicsq
Morphing and Shape Processing
Shortest Path Problems
Shortest Path Problems
Spanning Trees Discrete Mathematics.
Graphs Chapter 13.
אופטימיזציה של מסלול טיסה פרויקט ב' מבצע: יקותיאל אברג'ל
Graphs Chapter 11 Objectives Upon completion you will be able to:
Shortest Path.
Shortest Path.
Shortest Path Problems
Shortest Path.
Shortest Path Problems
Chapter 14 Graphs © 2011 Pearson Addison-Wesley. All rights reserved.
Dijkstra Algorithm examples
Presentation transcript:

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

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 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)

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)

Dijkstra's Algorithm

Dijkstra's Shortest Path Algorithm Find shortest path from s to t. s 3 t

Dijkstra's Shortest Path Algorithm s 3 t        0 distance label

Dijkstra's Shortest Path Algorithm s 3 t        0 distance label delmin

Dijkstra's Shortest Path Algorithm s 3 t    14  0 distance label decrease key  X   X X

Dijkstra's Shortest Path Algorithm s 3 t (0,9)    14  0 distance label  X   X X delmin

Dijkstra's Shortest Path Algorithm s 3 t (0,9)    14  0  X   X X

Dijkstra's Shortest Path Algorithm s 3 t (0,9)    14  0  X   X X decrease key X 33

Dijkstra's Shortest Path Algorithm s 3 t (0,9)    (0,14)  0  X   X X X 33 delmin

Dijkstra's Shortest Path Algorithm s 3 t (0,9)    (0,14)  0  X   X X X X X 32

Dijkstra's Shortest Path Algorithm s 3 t   (0,14)  0  X   X X 44 X delmin  X 33 X 32

Dijkstra's Shortest Path Algorithm s 3 t (0,15) (0,9)   (0,14)  0  X   X X 44 X 35 X 59 X 24  X 33 X 32

Dijkstra's Shortest Path Algorithm s 3 t   14  0  X   X X 44 X 35 X 59 X delmin  X 33 X (6,32)

Dijkstra's Shortest Path Algorithm s 3 t (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)

Dijkstra's Shortest Path Algorithm s 3 t (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

Dijkstra's Shortest Path Algorithm s 3 t (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)

Dijkstra's Shortest Path Algorithm s 3 t (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)

Dijkstra's Shortest Path Algorithm s 3 t (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)

Dijkstra's Shortest Path Algorithm s 3 t (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

Dijkstra's Shortest Path Algorithm s 3 t (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)

Dijkstra's Shortest Path Algorithm s 3 t (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)

Dijkstra's Shortest Path Algorithm s 3 t (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)

Dijkstra's Shortest Path Algorithm s 3 t (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)

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.

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.

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

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.

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

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.

Backtracing Paths

Result

Questions will be welcome !