LS Models - Computer Science
Transcription
LS Models - Computer Science
Level Set Models for Computer Graphics David E. Breen Department of Computer Science Drexel University Ross T. Whitaker School of Computing University of Utah Outline • Level Set Model Introduction APPLICATIONS • 3D Volumetric Metamorphosis • Volume Dataset Segmentation • Surface Editing Ken Museth Department of Science and Technology Linkoeping University, Sweden What is a Level Set Model? • A deformable implicit model, φ(X,t) = 0 What is a Level Set Model? • A deformable implicit model, φ(X,t) = 0 • Sampled representation of dimension n+1 – Images (2D) represent curves – Volumes (3D) represent surfaces What is a Level Set Model? • A deformable implicit model, φ(X,t) = 0 • Sampled representation of dimension n+1 – Images (2D) represent curves – Volumes (3D) represent surfaces • Change level set by modifying samples What is a Level Set Model? • A deformable implicit model, φ(X,t) = 0 • Sampled representation of dimension n+1 – Images (2D) represent curves – Volumes (3D) represent surfaces • Change level set by modifying samples • Change sample values by solving a PDE 1 This is a Level Set Model! Changing the image moves the curve • Red curve is defined by φ(x,y) = 127 of a curve! What is a Level Set Model? • φ(X) is not defined by a specific equation What is a Level Set Model? • φ(X) is not defined by a specific equation • φ(X) is represented by a regular 3D sampling – Signed distance volume dataset What is a Level Set Model? What is a Level Set Model? • φ(X) is not defined by a specific equation • φ(X) is represented by a regular 3D sampling – Signed distance volume dataset • Level Set model is deformed by evolving the Level Set equation on the sampling – Osher & Sethian 1988 r r r • ∂ φ(X) /∂ t = ∇φ (X) F (X, ...) • φ(X) is not defined by a specific equation • φ(X) is represented by a regular 3D sampling – Signed distance volume dataset • Level Set model is deformed by evolving the Level Set equation on the sampling – Osher & Sethian 1988 r r r • ∂ φ(X) /∂ t = ∇φ (X) F (X, ...) • Connects changes in sample values to changes of the level set curve/surface 2 Level Set Speed Term Advantages of LS Models • LS model deformation is controlled by F( ) • F(X,…) defines the speed of the LS surface in direction of the surface normal N at each point X on the surface • F( ) is defined by a user for each application in order to achieve a specific goal • We have defined many different speed terms for our segmentation applications • Always produce closed, non-selfintersecting (simple) surfaces Deforming Mesh May Self-Intersect Important for GCAD, CAM and Analysis No Self-Intersection with Level Set Deformations Advantages of LS Models • Easily change topological genus – Holes may close or open – Separate pieces come together/split apart • Ideal for complex deformable models of unknown genus Figurine automatically manufactured from a level set model 3 Mug-to-Chain Morph Advantages of LS Models • Concise interface for control → F( ) Advantages of LS Models Advantages of LS Models • Concise interface for control → F( ) • Free of mesh connectivity and quality issues • Concise interface for control → F( ) • Free of mesh connectivity and quality issues • No need to reparameterize during deformation Disadvantages of LS Models Using Level Set Models in Computer Graphics • No inherent parameterization – Problem for texture mapping & some deformations • Computationally expensive (?) • High memory requirements (?) • Involved in three level set modeling projects – Narrow Band methods are O(surface area)! Adalsteinsson & Sethian 1995, Whitaker 1998, Peng et al. 1999 • Cannot control genus (?) – Han et al. 2001 • Cannot represent fine or sharp features (?) – Losasso et al. 2004, Nielsen & Museth 2006 4 Using Level Set Models in Computer Graphics Using Level Set Models in Computer Graphics • Involved in three level set modeling projects • Involved in three level set modeling projects • 3D Volumetric Metamorphosis • 3D Volumetric Metamorphosis – Make one solid model become another – Make one solid model become another • Volume Dataset Segmentation – Extract complex structures from volumes Using Level Set Models in Computer Graphics • Involved in three level set modeling projects 3D Volumetric Metamorphosis • 3D Volumetric Metamorphosis – Make one solid model become another • Volume Dataset Segmentation – Extract complex structures from volumes • Surface Editing – Cut, paste, blend, smooth arbitrary 3D objects Level Set Morphing Movements • Each point on surface moves in the direction of local normal. Step-size proportional to signed distance to target γ B Level Set Morphing Movements • Each point on surface moves in the direction of local normal. Step-size proportional to signed distance to target γ B r "# X ( ) = $# Xr % Xr ( ) ( ) "t B 5 Level Set Morphing Movements • Each point on surface moves in the direction of local normal. Step-size proportional to signed distance to target γ B r "# X ( ) = $# Xr % Xr ( ) ( ) "t B • Regions inside expand • Regions outside contract • Guaranteed convergence Different Alignments Produce Different Morphs Level Set Morphing Movements • Each point on surface moves in the direction of local normal. Step-size proportional to signed distance to target γ B r "# X ( ) = $# Xr % Xr ( ) ( ) "t B • Regions inside expand • Regions outside contract • Guaranteed convergence • Not moving points! Morphing Challenge • How to morph between these three models? ! Polygonal Mesh CSG Model MRI Scan Morphing Between Different Types of Models • Combining – A variety of scan conversion algorithms – A flexible metamorphosis (morphing) technique based on level set models • Produces – A technique for morphing between different types of geometric models 6 LS Segmentation Framework • Extract closed, smooth models from volumes Volume Dataset Segmentation LS Segmentation Framework • • • • Extract closed, smooth models from volumes Rough estimate Initialization Initial conditions Frog Embryo Example • Interactively fit sphere/toroid to input data LS Segmentation Framework • • • • Extract closed, smooth models from volumes Rough estimate + Fine tuning (sub-voxel) Initialization + Level Set Deformation Initial conditions + Evolve Level Set PDE Frog Embryo Example • Interactively fit sphere/toroid to input data • Scan convert models → Initialization 7 Frog Embryo Example Results - MRI Frog Embryo • Interactively fit sphere/toroid to input data • Scan convert models → Initialization • Level Set Deformation – Attracted to maximum gradient magnitude – Curvature-based smoothing Mouse Embryo Segmentation Ventricles Results - Diffusion Tensor • Scalar fields derived from a diffusion tensor MRI scan (isotropic & anisotropic regions) Liver Results - Diffusion Tensor Results - Diffusion Tensor Brain Ventricles (Isotropic Diffusion) White Matter (Anisotropic Diffusion) 8 Same Dataset Different Models Different Dataset Same Parameters Exploded View Segmentation from Multiple Non-uniform Datasets • Input → Several scans of the same object – Different orientations – Different, non-uniform resolutions Isosurface Initialization After Level Set Deformation Segmentation from Multiple Non-uniform Datasets • Input → Several scans of the same object – Different orientations – Different, non-uniform resolutions • Unable to extract satisfactory model from any one dataset Segmentation from Multiple Non-uniform Datasets • Input → Several scans of the same object – Different orientations – Different, non-uniform resolutions • Unable to extract satisfactory model from any one dataset • Approach → Drive level set segmentation with a moving least-squares polynomial approximation based on all datasets 9 Segmentation Results CT Surface Editing MRI Laser Scan Problem Statement ? Problem Statement + ? Level Set Surface Editing Level Set Surface Editing • Perform surface editing operations within a level set framework to gain LS benefits • Perform surface editing operations within a level set framework to gain LS benefits – Guaranteed to produce closed, non-self-intersecting objects – Easily handle change of genus – No mesh-connectivity/triangle-quality issues – Single framework for editing different types of complex models – Unified interface to surface deformation 10 Level Set Surface Editing LS Surface Editing Pipeline • Perform surface editing operations within a level set framework to gain LS benefits – Guaranteed to produce closed, non-self-intersecting objects – Easily handle change of genus – No mesh-connectivity/triangle-quality issues – Single framework for editing different types of complex models – Unified interface to surface deformation – Many objects are volumetric anyway! LS Surface Editing Pipeline Input data Input data LS Surface Editing Pipeline ← Loops back! Input data Conversions Input data Conversions Input data LS Surface Editing Pipeline ← Loops back! Input data Conversions Operators Conversions Operators Operator Speed Function Building Blocks • F(X, N, φ, …) = Dq(d)G(γ)C(γ) Viewing 11 Operator Speed Function Building Blocks • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Dq(d) → Cut-off function based on a distance d to geometric object q – Regionally constrains level set deformation and computation Operator Speed Function Building Blocks • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Dq(d) → Cut-off function based on a distance d to geometric object q – Regionally constrains level set deformation and computation • G(γ) → Function of geometric measure γ – e.g. curvature2 Operator Speed Function Building Blocks Automatic Blending • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Dq(d) → Cut-off function based on a distance d to geometric object q – Regionally constrains level set deformation and computation • G(γ) → Function of geometric measure γ – e.g. curvature2 • C(γ) → Filters geometric measure γ – Controls local geometric properties Automatic Blending Position Paste Paste objects together to make a single object (CSG union operation) Position Position red object relative to gray object Automatic Blending Position Paste Find intersection “curve” (voxels close to both objects) 12 Automatic Blending Blending Speed Function • F(X, N, φ, …) = Dq(d)G(γ)C(γ) Position Paste Blend Blending only occurs near intersection curve after a paste operation Blending Speed Function • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Dq(d) → Goes to zero at a user-specified distance from the intersection curve Blending Speed Function • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Dq(d) → Goes to zero at a user-specified distance from the intersection curve • G(γ) → Mean curvature • C(γ) → Goes to zero as curvature approaches a user-specified value Blending Speed Function • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Dq(d) → Goes to zero at a user-specified distance from the intersection curve • G(γ) → Mean curvature Blending Speed Function • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Dq(d) → Goes to zero at a user-specified distance from the intersection curve • G(γ) → Mean curvature • C(γ) → Goes to zero as curvature approaches a user-specified value • Motion constrained to only move outwards 13 Localized Smoothing • Spikes in eyes (reconstruction error) Localized Smoothing • Spikes in eyes (reconstruction error) • Position superellipsoids Localized Smoothing • Spikes in eyes (reconstruction error) Smoothing Speed Function • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Position superellipsoids • Region is smoothed Smoothing Speed Function • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Dq(d) → Goes to zero as X approaches surface of superellipsoid Smoothing Speed Function • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Dq(d) → Goes to zero as X approaches surface of superellipsoid • G(γ) → Mean curvature 14 Smoothing Speed Function • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Dq(d) → Goes to zero as X approaches surface of superellipsoid • G(γ) → Mean curvature • C(γ) → Goes to zero as curvature approaches a user-specified value Fixing a Teapot Model Model errors Smoothing Speed Function • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Dq(d) → Goes to zero as X approaches surface of superellipsoid • G(γ) → Mean curvature • C(γ) → Goes to zero as curvature approaches a user-specified value • Motion constrained to only move inwards Fixing a Teapot Model Model errors Fixing a Teapot Model Position superellipsoid Smoothing Speed Function • F(X, N, φ, …) = Dq(d)G(γ)C(γ) Model errors Position superellipsoid Region is smoothed 15 Smoothing Speed Function • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Dq(d) → Goes to zero as X approaches surface of superellipsoid Smoothing Speed Function • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Dq(d) → Goes to zero as X approaches surface of superellipsoid • G(γ) → Mean curvature • C(γ) → Goes to zero as curvature approaches a user-specified value Topology Simplification Smoothing Speed Function • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Dq(d) → Goes to zero as X approaches surface of superellipsoid • G(γ) → Mean curvature Smoothing Speed Function • F(X, N, φ, …) = Dq(d)G(γ)C(γ) • Dq(d) → Goes to zero as X approaches surface of superellipsoid • G(γ) → Mean curvature • C(γ) → Goes to zero as curvature approaches a user-specified value • Motion constrained to only move outwards Embossing a Teapot Model • Surface attracted to point set • Convert image into 3D points 16 Point Embossing • U → Unit vector from X to attraction point P • γ→N•U r Pi r Ui Embossing Speed Function • F(X, N, φ, …) = Dq(d)G(P)C(γ) – measure of angle v Ni ! r Xi ! ! ! Embossing Speed Function • F(X, N, φ, …) = Dq(d)G(P)C(γ) • U → Unit vector from X to attraction point P • γ→N•U – measure of angle between surface normal and direction to attraction point Embossing Speed Function • F(X, N, φ, …) = Dq(d)G(P)C(γ) • U → Unit vector from X to attraction point P • γ→N•U – measure of angle between surface normal and direction to attraction point • Dq(d) → Goes to zero as X approaches surface of superellipsoid Embossing Speed Function • F(X, N, φ, …) = Dq(d)G(P)C(γ) • U → Unit vector from X to attraction point P • γ→N•U Embossing Speed Function • F(X, N, φ, …) = Dq(d)G(P)C(γ) • U → Unit vector from X to attraction point P • γ→N•U – measure of angle between surface normal and direction to attraction point – measure of angle between surface normal and direction to attraction point • Dq(d) → Goes to zero as X approaches surface of superellipsoid • G(P) → φ(P) (Deformation stops at attraction point) • Dq(d) → Goes to zero as X approaches surface of superellipsoid • G(P) → φ(P) (Deformation stops at attraction point) • C(γ) → Non-zero for positive values of γ – Motion constrained to only move in one direction 17 Global Smoothing with a Morphological Opening Point Set Embossing • Opening → Erosion followed by a Dilation Global Smoothing with a Morphological Opening • Opening → Erosion followed by a Dilation • Erosion → Offset surface inwards by σ • Dilation → Offset surface outwards by σ Global Smoothing with a Morphological Opening Laser scan reconstruction with spiky errors Global Smoothing with a Morphological Opening • • • • Opening → Erosion followed by a Dilation Erosion → Offset surface inwards by σ Dilation → Offset surface outwards by σ Quickly calculate distance field from level set model with Sethian’s Fast Marching Method • Faster than solving LS equation over complete surface Global Smoothing with a Morphological Opening Offset surface inwards 18 Global Smoothing with a Morphological Opening How to Repair a Greek Bust? Offset surface outwards to create smoothed surface Copy Right Chin Reflect and Position on Left Paste onto Face Local Smoothing 19 Copy a Nose Paste on New Nose Local Smoothing Different Hair Style? Sharpen Hair How to make a doubleheaded, winged dragon? 20 Load in Dragon Model Enclose the Head Cut Off the Head Make Two Copies of Head Paste and Blend Heads Together Load in Body 21 Paste and Blend Together Heads and Body Enclose and Copy the Wing Load in Double-headed Dragon Paste and Blend the Wing Position a Mirror-copy of Wing Load in a Supertoroid 22 Paste Supertoroid to Body Interactive Cut, Paste & Blend Closed Surface Ideal for Automated Manufacturing Blend Along Intersection Curve Two-Headed Winged Dragon Charm Editing Operators Summary • Design LS surface editing framework Model produced by Utah’s Geometric Design and Computation Group – Single representation and numerous tools • Definition of new LS surface editing operators – Automatic blending along intersection curves – Spatially constrained smoothing and embossing • User control over local surface properties • User control of surface movement direction 23 Level Set Model Summary Acknowledgments • Level set models may be utilized in a wide variety of computer graphics applications • Thanks to Al Barr, Sean Mauch, Leonid Zhukov, Jason Wood (Leeds), Jia Mao, Neha Soni, Erica Stanley, David Johnson (Utah), Mathieu Desbrun (USC), Khrysaundt Koenig, and Katrine Museth • Supported by NSF, NIH, ONR, NLM, Caltech • Datasets provided by CIT Biological Imaging Center & Multires Modeling Group, Utah’s SCI Institute & Geometric Design and Computation Group, Stanford CG Lab, U. of Edinburgh, Microsoft, Cyberware, City of Hope Hospital – 3D metamorphosis – Volume segmentation – Surface editing • Have some shortcomings, being addressed • Offer unique and powerful capabilities and outstanding benefits Related Papers • • • • • • • D.E. Breen and R.T. Whitaker, “A Level-Set Approach for the Metamorphosis of Solid Models,” IEEE Transactions on Visualization and Computer Graphics, Vol. 7, No. 2, pp. 173-192, April-June 2001 D.E. Breen, S. Mauch, R.T. Whitaker and J. Mao, “3D Metamorphosis Between Different Types of Geometric Models,” Proc. Eurographics, pp. 36-48, 2001 R.T. Whitaker, D.E. Breen, K. Museth and N. Soni, “Segmentation of Biological Volume Datasets Using a Level-Set Framework,” Volume Graphics 2001, Springer, pp. 249-263, 2001 K. Museth, D. Breen, L. Zhukov and R. Whitaker, ``Level Set Segmentation From Multiple Nonuniform Volume Datasets,'' Proc. IEEE Visualization, pp. 179-186, 2002 L. Zhukov, K. Museth, D.E. Breen, R.T. Whitaker, A.H. Barr, “Level Set Segmentation and Modeling of DT-MRI Human Brain Data,” Journal of Electronic Imaging, Vol. 12, No. 1, pp. 125-133, January 2003 K. Museth, D.E. Breen, R.T. Whitaker and A.H. Barr, “Level Set Surface Editing Operators,” Proc. SIGGRAPH, pp. 330-338, 2002 D.E. Breen, S. Mauch and R.T. Whitaker, “3D Scan Conversion of CSG Models into Distance, Closest-Point and Colour Volumes,” Volume Graphics, Springer, pp. 135-158, 2000 24