Presentation is loading. Please wait.

# Fast Marching on Triangulated Domains

## Presentation on theme: "Fast Marching on Triangulated Domains"— Presentation transcript:

Fast Marching on Triangulated Domains
Computer Science Department Technion-Israel Institute of Technology Fast Marching on Triangulated Domains Ron Kimmel Geometric Image Processing Lab

Brief Historical Review
Upwind schemes: Godunov 59 Level sets: Osher & Sethian 88 Viscosity SFS: Rouy & Tourin 92, (Osher & Rudin) Level sets SFS: Kimmel & Bruckstein 92 Continuous morphology: Brockett & Maragos 92,Sapiro et al. 93 Minimal geodesics: Kimmel, Amir & Bruckstein 93 Fast marching method: Sethian 95 Fast optimal path: Tsitsiklis 95 Level sets on triangulated domains:Barth & Sethian 98 Fast marching on triangulated domains: Kimmel & Sethian 98 Applications based on joint works with: Elad, Kiryati, Zigelman

1D Distance: Example 1 T(x) x x0 Find distance T(x), given T(x0)=0.
Solution: T(x)=|x-x0|. except at x0. T(x) x x0

1D Distance: Example 2 T(x) x x0 x1
Find the distance T(x), given T(x0)=T(x1)=0 Solution: T(x) = min{|x-x0|,|x-x1|}, Again, , except x0,x1 and (x0+x1)/2. T(x) x x0 x1

1D Eikonal Equation T(x) x x0 x1
with boundary conditions T(x0)=T(x1)=0. Goal: Compute T that satisfies the equation `the best'. T(x) x x0 x1

Numerical Approximation
Restrict , where h= grid spacing. Possible solutions for are T(x) x x0 x1

Approximation II T(x) x x0 x1 Updated i has always
`upwind' from where the `wind blows' T(x) x x0 x1

Update Procedure T T T Set , and T(x0)=T(x1)=0.
REPEAT UNTIL convergence, FOR each i T i T i+1 T i-1 i-1 i i+1 h

Update Order What is the optimal order of updates?
Solution I: Scan the line successively left to right. N scans, i.e. O(N ) Solution II: Left to right followed by right to left. Two scans are sufficient. (Danielson`s distance map 1980) Solution III: Start from x0, update its neighboring points, accept updated values, and update their neighbors, etc. 2 1 2 3 1 2

Weighted Domains x x0 x1 Local weight , Arclength
Goal: distance function characterized by: By the chain rule: The Eikonal equation is T(x) F(x) x x0 x1

2D Rectangular Grids Isotropic inhomogeneous domains
Weighted arclength: the weight is Goal: Compute the distance T(x,y) from p0 where

Upwind Approximation in 2D
ij T i+1,j T i,j-1 i+1,j T i,j-1 i+1,j T i-1,j ij i-1,j i,j+1

2D Approximation T T Initialization: given initial value or Update:
Fitting a tilted plane with gradient , and two values anchored at the relevant neighboring grid points. T 1 i+1,j T 2 i,j-1 ij i-1,j i,j+1

Computational Complexity
T is systematically constructed from smaller to larger T values. Update of a heap element is O(log N). Thus, upper bound of the total is O(N log N).

Shortest Path on Flat Domains
Why do graph search based algorithms (like Dijkstra's) fail?

Edge Integration Cohen-Kimmel, IJCV, 1997.
Solve the 2D Eikonal equation given T(p)=0 Minimal geodesic w.r.t.

Shape from Shading Rouy-Tourin SIAM-NU 1992,
Kimmel-Bruckstein CVIU 1994, Kimmel-Sethian JMIV 2001. Solve the 2D Eikonal equation where Minimal geodesic w.r.t.

Path Planning 3 DOF Solve the Eikonal Eq. in 3D {x,y,j}-CS
given T(x0,y0,j0)=0, Minimal geodesic w.r.t.

Path Planning 3 DOF

Path Planning 4 DOF Solve the Eikonal Eq. in 4D
Minimal geodesic w.r.t.

Update Acute Angle Given ABC, update C. Consistency and monotonicity:
Update only `from within the triangle' h in ABC Find t=EC that satisfies the gradient approximation (t-u)/h= F. c c

Update Procedure We end up with: t must satisfy u<t, and h in ABC.
The update procedure is IF (u<t) AND (a cos q < b(t-u)/t < a/cosq) THEN T(C) = min {T(C),t+T(A)}; ELSE T(C)= min {T(C),bF+T(A),aF+T(B)}. u C B A

Obtuse Problems This front first meets B, next A, and only then C.
A is `supported’ by a single point. The supported section of incoming fronts is a limited section.

Solution by splitting Initialization step!
Extend this section and link the vertex to one within the extended section. Recursive unfolding: Unfold until a new vertex Q is found. Initialization step!

Recursive Unfolding: Complexity
e = length of longest edge The extended section maximal area is bounded by a<= e /(2a ). The minimal area of any unfolded triangle is bounded below a >= (h a ) q /2, The number of unfolded triangles before Q is found is bounded by m<= a /a = e /(q h a ). max 2 max min 2 min min min min 2 2 3 max min max min min min

1st Order Accuracy The accuracy for acute triangles is O(e )
Accuracy for the obtuse case O(e /(p-q )) max max max

Minimal Geodesics

Minimal Geodesics

Linear Interpolation ODE ‘back tracking’

Quadratic Interpolation

Voronoi Diagrams and Offsets
Given n points, { p D, j 0,..,n-1} Voronoi region: G = {p D| d(p,p ) < d(p,p ), V j = i}. j i i j

Geodesic Voronoi Diagrams and Geodesic Offsets

Geodesic Voronoi Diagrams and Geodesic Offsets

Marching Triangles The intersection set of two functions is linearly interpolated via `marching triangle'

Voronoi Diagrams and Offsets on Weighted Curved Domains

Voronoi Diagrams and Offsets on Weighted Curved Domains

Cheap and Fast 3D Scanner
PC + video frame grabber. Video camera. Laser line pointer. Joint with G. Zigelman motivated by simple shape from structure light methods, like Bouguet-Perona 99, Klette et al. 98 Lego Mindstorms rotates the laser (E. Gordon) A frame grabber built at the Technion by Y Grinberg

Cheap and Fast 3D Scanner

Detection and Reconstruction

Examples of Decimation
Decimation - 3% of vertices Sub-grid sampling

Results

Results

Texture Mapping Environment mapping: Blinn, Newell (76).
Environment mapping: Greene, Bier and Sloan (86). Free-form surfaces: Arad and Elber (97). Polyhedral surfaces: Floater (96, 98), Levy and Mallet (98). Multi-dimensional scaling: Schwartz, Shaw and Wolfson (89).

Difficulties Need for user intervention. Local and global distortions.
Restrictive boundary conditions. High computational complexity.

Flattening via MDS Compute geodesic distances between pairs of points.
Construct a square distance matrix of geodesic distances^2. Find the coordinates in the plane via multi-dimensional scaling. The simplest is `classical scaling’. Use the flattened coordinates for texturing the surface, while preserving the texture features. Zigelman, Kimmel, Kiryati, IEEE T. on Visualization and Computer Graphics (in press).

Flattening

Flattening

Distances - comparison

Texture Mapping

Texture Mapping

Bending Invariant Signatures

Bending Invariant Signatures
? Elad, Kimmel, CVPR’2001

Bending Invariant Signatures
? Elad, Kimmel, CVPR’2001

Bending Invariant Signatures
? Elad, Kimmel, CVPR’2001

Bending Invariant Signatures
Elad, Kimmel, CVPR’2001

Bending Invariant Signatures
Elad, Kimmel, CVPR’2001

Bending Invariant Signatures
3 Original surfaces Canonical surfaces in R Elad, Kimmel, CVPR’2001

Bending Invariant Clustering
2nd moments based MDS for clustering Original surfaces Canonical forms D D D 0.8 A A E 0.8 E 0.7 A 0.7 D E 0.6 E B 0.6 E E E 0.5 C C C 0.5 C D C C 0.4 B C 0.4 D D E D 0.3 F A 0.3 B B B B 0.2 F B B C 0.2 A A A A 0.1 F 0.1 F 1 1 1 0.8 1 0.8 0.8 0.6 *A=human body 0.8 F F F 0.6 0.6 0.4 0.6 F 0.4 0.4 0.4 0.2 0.2 *B=hand 0.2 0.2 *C=paper *D=hat *E=dog *F=giraffe Elad, Kimmel, CVPR’2001

More Applications semi-manual re-triangulation segmentation
halftoning in 3D Adi, Kimmel 2002

Conclusions Applications of Fast Marching Method on rectangular grids: Path planning, edge integration, shape from shading. O(N) consistent method for weighted geodesic distance: ‘Fast marching on triangulated domains’. Applications: Minimal geodesics, geodesic offsets, geodesic Voronoi diagrams, surface flattening, texture mapping, bending invariant signatures and clustering of surfaces, triangulation, and semi-manual segmentation.

Download ppt "Fast Marching on Triangulated Domains"

Similar presentations

Ads by Google