Fast Marching on Triangulated Domains
Ron Kimmel
www.cs.technion.ac.il/~ron
Computer Science Department
Geometric Image Processing Lab
Technion-Israel Institute of Technology
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
Find distance T(x), given T(x0)=0.
Solution: T(x)=|x-x0|.
except at x0. xx0
T(x)
1)( xTdx
d
1D Distance: Example 2
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. x
T(x)
x0 x1
1)( xTdx
d
1D Eikonal Equation
with boundary conditions T(x0)=T(x1)=0. Goal: Compute T that satisfies the equation
`the best'.
x
T(x)
x1x0
1)( xTdx
d
Numerical Approximation
Restrict , where h= grid spacing. Possible solutions for are
x
T(x)
x1x0
)(ihTTi
hTT
dxd iiT 1
1)( 1 h
TT ii
Approximation II
Updated i has always `upwind' from where the `wind blows'
x
T(x)
x1x0
1)( xTdx
d
0,)(,)(max)( 11 hTThTTxTdx
diiii
11,min iii TTT
Update Procedure
Set , and T(x0)=T(x1)=0.REPEAT UNTIL convergence,
FOR each i
T
i-1 i i+1
i+1
T
T
i-1
i
h
11,min ii TTm
hmTT ii ,min
iT
Update OrderWhat 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.
1
32
12
2
Weighted Domains Local weight , Arclength Goal: distance function characterized by: By the chain rule:
The Eikonal equation is
x
T(x)
x1x0
F(x)
)()(
1)())(( xT
dx
d
xFds
dxxT
dx
dsxT
ds
d
1Tds
d
)()( xFxTdx
d
RR:)(xF dxxFds )(
2D Rectangular Grids
Isotropic inhomogeneous domainsWeighted arclength:
the weight is Goal: Compute the distance T(x,y) from p0
where
),(),( yxFyxT
222),( TTyxT dy
ddxd
2222 ),( dydxyxFds RR 2:),( yxF
,}0},min{-max{
} 0}min{-max{
where
, }0 max{}0 max{
22211
211
1
222
iji,ji,jij
,ji,ji-ij
,ji-ijij
-x
ijijy
ij-y
ijx
ij-x
Fh,TTT
,,TTT
h
)-T (T T D
FT,T , - DDT,T, - DD
Upwind Approximation in 2D
T
i,j-1
i,j+1i-1,j
ij
i+1,j
i+1,j
i+1,j
TT
T
T
i-1,j
i,j-1
ij
2D Approximation Initialization: given initial value or Update:
Fitting a tilted plane with gradient , and two values anchored at the relevant neighboring grid points.
; },min{ ELSE2
)-(2
THEN ) |-(| IF
};,min{ };,min{
21
221
221
21
1,1,2,1,11
ijij
ij
ij
ij
jijijiji
FTTT
TTFTTT
FTT
TTTTT T
T
T
1
2i,j-1
i,j+1i-1,j
ij
i+1,j
ijTji :},{
ijF
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).
www.math.berkeley.edu/~sethian
Shortest Path on Flat Domains
Why do graph search based algorithms (like Dijkstra's) fail?
Edge IntegrationCohen-Kimmel, IJCV, 1997. Solve the 2D Eikonal equation
given T(p)=0 Minimal geodesic w.r.t.
222ijyx FTDTD
2222 )( dydxIFds
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.
222ijyx FTDTD
2222 )( dydxIFds
222 1 IIF
Path Planning 3 DOF
Solve the Eikonal Eq. in 3D {x,y,}-CS
given T(x0,y0,0)=0,Minimal geodesic w.r.t.
2222ijkyx FTDTDTD
22222 ),,( ddydxyxFds
Path Planning 3 DOF
2222ijkyx FTDTDTD
Path Planning 4 DOF
Solve the Eikonal Eq. in 4D
Minimal geodesic w.r.t.
22222
4321 ijklFTDTDTDTD
24
23
22
214321
22 ),,,( ddddFds
Update Acute AngleGiven ABC, update C. Consistency and monotonicity: Update only `from within the triangle' h in ABCFind t=EC that satisfies the gradient approximation
(t-u)/h= F.
c
c
We end up with:
t must satisfy u<t, and h in ABC. The update procedure is
IF (u<t) AND (a cos < b(t-u)/t < a/cos)THEN T(C) = min {T(C),t+T(A)};
ELSE T(C)= min {T(C),bF+T(A),aF+T(B)}.
Update Procedure
C B
A
u 0sin)cos(2 222222 Faubtbabutc
02 tt
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
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 /(2).The minimal area of any unfolded triangle is bounded below a >= (h )
/2,
The number of unfolded triangles before Q is found is bounded by
m<= a /a = e /(h .
max
max
max min
min
min2
2
min min min
max2
min min min2 3
1st Order Accuracy
The accuracy for acute triangles is O(e )Accuracy for the obtuse case
O(e /(- ))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
jii
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. Zigelmanmotivated by simple shape from structure light methods, likeBouguet-Perona 99, Klette et al. 98
A frame grabber built at the Technion by Y Grinberg
Lego Mindstorms rotates the laser (E. Gordon)
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).
000
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
3Original surfaces Canonical surfaces in R
Elad, Kimmel, CVPR’2001
00.2
0.40.6
0.81
00.2
0.40.6
0.810
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
CCCC
AAAA
D
DDD
BBBB
EEEE
FFFF
00.2
0.40.6
0.81
00.2
0.40.6
0.810
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
CE
CC
B
A
DE
EE
B
C
A
B
D
B
F
DAD
F
A
FF
Bending Invariant Clustering
2nd moments based MDS for clustering
Original surfaces Canonical forms
*A=human body*B=hand*C=paper*D=hat*E=dog*F=giraffe
Elad, Kimmel, CVPR’2001
More Applications
re-triangulation semi-manual 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.
Top Related