interactive deformation and visualization of level-set surfaces using graphics hardware
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Interactive Deformation and Visualization of Level-Set Surfaces
Using Graphics Hardware
Aaron LefohnJoe KnissCharles HansenRoss Whitaker
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
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
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
Overview
Motivation and Introduction
A Streaming Narrow-Band Solution1. Virtual memory model2. Substreams for static branch resolution3. Efficient GPU-to-CPU message passing4. Direct volume rendering of compressed/sparse data
Application and Demo
Conclusions
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
Level-Set Method
Deformable, implicit surfaces• Surface deformation via partial differential equation• General, flexible model
Introduction
Surface Processing
Tasdizen et al.IEEE Visualization 2002
Physical Simulation
Premoze et al. Eurographics 2003
Segmentation
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
Level-Set Method
Implicit surface•
Distance transform• denotes inside/outside
Surface motion• • F = Signed speed in direction of normal
Introduction
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
Level-Set Acceleration
InitializeDomain Compute 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
Introduction
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
Level-Set Acceleration
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
Introduction
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
GPUs• Inexpensive, fast, data-parallel, streaming architecture• Parallel “For-Each” call over data elements• Combination of computation and visualization
Scientific Computing on GPU
Vertex & TextureCoordinates
Vertex Processor Rasterizer Fragment
Processor
Texture Data
Frame/Pixel Buffer(s)
Introduction
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
• 2D computational domain• Restricted, data-parallel programming model• Slow GPU-to-CPU communication• Limited (high-bandwidth) memory on GPU
GPU Computational Capabilities
Vertex & TextureCoordinates
Vertex Processor Rasterizer Fragment
Processor
Texture Data
Frame/Pixel Buffer(s)
Introduction
CPU
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
Time-Dependent, Sparse Solver
1. 2D computational domainMulti-dimensional virtual memory model
2. Restricted, data-parallel programming modelSubstream resolution of fragment-level conditionals
3. Slow GPU-to-CPU communicationEfficient message passing algorithm
4. Limited, high-bandwidth memory on GPUDirect volume rendering of level-set solution on GPU
A Streaming Narrow-Band Algorithm Algorithm
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
Virtual Memory• 3D virtual memory -- Level-set
computation• 2D physical memory -- GPU optimizations• 16 x 16 pixel memory pages -- Locality / Memory
usage
1. Multi-Dimensional Virtual Memory Algorithm
Virtual Memory Space Physical Memory Space
Unused Pages
Active PagesInside Outside
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
1. Multi-Dimensional Virtual Memory
Cooperation between CPU and GPU• CPU
– Memory manager– Page table
• GPU– Performs level-set computation– Issues memory requests
Algorithm
CPU GPU
Physical Addresses for Active Memory Pages
Memory Requests
PDE Computation
15-250 passes
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
2. Static Resolution of Conditionals
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
Algorithm
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
3. Efficient Message Passing Algorithm
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
Algorithm
s +x -x +y -y +z -z
Mipmapping
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
4. Direct Volume Rendering of Level Set
Render from 2D physical memory• Reconstruct 2D slice of virtual memory space• On-the-fly on GPU• Use 2D geometry and texture coordinates
Algorithm
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
4. Direct Volume Rendering of Level Set
Fully general volume rendering of compressed data• Tri-linear interpolation• 2D slice-based volume rendering• Full transfer function and lighting capabilities• No data duplication
Algorithm
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
Extract feature from volume
Two speed functions, FD and FH
• Data-based speed, FD
• Mean-curvature speed, FH
– Smooth noisy solutions– Prevent “leaks”
Segmentation Application Application
FD= 0
FD(I)
I (Intensity)
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
Demo
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
Application
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
Region-of-Interest Volume Rendering
Limit extent of volume rendering• Use level-set segmentation to specify region• Add level-set value to transfer function
Application
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
GPU Narrow-Band: Performance
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.)
Results
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
Summary
Interactive 3D Level-Set Computation/Visualization• Integrated segmentation and volume rendering • Intuitive parameter setting• Quantified effectiveness, user study (MICCAI 2003)
Streaming Narrow-Band Solution1. Virtual memory model2. Substreams for static branch resolution3. Efficient GPU-to-CPU message passing4. Direct volume rendering of compressed/sparse data
Conclusions
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
Future Directions
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
Conclusions
Scientific Computing and Imaging Institute, University of UtahScientific Computing and Imaging Institute, University of Utah
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