1 / 31

Interactive GPU-based Segmentation Of Large Volume Data With Level Sets

Interactive GPU-based Segmentation Of Large Volume Data With Level Sets. Veronika Solteszova (presenting Oliver Klar’s master thesis) VRVis Research Center. www.vrvis.at. Overview. Introduction Level set method Math and theoretical background GPU Data structure for large volumes

duc
Download Presentation

Interactive GPU-based Segmentation Of Large Volume Data With Level Sets

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Interactive GPU-based Segmentation Of Large Volume Data With Level Sets Veronika Solteszova (presenting Oliver Klar’s master thesis) VRVis Research Center www.vrvis.at

  2. Overview • Introduction • Level set method • Math and theoretical background • GPU Data structure for large volumes • Solution on GPU • Rendering and user interaction • Results and future work Interactive GPU-based Segmentation with Level Sets

  3. Introduction • Level set main idea • Deformable implicit surface • Evolve simple surface intotarget object shape • Short demo Interactive GPU-based Segmentation with Level Sets

  4. Introduction • Problem statement & motivation • Segmentation of large volumetric data is expensive • GPU allows direct rendering • Overcome GPU memory restrictions Interactive GPU-based Segmentation with Level Sets

  5. Overview • Introduction • Level set Method • Math and theoretical background • GPU Data structure for large volumes • Solution on GPU • Rendering and user interaction • Results and future work Interactive GPU-based Segmentation with Level Sets

  6. LS Method: Math • A level set definition • Curve represented as a set of roots of an implicit function • Contour lines = level sets • C = 0.2 ↔ 0.2 level set • Contours, iso-surfaces also level sets Φ > 0.2 Φ > 0.2 Φ < 0.2 Φ = 0.2 Interactive GPU-based Segmentation with Level Sets

  7. LS Method: Math (cont.) • Advantages of such curve representation • No problems with topology changes • Gradient & curvature computation easy • Evolution described by partial differential equation (PDE) • In this approach • Φ: f(x, y, z, t) = 0.5 • Embedding 2D contour (surface) into 3D space, 4th dim = time • Discretization: values of Φ in a 3D texture • Evolution • 3D texture changes → level set moves Interactive GPU-based Segmentation with Level Sets

  8. LS Method (cont.) • Convection partial differential equation (PDE), solved for each point of the grid (discrete volume data) • . • ∆t → time step, • F → gradient magnitude • F → speed function, determines deformation Interactive GPU-based Segmentation with Level Sets

  9. LS Method (cont.) • Speed function F: • Density (D) and mean curvature (κ) influence • Only curvature (κ) driven • Only density factor (D) driven t α 0.3 1.0 0.0 Interactive GPU-based Segmentation with Level Sets

  10. LS Method (cont.) • Density factor: • T: target density • I : volume density Interactive GPU-based Segmentation with Level Sets

  11. Overview • Introduction • Level set Method • Math and theoretical background • GPU Data structure for large volumes • Solution on GPU • Rendering and user interaction • Results and future work Interactive GPU-based Segmentation with Level Sets

  12. GPU Data Structure • Level set calculation only where necessary • Avoid GPU memory restrictions • Volume subdivision into bricks • Neighbors in cache≠ Neighbors in virtual volume • Bricks packed into cache texture Interactive GPU-based Segmentation with Level Sets

  13. Cache Layout (cont.) • Volume subdivision into bricks (34x34x34) • Brick 32x32x32 + 1vox border (filtering) Interactive GPU-based Segmentation with Level Sets

  14. Overview • Introduction • Level set Method • Math and theoretical background • GPU Data structure for large volumes • Solution on GPU • Rendering and user interaction • Results and future work Interactive GPU-based Segmentation with Level Sets

  15. LS Solver • 1. Setup • Signed distance field • Values clamped to: • 0.0 (exterior) • 1.0 (interior) • Narrow band within [0.0, 1.0] Interactive GPU-based Segmentation with Level Sets

  16. Narrow Band Culling • Interior: Min = Max = 1.0 • Exterior: Min = Max = 0.0 0.5 LS Narrow band width Interactive GPU-based Segmentation with Level Sets

  17. LS Solver (cont.) • 2. Calculation on HW • PDE solved in fragment programs • Discretization (with time step ∆t) Interactive GPU-based Segmentation with Level Sets

  18. LS Solver (cont.) • 3. Sparse volume update • GPU – CPU memory request • For each brick: min/max determination • GPU Neighbor activation & encode • CPU – GPU memory allocation • Decode & CPU neighbor activation Interactive GPU-based Segmentation with Level Sets

  19. Neighbor Activation • The level set front may leak out • Activate the bricks touched by the front Interactive GPU-based Segmentation with Level Sets

  20. Neighbor Activation • For each brick • 6 faces ↔ 6 bits state (active/inactive) • State decoded on CPU • Activation on full 26-neighborhood • Flagged face → activate brick • 2 adjacent bricks → edge brick • 3 adjacent bricks → corner brick Interactive GPU-based Segmentation with Level Sets

  21. Overview • Introduction • Level set Method • Math and theoretical background • Data structure • Solution on GPU • Rendering and user interaction • Results and future work Interactive GPU-based Segmentation with Level Sets

  22. Rendering DVR ISO • Rendering 2 different volumes simultaneously • Combination of DVR and ISO rendering DVR Interactive GPU-based Segmentation with Level Sets

  23. Overview • Introduction • Level set Method • Math and theoretical background • Data structure • Solution on GPU • Rendering and user interaction • Results and future work Interactive GPU-based Segmentation with Level Sets

  24. Results’ Gallery Interactive GPU-based Segmentation with Level Sets

  25. Performance • Results of presented level set solver: Tests performed for 1 iteration on GeForce 8800 GTX Interactive GPU-based Segmentation with Level Sets

  26. Demo • Short demo: brain segmentation process Interactive GPU-based Segmentation with Level Sets

  27. Future work • Other speed functions • Further optimization of LS computation: • On neighbor look-ups • Determining the active region in the cache cross section Interactive GPU-based Segmentation with Level Sets

  28. Agfa, AKH, Kplus Thank You for Your attention! Acknowledgements: Oliver Klar, Markus Hadwiger, Katja Bühler www.vrvis.at

  29. /*todo*/ performance • How many iterations for brain2 • How much time does it take • Why is seg. with LS better than tresholding? (proves, illustrations) • Why is the cache by hydrogen 2x bigger as a hydrogen data set? • Segmentation mask export possible with this framework?? Interactive GPU-based Segmentation with Level Sets

  30. Brick-to-tile Mapping • Address translation requires mapping • Case 1: a tile has no mapping • Case 2: a tile maps to a brick • Case 3: a brick has no mapping Case 1 Brick Tile Brick cache Case 2 Virtual volume Case 3 Interactive GPU-based Segmentation with Level Sets

  31. Rendering • Hit point refinement Interactive GPU-based Segmentation with Level Sets

More Related