interactive level-set segmentation on the gpu

30
Aaron Lefohn Neoptica / Intel Interactive Level-Set Segmentation Interactive Level-Set Segmentation on the GPU on the GPU

Upload: others

Post on 25-Apr-2022

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Interactive Level-Set Segmentation on the GPU

Aaron LefohnNeoptica / Intel

Interactive Level-Set SegmentationInteractive Level-Set Segmentationon the GPUon the GPU

Page 2: Interactive Level-Set Segmentation on 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

Page 3: Interactive Level-Set Segmentation on the GPU

Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel

3

Collaborators

University of UtahJoe KnissJoshua CatesCharles HansenRoss Whitaker

Page 4: Interactive Level-Set Segmentation on the GPU

Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel

4

Deformable Surfaces

Applications of Level-SetsFluid simulationSurface reconstruction for 3D scanningSurface processingImage / Volume segmentation

IntroductionIntroduction

Page 5: Interactive Level-Set Segmentation on the GPU

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

Page 6: Interactive Level-Set Segmentation on the GPU

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

Page 7: Interactive Level-Set Segmentation on the GPU

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

Page 8: Interactive Level-Set Segmentation on the GPU

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

Page 9: Interactive Level-Set Segmentation on the GPU

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

Page 10: Interactive Level-Set Segmentation on the GPU

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

Page 11: Interactive Level-Set Segmentation on the GPU

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

Page 12: Interactive Level-Set Segmentation on the GPU

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)

Page 13: Interactive Level-Set Segmentation on the GPU

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

Page 14: Interactive Level-Set Segmentation on the GPU

Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel

14

Movie

Page 15: Interactive Level-Set Segmentation on the GPU

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

Page 16: Interactive Level-Set Segmentation on the GPU

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

Page 17: Interactive Level-Set Segmentation on the GPU

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

Page 18: Interactive Level-Set Segmentation on the GPU

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

Page 19: Interactive Level-Set Segmentation on the GPU

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

Page 20: Interactive Level-Set Segmentation on the GPU

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

Page 21: Interactive Level-Set Segmentation on the GPU

Level Set Applications for VisualizationAaron Lefohn Neoptica / Intel

21

Movie

Page 22: Interactive Level-Set Segmentation on the GPU

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

Page 23: Interactive Level-Set Segmentation on the GPU

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

Page 24: Interactive Level-Set Segmentation on the GPU

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

Page 25: Interactive Level-Set Segmentation on the GPU

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

Page 26: Interactive Level-Set Segmentation on the GPU

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

Page 27: Interactive Level-Set Segmentation on the GPU

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

Page 28: Interactive Level-Set Segmentation on the GPU

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

Page 29: Interactive Level-Set Segmentation on the GPU

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

Page 30: Interactive Level-Set Segmentation on the GPU

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