Interactive Level-Set Surface Deformation on the GPU Aaron Lefohn University of California, Davis.

Slides:



Advertisements
Similar presentations
ENV 2006 CS4.1 Envisioning Information: Case Study 4 Focus and Context for Volume Visualization.
Advertisements

Accelerating Real-Time Shading with Reverse Reprojection Caching Diego Nehab 1 Pedro V. Sander 2 Jason Lawrence 3 Natalya Tatarchuk 4 John R. Isidoro 4.
Active Contours, Level Sets, and Image Segmentation
Render Cache John Tran CS851 - Interactive Ray Tracing February 5, 2003.
3D Graphics Rendering and Terrain Modeling
A Hardware-Assisted Hybrid Rendering Technique for Interactive Volume Visualization Brett Wilson Kwan-Liu Ma University of California, Davis Patrick S.
A Dynamic Adaptive Multi-resolution GPU Data Structure Adaptive Shadow Maps, Octree 3D Paint, Adaptive PDE Solver Aaron Lefohn University of California,
Overview Introduction Variational Interpolation
lecture 4 : Isosurface Extraction
GPGPU in Medical Imaging Applications Kevin Gorczowski.
Interactive Deformation and Visualization of Level-Set Surfaces Using Graphics Hardware Aaron Lefohn Joe Kniss Charles Hansen Ross Whitaker Aaron Lefohn.
Adapted from: CULLIDE: Interactive Collision Detection Between Complex Models in Large Environments using Graphics Hardware Naga K. Govindaraju, Stephane.
GPU-Based Frequency Domain Volume Rendering Ivan Viola, Armin Kanitsar, and Meister Eduard Gröller Institute of Computer Graphics and Algorithms Vienna.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Interactive, GPU-Based Level Sets for 3D Segmentation Aaron Lefohn Joshua Cates Ross Whitaker University of Utah Aaron Lefohn Joshua Cates Ross Whitaker.
Real-World GPGPU Mark Harris NVIDIA Developer Technology.
Accelerating Marching Cubes with Graphics Hardware Gunnar Johansson, Linköping University Hamish Carr, University College Dublin.
Hardware-Assisted Visibility Sorting for Tetrahedral Volume Rendering Steven Callahan Milan Ikits João Comba Cláudio Silva Steven Callahan Milan Ikits.
Smart Hardware- Accelerated Volume Rendering Stefan Roettger Stefan Guthe Daniel Weiskopf Wolfgang Strasser Thomas Ertl.
Volume Rendering using Graphics Hardware
Debunking the 100X GPU vs. CPU Myth: An Evaluation of Throughput Computing on CPU and GPU Presented by: Ahmad Lashgar ECE Department, University of Tehran.
Introduction Belief propagation: known to produce accurate results for stereo processing/ motion estimation High storage requirements limit the use of.
An Interactive Segmentation Approach Using Color Pre- processing Marisol Martinez Escobar Ph.D Candidate Major Professor: Eliot Winer Department of Mechanical.
Motivation “Every three minutes a woman is diagnosed with Breast cancer” (American Cancer Society, “Detailed Guide: Breast Cancer,” 2006) Explore the use.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
A Multigrid Solver for Boundary Value Problems Using Programmable Graphics Hardware Nolan Goodnight Cliff Woolley Gregory Lewin David Luebke Greg Humphreys.
GPU-accelerated Evaluation Platform for High Fidelity Networking Modeling 11 December 2007 Alex Donkers Joost Schutte.
Aaron Lefohn University of California, Davis GPU Memory Model Overview.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Mapping Computational Concepts to GPUs Mark Harris NVIDIA Developer Technology.
Computer-Aided Design and Manufacturing Laboratory: 3D Minkowski sum computation Sara McMains UC Berkeley.
GPUs and Accelerators Jonathan Coens Lawrence Tan Yanlin Li.
A Fast Simulation Method Using Overlapping Grids for Interactions between Smoke and Rigid Objects Yoshinori Dobashi (Hokkaido University) Tsuyoshi Yamamoto.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
Cg Programming Mapping Computational Concepts to GPUs.
Lecture 6 : Level Set Method
GPU-Accelerated Surface Denoising and Morphing with LBM Scheme Ye Zhao Kent State University, Ohio.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Real-time Shading with Filtered Importance Sampling Jaroslav Křivánek Czech Technical University in Prague Mark Colbert University of Central Florida.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
Interactive Rendering With Coherent Ray Tracing Eurogaphics 2001 Wald, Slusallek, Benthin, Wagner Comp 238, UNC-CH, September 10, 2001 Joshua Stough.
Real-time Rendering of Heterogeneous Translucent Objects with Arbitrary Shapes Stefan Kinauer KAIST (Korea Advanced Institute of Science and Technology)
Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.
A Computationally Efficient Framework for Modeling Soft Body Impact Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
Introduction: Lattice Boltzmann Method for Non-fluid Applications Ye Zhao.
Efficient Streaming of 3D Scenes with Complex Geometry and Complex Lighting Romain Pacanowski and M. Raynaud X. Granier P. Reuter C. Schlick P. Poulin.
GPU Data Formatting and Addressing
VAPoR: A Discovery Environment for Terascale Scientific Data Sets Alan Norton & John Clyne National Center for Atmospheric Research Scientific Computing.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
GPU Accelerated MRI Reconstruction Professor Kevin Skadron Computer Science, School of Engineering and Applied Science University of Virginia, Charlottesville,
Havok FX Physics on NVIDIA GPUs. Copyright © NVIDIA Corporation 2004 What is Effects Physics? Physics-based effects on a massive scale 10,000s of objects.
Motivation Properties of real data sets Surface like structures
LODManager A framework for rendering multiresolution models in real-time applications J. Gumbau O. Ripollés M. Chover.
Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets. RLE Sparse Level Sets Ben Houston Mark Wiebe Christopher Batty Fluids and Level Sets Session.
Discontinuous Displacement Mapping for Volume Graphics, Volume Graphics 2006, July 30, Boston, MA Discontinuous Displacement Mapping for Volume Graphics.
Compact, Fast and Robust Grids for Ray Tracing Ares Lagae & Philip Dutré 19 th Eurographics Symposium on Rendering EGSR 2008Wednesday, June 25th.
Linear Algebra Operators for GPU Implementation of Numerical Algorithms J. Krüger R. Westermann computer graphics & visualization Technical University.
Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.
Image Processing A Study in Pixel Averaging Building a Resolution Pyramid With Parallel Computing Denise Runnels and Farnaz Zand.
Mapping Computational Concepts to GPUs Mark Harris NVIDIA.
Sunpyo Hong, Hyesoon Kim
Scientific Computing Goals Past progress Future. Goals Numerical algorithms & computational strategies Solve specific set of problems associated with.
GPU, How It Works? GRAPHICS PROCESSING UNITS Hidden Surfaces Determine which surfaces should be displayed Texturing Modify each pixel colour for added.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
Exploiting Graphics Processors for High-performance IP Lookup in Software Routers Jin Zhao, Xinya Zhang, Xin Wang, Yangdong Deng, Xiaoming Fu IEEE INFOCOM.
Chapter 1 An overview on Computer Graphics
3D Graphics Rendering PPT By Ricardo Veguilla.
GPGPU: Distance Fields
Kenneth Moreland Edward Angel Sandia National Labs U. of New Mexico
University of Virginia
Presentation transcript:

