Lecture 6 : Level Set Method
Introduction Developed by Books Stanley Osher (UCLA) J. A. Sethian (UC Berkeley) Books J.A. Sethian: Level Set Methods and Fast Marching Methods, 1999 S. Osher, R. Fedkiw, Level Set Methods and Dynamic Implicit Surfaces , 2002
Evolving Curves and Surfaces
Geometry Representation
Explicit Techniques for Evolution
Explicit Techniques - Drawbacks
Implicit Geometries
Discretized Implicit Geometries
Level Set Method: Overview Generic numerical method for evolving fronts in an implicit form Handles topological changes of the evolving interface Define problem in 1 higher dimension Use an implicit representation of the contour C as the zero level set of higher dimensional function - the level set function
Level Set Method: Overview Move the level set function, so that it deforms in the way the user expects contour = cross section at z=t
Implicit Curve Evolution
Level Set Evolution Define a speed function F, that specifies how contour points move in time Based on application-specific physics such as time, position, normal, curvature, image gradient magnitude Build an initial level set curve Adjust over time Current contour is defined as
Equation for Level Set Evolution Indirectly move C by manipulating where F is the speed function normal to the curve Level set equation
Example: an expanding circle Level Set representation of a circle Setting F=1 causes the circle to expand uniformly Observe everywhere We obtain Explicit solution: meaning the circle has radius r+t at time t
Example: an expanding circle
Motion under curvature Complicated shapes? Each piece of the curve moves perpendicular to the curve with speed proportional to the curvature Since curvature can be either positive or negative , some parts of the curve move outwards while others move inwards Example movie file Setting F = curvature
Level Set Segmentation We may think of as signed distance function Negative inside the curve Positive outside the curve Distance function has unit gradient almost everywhere and smooth By choosing a suitable speed function F, we may segment an object in an image
Level Set Segmentation Evolving Geometry : F(X,t)=0 Intuitively, move a lot on low intensity gradient area and move little on high intensity gradient area along normal direction F : speed function , k : curvature , I : intensity
Segmentation Example Arterial tree segmentation
Discretization Use upwinded finite difference approximations (first order)
Acceleration Techniques Acceleration for fast level set method Narrow band level set method Fast marching method
Narrow band level set method The efficiency comes from updating the speed function We do not need to update the function over the whole image or volume Update over a narrow band (2D or 3D)
Fast Marching Method Assume the front (level set) propagates always outward or always inward Compute T(x,y)=time at which the contour crosses grid point (x,y) At any height T, the surface gives the set of points reached at time T
Fast Marching Algorithm
Fast Marching Algorithm
Fast Marching Method
Applications Segmentation Level Set Surface Editing Operators Surface Reconstruction
Segmetation 2D 3D
Level Set Surface Editing Operators SIGGRAPH 2002
Level Set Surface Editing Operators
Surface Reconstruction zhao, osher, and fedkiw 2001
A painting interface for interactive surface deformations