# Determination of Radial Segmentation of Point Clouds Using K-D Trees with the Algorithm Rejecting Subtrees

^{*}

## Abstract

**:**

## 1. Introduction

#### 1.1. Background

#### 1.2. Formulation of the Problem of Interest for This Investigation

#### 1.3. Literature Survey

#### 1.4. Scope and Contribution of This Study

#### 1.5. Organization of the Paper

- Section 2—Presentation of the concepts used in the research;
- Section 3—Discussion on the process of creating visibility viewsheds;
- Section 4—Presentation of the original method of dividing the point cloud into radial parts with the consequent transformation of the storage structure of points into k-d tree;
- Section 5—Presentation of the subtree rejection algorithm in k-d tree;
- Section 6—Results;
- Section 7—Discussion;
- Section 8—Conclusions and future work.

## 2. Viewshed and Point Clouds

- The point cloud of Krakow, made in 2012 as a part of the ISOK project according to the Standard II—12 points/m${}^{2}$, about 27 * ${10}^{7}$. points.

## 3. Previous Work

## 4. Radial Segmentation of Point Clouds

## 5. Binary Trees

- Root—the starting element of the tree;
- Subtree—a tree being a part of the main tree;
- Node—one of the elements of the tree.

#### 5.1. BST Tree—Binary Search Tree

#### 5.2. k-d Tree

## 6. The Subtree Rejection Algorithm in k-d Tree

#### 6.1. Description of Subtree Rejection Rules

- Point 1A belongs to the left subtree resulting from the division through axis 1; the point is located on the right side of the left subtree, and as a result, it was described as the RIGHT point;
- Point 1B belongs to the right subtree resulting from division by axis 1; the point is located on the left side of the right subtree, and as a result, it has been described as the LEFT point;
- Point 2B belongs to the upper subtree resulting from division by the B-axis; the point is located at the bottom of the upper subtree, and as a result, it was described as LOWER;
- Point 3B belongs to the lower subtree resulting from the division by the B-axis; the point is located on the top of the lower subtree, as a result of which, it has been described as UPPER;
- The angle LA0 is the angle between the straight line determined by taken point (this is one of the points: left—L (xl, yl), right—R (xr, yr), bottom—D (xb, yb), upper—G (xu, yu)) and the central point C and the axis OX;
- The MIN—$\alpha $ angle is the angle LA0 with the lower value;
- The MAX—$\beta $ angle is the angle LA0 with the higher value;
- The red point is the central point of the division C—xc, yc.

#### 6.1.1. **Rules for 0–90 Degrees**

- If the angle to the LEFT point is smaller than the MIN angle, reject the lower subtree.∀ (xl,yl) : 0 <LA0 <$\alpha $ <90 reject {(x,y) : x ≥ xl; y ≤ yl}
- If the angle to the RIGHT point is greater than the MAX angle, reject the upper subtree.∀ (xr,yr) : 90 >LA0 >$\beta $ >0 reject {(x,y) : x ≤ xr; y ≥ yr}
- If the angle to the UPPER point is smaller than the MIN angle, reject the right subtree.∀ (xu,yu) : 0 <LA0 <$\alpha $ <90 reject { (x,y) : x ≤ xu; y ≤ yu}
- If the angle to the BOTTOM point is greater than the MAX angle, reject the left subtree.∀ (xb,yb) : 90 >LA0 >$\beta $ >0 reject { (x,y) : x ≤ xb; y ≥ yb}

## 7. Results

**Specification of the computer which was used for research**

- Processor i7-6820HQ CPU 2.70GHz
- 64 GB RAM
- Windows 10

**Computational complexity of the algorithm**

## 8. Discussion

## 9. Conclusions

## Supplementary Materials

## Author Contributions

## Funding

## Acknowledgments

## Conflicts of Interest

## References

