The Community for Technology Leaders
Subscribe
Issue No.04 - July/August (2010 vol.16)
pp: 599-608
Michael Connor , Dept. of Comput. Sci., Florida State Univ., Tallahassee, FL, USA
Piyush Kumar , Dept. of Comput. Sci., Florida State Univ., Tallahassee, FL, USA
ABSTRACT
We present a parallel algorithm for k-nearest neighbor graph construction that uses Morton ordering. Experiments show that our approach has the following advantages over existing methods: 1) faster construction of k-nearest neighbor graphs in practice on multicore machines, 2) less space usage, 3) better cache efficiency, 4) ability to handle large data sets, and 5) ease of parallelization and implementation. If the point set has a bounded expansion constant, our algorithm requires one-comparison-based parallel sort of points, according to Morton order plus near-linear additional steps to output the k-nearest neighbor graph.
INDEX TERMS
Concurrent computing, Parallel algorithms, Multicore processing, Three-dimensional displays, Computer graphics, Visualization, Surface reconstruction, Algorithm design and analysis,parallel algorithms., Nearest neighbor searching, point-based graphics, k-nearest neighbor graphics, Morton ordering
CITATION
Michael Connor, Piyush Kumar, "Fast construction of k-nearest neighbor graphs for point clouds", IEEE Transactions on Visualization & Computer Graphics, vol.16, no. 4, pp. 599-608, July/August 2010, doi:10.1109/TVCG.2010.9
REFERENCES
 [1] M. Alexa, J. Behr, D. Cohen-Or, S. Fleishman, D. Levin, and C.T. Silva, "Point Set Surfaces," Proc. IEEE Conf. Visualization (VIS '01), pp. 21-28, 2001. [2] S. Arya, D.M. Mount, N.S. Netanyahu, R. Silverman, and A. Wu, "An Optimal Algorithm for Approximate Nearest Neighbor Searching in Fixed Dimensions," J. ACM, vol. 45, no. 6, pp. 891-923, 1998. [3] M. Bern, "Approximate Closest-Point Queries in High Dimensions," Information Processing Letters, vol. 45, no. 2, pp. 95-99, 1993. [4] P.B. Callahan and S.R. Kosaraju, "A Decomposition of Multidimensional Point Sets with Applications to K-Nearest-Neighbors and N-Body Potential Fields," J. ACM, vol. 42, no. 1, pp. 67-90, 1995. [5] T.M. Chan, "Approximate Nearest Neighbor Queries Revisited," Proc. 13th Ann. Symp. Computational Geometry (SCG '97), pp. 352-358, 1997. [6] T.M. Chan, "A Minimalist's Implementation of an Approximate Nearest Neighbor Algorithm in Fixed Dimensions," to be published. [7] J. Chhugani, B. Purnomo, S. Krishnan, J. Cohen, S. Venkatasubramanian, and D.S. Johnson, "vLOD: High-Fidelity Walkthrough of Large Virtual Environments," IEEE Trans. Visualization and Computer Graphics, vol. 11, no. 1, pp. 35-47, Jan./Feb. 2005. [8] U. Clarenz, M. Rumpf, and A. Telea, "Finite Elements on Point Based Surfaces," Proc. Eurographics Symp. Point Based Graphics (SPBG '04), pp. 201-211, 2004. [9] K.L. Clarkson, "Fast Algorithms for the All Nearest Neighbors Problem," Proc. 24th Symp. Foundations of Computer Science (FOCS '83), included in PhD thesis, Nov. 1983. [10] K.L. Clarkson, "Nearest-Neighbor Searching and Metric Space Dimensions," Nearest-Neighbor Methods for Learning and Vision: Theory and Practice, G. Shakhnarovich, T. Darrell, and P. Indyk, eds., pp. 15-59, MIT Press, 2006. [11] D. Cotting, T. Weyrich, M. Pauly, and M. Gross, "Robust Watermarking of Point-Sampled Geometry," Proc. Shape Modeling Int'l (SMI '04), pp. 233-242, 2004. [12] M.T. Dickerson and D. Eppstein, "Algorithms for Proximity Problems in Higher Dimensions," Computational Geometry Theory and Applications, vol. 5, no. 5, pp. 277-291, Jan. 1996. [13] S. Fleishman, D. Cohen-Or, and C.T. Silva, "Robust Moving Least-Squares Fitting with Sharp Features," ACM Trans. Graphics, vol. 24, no. 3, pp. 544-552, 2005. [14] M. Frigo, C.E. Leiserson, H. Prokop, and S. Ramachandran, "Cache-Oblivious Algorithms," Proc. 40th Ann. Symp. Foundations of Computer Science (FOCS '99), pp. 285-298, 1999. [15] D.R. Karger and M. Ruhl, "Finding Nearest Neighbors in Growth-Restricted Metrics," Proc. 34th Ann. ACM Symp. Theory of Computing (STOC '02), pp. 741-750, 2002. [16] S. Liao, M.A. Lopez, and S.T. Leutenegger, "High Dimensional Similarity Search with Space Filling Curves," Proc. 17th Int'l Conf. Data Eng., pp. 615-622, 2001. [17] M.D. Lieberman, J. Sankaranarayanan, and H. Samet, "A Fast Similarity Join Algorithm Using Graphics Processing Units," Proc. IEEE 24th Int'l Conf. Data Eng. (ICDE '08), pp. 1111-1120, 2008. [18] N.J. Mitra and A. Nguyen, "Estimating Surface Normals in Noisy Point Cloud Data," Proc. 19th Ann. Symp. Computational Geometry (SCG '03), pp. 322-328, 2003. [19] G.M. Morton, "A Computer Oriented Geodetic Data Base and a New Technique in File Sequencing," technical report, IBM Ltd., 1966. [20] D. Mount, "ANN: Library for Approximate Nearest Neighbor Searching," http://www.cs.umd.edu/mountANN/, 1998. [21] N. Nethercote and J. Seward, "Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentation," Proc. 2007 ACM SIGPLAN Conf. Programming Language Design and Implementation (PLDI '07), pp. 89-100, 2007. [22] J.A. Orenstein and T.H. Merrett, "A Class of Data Structures for Associative Searching," Proc. Third ACM SIGACT-SIGMOD Symp. Principles of Database Systems (PODS '84), pp. 181-190, 1984. [23] R. Pajarola, "Stream-Processing Points," Proc. IEEE Visualization 2005, pp. 239-246, 2005. [24] M. Pauly, M. Gross, and L.P. Kobbelt, "Efficient Simplification of Point-Sampled Surfaces," Proc. Conf. Visualization (VIS '02), pp. 163-170, 2002. [25] M. Pauly, R. Keiser, L.P. Kobbelt, and M. Gross, "Shape Modeling with Point-Sampled Geometry," ACM Trans. Graphics, vol. 22, no. 3, pp. 641-650, 2003. [26] J. Sankaranarayanan, H. Samet, and A. Varshney, "A Fast All Nearest Neighbor Algorithm for Applications Involving Large Point-Clouds," Computers and Graphics, vol. 31, no. 2, pp. 157-174, 2007. [27] H. Tropf and H. Herzog, "Multidimensional Range Search in Dynamically Balanced Trees," Angewandte Informatik, vol. 2, pp. 71-77, 1981. [28] P. Tsigas and Y. Zhang, "A Simple, Fast Parallel Implementation of Quicksort and Its Performance Evaluation on SUN Enterprise 10000," Proc. 11th Euromicro Conf. Parallel, Distributed and Network-Based Processing, pp. 372-381, 2003. [29] P.M. Vaidya, "An $O(n \;{\rm log}\; n)$ Algorithm for the All-Nearest-Neighbors Problem," Discrete and Computational Geometry, vol. 4, no. 2, pp. 101-115, 1989.