Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fast marching methods The continuous way 1

Similar presentations


Presentation on theme: "Fast marching methods The continuous way 1"— Presentation transcript:

1 Fast marching methods The continuous way 1
© Alexander & Michael Bronstein, © Michael Bronstein, 2010 tosca.cs.technion.ac.il/book Advanced topics in vision Processing and Analysis of Geometric Shapes EE Technion, Spring 2010 1

2 Metric discretization
Approach I: discrete metric Metrication error “Sampling theorem” Discretized shape Discrete metric Approach II: consistently discretized metric Discretized metric

3 Fast marching algorithms

4 Forest fire Fire starts at a source at .
Propagates with constant velocity Arrives at time to a point Fermat’s (least action) principle: The fire chooses the quickest path to travel. Governs refraction laws in optics (Snell’s law) and acoustics. Fire arrival time = distance map from source.

5 Distance maps on surfaces
Distance map on surface Mapped locally to the tangent space A small step in the direction changes the distance by is directional derivative in the direction .

6 Intrinsic gradient For some direction ,
The perpendicular direction is the direction of steepest change of the distance map. is referred to as the intrinsic gradient. Formally, the intrinsic gradient of function at a point is a map satisfying for any

7 Extrinsic gradient Consider the distance map as a function .
The extrinsic gradient of at a point is a map satisfying for any direction In the standard Euclidean basis Usually called “the gradient” of What is the connection between intrinsic and extrinsic gradients?

8 Intrinsic and extrinsic gradients
Intrinsic gradient = projection of extrinsic gradient on tangent plane In coordinates of a parametrization , is the Jacobian matrix whose columns span

9 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

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

11 Uniqueness of solution
In classic PDE theory, a solution is a continuous differentiable function satisfying PDE theory guarantees existence and uniqueness of solution. Distance map is not everywhere differentiable. Solution is not unique! 1D example

12

13 Sub- and super-derivatives (1D case)
Superderivative: the set of all slopes above the graph Subderivative: the set of all slopes below the graph where is differentiable.

14 Viscosity solution is a viscosity solution of the
1D eikonal equation if Monotonicity: viscosity solution does not have local maxima. The largest among all Existence and uniqueness guaranteed. Not a viscosity solution Viscosity solution

15 Fast marching methods (FMM)
A family of numerical methods for solving eikonal equation. Finds the viscosity solution = distance map. Simulates wavefront propagation from a source set. A continuous variant of Dijkstra’s algorithm. Consistently approximate the intrinsic metric on the surface.

16 Dijkstra’s algorithm Initialize and for the rest of the graph;
Initialize queue of unprocessed vertices While Find vertex with smallest value of , For each unprocessed adjacent vertex , Remove from Return distance map

17 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

18 Update step Dijkstra’s update Fast marching 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

19 Fast marching update step
Update from triangle Compute from and Model wave front propagating from planar source unit propagation direction source offset Front hits at time Hits at time When does the front arrive to ? Planar source

20 Fast marching update step
Assume w.l.o.g and is given by the point-to-plane distance Solve for parameters and using the point-to-plane distance In vector notation where , , and In a non-degenerate triangle matrix is full-rank

21 Fast marching update step
Apparently, we have two equations with three variables. However, is a unit vector, hence where Substitute and obtain a quadratic equation

22 Causality condition Quadratic equation is satisfied by both and .
Two solutions for Causality: front can propagate only forward in time. Causality condition

23 Causality condition Causality condition In other words
has to form obtuse angles with both triangle edges Causality is required to obtain consistent approximation of the distance map. Smallest solution for is inconsistent and is discarded. If largest solution is consistent, live the largest solution!

24 Monotonicity condition
Viscosity solution has to be a monotonically increasing function. Monotonicity condition: increase when or increase. In other words: Differentiate w.r.t obtaining

25 Monotonicity condition
Substitute Monotonicity satisfied when both coordinates of have the same sign. is positive definite Causality condition: Monotonicity condition: At least one coordinate of is negative

26 Monotonicity condition
Since we have Rows of are orthogonal to triangle edges Monotonicity condition: Geometric interpretation: must form obtuse angles with normals to triangle edges. Said differently: must come from within the triangle.

27 One-sided update Monotonicity condition: update direction
must come from within the triangle. If it does not, project inside the triangle. will coincide with one of the edges. Update will reduce to Dijkstra’s update or

28 Fast marching update Solve the quadratic equation and select the largest solution Compute propagation direction If monotonicity condition is violated, Set

29 Causality and monotonicity encore
Acute triangle All directions in the triangle satisfy causality and monotonicity conditions. Obtuse triangle Some directions in the triangle violate causality condition!

30 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 Kimmel & Sethian, “Computing geodesic paths on manifolds”, 1998 30

31 Mesh “unfolding” Virtual connection splits obtuse angle into two acute ones Kimmel & Sethian, “Computing geodesic paths on manifolds”, 1998

32 MATLAB® intermezzo Fast marching

33

34 Eikonal equation on parametric surfaces
Parametrization of over Compute distance map , from source Chain rule Extrinsic gradient in parametrization coordinates Intrinsic gradient in parametrization coordinates

35 Eikonal equation on parametric surfaces
Eikonal equation in parametrization coordinates

36 Fast marching on parametric surfaces
Solve eikonal equation in parametrization domain March on discretized parametrization domain. We need to express update step in parametrization coordinates.

37 Fast marching on parametric surfaces
Cartesian sampling of with unit step. Some connectivity (e.g. 4- or 8-neighbor). Vertex updated from triangle Assuming w.l.o.g. or in matrix form

38 Fast marching on parametric surfaces
Inner product matrix Describes triangle geometry. lengths of the edges. cosine of the angle. Substitute into the update quadratic equation Only first fundamental form coefficients and grid connectivity are required for update. Can measure distances when only surface gradients are known.

39 Parametrization domain
“Unfolding” on parametric surfaces Virtual connections can be made directly in parametrizatio domain Parametrization domain On the surface Spira & Kimmel, “An efficient solution to the eikonal equation on parametric manifolds”, 2004 39

40 Heap-based grid update
Fast marching and Dijkstra’s algorithm use heap-based grid update. Next vertex to be updated is decided by extracting the smallest Update order is unknown and data-dependent. Inefficient use of memory system and cache. Inherently sequential algorithm – next update depends on previous one. Can we do better? Regular access to memory (known in advance). Vectorizable (parallelizable) algorithm.

41 Marching even faster Danielsson’s algorithm: update the grid in a raster scan order In Euclidean case, parametrization is trivial. Geodesics are straight lines in parametrization domain. Each raster scan covers ¼ of the possible directions of the geodesics. Euclidean distance map computed by four alternating raster scans.

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

43 Raster scan fast marching
MATLAB® intermezzo Raster scan fast marching 43

44 Raster scan fast marching
What we lost: No more a one-pass algorithm. Computational complexity is data-dependent. What we found: Coherent memory access, efficient use of cache. No heap, each iteration is Raster scans can be parallelized. BBK, "Parallel algorithms for approximation of distance maps on parametric surfaces”, 2007

45 Parallellization Rotate scan directions by 450.
All updates performed along a row or column can be parallelized. Constant CPU load – suitable for SIMD architecture and GPUs.

46 Parallel marching Rotate scan directions by 450.
All updates performed along a row or column can be parallelized. Constant CPU load. Suitable for SIMD architecture and GPUs. GPU implementation computes geodesic on grid with 10,000,000 vertices in less than 50 msec. About 200 million distances per second!

47 Minimal geodesics We have a numerical tool to compute geodesic distance. Sometimes, the shortest path itself is needed. Minimal geodesics are characteristics of the eikonal equation. In other words: Along geodesic, eikonal equation becomes an ODE with initial condition Solve the ODE for

48 Minimal geodesics To find a minimal geodesic between two points
Compute distance map from to all other points. Starting at , follow the direction of until is reached. Steepest descent on the distance map. In the parametrization coordinates Let be the preimage of in

49 Minimal geodesics Substitute into characteristic equation
Steepest descent on surface = scaled steepest descent in parametrization domain.

50 Voronoi tessellation & sampling
Uses of fast marching Geodesic distances Minimal geodesics Voronoi tessellation & sampling Offset curves

51 Implicit surfaces Shape represented as level set of some
Examples: medical images, shape-from-X reconstruction, etc. Triangulation is costly and potentially inaccurate 51

52 Implicit surfaces Two-manifold Narrow band of radius Co-dimension 1
Three-manifold with boundary smooth if 52

53 Distances on implicit surfaces
Since , for all Similarly, for , and hence The sequence is bounded and nondecreasing and hence converges to the supremum of its range For every and there exists such that 53

54 Distances on implicit surfaces
Uniform convergence of geodesic distances: For every there exists an such that for every , If then where is a constant dependent on the geometry of Convergence of minimal geodesics: Let be a unique minimal geodesic between and let be a minimal geodesic on Then Memoli & Sapiro, “Fast computation of weighted distance functions and geodesics on implicit hyper-surfaces”, 2001 54

55 Eikonal equation on implicit surfaces
Explicit Intrinsic eikonal equation Implicit Extrinsic eikonal equation VISCOSITY SOLUTIONS CONVERGE AS 55

56 Narrow band fast marching
Euclidean fast marching on Cartesian grid Only vertices inside narrow band do not participate in update Initial values of source set interpolated on the grid Heap or raster scan grid visiting 56


Download ppt "Fast marching methods The continuous way 1"

Similar presentations


Ads by Google