- Prokos, A.; Kalisperakis, I.; Karras, G. Automatic point cloud generation and registration with a stereovision slit-scanner. In Proceedings of the 4th International Workshop on 3D Virtual Reconstruction & Visualization of Complex Architectures (3D-ARCH 2001), Trento, Italy, 2–5 March 2011; pp. 2–4. [Google Scholar]
- Su, J.; Srivastava, A.; Zhu, Z.; Huffer, F. Detecting Shapes in 2D Point Clouds Generated from Images. In Proceedings of the 20th International Conference on Pattern Recognition, ICPR 2010, Istanbul, Turkey, 23–26 August 2010. [Google Scholar]
- Blum, J.; Turner, K.J.; Winterbottom, Y. Cumulative Viewshed Analysis using GRID Computing (abstract of proposed paper for Geocomputation 2007). In Proceedings of the Geocomputation 2007, Maynooth, Ireland, 3–5 September 2007. [Google Scholar]
- Senaratne, H.; Bröring, A.; Schreck, T. Using Reverse Viewshed Analysis to Assess the Location Correctness of Visually Generated VGI. Trans. GIS
**2013**, 17, 369–386. [Google Scholar] [CrossRef] - Cooper, G.R.J. Analysing potential field data using visibility. Comput. Geosci.
**2005**, 31, 877–881. [Google Scholar] [CrossRef] - Nutsford, D.; Reitsma, F.; Pearson, A.L.K.S. Personalising the viewshed: Visibility analysis from the human perspective. Appl. Geogr.
**2015**, 62, 1–7. [Google Scholar] [CrossRef] - Brabyn, L.; Mark, D.M. Using viewsheds, GIS, and a landscape classification to tag landscape photographs. Appl. Geogr.
**2011**, 31, 1115–1122. [Google Scholar] [CrossRef] - Appel, A. Some Techniques for Shading Machine Renderings of Solids, SJCC Proceedings; Thompson Books: Washington, DC, USA, 1968; Volume 11, pp. 37–45. [Google Scholar]
- Ozimek, A.; Ozimek, P. Viewshed analyses as support for objective landscape assessment. J. Digit. Landsc. Archit. JoDLA
**2017**, 2, 190–197. [Google Scholar] - Banaszek, L. Przeszłe krajobrazy w chmurze punktów; Wydawnictwo Naukowe UAM: Poznan, Poland, 2015. [Google Scholar]
- Han, X.F.; Jin, J.S.; Wang, M.J.; Jiang, W.; Gao, L.; Xiao, L. A review of algorithms for filtering the 3D point cloud. Signal Process. Image Commun.
**2017**, 57, 103–112. [Google Scholar] [CrossRef] - Gressin, A.; Mallet, C.; David, N. Improving 3D Lidar point cloud registration using optimal neighborhood knowledge. In Proceedings of the ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Melbourne, Australia, 25 August–1 September 2012; Volume I-3. [Google Scholar]
- Bustos, A.P.; Chin, T. Correspondence Rejection by Trilateration for 3D Point Cloud Registration. In Proceedings of the International Conference on Machine Vision Applications, Tokyo, Japan, 18–22 May 2015. [Google Scholar]
- Holz, D.; Ichim, E.I.; Tombari, R.; Rusu, R.B.; Behnke, S. Registration with the Point Cloud Library. IEEE Robot. Autom. Mag.
**2015**, 22, 110–124. [Google Scholar] [CrossRef] - Mahmood, B.; Han, S. 3D Registration of Indoor Point Clouds for Augmented Reality. In Proceedings of the ASCE International Conference on Computing in Civil, Atlanta, GA, USA, 17–19 June 2019. [Google Scholar]
- Kim, Y.; Rana, S.; Wise, S. Exploring Multiple Viewshed Analysis Using Terrain Features and Optimisation Techniques. Comput. Geosci.
**2004**, 30, 1019–1032. [Google Scholar] [CrossRef] - Caldwell, D.R.; Mineter, M.J.; Dowers, S.; Gittings, B.M. Analysis and Visualization of Visibility Surfaces (Poster). In Proceedings of the 7th International Conference on GeoComputation, Southampton, UK, 8–10 September 2003; University of Southampton: Southampton, UK, 2003. [Google Scholar]
- Orlof, J. Point Cloud based viewshed generation in Autocad Civil 3D. Tech. Trans.
**2017**, 12, 143–155. [Google Scholar] - Las Specification; The American Society for Photogrammetry & Remote Sensing: Red Hook, NY, USA, 2019.
- Kurczyński, Z. Forogramertia; Wydawnictwo Naukowe PWN: Warszawa, Poland, 2014. [Google Scholar]
- Ptak, A. LiDAR w wielkim mieście. Geodeta: Magazyn Geoinformacyjny
**2014**, 12, 28–29. [Google Scholar] - Orlof, J. Chmura punktów—nowa struktura danych. Aura ochrona środowiska
**2017**, 12, 3–6. [Google Scholar] - Rubinowicz, P.; Czyńska, K. Study of City Landscape Heritage Using Lidar Data and 3d-City Models. In Proceedings of the International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Kuala Lumpur, Malaysia, 28–30 October 2015; Volume XL-7/W3. [Google Scholar]
- Floriani, L.; Falcidieno, B.; Pienovi, C. Delaunay-based representation of surfaces defined over arbitrarily shaped domains. Comput. Vis. Graph. Image Process.
**1985**, 32, 127–140. [Google Scholar] [CrossRef] - Floriani, L.; De Magillo, P. Visibility algorithms on triangulated digital terrain models. Int. J. Geogr. Inf. Syst.
**1994**, 8, 13–41. [Google Scholar] [CrossRef] - Ozimek, A.; Ozimek, P.; Bohm, A.; Wańkowicz, W. Planowanie przestrzeni o wysokich walorach krajobrazowych przy użyciu cyfrowych analiz terenu wraz z oceną ekonomiczną; Wydawnistwo PK: Cracow, Poland, 2013. [Google Scholar]
- Davis, L.S.; Benedikt, M.L. Computational models of space: Isovists and isovist fields. Comput. Graph. Image Process.
**1979**, 11, 49–72. [Google Scholar] [CrossRef] - Hanan, S. Foundations of Multidimensional and Metric Data Structures; Morgan Kaufmann Publishers: Burlington, MA, USA, 2006. [Google Scholar]
- Schnabel, R.; Wahl, R.; Klein, R. Shape Detection in Point Clouds; Universität Bonn: Bonn, Germany, 2006. [Google Scholar]
- Mémoli, F.; Sapiro, G. Comparing Point Clouds. In Proceedings of the Second Eurographics Symposium on Geometry Processing, Nice, France, 8–10 July 2004. [Google Scholar]
- Brostow, G.J.; Shotton, J.; Fauqueur, J.; Cipolla, R. Segmentation and recognition using structure from motion point clouds. In Proceedings of the ECCV, Marseille, France, 12–18 October 2008. [Google Scholar]

