Download presentation
0
Frank Heckel1, Olaf Konrad2, Heinz-Otto Peitgen1
Fast and Smooth Interactive Segmentation of Medical Images Using Variational Interpolation Frank Heckel1, Olaf Konrad2, Heinz-Otto Peitgen1 1 Fraunhofer MEVIS, Germany 2 MeVis Medical Solutions, Germany
1
Overview Introduction Variational Interpolation
Interactive Segmentation using Variational Interpolation Conclusion Outlook
2
Introduction Automatic segmentation Good reproducibility
Not always possible Manual segmentation Time-consuming Bad reproducibility Semi-automatic segmentation Automatic algorithm which requires user interaction Interactive segmentation: Algorithm reacts on user in almost real-time (calculation times <1s)
3
Introduction Manual segmentation by drawing contours
Goal: Interpolation of a 3D mask from a few (user drawn) contours Conditions: Parallel or arbitrary oriented contours Smooth (at least C1-continuous) Fast (interactive calculation times) Surface shall contain all contour points “Extrapolation” character Solution: Variational Interpolation
4
Variational Interpolation
Radial basis function 3D extension of thin-plate spline interpolation Object is defined by an implicit function: Constraints for f(x): Smooth (C1- or C2-continuous) Contains all contour points “Surface constraints” The normal on the surface corresponds to the normal in each contour point “Normal constraints” Surface constraint Normal constraint
5
Variational Interpolation
Solution Solve the linear system that describes f(x) to get the weights wj Matrix is symmetric Bunch-Kaufmann algorithm (LAPACK) Global interpolation scheme
6
Interactive Segmentation using Variational Interpolation
Voxelization Iteratively evaluate f(x) only on the surface (surface tracking similar to marching cubes) Start points: first point of each contour (unless it is already part of a reconstructed surface) Fill the surface slice-wise to get a segmentation of the whole object(s)
7
Interactive Segmentation using Variational Interpolation
Segmentation process Draw / Delete / Edit Contours Calculate Segmentation Check Result
8
Interactive Segmentation using Variational Interpolation
Performance Speedup Solving the linear system is O(n³) Fast LAPACK implementation is essential Support 64-bit, SSE, Multi-Threading Intel Math Kernel Library (MKL) AMD Core Math Library (ACML) Voxelization is O(nm) Multi-threading can be used Current implementation does not scale very well Threads CLAPACK MKL SP 1 52.75s 10.01s 5.27 2 - 5.74s 9.19 4 3.57s 14.78 8 2.89s 18.25 Threads Voxelization SP 1 4.15s 1.00 2 2.49s 1.67 4 1.92s 2.16 8 2.13s 1.95 Metastasis example* 17 contours, n=6246 constraints, m=23541 surface voxels Test system: 2x Intel Xeon X5550 (2.66GHz, Turbo Boost and Hyper-Threading disabled), 12 GB RAM, Windows 7 64-bit, MKL
9
Interactive Segmentation using Variational Interpolation
Performance Quality preserving constraint reduction to become interactive Points that don’t contribute to the overall geometry are removed Measure: Angle and length of adjacent edges q=1.0 q=0.2 Quality n LAPACK Voxelization Total SP Overlap 1.0 6246 2.89s 1.92s 5.13s 1.00 100% 0.5 3608 0.75s 1.18s 2.08s 2.47 99.94% 0.2 1410 0.08s 0.55s 0.67s 7.66 99.32% 0.1 710 0.02s 0.36s 0.41s 12.51 97.05% Test system: 2x Intel Xeon X5550 (2.66GHz, Turbo Boost and Hyper-Threading disabled), 12 GB RAM, Windows 7 64-bit, MKL (8 threads), Voxelization with 4 threads
10
Interactive Segmentation using Variational Interpolation
Robustness Self-intersecting contours Sign of normal constraint needs to be modified Additional start point for surface tracking at intersection Reduced contours Additional constraints might have to be inserted for long line segments
11
Interactive Segmentation using Variational Interpolation
Limitations Memory consumption is O(n²) Performance for large objects not interactive by now Voxelization becomes bottleneck Liver example (14 contours, surface voxels): Quality n LAPACK Voxelization Total Overlap 1.0 13796 23.42s 28.95s 53.28s 100% 0.5 7916 4.94s 16.79s 21.94s 99.5% 0.2 3170 0.5s 7.3s 7.82s 98.74% 0.1 1594 0.1s 8.3s 8.41s 97.68% Test system: 2x Intel Xeon X5550 (2.66GHz, Turbo Boost and Hyper-Threading disabled), 12 GB RAM, Windows 7 64-bit, MKL (8 threads), Voxelization with 4 threads
12
Interactive Segmentation using Variational Interpolation
Limitations Normals are calculated in 2D (based on one contour) Contradictory contours More complex self-intersections Low number of constraints
13
Conclusion Accurate and smooth surface reconstruction
Contours can be arbitrarily oriented Plausible extrapolation Interactive for small objects if: Fast LAPACK implementation is used (MKL or ACML) Voxelization is parallelized The number of constraints is reduced Purely geometrical Independent of modality or scanning parameters Wide range of segmentation tasks Can be easily extended to 4D (needs different radial basis functions)
14
Outlook Reduction of voxelization time More advanced parallelization
GPU? Further improve robustness Investigate local interpolation schemes E.g., compactly supported radial basis functions by Morse et al.* Algorithm is available in MeVisLab 2.1 (“CSOConvertTo3DMask”) Uses only CLAPACK * Bryan S. Morse et al., “Interpolating implicit surfaces from scattered surface data using compactly supported radial basis functions”, ACM SIGGRAPH Courses, 2005
15
Thanks to: Thank you!
16
Variational Interpolation
Effect of the normal constraints: G. Turk and J. F. O’Brien, “Modelling with implicit surfaces that interpolate”, ACM Transactions on Graphics, Vol. 21(4), 2002
17
Variational Interpolation
Difference to shape-based interpolation (distance transform): Distance transform Variational interpolation G. Turk and J. F. O’Brien, “Shape transformation using variational implicit functions”, Proceedings of SIGGRAPH’99, 1999
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.