interactive level-set segmentation on the gpu
TRANSCRIPT
Aaron LefohnNeoptica / Intel
Interactive Level-Set SegmentationInteractive Level-Set Segmentationon the GPUon the GPU
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
2
Problem StatementGoal
Interactive system for deformable surface manipulationLevel-sets
ChallengesDeformation is slowDeformation is hard to control
SolutionAccelerate level-set computation with GPUVisualize computation in real-time
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
3
Collaborators
University of UtahJoe KnissJoshua CatesCharles HansenRoss Whitaker
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
4
Deformable Surfaces
Applications of Level-SetsFluid simulationSurface reconstruction for 3D scanningSurface processingImage / Volume segmentation
IntroductionIntroduction
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
5
Level-Set MethodImplicit surface
Distance transform denotes inside/outside
Surface motion
F = Signed speed in direction of normal
IntroductionIntroduction
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
6
CPU Level-Set Acceleration
InitializeDomain Compute Update
Domain
Narrow-Band/Sparse-GridCompute PDE only near the surface
Adalsteinson et al. 1995Whitaker et al. 1998Peng et al. 1999Houston et al., 2004Museth et al., 2004 - 2006
Time-dependent, sparse-grid solver
IntroductionIntroduction
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
7
GPU Level-Set HistoryStrzodka et al. 2001
2D level-set solver on NVIDIA GeForce 2No narrow-band optimization
Lefohn et al. 2002Brute force 3D implementation on ATI Radeon 8500No faster than CPU, but ~10x more computationsNo narrow-band optimization
Lefohn et al. 2003 / 2004Narrow band GPU 3D level set solver
Crane et al. 20073D level set solver as part of fluid simulation in NVIDIA G80 launch demoMask unused grid cells
Kolb et al. 2007GPU particle level sets
IntroductionIntroduction
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
8
GPU Level-Set HistoryStrzodka et al. 2001
2D level-set solver on NVIDIA GeForce 2No narrow-band optimization
Lefohn et al. 2002Brute force 3D implementation on ATI Radeon 8500No faster than CPU, but ~10x more computationsNo narrow-band optimization
Lefohn et al. 2003 / 2004Narrow band GPU 3D level set solver
Crane et al. 20073D level set solver as part of fluid simulation in NVIDIA G80 launch demoMask unused grid cells
Kolb et al. 2007GPU particle level sets
IntroductionIntroduction
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
9
Sparse Volume ComputationCPU algorithm: Traverse list of active voxelsGPU algorithm: Compute all active voxels in parallel
Data structures change after each PDE time step
GPU Narrow-Band Solver
InitializeDomain Compute Update
Domain
AlgorithmAlgorithm
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
10
A Dynamic, Sparse GPU SolverGPU: Computes PDECPU: Manages GPU memory
Algorithm
CPU GPU
Physical Addresses for Active Memory Pages
Memory Requests
PDE Computation
15-250 passes
Algorithm
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
11
Level-Set SegmentationSurface velocity attracts level set to desired feature
Segmentation Parameters1) Intensity value of interest (center)2) Width of intensity interval (variance)3) Percentage of data vs. smoothing
Data-Based Speed Curvature Speed% Smoothing
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
12
Data speed termAttract level set to range of voxel intensities
D(I)= 0
D(I)
I (Intensity)
Width (Variance) Center (Mean)
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
13
Curvature speed termEnforce surface smoothness
Prevent segmentation “leaks”Smooth noisy solution
Seed Surface No Curvature With Curvature
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
14
Movie
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
15
Interactive 3D Level Set VisualizationUse GPU to perform interactive volume rendering ofthe level set solution while it evolves
Render with original dataDirectly render level set data without reformatting data3D user interface to guide evolving level set surface
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
16
Multi-Dimensional Virtual Memory3D virtual memory2D physical memory16 x 16 pixel pages
Algorithm
A Dynamic, Sparse GPU Data Structure
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
17
Direct Volume Rendering of Level SetReconstruct 2D Slice of Virtual Memory Space
On-the-fly decompression on GPUUse 2D geometry and texture coordinates
Visualization
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
18
Direct Volume Rendering of Level Set
Deferred Filtering: Volume Rendering Compressed Data2D slice-based rendering: No data duplicationTri-linear interpolationFull transfer function and lighting capabilities
Visualization
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
19
Level-Set Segmentation Application
Idea: Segment Surface from 3D ImageBegin with “seed” surfaceDeform surface into target segmentation
Application
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
20
DemoSegmentation of MRI volumes
1283 scalar volume
Hardware DetailsATI Radeon 9800 Pro1.7 GHz Intel Pentium 41 GB of RAM
Results
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
21
Movie
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
22
Region-of-Interest Volume RenderingLimit extent of volume rendering
Use level-set segmentation to specify regionAdd level-set value to transfer function
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
23
Evaluation User StudyGoal
Can a user quickly find parameter settings to create anaccurate, precise 3D segmentation?
Relative to hand contouring
Evaluation
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
24
User Study MethodologySix users and nine data sets
Harvard Brigham and Women’s Hospital Brain TumorDatabase256 x 256 x 124 MRI
No pre-processing of data & no hidden parameters
Ground truthExpert hand contouringSTAPLE method (Warfield et al. MICCAI 2002)
Evaluation
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
25
User Study ResultsEfficiency
6 ± 3 minutes per segmentation (vs multiple hours)Solver idle 90% - 95% of time
PrecisionIntersubject similarity significantly better94.04% ± 0.04% vs. 82.65% ± 0.07%
AccuracyWithin error bounds of expert hand segmentationsCompares well with other semi-automatic techniques
Kaus et al., Radiology, 2001
Evaluation
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
26
SummaryInteractive Level-Set System
10x – 15x speedup over optimized CPU implementationIntuitive parameter tuningUser study evaluation
But…
Conclusions
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
27
That was three+ years ago…GPUs are 6-7x faster!New GPU capabilities make building dynamic datastructures easier and more efficientGPU data structures better understood (Glift, etc.)New, faster CPU level-set methods (RLE, etc.)
Tremendous opportunity for new research
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
28
Future Directions
Other Level-Set ApplicationsSurface processing, surface reconstruction, physical simulation
Better User Interface for Level SetsAdd more user control of evolving level set solverMore powerful editing of level set solution
“Interactive Visulation”User-controllable PDE solversCombine automatic and by-hand methodsNew visualization and computation challenges
Conclusions
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
29
Acknowledgements
Joe Kniss – Volume renderingJosh Cates – Tumor user studyGordon Kindlmann – “Teem” raster-data toolkitMilan Ikits – “GLEW” OpenGL extension wrangler
Ross Whitaker, Charles Hansen, Steven Parker and John OwensATI: Evan Hart, Mark Segal, Jeff Royle, and Jason MitchellBrigham and Women’s Hospital
National Science Foundation Graduate FellowshipOffice of Naval Research grant #N000140110033National Science Foundation grant #ACI008915 and #CCR0092065
Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel
30
Questions?
For More InformationGoogle “Lefohn level set”http://graphics.cs.ucdavis.edu/~lefohn/
Journal Papers Based on this WorkLefohn, Kniss, Hansen, Whitaker, “A Streaming Narrow BandAlgorithm: Interactive Computation and Visualization ofLevel Sets,” IEEE Transactions on Visualization and ComputerGraphics, 10 (40), Jul / Aug, pp. 422-433, 2004
Cates, Lefohn, Whitaker, “GIST: An Interactive, GPU-BasedLevel-Set Segmentation Tool for 3D Medical Images,”Medical Image Analysis, to appear 2004