Fast marching methods The continuous way 1

Slides:



Advertisements
Similar presentations
Steady-state heat conduction on triangulated planar domain May, 2002
Advertisements

Arc-length computation and arc-length parameterization
Fast Marching on Triangulated Domains
The Asymptotic Ray Theory
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Approximations of points and polygonal chains
Developable Surface Fitting to Point Clouds Martin Peternell Computer Aided Geometric Design 21(2004) Reporter: Xingwang Zhang June 19, 2005.
Differential geometry I
Active Contours, Level Sets, and Image Segmentation
Surface normals and principal component analysis (PCA)
Discrete Differential Geometry Planar Curves 2D/3D Shape Manipulation, 3D Printing March 13, 2013 Slides from Olga Sorkine, Eitan Grinspun.
November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Geometric Modeling Notes on Curve and Surface Continuity Parts of Mortenson, Farin, Angel, Hill and others.
Extended Gaussian Images
Topology-Invariant Similarity and Diffusion Geometry
Discrete Geometry Tutorial 2 1
Corp. Research Princeton, NJ Cut Metrics and Geometry of Grid Graphs Yuri Boykov, Siemens Research, Princeton, NJ joint work with Vladimir Kolmogorov,
Discrete geometry Lecture 2 1 © Alexander & Michael Bronstein
1 Numerical geometry of non-rigid shapes Geometry Numerical geometry of non-rigid shapes Shortest path problems Alexander Bronstein, Michael Bronstein,
Shape reconstruction and inverse problems
1 Processing & Analysis of Geometric Shapes Shortest path problems Shortest path problems The discrete way © Alexander & Michael Bronstein, ©
1 Michael Bronstein Computational metric geometry Computational metric geometry Michael Bronstein Department of Computer Science Technion – Israel Institute.
Multidimensional scaling
Numerical Optimization
Calculus of Variations
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 Bronstein 2 and Kimmel Extrinsic and intrinsic similarity of nonrigid shapes Michael M. Bronstein Department of Computer Science Technion – Israel Institute.
Epipolar geometry. (i)Correspondence geometry: Given an image point x in the first view, how does this constrain the position of the corresponding point.
1 Numerical geometry of non-rigid shapes Lecture II – Numerical Tools Numerical geometry of shapes Lecture II – Numerical Tools non-rigid Alex Bronstein.
Numerical geometry of non-rigid shapes
1 Numerical geometry of non-rigid shapes A journey to non-rigid world objects Numerical methods non-rigid Alexander Bronstein Michael Bronstein Numerical.
Non-Euclidean Embedding
1 Numerical geometry of non-rigid shapes Numerical Geometry Numerical geometry of non-rigid shapes Numerical geometry Alexander Bronstein, Michael Bronstein,
1 University of Denver Department of Mathematics Department of Computer Science.
1 Numerical Geometry of Non-Rigid Shapes Invariant shape similarity Invariant shape similarity © Alexander & Michael Bronstein, © Michael Bronstein,
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
Computer Graphics Recitation The plan today Least squares approach  General / Polynomial fitting  Linear systems of equations  Local polynomial.
1 Numerical geometry of non-rigid shapes Shortest Path Problems Shortest Path Problems Alexander Bronstein, Michael Bronstein © 2008 All rights reserved.
Numerical Methods for Partial Differential Equations
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
CHAPTER FIVE Orthogonality Why orthogonal? Least square problem Accuracy of Numerical computation.
Computing the shortest path on a polyhedral surface Presented by: Liu Gang
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.
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
Computing Geodesic Paths on Manifolds R. Kimmel J.A. Sethian Department of Mathematics Lawrence Berkeley Laboratory University of California, Berkeley.
V. Space Curves Types of curves Explicit Implicit Parametric.
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
Finite Element Method.
Level Set Methods and Fast Marching Methods Wen Hongwei.
Lecture 6 : Level Set Method
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
Elementary Linear Algebra Anton & Rorres, 9th Edition
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
GG450 April 1, 2008 Huygen’s Principle and Snell’s Law.
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
Geometry of Shape Manifolds
Geometric Modeling with Conical Meshes and Developable Surfaces SIGGRAPH 2006 Yang Liu, Helmut Pottmann, Johannes Wallner, Yong-Liang Yang and Wenping.
Fast Marching Algorithm & Minimal Paths Vida Movahedi Elder Lab, February 2010.
Seismology Part II: Body Waves and Ray Theory. Some definitions: Body Waves: Waves that propagrate through the "body" of a medium (in 3 dimensions) WRONG!
Geodesics on Implicit Surfaces and Point Clouds
Morphing and Shape Processing
Fitting Curve Models to Edges
1st semester a.y. 2018/2019 – November 22, 2018
Presentation transcript:

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

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

Fast marching algorithms

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.

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 .

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

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?

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 .

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.

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

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.

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

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.

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 .

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

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

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

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

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

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!

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

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

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.

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

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

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!

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

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

MATLAB® intermezzo Fast marching

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

Eikonal equation on parametric surfaces Eikonal equation in parametrization coordinates

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.

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

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.

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

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.

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.

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

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

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

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.

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!

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 .

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

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

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

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

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

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

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

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

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