Interactive Level-Set Surface Deformation on the GPU Aaron Lefohn University of California, Davis

Problem Statement Goal –Interactive system for deformable surface manipulation –Level-sets Challenges –Deformation is slow –Deformation is hard to control Solution –Accelerate level-set computation with GPU –Visualize computation in real-time

Collaborators University of Utah Joe Kniss Joshua Cates Charles Hansen Ross Whitaker

Overview Why? –Motivation and previous work How? –Streaming level-set algorithm –Real-time visualization –Segmentation application Does it work? –Demonstration –User study

Deformable Surfaces Applications of Level-Sets –Fluid simulation –Surface reconstruction for 3D scanning –Surface processing –Image / Volume segmentation Introduction

Fluid Simulation Premoze et al., Eurographics, 2003 Introduction

Surface Processing Tasdizen et al., IEEE Visualization, 2002 Introduction

Volume Segmentation Lefohn et al., IEEE Visualization, 2003 Introduction

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

CPU Level-Set Acceleration Initialize Domain Compute Update Domain Narrow-Band/Sparse-Grid –Compute PDE only near the surface Adalsteinson et al Whitaker et al Peng et al Time-dependent, sparse-grid solver Introduction

GPU Level-Set Acceleration Strzodka et al –2D level-set solver on NVIDIA GeForce 2 –No narrow-band optimization Lefohn et al –Brute force 3D implementation on ATI Radeon 8500 –1x – 2x faster than CPU, but 10x more computations –No narrow-band optimization Introduction

Overview Why? –Motivation and previous work How? –Streaming level-set algorithm –Real-time visualization –Segmentation application Does it work? –Demonstration –User study

Sparse Volume Computation –CPU algorithm: Traverse linked list of active voxels –GPU algorithm: Compute all active voxels in parallel Data structures change after each PDE time step GPU Narrow-Band Solver Initialize Domain Compute Update Domain Algorithm

GPU-Based Narrow-Band Level-Set Solver Goals 1.Leverage GPU parallelism 2.Minimize unnecessary computation 3.Minimize GPU memory usage 4.Fast update of sparse data structures 5.Interactive visualization Algorithm Goals Algorithm

Algorithm Solutions Pack Active Voxels Into 2D Texture –Increase parallelism, reduce computation and memory use Efficient GPU-to-CPU Message Passing –Fast update of packed data structure PDE-Based Distance Transform –Increase parallelism On-The-Fly Decompression Volume Rendering –Interactive visualization without increasing memory use Algorithm

Multi-Dimensional Virtual Memory –3D virtual memory –2D physical memory –16 x 16 pixel pages A Dynamic, Sparse GPU Data Structure Algorithm Virtual Memory SpacePhysical Memory Space Unused Pages OutsideActive PagesInside

A Dynamic, Sparse GPU Data Structure GPU: Does the Real Work –Level-set computation (2D physical memory) –Issues memory requests CPU: Manages memory –Memory manager –Page table (3D virtual memory) Algorithm CPU GPU Physical Addresses for Active Memory Pages Memory Requests PDE Computation passes

A Dynamic, Sparse GPU Data Structure Problem –Neighbor lookups across page boundaries –Branching slow on GPU Solution –Substreams Create homogeneous data streams Resolve conditionals with geometry Goodnight 2003, Harris 2003, Lefohn 2003 Optimizes cache and pre-fetch performance –Kapasi et al., Micro 33, 2000 Algorithm

GPU-to-CPU Message Passing Problem: Active Voxel Set is Time-Dependent –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 Mipmapping s+x-x+y-y+z-z 

Algorithm Solutions Pack Active Voxels Into 2D Texture –Increase parallelism, reduce computation and memory use Efficient GPU-to-CPU Message Passing –Fast update of packed data structure PDE-Based Distance Transform –Increase parallelism On-The-Fly Decompression Volume Rendering –Interactive visualization without increasing memory use Algorithm

Distance Transform on GPU Problem: Where is the narrow band? –Use voxel values to indicate distance from surface –Traditional methods not data-parallel Solution –Include distance transform in level-set PDE –Similar to Fedkiw et al.,J. Comp. Phys., 1999 Algorithm

Overview Why? –Motivation and previous work How? –Streaming level-set algorithm –Real-time visualization (with Joe Kniss) –Segmentation application Does it work? –Live demonstration –User study

Direct Volume Rendering of Level Set Reconstruct 2D slice of virtual memory space –On-the-fly decompression on GPU –Use 2D geometry and texture coordinates Visualization

Direct Volume Rendering of Level Set Fully general volume rendering of compressed data –2D slice-based rendering: No data duplication –Tri-linear interpolation –Full transfer function and lighting capabilities Visualization

