Lecture 6 : Level Set Method Introduction • Developed by – 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 Level set equation where F is the speed function normal to the curve 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 function as signed distance – 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