36
Reference Reference Level Set and PDE Methods for Computer Level Set and PDE Methods for Computer Graphics” Graphics” Leopold K¨uhschelm Sebastian Zambal Leopold K¨uhschelm Sebastian Zambal Institute of Computer Graphics Vienna University of Technolgy Vienna / Institute of Computer Graphics Vienna University of Technolgy Vienna / Austria Austria <<Level Set Methods and Fast Marching <<Level Set Methods and Fast Marching Methods>> Methods>>

Level Set Methods and Fast Marching Methods Wen Hongwei

Embed Size (px)

Citation preview

Page 1: Level Set Methods and Fast Marching Methods Wen Hongwei

ReferenceReference

•““Level Set and PDE Methods for Computer Level Set and PDE Methods for Computer Graphics”Graphics” Leopold K¨uhschelm Sebastian ZambalLeopold K¨uhschelm Sebastian Zambal

Institute of Computer Graphics Vienna University of Technolgy Vienna / Institute of Computer Graphics Vienna University of Technolgy Vienna / AustriaAustria

<<Level Set Methods and Fast Marching <<Level Set Methods and Fast Marching Methods>>Methods>>

Page 2: Level Set Methods and Fast Marching Methods Wen Hongwei

Problem DefinitionProblem Definition

•In 2-D, Curve (Interface) evolution over time.In 2-D, Curve (Interface) evolution over time.

•In 3-D, Surface (Interface) evolution.In 3-D, Surface (Interface) evolution.• Example: Waves in the ocean.Example: Waves in the ocean.

• Waves can be uniquely modeled if we track the Waves can be uniquely modeled if we track the boundary between air and water (the interface).boundary between air and water (the interface).

Page 3: Level Set Methods and Fast Marching Methods Wen Hongwei

How to Model and ImplementHow to Model and Implement

•Model the physical process and interface motion Model the physical process and interface motion using partial derivative equations (PDE).using partial derivative equations (PDE).

•Level Set Methods are used for the Level Set Methods are used for the implementation of curve/interface evolution under implementation of curve/interface evolution under various forces.various forces.

•Challenges:Challenges:• Numerical errors due to discretization.Numerical errors due to discretization.

• Estimation of derivatives around discontinuities.Estimation of derivatives around discontinuities.

• Numerical stability of the implementation.Numerical stability of the implementation.

Page 4: Level Set Methods and Fast Marching Methods Wen Hongwei

Curve representationCurve representation

•A closed curve cannot be represented as a A closed curve cannot be represented as a 1-D1-D function y = f(x)function y = f(x)

•A parametric representation can be used:A parametric representation can be used:• C = {x(p), y(p)}C = {x(p), y(p)}

• p is in [0,1]p is in [0,1]

Ccc

Page 5: Level Set Methods and Fast Marching Methods Wen Hongwei

Curve RepresentationCurve Representation

•Explicit (parametric) representationExplicit (parametric) representation• Uses a parametric representationUses a parametric representation

• Sample the curve at fixed intervals.Sample the curve at fixed intervals.

• Problem: During evolution, curve changes, so does Problem: During evolution, curve changes, so does the parameterization.the parameterization.

•Implicit representation (Level set methods)Implicit representation (Level set methods)• Embed the curve C into a Embed the curve C into a 2-D2-D function function

z = f(x,y)z = f(x,y)

Page 6: Level Set Methods and Fast Marching Methods Wen Hongwei

Implicit MethodsImplicit Methods

•Curve is embedded as the 0 level set.Curve is embedded as the 0 level set.

•C = {(x,y) | f(x,y) = 0}C = {(x,y) | f(x,y) = 0}

Ccc

Page 7: Level Set Methods and Fast Marching Methods Wen Hongwei

Implicit MethodsImplicit Methods

•A better embedding function is smootherA better embedding function is smoother

Ccc

Page 8: Level Set Methods and Fast Marching Methods Wen Hongwei

Level Set MethodsLevel Set Methods

•Main idea:Main idea:• Evolve the embedding function f(x,y)Evolve the embedding function f(x,y)

• Keep track of its Keep track of its zero level setzero level set

•This can thought as the diffusion of a 2-D surface.This can thought as the diffusion of a 2-D surface.

Page 9: Level Set Methods and Fast Marching Methods Wen Hongwei

Level Set MethodsLevel Set Methods

•Example: Propagation of two flamesExample: Propagation of two flames

Page 10: Level Set Methods and Fast Marching Methods Wen Hongwei

Level Set MethodsLevel Set Methods

• The level set approach:The level set approach:

• Define problem in one higher dimensionDefine problem in one higher dimension

• Define level set function Define level set function z = = ((x,y,t = 0)= 0)

where the (where the (x,y) plane contains the contour, and) plane contains the contour, and

z = signed Euclidean distance transform value = signed Euclidean distance transform value (negative means inside closed contour, positive (negative means inside closed contour, positive means outside contour)means outside contour)

Page 11: Level Set Methods and Fast Marching Methods Wen Hongwei

How to Move the Contour?How to Move the Contour?

• Move the level set function, Move the level set function, ((x,y,t), so that it ), so that it rises, falls, expands, etc.rises, falls, expands, etc.

• Contour = cross section at Contour = cross section at z = 0, i.e.,= 0, i.e.,

{({(xx,,yy) | ) | ((xx,,yy,,tt) = 0}) = 0}

Page 12: Level Set Methods and Fast Marching Methods Wen Hongwei

Level Set SurfaceLevel Set Surface

• The zero level set (in blue) at one point in time as The zero level set (in blue) at one point in time as a slice of the level set surface (in red)a slice of the level set surface (in red)

Page 13: Level Set Methods and Fast Marching Methods Wen Hongwei

Level Set SurfaceLevel Set Surface

• Later in time the level set surface (red) has Later in time the level set surface (red) has moved and the new zero level set (blue) moved and the new zero level set (blue) defines defines the new contourthe new contour

Page 14: Level Set Methods and Fast Marching Methods Wen Hongwei

Level Set SurfaceLevel Set Surface

Page 15: Level Set Methods and Fast Marching Methods Wen Hongwei

How to Move the Level Set Surface?How to Move the Level Set Surface?

1.1. Define a velocity field, Define a velocity field, F, that specifies how , that specifies how contour points move in timecontour points move in time• Based on application-specific physics such as time, Based on application-specific physics such as time,

position, normal, curvature, image gradient position, normal, curvature, image gradient magnitudemagnitude

2.2. Build an initial value for the level set function, Build an initial value for the level set function, ((x,y,t=0)=0), based on the initial contour position, based on the initial contour position

3.3. Adjust Adjust over time; contour at time over time; contour at time tt defined by defined by ((x(t), y(t), t) = 0) = 0

0y

Φ

x

ΦF

t

Φ

0ΦFt

Φ

2122

Hamilton-Jacobi equationHamilton-Jacobi equation

Page 16: Level Set Methods and Fast Marching Methods Wen Hongwei

Level Set FormulationLevel Set Formulation• Constraint: level set value of a point on the contour with Constraint: level set value of a point on the contour with motion motion xx((tt) must always be 0) must always be 0

((xx((tt), ), tt) = 0) = 0

• By the chain ruleBy the chain rule

tt + + ((xx((tt), ), tt) · ) · xx((tt) = 0 (1)) = 0 (1)

• Since F supplies the speed in the outward normal directionSince F supplies the speed in the outward normal directionxx((tt) · ) · nn = = FF, where , where nn = = / | / || (2)| (2)

• Hence evolution equation for Hence evolution equation for is is

tt + + FF||| = 0 (3)| = 0 (3)

Page 17: Level Set Methods and Fast Marching Methods Wen Hongwei

Speed FunctionSpeed Function

The speed function F is the surface normal direction, The speed function F is the surface normal direction, control the movement of the curve, including: control the movement of the curve, including: 

•image-related items (such as gradient information), image-related items (such as gradient information), 

•the geometric shape of the curve (such as the the geometric shape of the curve (such as the curvature of the curve), curvature of the curve),

•the additional propagation terms.the additional propagation terms.

Page 18: Level Set Methods and Fast Marching Methods Wen Hongwei

Example: Segmentation Example: Segmentation

• Digital Subtraction AngiogramDigital Subtraction Angiogram

• F based on image gradient and contour curvature based on image gradient and contour curvature

Page 19: Level Set Methods and Fast Marching Methods Wen Hongwei

Example (cont.)Example (cont.)

• Initial contour specified manuallyInitial contour specified manually

Page 20: Level Set Methods and Fast Marching Methods Wen Hongwei

Narrow BandNarrow Band

•Central idea: we are interested on the motion of Central idea: we are interested on the motion of the zero-level set and not for the motion of each the zero-level set and not for the motion of each iso-phote of the surfaceiso-phote of the surface

• Extract the latest positionExtract the latest position

• Define a band within a certain distanceDefine a band within a certain distance

• Update the level set function Update the level set function

• Check new position with respectCheck new position with respect

the limits of the bandthe limits of the band

• Update the position of the band Update the position of the band

regularly, and re-initialize the implicit functionregularly, and re-initialize the implicit function

Page 21: Level Set Methods and Fast Marching Methods Wen Hongwei

Narrow BandNarrow Band

•Significant decrease on the computational Significant decrease on the computational complexity, in particular when implemented complexity, in particular when implemented efficiently and can account for any type of motion efficiently and can account for any type of motion flowsflows

Page 22: Level Set Methods and Fast Marching Methods Wen Hongwei

Fast Marching MethodFast Marching Method

• J. Sethian, 1996J. Sethian, 1996

• Special case that assumes the velocity field, Special case that assumes the velocity field, F, , never changes sign. That is, contour is either never changes sign. That is, contour is either always expanding (always expanding (F>0F>0) or always shrinking () or always shrinking (F<0F<0))

• Convert problem to a stationary formulation on a Convert problem to a stationary formulation on a discrete grid where the contour is guaranteed to discrete grid where the contour is guaranteed to cross each grid point at most oncecross each grid point at most once

Page 23: Level Set Methods and Fast Marching Methods Wen Hongwei

Fast Marching MethodFast Marching Method

• Compute Compute T((x,y) = time at which the contour ) = time at which the contour crosses grid point (crosses grid point (x,y))

• At any height, At any height, tt, the surface gives the set of , the surface gives the set of points reached at time points reached at time tt

Page 24: Level Set Methods and Fast Marching Methods Wen Hongwei

Fast Marching AlgorithmFast Marching Algorithm

• Compute T using the fact thatCompute T using the fact that

• DistanceDistance = = raterate × × timetime

• In 1D: 1 = In 1D: 1 = FF × × ddTT//ddx (1)x (1)

• In 2D: 1 = In 2D: 1 = FF × | × | TT | (2) | (2)

• Contour at time Contour at time tt = =

{({(xx,,yy) | ) | TT((xx,,yy) = ) = tt}}

Page 25: Level Set Methods and Fast Marching Methods Wen Hongwei

Fast Marching AlgorithmFast Marching Algorithm

• Construct the arrival time surface Construct the arrival time surface T((x,y) ) incrementally:incrementally:

1.1. Build the initial contourBuild the initial contour

2.2. Incrementally add on to the existing surface the part Incrementally add on to the existing surface the part that corresponds to the contour moving with speed that corresponds to the contour moving with speed F (in other words, repeatedly pick a point on the fringe (in other words, repeatedly pick a point on the fringe with minimum with minimum T value) value)

3.3. Iterate until Iterate until F goes to 0 goes to 0

• Builds level set surface by “scaffolding” the Builds level set surface by “scaffolding” the surface patches farther and farther away from surface patches farther and farther away from the initial contour the initial contour

Page 26: Level Set Methods and Fast Marching Methods Wen Hongwei

Fast MarchingFast Marching

Update “downwind”

(i.e., unvisited neighbors)

Compute new possible values

Page 27: Level Set Methods and Fast Marching Methods Wen Hongwei

Fast MarchingFast Marching

Expand point on the fringe with minimum value

Update neighbors “downwind”

Page 28: Level Set Methods and Fast Marching Methods Wen Hongwei

Fast MarchingFast Marching

Expand point on the fringe with minimum value

Update neighbors “downwind”

Page 29: Level Set Methods and Fast Marching Methods Wen Hongwei

SummarySummary

Fast Marching methods are:Fast Marching methods are:

• Very efficient – also in 3DVery efficient – also in 3D

• Of an ’open architecture’ in terms of speed Of an ’open architecture’ in terms of speed functionsfunctions

• Dealing with sharp corners and changes in Dealing with sharp corners and changes in topology topology

• Widely applicable: image segmentation, robotics, Widely applicable: image segmentation, robotics, seismic travel times, shortest path finding etc.seismic travel times, shortest path finding etc.

• In essence a smart way to solve the Eikonal In essence a smart way to solve the Eikonal equationequation

Page 30: Level Set Methods and Fast Marching Methods Wen Hongwei

Results: Segmentation using Fast Marching Results: Segmentation using Fast Marching

No level set tuningNo level set tuning

Page 31: Level Set Methods and Fast Marching Methods Wen Hongwei

Results: Vein SegmentationResults: Vein Segmentation

No level set tuning With level set tuningNo level set tuning With level set tuning

Page 32: Level Set Methods and Fast Marching Methods Wen Hongwei

Results: Vein Segmentation (continued)Results: Vein Segmentation (continued)

Original Fast Marching +Original Fast Marching + Level Set onlyLevel Set only Level Set TuningLevel Set Tuning

Page 33: Level Set Methods and Fast Marching Methods Wen Hongwei

Results: Segmentation using Fast Marching Results: Segmentation using Fast Marching

No level set tuningNo level set tuning

Page 34: Level Set Methods and Fast Marching Methods Wen Hongwei

Results: Brain Image SegmentationResults: Brain Image Segmentation

# of iterations = 9000 # of iterations = 12000# of iterations = 9000 # of iterations = 12000

Fast marching only, no level set tuning Fast marching only, no level set tuning

Page 35: Level Set Methods and Fast Marching Methods Wen Hongwei

Results: Brain Segmentation (continued)Results: Brain Segmentation (continued)

WithoutWithout level set tuning level set tuning WithWith level set tuning level set tuning

Page 36: Level Set Methods and Fast Marching Methods Wen Hongwei

ConclusionConclusion

•Level Set methods are used for implementing Level Set methods are used for implementing curve evolution or diffusion.curve evolution or diffusion.

•Level Set Methods can also be used for Level Set Methods can also be used for surface surface evolutionevolution

• Applications in Computer Graphics.Applications in Computer Graphics.

• Volume segmentation in 3-D images.Volume segmentation in 3-D images.

•Matlab toolbox for trying some examples of level Matlab toolbox for trying some examples of level set methods can be downloaded from:set methods can be downloaded from:

• http://http://vision.ece.ucsb.edu/download.htmlvision.ece.ucsb.edu/download.html