DOI QR코드

DOI QR Code

Multi-core-based Parallel Query of 3D Point Cloud Indexed in Octree

옥트리로 색인한 3차원 포인트 클라우드의 다중코어 기반 병렬 탐색

  • Han, Soohee (Department of Geoinformatics Engineering)
  • Received : 2013.08.02
  • Accepted : 2013.08.28
  • Published : 2013.08.31

Abstract

The aim of the present study is to enhance query speed of large 3D point cloud indexed in octree by parallel query using multi-cores. Especially, it is focused on developing methods of accessing multiple leaf nodes in octree concurrently to query points residing within a radius from a given coordinates. To the end, two parallel query methods are suggested using different strategies to distribute query overheads to each core: one using automatic division of 'for routines' in codes controlled by OpenMP and the other considering spatial division. Approximately 18 million 3D points gathered by a terrestrial laser scanner are indexed in octree and tested in a system with a 8-core CPU to evaluate the performances of a non-parallel and the two parallel methods. In results, the performances of the two parallel methods exceeded non-parallel one by several times and the two parallel rivals showed competing aspects confronting various query radii. Parallel query is expected to be accelerated by anticipated improvements of distribution strategies of query overhead to each core.

본 연구는 옥트리로 색인한 대용량 3차원 포인트 클라우드를 다중코어를 이용하여 병렬로 탐색함으로써 탐색 속도를 향상시키는 것을 목표로 한다. 특히 주어진 좌표로부터 일정 반경 내에 존재하는 포인트를 병렬로 탐색하기 위하여 다수의 리프 노드에 동시에 접근하는 방식을 개발하는 것에 초점을 두었다. 이를 위하여, 탐색 부하를 각 코어에 분배하는 과정에서 코드 중 for 루틴을 OpenMP에 의하여 자동으로 나누는 방식과 공간적 분할을 고려하는 방식 등 두 가지 병렬 탐색 방식을 제안하였다. 병렬 및 비병렬 탐색 방식을 평가하기 위하여 지상 레이저 스캐너로 취득한 약 1800만개의 3차원 포인트로부터 옥트리를 생성하고 8개 코어가 집적된 CPU가 1개 장착된 시스템에 적용하였다. 결과적으로 두 가지 병렬 탐색 방식 모두 비병렬 탐색 방식보다 수배의 성능 향상 효과를 나타내었으며, 두 병렬 방식은 탐색 반경에 따라 서로 경합하는 양상을 나타내었다. 향후 코어별 탐색 부하 분배 방식을 개선하여 병렬 탐색 속도를 향상시킬 수 있을 것으로 기대된다.

Keywords

References

  1. Chandler, D. (2010), Reduce False Sharing in .NET*, Intel Corporation, URL: http://software.intel.com/en-us/articles /reduce-false-sharing-in-net (last date accessed: 4 June 2013).
  2. Cho, H., Cho, W., Park, J., and Song, N. (2008), 3D building modeling using aerial LiDAR data, Korean Journal of Remote Sensing, Vol. 24, pp. 141-152. (in Korean with English abstract) https://doi.org/10.7780/kjrs.2008.24.2.141
  3. Marechal, L. (2009), Advances in octree-based allhexahedral mesh generation: handling sharp features, 18th International Meshing Roundtable, Salt Lake City, UT, USA, pp. 65-84.
  4. Han, S., Lee, S., Kim, S. P., Kim, C., Heo, J., and Lee, H. (2011), A Comparison of 3D R-tree and octree to index large point clouds from a 3D terrestrial laser scanner, Korean Journal of Geomatics, Vol. 29, No. 1, pp. 531-537. (in Korean with English abstract) https://doi.org/10.7848/ksgpc.2011.29.1.39
  5. Han, S., Kim, S., Jung, J. H., Kim, C., Yu, K., and Heo, J. (2012), Development of a hashing-based data structure for the fast retrieval of 3D terrestrial laser scanned data, Computers & Geosciences, Vol. 39, pp. 1-10. https://doi.org/10.1016/j.cageo.2011.05.005
  6. Han, S. (2013a). Design of Memory-Efficient Octree to Query Large 3D Point Cloud, Korean Journal of Geomatics, Vol. 31, No. 1, pp. 41-48. (in Korean with English abstract) https://doi.org/10.7848/ksgpc.2013.31.1.41
  7. Han, S. (2013b). Enhancing Query Speed of 3D Points Structured by Octree Using Multi-threads, 2013 Spring Conference, Korean Society of Surveying, Geodesy, Photogrammetry, and Cartography, Busan, Korea, pp. 381-382. (in Korean with English abstract)
  8. OpenMP ARB (2013), The $OpenMP^{(R)}$ API specification for parallel programming, OpenMP Architecture Review Board, URL: http://openmp.org/wp/ (last date accessed: 21 May 2013).
  9. PCL (2013), Point Cloud Library, Open Perception, URL: http://www.pointclouds.org/ (last date accessed: 21 August 2013).
  10. Saxena, M., Finnigan, P. M., Graichen, C. M., Hathaway, A. F., and Parthasarathy, V. N. (1995), Octree-based automatic mesh generation for non-manifold domains, Engineering with Computers, Vol. 11, pp. 1-14. https://doi.org/10.1007/BF01230440
  11. Schnabel, R., Wahl, R., and Klein, R. (2007), Efficient RANSAC for point-cloud shape detection, Computer Graphics Forum, Vol. 26, pp. 214-226. https://doi.org/10.1111/j.1467-8659.2007.01016.x
  12. Tian, T. and Shih, C-P (2012), Software Techniques for Shared-Cache Multi-Core Systems, Intel Corporation, URL: http://software.intel.com/en-us/articles/softwaretechniques- for-shared-cache-multi-core-systems (last date accessed: 4 June 2013)
  13. Wang, M. and Tseng, Y.-H. (2004), Lidar data segmentation and classification based on octree structure, XXth ISPRS Congress, ISPRS, Istanbul, Turkey.
  14. Wikipedia (2010), Schematic drawing of an octree, a data structure of computer science, Wikimedia Foundation, Inc., URL: http://en.wikipedia.org/wiki/Octree (last date accessed: 20 January 2013).
  15. Wikipedia (2012), C dynamic memory allocation, Wikimedia Foundation, Inc., URL: http://en.wikipedia.org/wiki/C_ dynamic_memory_allocation (last date accessed: 20 January 2013).
  16. Woo, H. ,Kang, E., Wang, S., and Lee, K. H. (2002), A new segmentation method for point cloud data. International Journal of Machine Tools and Manufacture, Vol. 42, pp. 167-178. https://doi.org/10.1016/S0890-6955(01)00120-1