60
Fast Marching on Triangulated Domains Ron Kimmel www.cs.technion.ac.il/ ~ron Computer Science Department Geometric Image Processing Lab Technion-Israel Institute of Technolog

Fast Marching on Triangulated Domains

Embed Size (px)

DESCRIPTION

Computer Science Department. Technion-Israel Institute of Technology. Fast Marching on Triangulated Domains. Ron Kimmel www.cs.technion.ac.il/~ron. Geometric Image Processing Lab. Brief Historical Review. Upwind schemes: Godunov 59 Level sets: Osher & Sethian 88 - PowerPoint PPT Presentation

Citation preview

Page 1: Fast Marching on Triangulated Domains

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

Page 2: Fast Marching on Triangulated Domains

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

Page 3: Fast Marching on Triangulated Domains

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

Page 4: Fast Marching on Triangulated Domains

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

Page 5: Fast Marching on Triangulated Domains

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

Page 6: Fast Marching on Triangulated Domains

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

Page 7: Fast Marching on Triangulated Domains

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

Page 8: Fast Marching on Triangulated Domains

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

Page 9: Fast Marching on Triangulated Domains

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

Page 10: Fast Marching on Triangulated Domains

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

Page 11: Fast Marching on Triangulated Domains

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

Page 12: Fast Marching on Triangulated Domains

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

Page 13: Fast Marching on Triangulated Domains

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

Page 14: Fast Marching on Triangulated Domains

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

Page 15: Fast Marching on Triangulated Domains

Shortest Path on Flat Domains

Why do graph search based algorithms (like Dijkstra's) fail?

Page 16: Fast Marching on Triangulated Domains

Edge IntegrationCohen-Kimmel, IJCV, 1997. Solve the 2D Eikonal equation

given T(p)=0 Minimal geodesic w.r.t.

222ijyx FTDTD

2222 )( dydxIFds

Page 17: Fast Marching on Triangulated Domains

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

Page 18: Fast Marching on Triangulated Domains

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

Page 19: Fast Marching on Triangulated Domains

Path Planning 3 DOF

2222ijkyx FTDTDTD

Page 20: Fast Marching on Triangulated Domains

Path Planning 4 DOF

Solve the Eikonal Eq. in 4D

Minimal geodesic w.r.t.

22222

4321 ijklFTDTDTDTD

24

23

22

214321

22 ),,,( ddddFds

Page 21: Fast Marching on Triangulated Domains

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

Page 22: Fast Marching on Triangulated Domains

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

Page 23: Fast Marching on Triangulated Domains

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.

Page 24: Fast Marching on Triangulated Domains

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!

Page 25: Fast Marching on Triangulated Domains

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

Page 26: Fast Marching on Triangulated Domains

1st Order Accuracy

The accuracy for acute triangles is O(e )Accuracy for the obtuse case

O(e /(- ))max max

max

Page 27: Fast Marching on Triangulated Domains

Minimal Geodesics

Page 28: Fast Marching on Triangulated Domains

Minimal Geodesics

Page 29: Fast Marching on Triangulated Domains

Linear Interpolation

ODE ‘back tracking’

Page 30: Fast Marching on Triangulated Domains

Quadratic Interpolation

Page 31: Fast Marching on Triangulated Domains

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

Page 32: Fast Marching on Triangulated Domains

Geodesic Voronoi Diagrams and Geodesic Offsets

Page 33: Fast Marching on Triangulated Domains

Geodesic Voronoi Diagrams and Geodesic Offsets

Page 34: Fast Marching on Triangulated Domains

Marching Triangles

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

Page 35: Fast Marching on Triangulated Domains

Voronoi Diagrams and Offsets on Weighted Curved Domains

Page 36: Fast Marching on Triangulated Domains

Voronoi Diagrams and Offsets on Weighted Curved Domains

Page 37: Fast Marching on Triangulated 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)

Page 38: Fast Marching on Triangulated Domains

Cheap and Fast 3D Scanner

Page 39: Fast Marching on Triangulated Domains

Detection and Reconstruction

Page 40: Fast Marching on Triangulated Domains

Examples of Decimation

Decimation - 3% of vertices Sub-grid sampling

Page 41: Fast Marching on Triangulated Domains

Results

Page 42: Fast Marching on Triangulated Domains

Results

Page 43: Fast Marching on Triangulated Domains

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

Page 44: Fast Marching on Triangulated Domains

Difficulties

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

Page 45: Fast Marching on Triangulated Domains

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

Page 46: Fast Marching on Triangulated Domains

Flattening

Page 47: Fast Marching on Triangulated Domains

Flattening

Page 48: Fast Marching on Triangulated Domains

Distances - comparison

Page 49: Fast Marching on Triangulated Domains

Texture Mapping

Page 50: Fast Marching on Triangulated Domains

Texture Mapping

Page 51: Fast Marching on Triangulated Domains

Bending Invariant Signatures

Page 52: Fast Marching on Triangulated Domains

Bending Invariant Signatures

Elad, Kimmel, CVPR’2001

?

Page 53: Fast Marching on Triangulated Domains

Bending Invariant Signatures

?

Elad, Kimmel, CVPR’2001

Page 54: Fast Marching on Triangulated Domains

Bending Invariant Signatures

?

Elad, Kimmel, CVPR’2001

Page 55: Fast Marching on Triangulated Domains

Bending Invariant Signatures

Elad, Kimmel, CVPR’2001

Page 56: Fast Marching on Triangulated Domains

Bending Invariant Signatures

Elad, Kimmel, CVPR’2001

Page 57: Fast Marching on Triangulated Domains

Bending Invariant Signatures

3Original surfaces Canonical surfaces in R

Elad, Kimmel, CVPR’2001

Page 58: Fast Marching on Triangulated Domains

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

Page 59: Fast Marching on Triangulated Domains

More Applications

re-triangulation semi-manual segmentation halftoning in 3D

Adi, Kimmel 2002

Page 60: Fast Marching on Triangulated Domains

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.