1
play

1 Multiple problems Applying Marching Cubes (thresholding) - PDF document

Motivation: Level Sets Roger Crawfis Slides collected from: Fan Ding, Charles Dyer, Donald Tanguay and Roger Crawfis 4/24/2003 R. Crawfis, Ohio State Univ. 109 Easy Case Use Marching Cubes Input Data Noisy 4/24/2003 R. Crawfis, Ohio


  1. Motivation: Level Sets Roger Crawfis Slides collected from: Fan Ding, Charles Dyer, Donald Tanguay and Roger Crawfis 4/24/2003 R. Crawfis, Ohio State Univ. 109 Easy Case – Use Marching Cubes Input Data Noisy 4/24/2003 R. Crawfis, Ohio State Univ. 4/24/2003 R. Crawfis, Ohio State Univ. 110 111 Non-uniform Exposure Intensity Varies 4/24/2003 R. Crawfis, Ohio State Univ. 112 4/24/2003 R. Crawfis, Ohio State Univ. 113 1

  2. Multiple problems Applying Marching Cubes (thresholding) 4/24/2003 R. Crawfis, Ohio State Univ. 4/24/2003 R. Crawfis, Ohio State Univ. 114 115 Applying A Threshold Applying A Threshold 4/24/2003 R. Crawfis, Ohio State Univ. 4/24/2003 R. Crawfis, Ohio State Univ. 116 117 Four (contour) Levels What To Do? � User Intervention!!! � We see it!! It’s right there!!! � Well, the edges get pretty fuzzy � . � Two step process: 1. Draw an initial curve (or surface) within the desired region. 2. Expand that interface outward towards the edge of our desired region. 4/24/2003 R. Crawfis, Ohio State Univ. 118 4/24/2003 R. Crawfis, Ohio State Univ. 119 2

  3. Interfaces Propagating Interfaces How does an interface evolve over time? An interface (or front) is a boundary between two At a specific moment, the speed function F ( L , G , I ) describes regions: “inside” and “outside.” the motion of the interface in the normal direction. In 2-D, an interface is a simple closed curve: 4/24/2003 R. Crawfis, Ohio State Univ. 4/24/2003 R. Crawfis, Ohio State Univ. 120 121 Propagating Interfaces Motion Under Curvature Speed F ( L , G , I ) is a function of 3 types of properties: Example: Motion by curvature. Each piece moves perpendicular to the curve with speed proportional to the local curvature. • Local – depend on local geometric information ( e.g. , curvature and normal direction) small • Global – depend on the shape and position of the front negative ( e.g. , integrals along the front, heat diffusion) motion • Independent – do not depend on the shape of the front ( e.g. , an underlying fluid velocity that passively transports large positive the front) motion 4/24/2003 R. Crawfis, Ohio State Univ. 4/24/2003 R. Crawfis, Ohio State Univ. 122 123 Motion Under Curvature Motion Under Curvature Curvature κ is the inverse of the radius r of the osculating circle. http://math.berkeley.edu/~sethian/Applets/java_curve_flow.html 4/24/2003 R. Crawfis, Ohio State Univ. 124 4/24/2003 R. Crawfis, Ohio State Univ. 125 3

  4. Functional Representation Functional Representation However, many simple shapes are multivalued; Eulerian framework: define fixed coordinate system on the world. they are not functions regardless of the orientation of the For every world point x , there is (at most) one value y = f t ( x ). coordinate system. Falling snow example: = = y f 0 x ( ) y f 1 x ( ) t = t = 4/24/2003 R. Crawfis, Ohio State Univ. 4/24/2003 R. Crawfis, Ohio State Univ. 126 127 Parametric Representation Parametric Representation Spatially parameterize the curve x by s so that at time t the curve For motion under curvature, speed F depends only on is x t ( s ), where 0 ≤ s ≤ S and the curve is closed: x t (0) = x t ( S ). local curvature κ – the equation of motion is thus: ∂ � � = κ ⋅ x ( s ) F ( ( s )) n ( s ), ∂ t t t Points on initial curve. t − y x x y κ = ( s ) ss s ss s where curvature is t 2 + 2 3 / 2 ( x y ) s s Gradient (wrt time) is the � speed in normal direction. [ ] [ ]     ∇ T − T � x x y y x     = = = n ( s ) s s s s and the normal is �     t ∇ x ( x 2 + y 2 ) 1 / 2 ( x 2 + y 2 ) 1 / 2     Normal is perpendicular s s s s ⊥ ⊥ to curve, as is curvature. 4/24/2003 R. Crawfis, Ohio State Univ. 4/24/2003 R. Crawfis, Ohio State Univ. 128 129 Particle Methods Problem Statement In order to compute, discretize the parameterization into moving � Generally, given: particles which reconstruct the front. Known under a variety of names: marker particle techniques, � An initial front string methods, nodal methods. � Equations that govern its evolution � How do we simulate the front’s evolution? ∆ t = time step � Called an ‘initial value problem’ ∆ s = parameterization step � Given the initial position S ∆ = # mesh particles ∆ s s � Solve for a position at a future time n n ( x i y , ) = location of point i ∆ s at time n ∆ t i 4/24/2003 R. Crawfis, Ohio State Univ. 130 4/24/2003 R. Crawfis, Ohio State Univ. 131 4

  5. More formally: More formally: (2) � Given some initial front Г : � And a function F that specifies the velocity of the front in the normal direction: 4/24/2003 R. Crawfis, Ohio State Univ. 4/24/2003 R. Crawfis, Ohio State Univ. 132 133 What’s Wrong with the Obvious More formally: (3) Solution? � Solve for Г at some future time � Why is a level set method necessary? � Level set methods are used to track an � There seems to be a more intuitive way to interface solve this problem � Water/air interface, for example 4/24/2003 R. Crawfis, Ohio State Univ. 4/24/2003 R. Crawfis, Ohio State Univ. 134 135 Marker/String Methods Marker/String Methods (2) � Why not just connect some control points � And run the simulation on the points? (in 3D, triangulate): 4/24/2003 R. Crawfis, Ohio State Univ. 136 4/24/2003 R. Crawfis, Ohio State Univ. 137 5

  6. Ocean Waves Ocean Waves (2) � Think of an air/water interface with two � What happens to the control points when waves racing towards each other: the waves collide? 4/24/2003 R. Crawfis, Ohio State Univ. 4/24/2003 R. Crawfis, Ohio State Univ. 138 139 Shocks Shocks (2) � Event known as a ‘shock’ � How to fix up the control points? � Below formation called a ‘swallowtail’ � Fixing swallowtails known as ‘de-looping’ � Very difficult � Some methods exist in 2D � No robust 3D methods so far 4/24/2003 R. Crawfis, Ohio State Univ. 4/24/2003 R. Crawfis, Ohio State Univ. 140 141 Changing Topology Changing Topology In particle methods: Example: two fires merge into a single fire. • Difficult (and expensive) to detect and change the particle chains • Much more difficult as dimensionality increases Buoys! 4/24/2003 R. Crawfis, Ohio State Univ. 142 4/24/2003 R. Crawfis, Ohio State Univ. 143 6

  7. Difficulties With Particle Level Set Formulation Methods Recast problem with one additional dimension – the � Instability distance from the interface. � Local singularities And then use Marching Cubes to extract the surface. � Management of particles: remove, redistribute, connect = φ z ( x , y ) t = 0 4/24/2003 R. Crawfis, Ohio State Univ. 4/24/2003 R. Crawfis, Ohio State Univ. 144 145 Level Set Methods � Contour evolution method due to J. Sethian and � The level set approach: S. Osher, 1988 � Define problem in 1 higher dimension � www.math.berkeley.edu/~sethian/level_set.html � Define level set function z = φ ( x,y,t =0) � Difficulties with snake-type methods where the ( x,y ) plane contains the contour, � Hard to keep track of contour if it self-intersects and during its evolution z = signed Euclidean distance transform � Hard to deal with changes in topology value (negative means inside closed contour, positive means outside contour) 4/24/2003 R. Crawfis, Ohio State Univ. 4/24/2003 R. Crawfis, Ohio State Univ. 146 147 How to Move the Contour? Level Set Surface � Move the level set function, φ ( x,y,t ), so � The zero level set (in blue) at one point that it rises, falls, expands, etc. in time is a slice of the level set surface (in red) � Contour = cross section at z = 0 4/24/2003 R. Crawfis, Ohio State Univ. 148 4/24/2003 R. Crawfis, Ohio State Univ. 149 7

  8. Level Set Surface Level Set Surface � Later in time the level set surface (red) has moved and the new zero level set (blue) defines the new contour 4/24/2003 R. Crawfis, Ohio State Univ. 4/24/2003 R. Crawfis, Ohio State Univ. 150 151 How to Move the Level Set Level Set Formulation Surface? The interface always lies at the zeroth level set of the function Φ , 1. Define a velocity field, F , that specifies how contour i.e. , the interface is defined by the implicit equation Φ t ( x , y ) = 0. points move in time � Based on application-specific physics such as time, position, normal, curvature, image gradient magnitude 2. Build an initial value for the level set function, φ ( x,y,t =0), based on the initial contour position 3. Adjust φ over time; current contour defined by φ ( x(t), y(t), t ) = 0 � ∂ Φ + F ⋅ ∇ Φ = 0 ∂ t 1 2  2  2 ∂  ∂   ∂  Φ Φ Φ   + +   = F   0     ∂ ∂ ∂ t  x   y    4/24/2003 R. Crawfis, Ohio State Univ. 4/24/2003 R. Crawfis, Ohio State Univ. 152 153 Speed Function Example: Shape Simplification ( ) = + = − F(K) F F (k) 1 ε K � F = 1 – 0.1 κ where κ is the curvature 0 1 at each contour point ( ) ( ) = ∗ − F(K) k x,y 1 ε K I 1 = k ( ) I + ∇ ∗ 1 G I x,y σ ( ) ∇ ∗ = - G I x,y k e σ I 4/24/2003 R. Crawfis, Ohio State Univ. 154 4/24/2003 R. Crawfis, Ohio State Univ. 155 8

Recommend


More recommend