1 / 23

Interactive Deformation and Visualization of Level-Set Surfaces Using Graphics Hardware

Interactive Deformation and Visualization of Level-Set Surfaces Using Graphics Hardware. Aaron Lefohn Joe Kniss Charles Hansen Ross Whitaker. Problem Statement. Goal Interactive system for manipulating level-set, deformable surfaces Level-Set Challenges Computationally expensive

clay
Download Presentation

Interactive Deformation and Visualization of Level-Set Surfaces Using Graphics Hardware

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Interactive Deformation and Visualization of Level-Set Surfaces Using Graphics Hardware Aaron Lefohn Joe Kniss Charles Hansen Ross Whitaker

  2. Problem Statement • Goal • Interactive system for manipulating level-set, deformable surfaces • Level-Set Challenges • Computationally expensive • Difficult to control • Solution • New streaming narrow-band algorithm • Unified computation and visualization

  3. Overview • Motivation and Introduction • A Streaming Narrow-Band Solution 1. Virtual memory model 2. Substreams for static branch resolution 3. Efficient GPU-to-CPU message passing 4. Direct volume rendering of compressed/sparse data • Application and Demo • Conclusions

  4. Level-Set Method Introduction • Deformable, implicit surfaces • Surface deformation via partial differential equation • General, flexible model Segmentation Surface Processing Tasdizen et al. IEEE Visualization 2002 Physical Simulation Premoze et al. Eurographics 2003

  5. Level-Set Method Introduction • Implicit surface • Distance transform • denotes inside/outside • Surface motion • F = Signed speed in direction of normal

  6. Level-Set Acceleration Introduction Compute Initialize Domain Update Domain • Narrow-Band/Sparse-Grid • Compute PDE only near the isosurface • Adalsteinson et al. 1995 • Whitaker et al. 1998 • Peng et al. 1999 • Time-dependent, sparse-grid solver

  7. Level-Set Acceleration Introduction • Graphics Hardware (GPU) Implementations • Strzodka et al. 2001 • 2D level-set solver on NVIDIA GeForce 2 • Lefohn et al. 2002 • 3D level-set solver on ATI Radeon 8500 • 1x – 2x faster than CPU, but 10x more computations • Unpublished work

  8. Scientific Computing on GPU Introduction Vertex & Texture Coordinates Vertex Processor Fragment Processor Rasterizer • GPUs • Inexpensive, fast, data-parallel, streaming architecture • Parallel “For-Each” call over data elements • Combination of computation and visualization Texture Data Frame/Pixel Buffer(s)

  9. GPU Computational Capabilities Introduction Vertex Processor Fragment Processor Rasterizer • 2D computational domain • Restricted, data-parallel programming model • Slow GPU-to-CPU communication • Limited (high-bandwidth) memory on GPU Texture Data CPU Vertex & Texture Coordinates Frame/Pixel Buffer(s)

  10. A Streaming Narrow-Band Algorithm Algorithm Time-Dependent, Sparse Solver • 2D computational domain Multi-dimensional virtual memory model • Restricted, data-parallel programming model Substream resolution of fragment-level conditionals • Slow GPU-to-CPU communication Efficient message passing algorithm • Limited, high-bandwidth memory on GPU Direct volume rendering of level-set solution on GPU

  11. 1. Multi-Dimensional Virtual Memory Algorithm • Virtual Memory • 3D virtual memory -- Level-set computation • 2D physical memory -- GPU optimizations • 16 x 16 pixel memory pages -- Locality / Memory usage Virtual Memory Space Physical Memory Space Unused Pages Inside Outside Active Pages

  12. 1. Multi-Dimensional Virtual Memory Algorithm Physical Addresses for Active Memory Pages PDE Computation 15-250 passes CPU GPU Memory Requests • Cooperation between CPU and GPU • CPU • Memory manager • Page table • GPU • Performs level-set computation • Issues memory requests

  13. 2. Static Resolution of Conditionals Algorithm • Problem • Neighbor lookups across page boundaries • Branching slow on GPU • Solution • Substreams • Create homogeneous data streams • Resolve conditionals with geometry : Points, Lines, Quads • Optimizes cache and pre-fetch performance

  14. 3. Efficient Message Passing Algorithm Algorithm f s +x -x +y -y +z -z • Problem: Time-Dependent Narrow Band • GPU memory request mechanism • Low bandwidth GPU-to-CPU communication • Solution • Compress GPU memory request • Use GPU computation to save GPU-to-CPU bandwidth Mipmapping

  15. 4. Direct Volume Rendering of Level Set Algorithm • Render from 2D physical memory • Reconstruct 2D slice of virtual memory space • On-the-fly on GPU • Use 2D geometry and texture coordinates

  16. 4. Direct Volume Rendering of Level Set Algorithm • Fully general volume rendering of compressed data • Tri-linear interpolation • 2D slice-based volume rendering • Full transfer function and lighting capabilities • No data duplication

  17. Segmentation Application Application • Extract feature from volume • Two speed functions, FD and FH • Data-based speed, FD • Mean-curvature speed, FH • Smooth noisy solutions • Prevent “leaks” FD(I) I (Intensity) FD= 0

  18. Demo Application • Segmentation of MRI volumes • 1283 scalar volume • Details • ATI Radeon 9800 Pro • ARB_fragment_program ARB_vertex_program • 2.6 GHz Intel Xeon with 1 GB RAM

  19. Region-of-Interest Volume Rendering Application • Limit extent of volume rendering • Use level-set segmentation to specify region • Add level-set value to transfer function

  20. GPU Narrow-Band: Performance Results • Performance • 10x – 15x faster than optimized CPU version • Linear dependence on size of narrow band • Bottlenecks • Fragment processor • Conservative time step • Need for global accumulation register (min, max, sum, etc.)

  21. Summary Conclusions • Interactive 3D Level-Set Computation/Visualization • Integrated segmentation and volume rendering • Intuitive parameter setting • Quantified effectiveness, user study (MICCAI 2003) • Streaming Narrow-Band Solution 1. Virtual memory model 2. Substreams for static branch resolution 3. Efficient GPU-to-CPU message passing 4. Direct volume rendering of compressed/sparse data

  22. Future Directions Conclusions • Other level-set applications • User interface • Depth culling within active pages • Sherbondy et al. talk at 3:15pm today • “Fast Volume Segmentation With Simultaneous Visualization Using Programmable Graphics Hardware” • N-D GPU virtual memory system • Separate memory layout from computation

  23. Acknowledgements • Gordon Kindlmann –- “Teem” raster-data toolkit • Milan Ikits –- “Glew” OpenGL extension wrangler • SCI faculty, students, and staff • John Owens at UCDavis • Evan Hart, Mark Segal, Arcot Preetham, Jeff Royle, and Jason Mitchell at ATI Technologies, Inc. • Brigham and Women’s Hospital • CIVM at Duke University • Office of Naval Research grant #N000140110033 • National Science Foundation grant #ACI008915 and #CCR0092065

More Related