**Figure 6.**(

**a**) An exemplary point cloud is projected onto the XY plane. (

**b**) A point cloud divided by a vertical axis passing through a point in the median defined along the X axis. (

**c**) Subsequent division according to the points in the medians for the left and right subtrees after the Y axis. (

**d**) Repeat previous steps for all subtrees.

**Figure 8.**A point cloud with the selected 2D-tree division axes with a specific point of the radial center, along with 30 and 50 degrees split directions.

**Figure 14.**Comparison of split times using only k-d trees and k-d trees together with the subtree rejection algorithm.

**Table 1.**Comparison of times needed to determine the radial parts of different point clouds using different methods.

Number of Points | Loading Points (Only Once) | Tree Generation (Only Once) | Average One Degree Radial Part | Average Five Degree Radial Part | Method |
---|---|---|---|---|---|

320796467 | 0 ms | 0 ms | 1,429,215 ms | 1,550,938 ms | point by point |

320796467 | 1,350,067 ms | 676,580 ms | 89,194 ms | 94,230 ms | k-d tree |

320796467 | 1,350,067 ms | 676,580 ms | 6204 ms | 29,920 ms | k-d tree + alg |

165806532 | 0 ms | 0 ms | 965,633 ms | 1,055,864 ms | point by point |

165806532 | 715,479 ms | 356,701 ms | 24,227 ms | 28,237 ms | k-d tree |

165806532 | 715,479 ms | 356,701 ms | 2527 ms | 16,274 ms | k-d tree + alg |

18848780 | 0 ms | 0 ms | 101,855 ms | 107,057 ms | point by point |

18848780 | 83 179 ms | 34,714 ms | 3673 ms | 4379 ms | k-d tree |

18848780 | 83,179 ms | 34,714 ms | 945 ms | 1878 ms | k-d tree + alg |

917333 | 0 ms | 0 ms | 18,415 ms | 23,130 ms | point by point |

917333 | 3568 ms | 2885 ms | 2473 ms | 2685 ms | k-d tree |

917333 | 3568 ms | 885 ms | 309 ms | 1396 ms | k-d tree + alg |

© 2019 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 (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Orlof, J.; Ozimek, P.; Łabędź, P.; Widłak, A.; Nytko, M.
Determination of Radial Segmentation of Point Clouds Using K-D Trees with the Algorithm Rejecting Subtrees. *Symmetry* **2019**, *11*, 1451.
https://doi.org/10.3390/sym11121451

**AMA Style**

Orlof J, Ozimek P, Łabędź P, Widłak A, Nytko M.
Determination of Radial Segmentation of Point Clouds Using K-D Trees with the Algorithm Rejecting Subtrees. *Symmetry*. 2019; 11(12):1451.
https://doi.org/10.3390/sym11121451

**Chicago/Turabian Style**

Orlof, Jerzy, Paweł Ozimek, Piotr Łabędź, Adrian Widłak, and Mateusz Nytko.
2019. "Determination of Radial Segmentation of Point Clouds Using K-D Trees with the Algorithm Rejecting Subtrees" *Symmetry* 11, no. 12: 1451.
https://doi.org/10.3390/sym11121451