Presentation is loading. Please wait.

Presentation is loading. Please wait.

Numerical geometry of non-rigid shapes

Similar presentations


Presentation on theme: "Numerical geometry of non-rigid shapes"— Presentation transcript:

1 Numerical geometry of non-rigid shapes
Shortest path problems Alexander Bronstein, Michael Bronstein, Ron Kimmel © 2007 All rights reserved

2 Shortest path problem 943 1542 902 1146 Brussels 566 Prague 183 Paris
504 1542 194 407 902 285 346 Vienna 271 1146 Munich Bern

3 Shortest paths in graphs
Object is sampled at vertices Approximated as undirected graph Edges represent adjacent samples Length function measures local length that can be approximated as Path in graph between two vertices and given by Path length – sum of lengths of all edges

4 Shortest paths in graphs
Approximate the intrinsic metric as the shortest path length in graph Alternative formulation: given a source point , compute the distance function Bellman’s principle of optimality: if is the shortest path between and , and is a point on it, then the sub-paths and are the shortest paths between and , and and , respectively.

5 Shortest paths in graphs
Consequence: there exists some such that How to select such a point ? Since has to be the shortest distance, Problem of computing is reduced to smaller sub-problems of computing Dynamic programming

6 Dijkstra’s algorithm Dynamic programming successive approximation procedure Initially, set ; for the rest of the vertices, set Mark all vertices as unprocessed While there are still unprocessed vertices Select with the smallest Update all adjacent points Mark as processed Return the distance function

7 Dijkstra’s algorithm Every vertex is processed only once
Update step propagates distance to adjacent vertices If the previously computed distance is shorter, value is not updated Typically, there are vertices in the graph Extraction of the minimum distance can be done in using a heap Total algorithm complexity

8 Metrication error “True” distance is Distance measured in graph
Error persists, no matter how the sampling is refined

9 Metrication error No flaw in Dijkstra’s algorithm
The graph induced the metric, inconsistent with the Euclidean metric Problem can be resolved by changing the sampling So far the path was restricted to graph edges Represent the surface as a triangle mesh Allow the path to pass on mesh faces Fast marching – a “continuous Dijkstra” algorithm Numerical solution of the eikonal equation

10 Fast marching Dijkstra Path restricted to graph edges
Adjacent vertices are updated A vertex is updated from another vertex Fast marching Path can pass on mesh edges Adjacent triangles are updated A vertex is updated from two vertices within a triangle

11 Fast marching update step
Given a triangle with vertices , , Given distances and We need to compute Model planar source described by Wavefront propagates from the source Hits at time

12 Fast marching update step
From triangle geometry and , find the source parameters Propagation direction: (1 DOF) Offset: (1 DOF) Solve Quadratic equation with two solutions corresponding to Smallest solution is inconsistent and is discarded Compute

13 Consistency & monotonicity
Consistency condition: Wavefront hits and before hitting Monotonicity condition: Increase of or increases

14 Geometric interpretation
Consistent & Monotone Monotone Consistent Consistency condition: update direction must form acute angles with normals to triangle edges Monotonicity condition: update direction must come from within the triangle

15 Monotonicity Monotonicity: update must come from within the triangle
If is not within the triangle, force it to lie inside The update direction will coincide with one of the edges Dijkstra-type update

16 Consistency: acute triangle
When triangle is acute, both conditions hold for any direction

17 Consistency: obtuse triangle
When triangle is obtuse, some consistency condition is violated for some directions

18 Fast marching on obtuse meshes
Inconsistent solution if the mesh contains obtuse triangles Remeshing is costly Solution: split obtuse triangles by adding virtual connections to non-adjacent vertices Done as a pre-processing step in

19 Fast marching algorithm
Set and mark it as processed Mark all other vertices as unprocessed and set While there are still unprocessed vertices Select with the smallest Update all triangles sharing Mark as processed Return the distance function

20 Fast marching algorithm
Geodesic distances Minimal geodesics Voronoi tessellation

21 Fast marching on parametric surfaces
Object is given as a parametric surface Parametrization domain is sampled on a regular grid (geometry image) Fast marching can be performed entirely in the parametrization domain Update step accounts for the surface first fundamental form to measure geodesic distances on the surface Surface itself is not required, knowledge of the first fundamental form and grid connectivity is sufficient Obtuse triangles are split by adding virtual connections to non-adjacent grid points

22 Heap-based grid update
Fast marching on triangular meshes and geometric images both use Dijstra-type heap-based grid update Update order is unknown and data-dependent Inefficient use of memory system and cache Inherently sequential algorithm – next update depends on previous one

23 Raster scan fast marching
Update the grid in a raster scan order Dates back to Danielsson’s algorithm In Euclidean case, geodesics are straight lines Each raster scan covers ¼ of the possible directions of the geodesics Four raster scans covering four quadrants are sufficient to compute a Euclidean distance map

24 Raster scan fast marching
1 iteration 2 iterations 3 iterations Generally, geodesics are curved in parametrization domain Raster scans have to be repeated to produce a convergent solution Number of iterations depends on geometry and parametrization Practically, few iterations are required

25 Raster scan fast marching
What we lost: No more a one-pass algorithm Computational complexity is data-dependent What we gained: Coherent memory access, efficient use of cache No heap, each iteration is Raster scans can be parallelized

26 Marching even faster All updates performed on a diagonal
are independent Can be computed simultaneously Uneven load

27 Marching even faster Rotate scan directions by 45 degrees
All updates performed along a row or column can be parallelized Balanced load Suitable for SIMD architecture and GPUs x100 speedup with comparable accuracy

28 Conclusions so far… We have all numerical tools required to approximate the intrinsic geometry of objects Graph representation may introduce metrication error Intrinsic metric approximated using Dijkstra’s algorithm may be inconsistent Fast marching is a consistent numerical tool for measuring geodesic distances Fast marching can be parallelized


Download ppt "Numerical geometry of non-rigid shapes"

Similar presentations


Ads by Google