A Hybrid Spatial Indexing Structure of Massive Point Cloud Based on Octree and 3D R*-Tree
Abstract
:1. Introduction
2. Related Work
2.1. Single Indexing Structure
2.2. Hybrid Indexing Structure
3. Materials and Methods
3.1. Octree Encoding/Decoding
3.2. 3D R*-Tree
3.3. Hybrid Octree and 3D R*-Tree
- (1)
- Find the maximum and minimum of x, y, and z over the whole Point Cloud data which are denoted as . The root node is denoted as . Initializing octree: ;
- (2)
- For each , judging and , if so, subdivide into eight sub-nodes uniformly. Otherwise, stop subdividing. Computing Morton-code for all leaf nodes and sorting them by code. Go to (3);
- (3)
- A set of 3D R*-tree are constructed on each leaf node with . Initialize 3D R*-tree: . Furthermore, insert the points inside into corresponding 3D R*-tree. At the same time, judge if . If so, implying that nodes in 3D R*-tree are too few to insert all points, then increase the number of cluster centers and dividing nodes of 3D R*-tree dynamically, until the number of points inserted is no more than maximum volume. Go to (4);
- (4)
- Judge if , where is the number of points inserted into corresponding 3D -. If so, go to (3), otherwise, 3D - is constructed.
3.4. kNN Search
3.4.1. Octree Searching
- (1)
- lays inside ;
- (2)
- contains ;
- (3)
- intersects with .
- (1)
- Meeting , and at the same time, then lays inside .
- (2)
- Meeting , then contains .
- (3)
- It is a little complicated for this case. Three criteria are included:
- (1)
- There are three inequalities: , , . If one of them holds, then do not intersect with ;
- (2)
- There are three inequalities: , , . If none or one of them holds, then do not intersect with ;
- (3)
- If , then do not intersect with . Where , and are likewise.
3.4.2. 3D R*-Tree Searching
Algorithm 1 search |
Require:, query point p, number of neighbors k |
if is then |
compare distance from p to all points in |
update the and (top k) |
else |
generate Active Branch List(ABL): sort the s contained in according in ascending order |
compute : sort in ascending order and set to be the k-th , in other word, |
for i = 1:len(ABL) do |
if of is greater than then |
discard and other nodes whose is greater than |
break |
end if |
end for |
for i=1:len(ABL) do |
search in |
end for |
for i=1:len(ABL) do |
if of is greater than then |
discard and other nodes whose is greater than |
end if |
end for |
end if |
4. Results
4.1. Thresholds Setting
4.2. Verification
5. Discussion
6. Conclusions
- (1)
- Proposed a bybrid spatial indexing method;
- (2)
- Proposed a new octree leaf nodes encoding method is proposed;
- (3)
- Designed a searching algorithm that refers to the hybrid structure.
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Acknowledgments
Conflicts of Interest
References
- Imad, M.; Doukhi, O.; Lee, D.J. Transfer Learning Based Semantic Segmentation for 3D Object Detection from Point Cloud. Sensors 2021, 21, 3964. [Google Scholar] [CrossRef]
- Qi, C.R.; Su, H.; Mo, K. PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Honolulu, HI, USA, 21–26 July 2017; pp. 77–85. [Google Scholar] [CrossRef] [Green Version]
- Gang, Z.; Wang, M.; Yi, X. Research on spatial index structure of massive point clouds based on hybrid tree. In Proceedings of the 2017 IEEE 2nd International Conference on Big Data Analysis (ICBDA), Beijing, China, 10–12 March 2017; pp. 134–137. [Google Scholar] [CrossRef]
- Jackins, C.L.; Tanimoto, S.L. Oct-trees and their use in representing three-dimensional objects. Comp. Grap. Imag. Proc. 1980, 14, 249–270. [Google Scholar] [CrossRef]
- Bentley, J.L. Multidimensional binary search trees used for associative searching. Comm. ACM 1975, 18, 509–517. [Google Scholar] [CrossRef]
- Guttman, A. R-trees: A dynamic index structure for spatial searching. In Proceedings of the 1984 ACM SIGMOD International Conference on Management of Data, Boston, MA, USA, 18–21 June 1984; Volume 14, pp. 47–57. [Google Scholar] [CrossRef]
- Miltiadou, M.; Grant, M.; Campbell, N.D.; Warren, M.; Hadjimitsis, D. Open source software DASOS: Efficient accumulation, analysis, and visualisation of full-waveform lidar. Remote Sens. 2021, 13, 559. [Google Scholar] [CrossRef]
- Finkel, R.A.; Bentley, J.L. Quad trees a data structure for retrieval on composite keys. Acta Inform. 1974, 4, 11–19. [Google Scholar] [CrossRef]
- Dricot, A.; Ascenso, J. Hybrid Octree-Plane Point Cloud Geometry Coding. In Proceedings of the 2019 27th European Signal Processing Conference (EUSIPCO), Coruna, Spain, 2–6 September 2019; pp. 1–5. [Google Scholar] [CrossRef]
- Dricot, A.; Pereira, F.; Ascenso, J. Rate-Distortion Driven Adaptive Partitioning for Octree-Based Point Cloud Geometry Coding. In Proceedings of the 2018 25th IEEE International Conference on Image Processing (ICIP), Athens, Greece, 7–10 October 2018; pp. 2969–2973. [Google Scholar] [CrossRef]
- Lu, B.; Wang, Q. Massive Point Cloud Space Management Method Based on Octree-Like Encoding. Arab. J. Sci. Eng. 2019, 44, 9397–9411. [Google Scholar] [CrossRef]
- Beckmann, N.; Kriegel, H.-P. The R*-Tree: An efficient and robust access method for points and rectangles. In Proceedings of the 1990 ACM SIGMOD International Conference on Management of Data, Atlantic, NJ, USA, 23–25 May 1990; Volume 19, pp. 322–331. [Google Scholar] [CrossRef] [Green Version]
- Sellis, T.K.; Roussopoulos, N. The R+-Tree: A Dynamic Index for Multi-Dimensional Objects. In Proceedings of the 13th International Conference on Very Large Data Bases, San Francisco, CA, USA, 1–4 September 1987; Morgan Kaufmann Publishers Inc.: Burlington, MA, USA, 1987; pp. 507–518. Available online: http://hdl.handle.net/1903/4541 (accessed on 4 September 1987).
- Kamel, I.; Faloutsos, C. Hilbert R-Tree: An improved R-tree using fractals. In Proceedings of the 20th International Conference on Very Large Data Bases, San Francisco, CA, USA, 12–15 September 1994; Morgan Kaufmann Publishers Inc.: Burlington, MA, USA, 1994; pp. 500–509. Available online: http://hdl.handle.net/1903/5366 (accessed on 15 September 1994).
- Maolin, C.; Youchuan, W.; Siyi, T.; Jiaxin, Q.; Weixin, L. A method of organizing point clouds based on linear KD tree. Bull. Surv. Mapp. 2016, 1, 23–27. [Google Scholar] [CrossRef]
- Robinson, J.T. The K-D-B-tree: A search structure for large multidimensional dynamic indexes. In Proceedings of the 1981 ACM SIGMOD International Conference on Management of Data, New York, NY, USA, 29 April–1 May 1981; pp. 10–18. [Google Scholar] [CrossRef]
- Zhang, R.; Li, G.; Wang, L.; Li, M.; Zhou, Y. A New Method of Hybrid Index for Mobile LiDAR Point Cloud Data. Geom. Info. Sci. Wuhan Univ. 2018, 43, 993–999. [Google Scholar] [CrossRef]
- Sun, Y.; Zhao, T.; Yoon, S. A Hybrid Approach Combining R*-Tree and k-d Trees to Improve Linked Open Data Query Performance. Appl. Sci. 2021, 11, 2405. [Google Scholar] [CrossRef]
- Wang, Y.; Lv, H.; Ma, Y. Geological tetrahedral model-oriented hybrid spatial indexing structure based on octree and 3D R*-tree. Arab. J. Geos. 2020, 13, 1–11. [Google Scholar] [CrossRef]
- Wang, F.; Zhuang, Y.; Gu, H.; Hu, H. OctreeNet: A Novel Sparse 3-D Convolutional Neural Network for Real-Time 3-D Out-door Scene Analysis. IEEE Tran. Auto. Sci. Eng. 2020, 17, 735–747. [Google Scholar] [CrossRef]
- Zhao, E.; Liu, W.; Dang, H. Data compression and spatial indexing technology for massive 3D point cloud. J. Comp. Appl. 2018, 38, 146–151. [Google Scholar] [CrossRef]
- Lin, B.I.; Hui, Z.; Jia, M. Database-oriented storage based on LMDB and linear octree for massive block model. Tran. Nonf. Meta. Soc. China 2016, 26, 2462–2468. [Google Scholar] [CrossRef]
- Huang, C.Y.; Chung, K.L. Manipulating images by using run-length Morton codes. Inte. J. Patt. Reco. Art. Int. 1997, 11, 889–907. [Google Scholar] [CrossRef]
- Hunter, G.M.; Steiglitz, K. Linear transformation of pictures represented by quad trees. Comp. Grap. Imag. Proc. 1979, 10, 289–296. [Google Scholar] [CrossRef]
- Eastman, C.M. Representations for space planning. Comm. ACM 1970, 13, 242–250. [Google Scholar] [CrossRef]
- Besl, P.J. Geometric modeling and computer vision. Proc. IEEE 1988, 76, 936–958. [Google Scholar] [CrossRef]
- Yang, S.N.; Lin, T.W. A new linear octree construction by filling algorithms. In Proceedings of the 10th Annual International Phoenix Conference on Computers and Communications, IEEE Computer Society, Scottsdale, AZ, USA, 27–30 March 1991. [Google Scholar] [CrossRef]
- Zhang, Q.; Su, X.; Xiang, L.; Sun, X. 3-D shape measurement based on complementary Gray-code light. Opti. Lase. Eng. 2012, 50, 574–579. [Google Scholar] [CrossRef]
- Knott, G.D. A balanced tree storage and retrieval algorithm. In Proceedings of the 1971 International ACM SIGIR Conference on Information Storage and Retrieval, College Park, MD, USA, 1–2 April 1971; pp. 175–196. [Google Scholar] [CrossRef]
- Kofler, M.; Gervautz, M.; Gruber, M. R-trees for organizing and visualizing 3D GIS databases. J. Vis. Comp. Anim. 2000, 11, 129–143. [Google Scholar] [CrossRef]
- Brakatsoulas, S.; Pfoser, D.; Theodoridis, Y. Revisiting R-Tree Construction Principles. In Proceedings of the East European Conference on Advances in Databases and Information Systems, Bratislava, Slovakia, 8–11 September 2002; Springer: Berlin/Heidelberg, Germany, 2002; pp. 149–162. [Google Scholar] [CrossRef]
- Moten, D. 3D R-Tree in Java. Available online: https://github.com/davidmoten/rtree-3d (accessed on 13 October 2019).
- table_scene_lms400. Available online: https://raw.github.com/PointCloudLibrary/data/master/tutorials/table_scene_lms400.pcd (accessed on 2 September 2013).
- Saftly, W.; Baes, M.; Camps, P. Hierarchical octree and kd tree grids for 3D radiative transfer simulations. Astr. Astr. 2014, 561, A77. [Google Scholar] [CrossRef] [Green Version]
- Jaillet, F.; Lobos, C. Fast Quadtree/octree adaptive meshing and re-meshing with linear mixed elements. Eng. Comp. 2021, 1–18. [Google Scholar] [CrossRef]
- Roussopoulos, N.; Kelley, S.; Vincent, F. Nearest neighbor queries. In Proceedings of the 1995 ACM SIGMOD International Conference on Management of data, San Jose, CA, USA, 22–25 May 1995; pp. 7–79. [Google Scholar] [CrossRef]
Octree | 3D R*-Tree | Hybrid Method | ||
---|---|---|---|---|
7 | 10 | 8 | ||
281 | 1185 | 263 | ||
68 | 31 | 13 | ||
5 | 6 | 6 | ||
150 | 910 | 176 | ||
30 | 20 | 6 | ||
5 | 5 | 5 | ||
109 | 778 | 121 | ||
39 | 12 | 5 | ||
4 | 4 | 4 | ||
115 | 709 | 112 | ||
20 | 8 | 6 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Wang, W.; Zhang, Y.; Ge, G.; Jiang, Q.; Wang, Y.; Hu, L. A Hybrid Spatial Indexing Structure of Massive Point Cloud Based on Octree and 3D R*-Tree. Appl. Sci. 2021, 11, 9581. https://doi.org/10.3390/app11209581
Wang W, Zhang Y, Ge G, Jiang Q, Wang Y, Hu L. A Hybrid Spatial Indexing Structure of Massive Point Cloud Based on Octree and 3D R*-Tree. Applied Sciences. 2021; 11(20):9581. https://doi.org/10.3390/app11209581
Chicago/Turabian StyleWang, Wei, Yi Zhang, Genyu Ge, Qin Jiang, Yang Wang, and Lihe Hu. 2021. "A Hybrid Spatial Indexing Structure of Massive Point Cloud Based on Octree and 3D R*-Tree" Applied Sciences 11, no. 20: 9581. https://doi.org/10.3390/app11209581
APA StyleWang, W., Zhang, Y., Ge, G., Jiang, Q., Wang, Y., & Hu, L. (2021). A Hybrid Spatial Indexing Structure of Massive Point Cloud Based on Octree and 3D R*-Tree. Applied Sciences, 11(20), 9581. https://doi.org/10.3390/app11209581