Overview Why? –Motivation and previous work How? –Streaming level-set algorithm –Real-time visualization –Segmentation application Does it work? –Demonstration –User study

Level-Set Segmentation Application Idea: Segment surface from 3D image –Begin with “seed” surface –Deform surface into target segmentation Application

Velocity attracts level set to desired feature Segmentation Parameters 1.Intensity value of interest (center) 2.Width of intensity interval (variance) 3.Percentage of data vs. smoothing Segmentation Application Application

Threshold Speed Term Attract level set to range of voxel intensities Width (Variance)Center (Mean) Application

Curvature Speed Term Enforce surface smoothness –Prevent segmentation “leaks” –Smooth noisy solution Seed Surface No Curvature With Curvature Application

Overview Why? –Motivation and previous work How? –Streaming level-set algorithm –Real-time visualization –Segmentation application Does it work? –Demonstration –User study

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

2D Narrow-Band Example Results

Demo Segmentation of MRI volumes –128 3 scalar volume Hardware Details –ATI Radeon 9800 Pro –2.4 GHz Intel Xeon –1 GB of RAM Results

Region-of-Interest Volume Rendering Limit extent of volume rendering –Use level-set segmentation to specify region –Add level-set value to transfer function Center for In Vivo Microscopy Duke University Results

Overview Why? –Motivation and previous work How? –Streaming level-set algorithm –Real-time visualization –Segmentation application Does it work? –Demonstration –User study (with Josh Cates)

Evaluation User Study Goal –Can a user quickly find parameter settings to create an accurate, precise 3D segmentation? –Relative to hand contouring Evaluation

User Study Methodology Six users and nine data sets –Harvard Brigham and Women’s Hospital Brain Tumor Database –256 x 256 x 124 MRI No pre-processing of data & no hidden parameters Ground truth –Expert hand contouring –STAPLE method (Warfield et al. MICCAI 2002) Evaluation

User Study Results Efficiency –6 ± 3 minutes per segmentation (vs multiple hours) –Solver idle 90% - 95% of time Precision –Intersubject similarity significantly better –94.04% ± 0.04% vs % ± 0.07% Accuracy –Within error bounds of expert hand segmentations –Bias towards smaller segmentations –Compares well with other semi-automatic techniques –Kaus et al., Radiology, 2001 Evaluation

Summary Interactive Level-Set System –10x – 15x speedup over optimized CPU implementation –Segmentation application –Intuitive parameter tuning –User study Algorithm Developments –Multi-dimensional virtual memory –Substreams –PDE-based distance transform –Message passing –Volume rendering packed data Conclusions

Future Directions Other Level-Set Applications –Surface processing, surface reconstruction, physical simulation Integrate GPGPU Code Into Open Source Software –The Insight Toolkit ( “Interactive Visulation” –GPGPU allows for simultaneous visualization and simulation –What problems can be solved with “interactive visulation?” –What is the user interface for a visulation? Conclusions

Acknowledgements Joe Kniss – Volume rendering Josh Cates – Tumor user study Gordon Kindlmann – “Teem” raster-data toolkit Milan Ikits – “Glew” OpenGL extension wrangler Ross Whitaker, Charles Hansen, Steven Parker, and John Owens Utah CS, SCI, and CIPIC faculty, students, and staff ATI: Evan Hart, Mark Segal, Jeff Royle, and Jason Mitchell Brigham and Women’s Hospital, Duke University, UCSD National Science Foundation Graduate Fellowship Office of Naval Research grant #N National Science Foundation grant #ACI and #CCR

Questions? For More Information Google “Lefohn level set” Journal Papers Based on this Work Lefohn, Kniss, Hansen, Whitaker, “A Streaming Narrow Band Algorithm: Interactive Computation and Visualization of Level Sets,” IEEE Transactions on Visualization and Computer Graphics, to appear Cates, Lefohn, Whitaker, “GIST: An Interactive, GPU-Based Level-Set Segmentation Tool for 3D Medical Images,” Medical Image Analysis, to appear 2004