The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.03 - March (2011 vol.17)
pp: 345-356
Guodong Rong , University of Texas at Dallas, Richardson
Yang Liu , LORIA/INRIA Lorraine, Villers les Nancy
Wenping Wang , The University of Hong Kong, Hong Kong
Xiaotian Yin , State University of New York at Stony Brook, Stony Brook
Xianfeng David Gu , State University of New York at Stony Brook, Stony Brook
Xiaohu Guo , University of Texas at Dallas, Richardson
ABSTRACT
Centroidal Voronoi tessellations (CVT) are widely used in computational science and engineering. The most commonly used method is Lloyd's method, and recently the L-BFGS method is shown to be faster than Lloyd's method for computing the CVT. However, these methods run on the CPU and are still too slow for many practical applications. We present techniques to implement these methods on the GPU for computing the CVT on 2D planes and on surfaces, and demonstrate significant speedup of these GPU-based methods over their CPU counterparts. For CVT computation on a surface, we use a geometry image stored in the GPU to represent the surface for computing the Voronoi diagram on it. In our implementation a new technique is proposed for parallel regional reduction on the GPU for evaluating integrals over Voronoi cells.
INDEX TERMS
Centroidal Voronoi tessellation, graphics hardware, Lloyd's algorithm, L-BFGS algorithm, remeshing.
CITATION
Guodong Rong, Yang Liu, Wenping Wang, Xiaotian Yin, Xianfeng David Gu, Xiaohu Guo, "GPU-Assisted Computation of Centroidal Voronoi Tessellation", IEEE Transactions on Visualization & Computer Graphics, vol.17, no. 3, pp. 345-356, March 2011, doi:10.1109/TVCG.2010.53
REFERENCES
[1] F. Aurenhammer, "Voronoi Diagrams—A Survey of a Fundamental Geometric Data Structure," ACM Computing Surveys, vol. 23, no. 3, pp. 345-405, 1991.
[2] A. Okabe, B. Boots, K. Sugihara, and S.N. Chiu, Spatial Tessellations: Concepts and Applications of Voronoi Diagrams, 2nd ed. John Wiley & Sons, 1999.
[3] A. Gersho, "Asymptotically Optimal Block Quantization," IEEE Trans. Information Theory, vol. 25, no. 4, pp. 373-380, July 1979.
[4] G. Fejes Tòth, "A Stability Criterion to the Moment Theorem," Studia Scientiarum Math. Hungarica, vol. 38, nos. 1-4, pp. 209-224, 2001.
[5] Q. Du and D. Wang, "The Optimal Centroidal Voronoi Tessellations and the Gersho's Conjecture in the Three-Dimensional Space," Computers and Math. with Applications, vol. 49, nos. 9/10, pp. 1355-1373, 2005.
[6] K.A. Lyons, H. Meijei, and D. Rappaport, "Algorithms for Cluster Busting in Anchored Graph Drawing," J. Graph Algorithms and Applications, vol. 2, no. 1, pp. 1-24, 1998.
[7] O. Deussen, S. Hiller, C. van Overveld, and T. Strothotte, "Floating Points: A Method for Computing Stipple Drawings," Computer Graphics Forum, vol. 19, no. 3, pp. 41-50, 2000.
[8] A. Hausner, "Simulating Decorative Mosaics," Proc. ACM SIGGRAPH '01, pp. 573-580, 2001.
[9] L.-P. Fritzsche, H. Hellwig, S. Hiller, and O. Deussen, "Interactive Design of Authentic Looking Mosaics Using Voronoi Structures," Proc. Second Int'l Symp. Voronoi Diagrams in Science and Eng., pp. 82-92, 2005.
[10] Q. Du and M. Gunzburger, "Grid Generation and Optimization Based on Centroidal Voronoi Tessellations," Applied Math. and Computation, vol. 133, nos. 2/3, pp. 591-607, 2002.
[11] Q. Du and X. Wang, "Centroidal Voronoi Tessellation Based Algorithms for Vector Fields Visualization and Segmentation," Proc. IEEE Visualization, pp. 43-50, 2004.
[12] A. McKenzie, S.V. Lombeyda, and M. Desbrun, "Vector Field Analysis and Visualization Through Variational Clustering," Proc. EUROGRAPHICS—IEEE VGTC Symp. Visualization, pp. 29-35, 2005.
[13] Q. Du and D. Wang, "Tetrahedral Mesh Generation and Optimization Based on Centroidal Voronoi Tessellations," Int'l J. Numerical Methods in Eng., vol. 56, no. 9, pp. 1355-1373, 2003.
[14] S. Valette and J.-M. Chassery, "Approximated Centroidal Voronoi Diagrams for Uniform Polygonal Mesh Coarsening," Computer Graphics Forum, vol. 23, no. 3, pp. 381-389, 2004.
[15] P. Alliez, É.C. de Verdière, O. Devillers, and M. Isenburg, "Centroidal Voronoi Diagrams for Isotropic Surface Remeshing," Graphical Models, vol. 67, no. 3, pp. 204-231, 2005.
[16] S. Valette, J.-M. Chassery, and R. Prost, "Generic Remeshing of 3D Triangular Meshes with Metric-Dependent Discrete Voronoi Diagrams," IEEE Trans. Visualization and Computer Graphics, vol. 14, no. 2, pp. 369-381, Mar./Apr. 2008.
[17] J. Dardenne, S. Valette, N. Siauve, and R. Prost, "Medial Axis Approximation with Constrained Centroidal Voronoi Diagrams on Discrete Data," Proc. Computer Graphics Int'l, pp. 299-306, 2008.
[18] Q. Du, V. Faber, and M. Gunzburger, "Centroidal Voronoi Tessellations: Applications and Algorithms," SIAM Rev., vol. 41, no. 4, pp. 637-676, 1999.
[19] Q. Du, M.D. Gunzburger, and L. Ju, "Constrained Centroidal Voronoi Tessellations for Surfaces," SIAM J. Scientific Computing, vol. 24, no. 5, pp. 1488-1506, 2003.
[20] S.P. Lloyd, "Least Squares Quantization in PCM," IEEE Trans. Information Theory, vol. 28, no. 2, pp. 129-137, Mar. 1982.
[21] Y. Liu, W. Wang, B. Lévy, F. Sun, D.-M. Yan, L. Lu, and C. Yang, "On Centroidal Voronoi Tessellation—Energy Smoothness and Fast Computation," ACM Trans. Graphics, vol. 28, no. 4, pp. 1-17, 2009.
[22] G. Rong and T.-S. Tan, "Jump Flooding in GPU with Applications to Voronoi Diagram and Distance Transform," Proc. Symp. Interactive 3D Graphics and Games, pp. 109-116, 2006.
[23] J.B. MacQueen, "Some Methods for Classification and Analysis of Multivariate Observations," Proc. Fifth Berkeley Symp. Math. Statistics and Probability, pp. 281-297, 1967.
[24] L. Ju, Q. Du, and M. Gunzburger, "Probabilistic Methods for Centroidal Voronoi Tessellations and Their Parallel Implementations," Parallel Computing, vol. 28, no. 10, pp. 1477-1500, 2002.
[25] Q. Du and M. Emelianenko, "Acceleration Schemes for Computing Centroidal Voronoi Tessellations," Numerical Linear Algebra with Applications, vol. 13, nos. 2/3, pp. 173-192, 2006.
[26] J.D. Owens, D. Luebke, N. Govindaraju, M. Harris, J. Krger, A.E. Lefohn, and T.J. Purcell, "A Survey of General-Purpose Computation on Graphics Hardware," Computer Graphics Forum, vol. 26, no. 1, pp. 80-113, 2007.
[27] K.E. HoffIII, T. Culver, J. Keyser, M. Lin, and D. Manocha, "Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware," Proc. ACM SIGGRAPH '99, pp. 277-286, 1999.
[28] M.O. Denny, "Algorithmic Geometry via Graphics Hardware," PhD dissertation, Universität des Saarlandes, 2003.
[29] I. Fischer and C. Gotsman, "Fast Approximation of High Order Voronoi Diagrams and Distance Transforms on the GPU," J. Graphics Tools, vol. 11, no. 4, pp. 39-60, 2006.
[30] T.-T. Cao, K. Tang, A. Mohamed, and T.-S. Tan, "Parallel Banding Algorithm to Compute Exact Distance Transform with the GPU," Proc. Symp. Interactive 3D Graphics and Games, pp. 83-90, 2010.
[31] C. Sigg, R. Peikert, and M. Gross, "Signed Distance Transform Using Graphics Hardware," Proc. IEEE Visualization, pp. 83-90, 2003.
[32] A. Sud, M.A. Otaduy, and D. Manocha, "DiFi: Fast 3D Distance Field Computation Using Graphics Hardware," Computer Graphics Forum, vol. 23, no. 3, pp. 557-566, 2004.
[33] A. Sud, N. Govindaraju, R. Gayle, and D. Manocha, "Interactive 3D Distance Field Computation Using Linear Factorization," Proc. ACM Symp. Interactive 3D Graphics and Games, pp. 117-124, 2006.
[34] G. Rong and T.-S. Tan, "Variants of Jump Flooding Algorithm for Computing Discrete Voronoi Diagrams," Proc. Fourth Int'l Symp. Voronoi Diagrams in Science and Eng. (ISVD '07), pp. 176-181, 2007.
[35] O. Weber, Y.S. Devir, A.M. Bronstein, M.M. Bronstein, and R. Kimmel, "Parallel Algorithms for Approximation of Distance Maps on Parametric Surfaces," ACM Trans. Graphics, vol. 27, no. 4, pp. 1-16, 2008.
[36] C.N. Vasconcelos, A. Sá, P.C. Carvalho, and M. Gattass, "Lloyd's Algorithm on GPU," Proc. Fourth Int'l Symp. Visual Computing, pp. 953-964, 2008.
[37] E.F. Bollig, "Centroidal Voronoi Tessellation of Manifolds Using the GPU," Master's thesis, Florida State Univ., 2009.
[38] I. Buck and T. Purcell, "A Toolkit for Computation on GPUs," GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics, R. Fernando, ed., ch. 37, pp. 621-636, Addison-Wesley, 2004.
[39] G. Rong, T.-S. Tan, T.-T. Cao, and Stephanus, "Computing Two-Dimensional Delaunay Triangulation Using Graphics Hardware," Proc. Symp. Interactive 3D Graphics and Games, pp. 89-97, 2008.
[40] D.C. Liu and J. Nocedal, "On the Limited Memory BFGS Method for Large Scale Optimization," Math. Programming, vol. 45, no. 3, pp. 503-528, 1989.
[41] X. Gu and S.-T. Yau, "Global Conformal Surface Parameterization," Proc. Eurographics/ACM SIGGRAPH Symp. Geometry Processing, pp. 127-137, 2003.
[42] X. Gu, S.J. Gortler, and H. Hoppe, "Geometry Images," ACM Trans. Graphics, vol. 21, no. 3, pp. 355-361, 2002.
[43] Y. Liu, "HLBFGS," http://www.loria.fr/~liuyang/softwareHLBFGS /, 2009.
[44] D.-M. Yan, B. Lévy, Y. Liu, F. Sun, and W. Wang, "Isotropic Remeshing with Fast and Exact Computation of Restricted Voronoi Diagram," Computer Graphics Forum, vol. 28, no. 5, pp. 1445-1454, 2009.
[45] P. Alliez, M. Meyer, and M. Desbrun, "Interactive Geometry Remeshing," ACM Trans. Graphics, vol. 21, no. 3, pp. 347-354, 2002.
[46] NVIDIA Corporation, "NVIDIA CUDA™ Programming Guide," http://www.nvidia.com/objectcuda_home.html , July 2009.
[47] V. Podlozhnyuk, "Histogram Calculation in CUDA," NVIDIA Corporation, White Paper, 2007.
[48] R. Shams and R.A. Kennedy, "Efficient Histogram Algorithms for NVIDIA CUDA Compatible Devices," Proc. Int'l Conf. Signal Processing and Comm. Systems (ICSPCS), pp. 418-422, 2007.
[49] M. Gauthier and P. Poulin, "Preserving Sharp Edges in Geometry Images," Proc. Graphics Interface 2009, pp. 1-6, May 2009.
5 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool