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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend