interactive deformation and visualization of level-set surfaces using graphics hardware

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

Upload: clay

Post on 19-Mar-2016

46 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

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

Interactive Deformation and Visualization of Level-Set Surfaces

Using Graphics Hardware

Aaron LefohnJoe KnissCharles HansenRoss Whitaker

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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