Subscribe
Issue No.06 - June (2013 vol.35)
pp: 1495-1508
Andrei C. Jalba , Eindhoven University of Technology, Eindhoven
Jacek Kustra , Philips Research, Eindhoven
Alexandru C. Telea , University of Groningen, Groningen
ABSTRACT
We present a GPU-based framework for extracting surface and curve skeletons of 3D shapes represented as large polygonal meshes. We use an efficient parallel search strategy to compute point-cloud skeletons and their distance and feature transforms (FTs) with user-defined precision. We regularize skeletons by a new GPU-based geodesic tracing technique which is orders of magnitude faster and more accurate than comparable techniques. We reconstruct the input surface from skeleton clouds using a fast and accurate image-based method. We also show how to reconstruct the skeletal manifold structure as a polygon mesh and the curve skeleton as a polyline. Compared to recent skeletonization methods, our approach offers two orders of magnitude speed-up, high-precision, and low-memory footprints. We demonstrate our framework on several complex 3D models.
INDEX TERMS
Skeleton, Shape, Graphics processing unit, Surface reconstruction, Image reconstruction, Timing,skeleton regularization, Medial axes, geodesics
CITATION
Andrei C. Jalba, Jacek Kustra, Alexandru C. Telea, "Surface and Curve Skeletonization of Large 3D Models on the GPU", IEEE Transactions on Pattern Analysis & Machine Intelligence, vol.35, no. 6, pp. 1495-1508, June 2013, doi:10.1109/TPAMI.2012.212
REFERENCES
 [1] N. Ahuja and J. Chuang, "Shape Representation Using a Generalized Potential Field Model," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 19, no. 2, pp. 169-176, Feb. 1997. [2] N. Amenta, S. Choi, T.K. Dey, and N. Leekha, "A Simple Algorithm for Homeomorphic Surface Reconstruction," Int'l J. Computational Geometry Applications, vol. 12, pp. 125-141, 2002. [3] N. Amenta, S. Choi, and R. Kolluri, "The Power Crust," Proc. Sixth ACM Symp. Solid Modeling and Applications, pp 65-73, 2001. [4] C. Aslan, A. Erdem, E. Erdem, and S. Tari, "Disconnected Skeleton: Shape at Its Absolute Scale," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 30, no. 12, pp. 2188-2203, Dec. 2008. [5] O.K.C. Au, C. Tai, H. Chu, D. Cohen-Or, and T. Lee, "Skeleton Extraction by Mesh Contraction," Proc. ACM Siggraph, pp. 441-449, 2008. [6] X. Bai and L. Latecki, "Path Similarity Skeleton Graph Matching," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 30, no. 7, pp. 1282-1292, July 2008. [7] X. Bai, L. Latecki, and W.-Y. Liu, "Skeleton Pruning by Contour Partitioning with Discrete Curve Evolution," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 29, no. 3, pp. 449-462, Mar. 2007. [8] F. Bernardini, J. Mittleman, H. Rushmeier, C. Silva, and G. Taubin, "The Ball-Pivoting Algorithm for Surface Reconstruction," IEEE Trans. Visualization and Computer Graphics, vol. 5, no. 4, pp. 349-359, Oct-Dec. 1999. [9] S. Bouix, K. Siddiqi, and A. Tannenbaum, "Flux Driven Automatic Centerline Extraction," Medical Image Analysis, vol. 9, no. 3, pp. 209-221, 2005. [10] S. Bouix, K. Siddiqi, A. Tannenbaum, and S. Zucker, "Medial Axis Computation and Evolution," Statistics and Analysis of Shape, pp. 1-28, 2006. [11] T. Cao, K. Tang, A. Mohamed, and T. Tan, "Parallel Banding Algorithm to Compute Exact Distance Transform with the GPU," Proc. Siggraph Symp. Interactive 3D Graphics, pp. 134-141, 2010. [12] L. Cayton, "A Nearest Neighbor Data Structure for Graphics Hardware," Proc. Advanced Distribution Management System Conf., pp. 192-197, people.kyb.tuebingen.mpg.delcayton, 2010. [13] M. Chang, F. Leymarie, and B. Kimia, "Surface Reconstruction from Point Clouds by Transforming the Medial Scaffold," Computer Vision and Image Understanding, vol. 113, pp. 1130-1146, 2009. [14] J. Chuang, C. Tsai, and M. Ko, "Skeletonization of Three-Dimensional Object Using Generalized Potential Field," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 22, no. 11, pp. 1241-1251, Nov. 2000. [15] N. Cornea, D. Silver, and P. Min, "Curve-Skeleton Properties, Applications, and Algorithms," IEEE Trans. Visualization and Computer Graphics, vol. 13, no. 3, pp. 87-95, May/June 2007. [16] N. Cornea, D. Silver, X. Yuan, and R. Balasubramanian, "Computing Hierarchical Curve-Skeletons of 3D Objects," Visual Computer, vol. 21, no. 11, pp. 945-955, 2005. [17] L. Costa and R. Cesar, Shape Analysis and Classification. CRC Press, 2000. [18] J. Damon, "Global Medial Structure of Regions in ${\bf R}^3$ ," Geometry and Topology, vol. 10, pp. 2385-2429, 2006. [19] T. Dey and S. Goswami, "Provable Surface Reconstruction from Noisy Samples," Int'l J. Computational Geometry and Applications, vol. 35, no. 1, pp. 340-355, 2006. [20] T. Dey and J. Sun, "Defining and Computing Curve Skeletons with Medial Geodesic Functions," Proc. Fourth Eurographics Symp. Geometry Processing, pp. 143-152, 2006. [21] T. Dey and W. Zhao, "Approximating the Medial Axis from the Voronoi Diagram with a Convergence Guarantee," Algorithmica, vol. 38, pp. 179-200, 2003. [22] R. Dougherty and K. Kunzelmann, "Computing Local Thickness of 3D Structures with ImageJ," Microscopy and Microanalysis, vol. 12, pp. 1678-1679, www.optinav.comLocalThicknessEd.pdf, 2007. [23] E. Eisemann and X. Decoret, "Fast Scene Voxelization and Applications," Proc. Siggraph Symp. Interactive 3D Graphics, pp. 71-78, 2006. [24] M. Foskey, M. Lin, and D. Manocha, "Efficient Computation of a Simplified Medial Axis," Proc. Shape Modeling Conf., pp. 135-142, 2003. [25] P. Frey, "YAMS: A Fully Automatic Adaptive Isotropic Surface Remeshing Procedure," Technical Report 0252, INRIA, www.ann.jussieu.frfrey. Nov. 2001. [26] V. Garcia, E. Debreuve, and M. Barlaud, "Fast k Nearest Neighbor Search Using GPU," Proc. Conf. Visual Computer on GPU, pp. 77-83, 2008. [27] Y. Ge and J. Fitzpatrick, "On the Generation of Skeletons from Discrete Euclidean Distance Maps," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 18, no. 11, pp. 1055-1066, Nov. 1996. [28] P. Giblin and B. Kimia, "A Formal Classification of 3D Medial Axis Points and Their Local Geometry," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 26, no. 2, pp. 238-251, Jan. 2004. [29] J. Giesen, B. Miklos, M. Pauly, and C. Wormser, "The Scale Axis Transform," Proc. 25th Ann. Symp. Compational Geometry, pp. 106-115, 2009. [30] M. Hassouna and A. Farag, "Variational Curve Skeletons Using Gradient Vector Flow," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 31, no. 12, pp. 2257-2274, Dec. 2009. [31] W. Hesselink and J. Roerdink, "Euclidean Skeletons of Digiral Image and Volume Data in Linear Time by the Integer Medial Axis Transform," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 30, no. 12, pp. 2204-2217, Dec. 2008. [32] I. Hotz and H. Hagen, "Visualizing Geodesics," Proc. IEEE Visualization, pp. 311-318, 2000. [33] S. Katz and A. Tal, "Hierarchical Mesh Decomposition Using Fuzzy Clustering and Cuts," ACM Trans. Graphics, vol. 22, no. 3, pp. 954-961, 2003. [34] M. Kazhdan, M. Bolitho, and H. Hoppe, "Poisson Surface Reconstruction," Proc. Eurographics Symp. Geometry Processing, pp. 61-70, 2006. [35] R. Kimmel, D. Shaked, N. Kiryati, and A. Bruckstein, "Skeletonization via Distance Maps and Level Sets," Computer Vision and Image Understanding, vol. 62, no. 3, pp. 382-391, 1995. [36] J. Lambourne, D. Brujic, Z. Djuric, and M. Ristic, "Calculation and Visualisation of the Thickness of 3D CAD Models," Proc. Int'l Conf. Shape Modeling and Applications, pp. 107-112, 2005. [37] F. Leymarie and B. Kimia, "The Medial Scaffold of 3D Unorganized Point Clouds," IEEE Trans. Visualization and Computer Graphics, vol. 29, no. 2, pp. 313-330, Mar./Apr. 2007. [38] F. Leymarie and M. Levine, "Simulating the Grassfire Transform Using an Active Contour Model," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 14, no. 1, pp. 56-75, Jan. 1992. [39] X. Li, T. Woon, T. Tan, and Z. Huang, "Decomposing Polygon Meshes for Interactive Applications," Proc. Symp. Interactive 3D Graphics, pp. 35-42, 2001. [40] J. Ma, S.W. Bae, and S. Choi, "3D Medial Axis Point Approximation Using Nearest Neighbors and the Normal Field," Visual Computer, vol. 28, no. 1, pp. 7-19, 2012. [41] G. Malandain and S. Fernandez-Vidal, "Euclidean Skeletons," Image and Vision Computing, vol. 16, no. 5, pp. 317-327, 1998. [42] MeshLab "MeshLab Geometry Processing Software, 2012," meshlab.sourceforge.net. 2012. [43] B. Miklos, J. Giesen, and M. Pauly, "Discrete Scale Axis Representations for 3D Geometry," Proc. ACM Siggraph, pp. 394-493, 2010. [44] M. Mortara, G. Patanet, M. Spagnuolo, B. Falcidieno, and J. Rossignac, "Plumber: A Method for Multiscale Decomposition of 3D Shapes into Tubular Primitives and Bodies," Proc. ACM Symp. Solid Modeling and Applications, pp. 339-344, 2004. [45] D. Mount and S. Arya, "Approximate Nearest Neighbor Search Software," www.cs.umd.edu/mountANN, 2011. [46] F. Nooruddin and G. Turk, "Simplification and Repair of Polygonal Models Using Volumetric Techniques," IEEE Trans. Visualization and Computer Graphics, vol. 9, no. 2, pp. 191-205, www.cs.princeton.edu/minbinvox, Apr-June 2003. [47] R.L. Ogniewicz and O. Kubler, "Hierarchic Voronoi Skeletons," Pattern Recognition, vol. 28, pp. 343-359, 1995. [48] K. Palagyi and A. Kuba, "Directional 3D Thinning Using 8 Subiterations," Proc. Eighth Int'l Conf. Discrete Geometry for Computer Imagery, pp. 325-336, 1999. [49] G. Peyre and L. Cohen, "Geodesic Computations for Fast and Accurate Surface Remeshing and Parameterization," Progress in Nonlinear Differential Equations and Their Applications, vol. 63, pp. 151-171, www.ceremade.dauphine.frpeyre, 2005. [50] S. Pizer, K. Siddiqi, G. Szekely, J. Damon, and S. Zucker, "Multiscale Medial Loci and Their Properties," Int'l J. Computer Vision, vol. 55, nos. 2/3, pp. 155-179, 2003. [51] K. Polthier and M. Schmies, "Straightest Geodesics on Polyhedral Surfaces," Proc. ACM Siggraph, pp. 30-38, 2006. [52] S. Prohaska and H.C. Hege, "Fast Visualization of Plane-Like Structures in Voxel Data," Proc. IEEE Visualization, pp. 29-36, 2002. [53] C. Pudney, "Distance-Ordered Homotopic Thinning: A Skeletonization Algorithm for 3D Digital Images," Computer Vision and Image Understanding, vol. 72, no. 3, pp. 404-413, 1998. [54] D. Reniers and A. Telea, "Part-Type Segmentation of Articulated Voxel-Shapes Using the Junction Rule," Computer Graphics Forum, vol. 27, no. 7, pp. 1837-1844, 2008. [55] D. Reniers, J.J. van Wijk, and A. Telea, "Computing Multiscale Skeletons of Genus 0 Objects Using a Global Importance Measure," IEEE Trans. Visualization and Computer Graphics, vol. 14, no. 2, pp. 355-368, Mar. 2008. [56] M. Rumpf and A. Telea, "A Continuous Skeletonization Method Based on Level Sets," Proc. Symp. Data Visualisation, pp. 151-158, 2002. [57] S. Rusinkiewicz and M. Levoy, "QSplat: A Multiresolution Point Rendering System for Large Meshes," Proc. ACM Siggraph, pp. 230-237, 2000. [58] D. Shaked and A. Bruckstein, "Pruning Medial Axes," Computer Vision and Image Understanding, vol. 69, no. 2, pp. 156-169, 1998. [59] J. Shewchuk, "Triangle: Engineering a 2D Quality Mesh Generator and Delaunay Triangulator," Proc. Workshop Applied Computational Geometry: Towards Geometric Eng., pp. 203-222, 1996. [60] K. Siddiqi, S. Bouix, A. Tannenbaum, and S. Zucker, "Hamilton-Jacobi Skeletons," Int'l J. Computer Vision, vol. 48, no. 3, pp. 215-231, 2002. [61] K. Siddiqi, S. Bouix, A. Tannenbaum, and S.W. Zucker, "The Hamilton-Jacobi Skeleton," Proc. IEEE Int'l Conf. Computer Vision, pp. 828-834, 1999. [62] K. Siddiqi and S. Pizer, Medial Representations: Mathematics, Algorithms and Applications. Springer, 2009. [63] S. Stolpner, S. Whitesides, and K. Siddiqi, "Sampled Medial Loci and Boundary Differential Geometry," Proc. IEEE Workshop 3D Digital Imaging and Modeling, pp. 87-95, 2009. [64] S. Stolpner, S. Whitesides, and K. Siddiqi, "Sampled Medial Loci for 3D Shape Representation," Computer Vision and Image Understanding, vol. 115, no. 5, pp. 695-706, 2011. [65] R. Strzodka and A. Telea, "Generalized Distance Transforms and Skeletons in Graphics Hardware," Proc. Symp. Data Visualisation, pp. 221-230, 2004. [66] A. Sud, "Efficient Computation of Discrete Voronoi Diagram and Homotopy-Preserving Simplified Medial Axis of a 3D Polyhedron," PhD thesis, Univ. of North Carolina, Chapel Hill, 2006. [67] A. Sud, M. Foskey, and D. Manocha, "Homotopy-Preserving Medial Axis Simplification," Proc. ACM Symp. Solid and Physical Modeling, pp. 103-110, 2005. [68] V. Surazhsky, T. Surazshky, D. Kirsanov, S. Gortler, and H. Hoppe, "Fast Exact and Approximate Geodesics on Meshes," Proc. ACM Siggraph, pp. 130-138, 2005. [69] A. Tagliasacchi, H. Zhang, and D. Cohen-Or, "Curve Skeleton Extraction from Incomplete Point Cloud," Proc. ACM Siggraph, pp. 541-550, 2009. [70] A. Telea and A. Jalba, "Voxel-Based Assessment of Printability of 3D Shapes," Proc. 10th Int'l Conf. Math. Morphology and Its Applications to Image and Signal Processing, pp. 393-404, 2011. [71] A. Telea and J.J. van Wijk, "An Augmented Fast Marching Method for Computing Skeletons and Centerlines," Proc. Symp. Data Visualisation, pp. 251-259, 2002. [72] M. van Dortmont, H. van de Wetering, and A. Telea, "Skeletonization and Distance Transforms of 3D Volumes Using Graphics Hardware," Proc. 13th Int'l Conf. Discrete Geometry for Computer Imagery, pp. 617-629, 2006. [73] V. Verma and J. Snoeyink, "Reducing the Memory Required to Find a Geodesic Shortest Path on a Large Mesh," Proc. 17th ACM SIGSPATIAL Int'l Conf. Advances in Geographic Information Systems, pp. 227-235, 2009. [74] M. Wan, F. Dachille, and A. Kaufman, "Distance-Field Based Skeletons for Virtual Navigation," Proc. IEEE Visualization, pp. 239-246, 2001. [75] J. Wang, M. Oliveira, and A. Kaufman, "Reconstructing Manifold and Non-Manifold Surfaces from Point Clouds," Proc. ACM Symp. Solid Modeling and Applications, pp. 139-147, 2007. [76] K. Zhou, Q. Hou, R. Wang, and B. Guo, "Real-Time KD-Tree Construction on Graphics Hardware," ACM Trans. Graphics, vol. 27, no. 5, p. 111, 2008.