A Massive Laser Point Cloud Data Organization Strategy Based on the Mixed Model

In the process of data interaction, neighborhood query, filtering, visualization, and dynamic update of LiDAR point cloud data, how to efficiently organize and process massive point cloud data, and quickly index and locate any point in the point cloud and its neighborhood Search is a key issue to be solved urgently. In this paper, combining the advantages of a virtual grid with no interpolation loss on original data, sT spatial relationship, and low memory occupation of the octree, we design an index method based on the combination of virtual grid and adaptive octree based on dynamic scheduling of internal and external memory. Realize the organization and scheduling of massive LiDAR laser scanning point cloud data.


Introduction
With the popularity of high-resolution LiDAR equipment, point cloud data has gradually developed to a massive level. How to efficiently organize and process the acquired massive point cloud data, and be able to quickly index and locate any point and search in the neighborhood, has become a key issue in 3D laser scanning technology.
The core of point cloud data organization and management is spatial indexing [1]. At present, the commonly used method is to realize the spatial organization of data based on the pre-built index of the memory to the point cloud [2]. According to the index construction method of the point cloud data in the memory, the spatial index can be divided into a single index and a combined index. Commonly used single indexes include grid index, quadtree index, octree index [3], KD tree [4] , and R tree  [5], etc. The composite index is a combination of multiple data structures in the index construction to form a multi-level spatial index. The literature [6] respectively introduced the composite index based on octree and R tree, octree and binary tree, combined index of octree and KD tree. However, the above-mentioned data organization methods are based on full memory, and the amount of data that can be processed is restricted by the memory capacity of the computer, which seriously affects the efficiency of the frequent I/O operations of massive point cloud data. This paper designs an index method that combines a virtual grid and an adaptive octree based on the dynamic scheduling strategy of internal and external memory to realize the organization and scheduling of massive point clouds.

The division of virtual grid
The virtual grid divides the point cloud space into grids of equal size according to certain length and width rules, and records the three-dimensional coordinates of the point cloud in the grid, as shown in  2) Enter the number of node point k, calculate the side length l of each grid : 3) Calculate the number of point cloud space in x and y direction:

Construction of adaptive linear octree
The octree is to continuously recursively divide the spatial geometric entities into eight geometric objects with the same time and spatial resolution until each subregion meets a certain threshold condition, forming a direction graph with root nodes. For point cloud data, the number of point clouds in the leaf node, whether the local curvature is greater than a preset threshold, or whether the tree depth reaches the preset maximum depth, etc. can be used as the judgment condition to stop the segmentation. The split form is shown in Fig.2. , represents the number of the node in the sibling nodes of this layer, and is the number of the parent node of the node in its sibling nodes.

Point cloud organization model based on virtual grid and adaptive octree
The virtual grid better retains the original point cloud information, and the index construction is efficient and easy to code. The octree algorithm is simple, and the spatial scale division is suiT for the spatial distribution of three-dimensional point cloud data. In theory, it is the most efficient for data organization with relatively uniform spatial distribution in three dimensions, and its search efficiency has a greater relationship with the scale of the leaf node. Therefore, the above two data structures can be combined to divide the nodes with suiT magnitudes globally through the virtual grid, and then organize the evenly distributed nodes in an octree.
When querying and retrieving point clouds, read the point cloud bounding box information and node size information stored in the virtual grid index structure file and locate the node number where the index point is located according to formula 4, and then use the search radius R/l Calculate all the node numbers involved in the radius, read the corresponding node data in external memory through disk mapping, add it to the memory queue directly or through internal and external memory scheduling, and then pass the required node in the memory Construct an octree so that the search and location of neighboring points can be realized at a small memory cost.

Internal and external memory dynamic scheduling strategy
The original point cloud data is divided into multiple leaf node files according to the grid, and then the nodes loaded into the memory are organized in an octree. When performing data indexing, first calculate the node-set S involved in the search range. If all nodes in the set S have been loaded into the memory, move the nodes in the set S to the head of the LRU (Least Recently Unused) queue And organize the octree of nodes in S; if only some nodes in the set S are loaded into the memory, or the corresponding nodes are not loaded into the memory at all, use the node index ID in the virtual grid index structure file through the disk The mapping technology transfers the nodes corresponding to the set S from external storage to the memory, and at the same time judges whether the node data stored in the LRU queue exceeds the memory capacity limit, if it exceeds the memory limit, removes the end node data of the LRU team from the memory, And insert the newly added node into the head of the LRU queue, and then organize the octree organization of the nodes added to the set S in the memory. In order to test the effectiveness of the point cloud data index and organization strategy combined with the virtual grid and the octree, based on the Visual Studio 2010 platform, the C++ language is used to realize the functions of the virtual grid division, dynamic scheduling, and neighborhood query.

Experiment and analysis
The experimental data is airborne lidar data in a certain area. The data format is las1.2. There are about 400 million point cloud data. After setting the block, the number of point clouds for each node is about 1 million, and 10 samples are randomly selected from it. To search, in order to verify its dynamic scheduling capability, RNN (Raidus Nearest Neighbor) search uniformly sets the radius to 50m, KNN (K Nearest Neighbor) search uniformly sets the neighborhood K to 10, and the average time is taken as the search time. Compare the data organization method in this paper (Method 1) with the single octree index organization method (Method 2).

Summary
This paper designs a hybrid spatial index method that combines virtual grid and octree and combines internal and external memory dynamic scheduling strategies. In the whole world, the nodes of suiT magnitude are divided by the virtual grid, and then the nodes with relatively uniform distribution are organized in the octree. During data retrieval, first, quickly locate the grid range where the index point is located, and then transfer the point cloud in the grid range into the memory for octree organization.
And the feasibility and efficiency of this method are proved through experiments of hundreds of millions of point clouds.
This article needs further improvement in that the database can be used to manage externally stored multi-node files to support efficient parallel read and write operations to increase the preprocessing speed, and combined with the powerful floating-point computing capabilities of the GPU to solve a large amount of data in the point cloud processing process, Simple and repetitive calculation problems.