A LiDAR point cloud inter-frame registration method for urban semi-structured scenes

By improving the LightGBM and ICP algorithms and combining them with the Dijkstra algorithm for single-tree detection and descriptor matching, the positioning accuracy and robustness issues of LiDAR SLAM in semi-structured urban scenes are solved, and efficient point cloud inter-frame registration is achieved.

CN120182336BActive Publication Date: 2026-04-24LIAONING TECHNICAL UNIVERSITY
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
LIAONING TECHNICAL UNIVERSITY
Filing Date
2025-03-03
Publication Date
2026-04-24

AI Technical Summary

Technical Problem

In semi-structured urban scenarios, the positioning accuracy and mapping quality of LiDAR SLAM are affected by unstable vegetation features. Traditional methods that rely on key thresholds and additional sensors have limitations, leading to positioning confusion and insufficient robustness.

Method used

A point cloud registration method based on inter-frame single-tree descriptor matching is adopted, including single-tree detection, branch and leaf separation, descriptor construction and inter-frame registration of point clouds. Improved LightGBM algorithm, Dijkstra algorithm and ICP algorithm are used to improve the point cloud registration accuracy through feature selection, branch information and semantic label matching.

Benefits of technology

It improves the stability and localization performance of LiDAR SLAM in semi-structured urban scenes, reduces localization errors and processing time, and enhances the robustness and efficiency of point cloud frame registration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120182336B_ABST
    Figure CN120182336B_ABST
Patent Text Reader

Abstract

The application provides a LiDAR point cloud interframe registration method for a city semi-structured scene, and the method comprises the following steps: first, improving LightGBM to detect single-tree objects; second, separating branches and leaves of single-tree point cloud clusters; third, constructing a single-tree descriptor based on branch information; and fourth, assisting point cloud interframe registration through interframe single-tree descriptor matching. The application realizes high-precision point cloud registration based on interframe single-tree descriptor matching, and solves the problems of low positioning accuracy of LiDAR SLAM in a city semi-structured scene and positioning confusion under special circumstances.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of simultaneous localization and mapping (LiDAR SLAM) technology, specifically involving a LiDAR point cloud inter-frame registration method for semi-structured urban scenes. Background Technology

[0002] With the continuous advancement of digital transformation and smart city construction, high-quality spatial data acquisition has become a crucial aspect of urban planning and management. Among these, 3D point cloud data acquired through laser scanning technology has become a core resource in fields such as smart transportation and infrastructure construction, providing reliable data support for related applications. However, with the expansion of urban scale and the upgrading of application demands, traditional point cloud acquisition methods face numerous challenges, including poor flexibility, small acquisition range, and low efficiency. To address these issues, Mobile Laser Scanning (MLS) technology, as an active mobile mapping technique, has been proposed. It boasts advantages such as a large scanning range, high measurement accuracy, and adaptability to complex environments, enabling real-time acquisition of point cloud data within the reach of a mobile platform. Simultaneously, LiDAR SLAM technology is also widely used in point cloud data processing, achieving simultaneous point cloud acquisition, spatial positioning, and map construction. The application of LiDAR SLAM technology significantly improves the accuracy and efficiency of point cloud data processing, and its mapping results provide a reliable data foundation for updating Geographic Information Systems (GIS) and constructing Building Information Modeling (BIM).

[0003] Currently, common urban scenes can be divided into structured scenes and semi-structured scenes. Structured scenes are more common, including urban buildings, roads, squares, etc., and usually have significant geometric structures and high stability. Semi-structured scenes contain both regular structures and unstable natural elements, including forests and parks. In structured scenes, the features for LiDARSLAM inter-frame registration mainly come from the edges or planes of static buildings, exhibiting strong stability and correspondingly high positioning accuracy and mapping quality. However, in semi-structured scenes, features mainly come from vegetation and the ground. Vegetation features can be divided into stable vegetation features and unstable vegetation features. The former is generated from the trunks and thick branches in the canopy, while the latter is generated from the leaves and thin branches in the canopy. During point cloud inter-frame registration, because ground features are scarce and have high inter-frame similarity, they must be used in conjunction with vegetation features. However, the simultaneous use of stable and unstable vegetation features leads to a decrease in positioning accuracy and affects mapping quality. Therefore, improving the overall performance and robustness of LiDAR SLAM in semi-structured urban scenarios provides important technical support for urban planning and construction.

[0004] To address the aforementioned issues, common methods include stable landmark registration and methods assisted by other sensors. Ground, tree trunks, and thick branches, as relatively stable natural elements in semi-structured scenes, exhibit small differences in their morphological features and relative spatial poses across point clouds in different frames. Stable landmark registration extracts and utilizes these stable features to ensure point cloud registration accuracy. Heupel et al. proposed a LiDAR SLAM based on combined feature registration, using a local sliding probability grid to detect trees and constructing a three-tree combined feature based on single-tree trunk landmarks. This feature is then globally mapped and associated with neighboring frame point clouds for registration. This method is insensitive to terrain and vehicle motion, but the global mapping effect is affected by multi-angle perception and the minimum number of local features. Wang et al. proposed a LiDAR SLAM based on stable angle feature registration, extracting angle features by calculating local curvature and using continuous image segmentation filtering to select stable features. Based on these feature points, an Iterative Closest Point (ICP) algorithm is used to obtain the relative pose between frames. This method directly extracts stable feature points without relying on accurate tree extraction results, resulting in lower overall complexity. However, it requires setting numerous core thresholds and is unsuitable for highly dynamic environments. Assisted methods using other sensors typically employ filtering, graph optimization, and other algorithms to fuse data from Inertial Measurement Unit (IMU), vision, and Global Navigation Satellite System (GNSS) sensors with LiDAR point clouds, thereby enhancing the overall system accuracy and robustness. Tang et al. proposed a SLAM method fusing LiDAR point clouds, monocular images, and IMU data. It segments the non-terrestrial point cloud using Breadth-First Search (BFS) and, based on LVISAM (Lidar Visual Inertial Odometry via Smoothing and Mapping), uses the segmented stable points for image feature extraction and vehicle localization. This method addresses the localization confusion issue in LiDAR SLAM within locally highly similar scenes and mitigates the impact of terrain undulations, lighting variations, and foliage dynamics on single-sensor localization. Tang et al. proposed a SLAM method that integrates LiDAR point cloud, GNSS data, and IMU data. Based on attitude measurements, the point cloud is projected onto a two-dimensional plane. Combining IMU and effective GNSS measurements, an implicit maximum likelihood estimation (IMLE) algorithm is used for local localization. Global localization results are obtained through refined local search. This method also addresses the problem of single-sensor localization failure in certain situations.However, the good performance of other sensor-assisted methods relies on accurate spatiotemporal data synchronization and effective fusion strategies. Furthermore, in certain situations, the data quality from additional sensors is difficult to guarantee, and the increased equipment cost and data processing complexity also limit the widespread application of these methods. Therefore, stable landmark registration methods remain a current research focus, requiring in-depth solutions to the problems of existing methods to improve the stability and positioning performance of LiDAR SLAM in semi-structured urban scenarios.

[0005] To address the four key issues of stable landmark registration methods—global constraint limitations, reliance on key thresholds, high-dynamic positioning failure of the carrier, and chaotic positioning in highly similar scenes—this patent proposes a point cloud registration method based on inter-frame single-tree descriptor matching. This method mainly consists of four parts: single-tree detection, single-tree branch and leaf separation, single-tree descriptor construction, and inter-frame point cloud registration. In the single-tree detection section, this patent proposes a single-tree detection algorithm based on an improved Light Gradient Boosting Machine (LightGBM). For point cloud clustering results, 13 point cloud cluster features are independently designed from the perspectives of geometric structure and basic attributes to establish a classification feature system, which is used to construct a LightGBM classification decision tree to directly detect whether each point cloud cluster is a tree. To improve the training efficiency of LightGBM, the dimensionality of highly correlated feature subsets is reduced by calculating the Spearman's Rank Correlation Coefficient (SRCC) between each feature. Furthermore, a density-based spatial clustering of applications with noise (DBSCAN) algorithm is proposed to assist in constructing feature histograms before feature bundling. In addition, to balance the classification performance of LightGBM, a cosine similarity-based feature bidirectional screening (CS-FBS) algorithm is proposed to construct the optimal point cloud cluster classification feature subset. In the section on single-tree branch and leaf separation, this patent proposes a two-layer branch and leaf separation algorithm. A local connectivity graph is established for each point in the single-tree point cloud cluster, and recursively clustered to perform preliminary branch and leaf separation from a geometric attribute perspective. Subsequently, Dijkstra's algorithm is used to construct a global network connectivity graph for the single-tree point cloud cluster, and a path frequency-based correction algorithm is proposed to correct points misclassified as leaves to tree branches. In the section on single-tree descriptor construction, this patent proposes a single-tree descriptor construction algorithm based on branch information. For the single-tree branch point set, the Random Sample Consensus (RANSAC) algorithm is used to fit all linear targets and label the trunk (first-level branches). Second-level branches are initially screened by judging the coplanar relationship between other linear targets and the trunk, and misselected low-level branches are removed based on the path structure in the global network connectivity graph. The spatial angle between the second-level branches and the trunk, as well as the spatial distance between adjacent second-level branches, are calculated to construct the single-tree descriptor.In the point cloud inter-frame registration part, this patent proposes a CS-based bidirectional extended vector matching algorithm to assist in point cloud inter-frame registration. For the single tree descriptor set of neighboring frame point clouds, five pairs of effective inter-frame single tree descriptor matching combinations are constructed through iterative local vector bidirectional extension and global descriptor matching processes. Based on this, the Bursa model is used to roughly unify the coordinate system of neighboring frame point clouds and quickly establish the remaining descriptor matching relationships. Paired single tree point cloud clusters are assigned the same label to assist the ICP algorithm in accurately registering the tree trunk and secondary branch point clouds of neighboring frames.

[0006] The LightGBM algorithm is a gradient boosting machine (GBM) algorithm used to solve classification and regression problems. This patent mainly utilizes the above algorithm to detect whether each independent point cloud cluster is a tree based on the constructed optimal cloud cluster classification feature subset.

[0007] SCC is a statistical analysis index that reflects the degree of correlation between levels. It is a statistical measure obtained by arranging the sample values ​​of two elements in order of data size and using the rank of each element's sample value to represent the actual data. This patent mainly uses the above coefficient to measure the correlation between the features of each point cloud cluster, thereby reducing the dimensionality of the point cloud cluster classification feature system.

[0008] The DBSCAN algorithm is a representative density-based clustering algorithm that defines a cluster as the largest set of density-connected points. It can divide regions with sufficiently high density into clusters and can discover clusters of arbitrary shapes in noisy spatial databases. This patent mainly utilizes the above algorithm to segment the sample sets corresponding to each continuous numerical feature, thereby transforming them into discrete categorical features.

[0009] Cosine similarity (CS) is a similarity metric between vectors, also known as cosine similarity. It assesses the degree of similarity between two vectors by calculating the cosine of the angle between them. This patent primarily utilizes this metric to determine the similarity between features, thereby constructing an optimal subset of point cloud cluster classification features.

[0010] RANSAC is an iterative outlier detection algorithm used to find the best-fit model in noisy or erroneous data. This patent primarily utilizes this algorithm to fit all linear targets in a branch point cloud set.

[0011] The ICP algorithm is a classic algorithm for rigid point cloud registration. It iteratively finds the nearest point pair between two point clouds and calculates the optimal rigid transformation to align the source point cloud in the coordinate system of the target point cloud. This patent mainly utilizes the above algorithm, simultaneously processing the 3D coordinate information and semantic label information of neighboring frame point clouds to obtain accurate inter-frame registration results. Summary of the Invention

[0012] To address the four key issues of current stable landmark registration methods—global constraint limitations, reliance on key thresholds, high-dynamic positioning failures of carriers, and positioning chaos in highly similar scenes—this invention proposes a point cloud registration method based on inter-frame single-tree descriptor matching, which effectively improves the stability and positioning performance of LiDAR SLAM in semi-structured urban scenes.

[0013] A point cloud registration method based on inter-frame single-tree descriptor matching includes the following steps:

[0014] Step 1: Through LiDAR point cloud preprocessing and point cloud cluster segmentation, 13 features were designed for independent point cloud clusters, and the LightGBM algorithm was improved to detect whether each point cloud cluster is a tree.

[0015] Step 2: Perform preliminary branch and leaf separation on the single tree point cloud cluster from a geometric perspective, and propose a path frequency-based correction algorithm based on the Dijkstra network connection graph to obtain the accurate tree point set;

[0016] Step 3: Propose a single tree descriptor construction algorithm based on branch information, fit the linear target in the tree branch point set and extract the trunk (first-level branch) and second-level branch, and construct the single tree descriptor by calculating the spatial angle between branches and the spatial distance between branches;

[0017] Step 4: Propose a bidirectional extended vector matching algorithm based on cosine similarity (CS) to establish inter-frame single-descriptor matching relationships, thereby assisting the ICP algorithm in performing high-precision inter-frame registration.

[0018] Step 1 describes the preprocessing of LiDAR point clouds and point cloud cluster segmentation, the design of 13 features for independent point cloud clusters, and the improvement of the LightGBM algorithm to detect whether each point cloud cluster is a tree.

[0019] The specific steps are as follows:

[0020] Step 1-1: The point cloud intrinsic parameters are calibrated using an unsupervised point cloud position optimization method to compensate for equipment system errors. Since no additional sensor data is used to assist in point cloud processing throughout the process, the V-ICP (Velocity-updating-Iterative Closest Point) method is used to remove point cloud motion distortion. After the above processing, the point cloud quality is significantly improved. However, since the main research object is independent single tree point cloud clusters, noise points and discrete points are not significant. A voxel network composed of several identical three-dimensional parallelepipeds is constructed to cover the entire point cloud. The point cloud density within each small voxel is calculated, and points in sparse voxels are regarded as noise points or discrete points and removed. To address the problem of excessive point cloud density, since the subsequent extraction and fitting of tree trunk (first-level branch) and second-level branch point clouds to construct single tree descriptors requires a relatively complete detailed description, and there are few continuous large-scale targets in urban semi-structured scenes, point cloud downsampling is not required. For the point cloud after intrinsic parameter calibration and preprocessing, ground segmentation and point cloud cluster clustering are further performed to obtain independent point cloud cluster clustering results.

[0021] Steps 1-2: For each independent point cloud cluster, 13 features were designed and extracted from the perspective of geometric structure and basic attributes, which are divided into geometric features and attribute features, to construct a point cloud cluster classification feature system.

[0022] Geometric features refer to the features that describe the basic geometric structure of a point cloud cluster in terms of single-axis span, projected area, and spatial volume. A total of 7 geometric features were extracted, including: X-axis span L X Y-axis span L Y Z-axis span L Z The ratio S of the area of ​​the concave polygon projected onto the XZ plane to the area of ​​the smallest circumscribed rectangle. CXZ The ratio S of the area of ​​the concave polygon projected onto the YZ plane to the area of ​​the smallest circumscribed rectangle. CYZ The ratio S of the area of ​​the concave polygon projected onto the XY plane to the area of ​​the smallest circumscribed rectangle. CXY The specific quantification method for the above characteristics, namely the volume V of the smallest circumscribed parallelepiped, is as follows:

[0023] Taking the k-th point cloud cluster in the i-th frame as an example, traverse all laser points within it and record the maximum and minimum values ​​of the X, Y, and Z coordinates as follows: Calculated in this way as follows:

[0024]

[0025] based on Quantize the results and calculate the area of ​​the smallest bounding rectangle of the point cloud cluster on the three projection planes XZ, YZ, and XY. as follows:

[0026]

[0027] Taking the projection of point cloud onto the XZ plane as an example, the Alpha Shape (AS) rolling sphere algorithm is used to extract the concave hull contour of the two-dimensional point cloud. The contour points are numbered clockwise; based on the contour point numbers and coordinates, the area of ​​the concave polygon is calculated through triangulation. as follows:

[0028]

[0029] in, This represents the two-dimensional coordinates of the j-th point in the current set of contour points;

[0030] based on and Quantification result calculation as follows:

[0031]

[0032] Similarly, calculation and as follows:

[0033]

[0034] based on and Quantification results calculation V k ,as follows:

[0035]

[0036] Attribute features refer to features that describe diverse attributes such as the internal composition of point cloud clusters, laser intensity distribution, and morphological characteristics. A total of 6 attribute features were extracted, including: number of laser points N, laser point density P, and mean laser intensity I. mean Laser intensity variance I var Overall linear dimensions D dim Overall surface area D fla The specific quantification methods for the above features are as follows:

[0037] Taking the k-th point cloud cluster in the i-th frame point cloud as an example, during the quantization of geometric features, the statistical N... k And sum up the laser intensity of all laser points, and record it as . as follows:

[0038]

[0039] Where j represents the laser point number, intensity jThis represents the laser intensity of the j-th laser point;

[0040] Based on V k N k , Quantification results calculation P k and as follows:

[0041]

[0042] based on and N k Quantification result calculation as follows:

[0043]

[0044] Construct the covariance matrix C based on the three-dimensional coordinates of all laser points in the current point cloud cluster. k ,as follows:

[0045]

[0046] in, Represents the covariance between a and b; For example, as follows:

[0047]

[0048] in, Represents the three-dimensional coordinates of the geometric center of the current point cloud cluster, (x jk ,y jk ,z jk () represents the three-dimensional coordinates of the j-th laser point;

[0049] C k The three corresponding eigenvalues ​​are denoted in descending order as follows: Then calculate and as follows:

[0050]

[0051] Based on the data foundation and information transmission relationship required to quantify the above 13 features, the classification feature system of each point cloud cluster can be efficiently constructed by traversing the point cloud once and using a multi-threaded processing mode, thereby ensuring the timeliness of data processing and transmission.

[0052] Steps 1-3: Calculate the SRCC between features, and divide the features with a calculation result greater than 0.8 into highly correlated feature subsets; retain the features with the highest information content in each subset to achieve effective dimensionality reduction of correlated features;

[0053] Steps 1-4: For the dimensionality-reduced classification feature system, the DBSCAN algorithm is proposed to cluster the continuous numerical features separately, and the original data is replaced with cluster labels, thereby reasonably transforming all continuous numerical features into discrete categorical features, which helps to construct feature histograms. The above process realizes feature binning from the perspective of data distribution, without the need to pre-determine the number of categories, avoiding the introduction of human error. For the dimensionality-reduced and transformed classification feature system, the Exclusive Feature Bundling (EFB) algorithm is used to filter and bundle mutually exclusive features.

[0054] Steps 1-5: After feature dimensionality reduction, transformation, and bundling, some features in the current classification feature system may re-emerge with correlations. However, because the transformation and bundling disrupt the original data distribution of the features, the SRCC cannot reflect the true correlation between the current features. Therefore, the CS is calculated as a judgment index. Based on the CS calculation results between features, the Feature Bidirectional Screening (FBS) algorithm is used to construct the optimal classification feature subset. All features in the current classification feature system are arranged in descending order according to their corresponding weight indices, denoted as sequence F. ps Let its reverse sequence be denoted as sequence F. io From F ps The first feature is extracted and added to the feature subset to construct a LightGBM decision tree, and the current classification accuracy is output as the accuracy benchmark; based on F... ps The CS calculation results between the remaining features and this feature are used to add features with a correlation greater than 0.8 to the feature subset. A decision tree is then constructed, and the classification accuracy is output. If the accuracy increases, the accuracy baseline is updated, and classification is performed according to F... io The features are sequentially removed from the current feature subset in the order they are arranged. After each removal operation, the current classification accuracy is output. If the accuracy decreases, the removal operation is withdrawn. This process continues until F... io Stop after emptying the array; if the accuracy decreases after adding a feature, then cancel the addition operation and do not perform the feature removal process described above; continuously iterate the feature addition and feature removal process until F is reached. ps Stop after emptying; finally, based on the specific composition of the bundled features, determine the optimal subset of point cloud cluster classification features and the corresponding optimal LightGBM classification model.

[0055] Steps 1-6: Collect LiDAR point clouds to build a model training set. For each frame of point cloud, perform point cloud processing and quantify the point cloud cluster classification feature system and classification label to train the improved LightGBM classification model. Finally, extract all independent point cloud clusters detected as single trees based on the model output results.

[0056] Step 2 describes the preliminary branch and leaf separation of the single tree point cloud cluster from a geometric perspective, and proposes a path frequency-based correction algorithm based on the Dijkstra network connection graph to obtain the accurate tree point set.

[0057] The specific steps are as follows:

[0058] Step 2-1: Recursively segment each single-tree point cloud cluster and perform preliminary branch and leaf separation based on the geometric attributes of each small cluster; mark the point with the smallest Z-axis coordinate in the point cloud cluster as the root node and use it as the initial seed point for recursive segmentation; obtain the 10 points closest to this point to initialize its local connectivity graph and perform edge trimming and edge addition, based on the following:

[0059]

[0060] Among them, L nm ρ represents the edge connecting the nth point to the mth point. n Let ρ represent the local curvature at the nth point. m Let ρ represent the local curvature at the m-th point. ref This represents the threshold for controlling curvature similarity, which is set to 0.15 by default. nm This represents the three-dimensional Euclidean distance between the nth point and the mth point. This represents the standard deviation of the distance between the nth point and all points in the current local connectivity graph. This represents the average distance between the nth point and all points in the current local connectivity graph. This represents the maximum distance between the nth point and all points in the current local connected graph, where |*| represents the absolute value.

[0061] During the construction of the local connectivity graph of the root node, for all points added by adding edges, their local connectivity graphs are initialized and a new round of edge trimming and adding is performed. The above process is iterated until no more edges are added to the local connectivity graph of the root node. Then, the above process is repeated by continuously selecting points that have not been used to construct the local connectivity graph as seed points until all points in the current single tree point cloud cluster are assigned to any local connectivity graph.

[0062] Each local connectivity graph is considered as a small cluster. For each small cluster, its overall line dimension and area dimension are calculated using Equations (10), (11), and (12). If the line dimension is greater than the area dimension, all point clouds in the cluster are marked as leaves, otherwise all point clouds are marked as branches.

[0063] Step 2-2: The preliminary branch and leaf separation results are prone to misjudgment at the branch and leaf junctions and the junctions of branches at all levels. Therefore, a global network connection graph is constructed and a path frequency-based correction algorithm is proposed to perform secondary separation of the branch and leaf point cloud. Since subsequent research mainly focuses on tree branch points, based on the preliminary branch and leaf separation results, Dijkstra's algorithm is used to construct the shortest path from each leaf point to the root node, where the root node is still determined as the point with the smallest Z-axis coordinate. A global network connection graph is constructed based on all shortest paths, and the frequency of each leaf point in the graph is counted. Points with a frequency higher than the average frequency of each point are regarded as points to be corrected.

[0064] For each point to be corrected, a local connectivity graph is constructed by selecting the 10 points closest to it and the local curvature is calculated. If the curvature is less than 0.5 and the local connectivity graph contains at least 5 branch points, the point to be corrected is re-marked as a branch point. Following the above process, the final labels of all points to be corrected are determined, so as to accurately detect branch points from a single tree point cloud cluster.

[0065] Step 3 describes the proposed algorithm for constructing a single tree descriptor based on branch information. It fits the linear target in the set of tree branch points and extracts the trunk (first-level branches) and second-level branches. The single tree descriptor is constructed by calculating the spatial angle between branches and the spatial distance between branches.

[0066] The specific steps are as follows:

[0067] Step 3-1: For the set of tree branch points in a single tree point cloud cluster, use the RANSAC algorithm to extract the linear targets; based on the point cloud set corresponding to each linear target, use the least squares algorithm to fit the spatial straight line respectively, and obtain the tree trunk spatial straight line equation corresponding to the linear target containing the root node.

[0068] Step 3-2: Calculate the coplanar error W between other linear targets and the tree trunk; again, taking the k-th linear target as an example, as follows:

[0069]

[0070] in, Indicates the geometric center coordinates of the current linear target. Represents the geometric center coordinates of the tree trunk, [m k n k p k ] T This represents the direction vector of the corresponding spatial line of the current linear target, [m tru n tru p tru ] T Represents the direction vector of the corresponding spatial line of the tree trunk, and |R| represents the determinant of matrix R;

[0071] Based on the calculated coplanar error between other linear targets and the trunk, secondary branches are initially screened. In reality, all secondary branches intersect with the trunk, so theoretically, the coplanar error between secondary branches and the trunk is small. Due to linear target extraction errors and spatial line fitting errors, linear targets with an absolute coplanar error of less than 0.3 are initially marked as secondary branches. However, due to the randomness of branch growth, some lower-level branches may also have small coplanar errors with the trunk. Therefore, based on the global network connection graph, path detection is used to accurately screen secondary branches. For the linear targets initially marked as secondary branches, Dijkstra's algorithm is used to construct the shortest path to the root node point by point and detect the specific composition of the path. If the shortest path of a certain point contains not only the current linear target and the trunk but also points from other linear targets, the secondary branch label of the current linear target is directly removed. After performing secondary screening on all initially marked secondary branches using the above process, accurate secondary branch detection results are obtained.

[0072] Step 3-3: Based on the accurate detection results of the trunk and secondary branches, calculate the spatial angle between each secondary branch and the trunk based on the corresponding spatial straight line equation of each branch; taking the kth secondary branch as an example, as follows:

[0073] θ k =arccos((r k ·r tru ) / (||r k ||||r tru ||)) (15)

[0074] Where, θ k r represents the spatial angle between the current secondary branch and the trunk. k r represents the direction vector of the corresponding spatial line of the current second-order branch. tru The vector represents the direction of the corresponding spatial line of the tree trunk, and ||r|| represents the magnitude of the vector r.

[0075] In addition, the spatial intersection points between each secondary branch and the trunk are calculated as follows:

[0076]

[0077] Among them, (x′ k ,y′ k ,z′ k () represents the coordinates of the intersection point between the current secondary branch and the trunk; due to various errors, it is difficult for equation (16) to have an effective solution, so the optimization objective function is further constructed as follows:

[0078]

[0079] Among them, Hk This represents the object to be optimized, and the optimization objective is H. k =1; continuously adjust (x′) k ,y′ k ,z′ k Until equation (17) outputs H that is closest to the optimization objective. k At this time, the corresponding (x′) k ,y′ k ,z′ k This is considered the spatial intersection of the current secondary branch and the trunk;

[0080] Based on the coordinates of all intersections between secondary branches and the trunk, and sorted by Z-axis coordinates from largest to smallest, the spatial distance between adjacent secondary branches is calculated; taking the k-th secondary branch and the (k-1)-th secondary branch as an example, as follows:

[0081] D k,k-1 =z′ k -z′ k-1 ,k>1 (18)

[0082] Among them, D k,k-1 This indicates the spatial distance between the two current secondary branches;

[0083] Based on the spatial angle (θ) between all secondary branches and the trunk 1 ,θ 2 ,…,θ n-1 ,θ n ) and the spatial distance between adjacent secondary branches (D 1,2 D 2,3 ,…,D n-2,n-1 D n-1,n Construct the descriptor μ of the current single tree as follows:

[0084] μ=[θ 1 D 1,2 θ 2 …θ n-1 D n-1,n θ n ] T (19)

[0085] Where n represents the number of secondary branches, and μ has a dimension of 2n-1.

[0086] Step 4 proposes a bidirectional extended vector matching algorithm based on CS to establish inter-frame single-frame descriptor matching relationships, thereby assisting the ICP algorithm in performing high-precision inter-frame registration.

[0087] The specific steps are as follows:

[0088] Step 4-1: Since the more dimensions a single descriptor has, the more information it contains, and the more reliable the matching result is, taking the registration of the point cloud of frame i and the point cloud of frame i-1 as an example, in the point cloud of frame i, the descriptor vectors are sorted from largest to smallest, and denoted as sequence K; the first descriptor in K is selected as the initial object to be matched, and its vector length is denoted as l.

[0089] Since the number of elements in the description vector is odd, a segment of the vector at the middle position of the initial object to be matched is taken as the basis for bidirectional extension, denoted as κ; all description vectors in the (i-1)th frame are taken as the search objects, and the kth description vector μ is used as the search target. ki-1 For example, let its vector length be denoted as l′; from μ ki-1 Starting with the first element, divide the target into l′-2 segments with a fixed range of 3 adjacent elements each time; divide all the searched objects in the above way, calculate the CS between κ and all segments, filter out the segments with a correlation greater than 0.8 and sort them in descending order of correlation, denoted as sequence K′, and denote the segment with the highest correlation as κ′;

[0090] For κ and κ′, based on the element composition of the corresponding descriptors, extend one element to each side and calculate CS. If the correlation is still greater than 0.8, continue extending to both sides and calculate the correlation. During the above bidirectional extension process, if one side reaches the maximum range of the descriptor, only extend one side. Iterate the above bidirectional extension and correlation calculation process until κ or κ′ extends to the maximum range of the corresponding descriptor. If the correlation between the two is still greater than 0.8, it is considered a successful match. If the correlation is less than 0.8 after any extension, replace the next segment in K′ and repeat the above process.

[0091] If K′ constructed for the initial object to be matched is empty or all segments in K′ do not meet the successful matching requirements, then the next object to be matched in K is selected and the above steps are repeated; after constructing the first pair of single-tree descriptor matching combinations, the remaining objects to be matched from K are selected and the above steps are performed in the same way, thereby constructing the second pair of single-tree descriptor matching combinations.

[0092] For the two pairs of tree descriptor matching combinations that have been constructed, calculate the XY two-dimensional Euclidean distance between the geometric centers of the paired tree point cloud clusters. If the difference between the two sets of Euclidean distances is greater than 0.5, the above steps are performed to construct a third pair of descriptor matching combinations and calculate the corresponding two-dimensional Euclidean distance. Compare the differences between the three sets of Euclidean distances. If the difference between any two sets is greater than 0.5, construct a new descriptor matching combination and repeat the above process. Continue until there are any two sets of Euclidean distances with a difference of less than 0.2. This is considered as constructing two pairs of valid tree descriptor matching combinations. The average of the two sets of two-dimensional Euclidean distances is used as the plane search radius r for establishing subsequent descriptor matching relationships, thereby improving the efficiency of constructing valid tree descriptor matching combinations.

[0093] When constructing subsequent single-tree descriptor matching combinations by performing the above steps, the two-dimensional Euclidean distance is calculated based on the geometric center of the single-tree point cloud clusters of the object to be matched in the i-th frame point cloud and each searched object in the (i-1)-th frame point cloud, and r is used as a constraint to filter the searched objects, thereby simplifying the global search into a precise local search; following the above process, the third, fourth, and fifth pairs of valid single-tree descriptor matching combinations are constructed.

[0094] Step 4-2: For the five pairs of valid single tree descriptor matching combinations that have been constructed, based on the geometric center coordinates of the corresponding paired single tree point cloud clusters, the Bursa model is used to calculate the coordinate transformation parameters between the point cloud of frame i and the point cloud of frame i-1, so as to roughly unify the coordinate reference between the two frames of point clouds; then, for the single tree descriptors in the point cloud of frame i that have not established a matching relationship, their matching objects are directly obtained in the point cloud of frame i-1 through the nearest neighbor search.

[0095] Step 4-3: Based on the constructed u pairs of valid single-tree descriptor matching combinations, assign the same semantic label l to the laser points scanned by the same tree in the i-th frame point cloud and the (i-1)-th frame point cloud; in order to ensure that the above label information can play a significant constraining role in subsequent auxiliary point cloud frame registration, a label set f is constructed starting from 1 and increasing by 2 steps according to the order of successful matching, as follows:

[0096] f = [l 1 l 2 l 3 …l u-1 l u ]=[1 3 5…2u-3 2u-1] (20)

[0097] Furthermore, in the i-th frame point cloud, there may be individual tree descriptors that have not established a matching relationship. Therefore, all tree point cloud clusters that have successfully established a matching relationship are directly published as a new point cloud frame. Similarly, the tree point cloud clusters that have successfully established a matching relationship in the (i-1)-th frame point cloud are published as a new point cloud frame. The newly published i-th frame point cloud and i-1-th frame point cloud only contain tree trunk laser points and secondary branch laser points with semantic tags. Therefore, the ICP algorithm is directly used for inter-frame registration of point clouds based on the tag and coordinate information.

[0098] Based on the initial five pairs of valid single-tree descriptors matching and combining the corresponding point clouds, the traditional ICP algorithm is used for fast registration. The acquired relative pose is used as the initial pose value for the overall point cloud inter-frame registration, thereby improving the overall registration accuracy and efficiency. Subsequently, semantic tags are added as additional information to the traditional ICP registration model, as follows:

[0099]

[0100] Where num represents the number of corresponding laser points in the source point cloud and the target point cloud. This represents the information vector of the j-th laser point in the target point cloud. This represents the information vector of the j-th laser point in the source point cloud. R′ represents the expanded attitude change matrix, and t′ represents the expanded displacement change matrix. Their specific structures are as follows:

[0101]

[0102] Where R represents the inter-frame attitude change matrix, t represents the inter-frame displacement change matrix, and O represents the zero matrix;

[0103] The optimal solution of equation (21) is obtained through nonlinear optimization, where semantic tag registration plays a macro-control role and three-dimensional coordinate registration plays a micro-optimization role. The combined effect of the two is to accurately register the point cloud of the i-th frame with the point cloud of the (i-1)-th frame.

[0104] By processing neighboring frame point clouds sequentially according to the above process, high-precision inter-frame registration of LiDAR point clouds can be achieved in semi-structured urban scenes.

[0105] Beneficial effects of this invention:

[0106] 1. For semi-structured urban scenarios, to mitigate the impact of unstable natural factors and dynamic targets on point cloud frame registration, this invention independently designs a point cloud cluster classification feature system and proposes a single-tree detection algorithm based on an improved LightGBM, thereby accurately acquiring each single-tree point cloud cluster for extracting stable natural features. Specifically, this invention optimizes the feature histogram construction and feature dimensionality reduction parts of the traditional LightGBM and proposes an optimal classification feature subset construction algorithm, thus better balancing the detection performance and training efficiency of LightGBM. Related experimental results show that, compared to the traditional LightGBM, the improved LightGBM of this invention achieves a 1.2078 ratio of F1-Score improvement to time increase, indicating that the improved LightGBM of this invention better balances detection performance and training efficiency. The algorithm of this invention achieves a single-tree correct detection rate of 0.9722, an improvement of 12.38% compared to the comparative algorithm, while the error detection rate for other ground features is only 0.0196, and the average processing time for a single frame of point cloud is 0.0046s, successfully verifying the effectiveness of the algorithm of this invention.

[0107] 2. For successfully detected single-tree point cloud clusters, this invention proposes a two-layer branch and leaf separation algorithm, which hierarchically divides leaf points and branch points from the perspectives of local geometric attributes and global path frequency. Related experimental results show that, compared with the comparative algorithm, the correct detection rate of branch points in this invention is improved by 21.96%, while the correct detection rate of leaf points is reduced by 3.38%. This indicates that while sacrificing a small portion of leaf point detection accuracy, it significantly improves the accuracy of branch point detection, better meeting the research needs of this invention. The correct detection rate of branch points is as high as 0.9503, ensuring the reliability of subsequent construction of single-tree descriptors based on branch point clouds.

[0108] 3. For branch and trunk point cloud sets, this invention proposes a single-tree descriptor construction algorithm based on branch and trunk information. A unique descriptor is constructed for each single-tree object according to the relative spatial relationship between the trunk and secondary branches. Related experimental results show that the algorithm achieves a secondary branch detection accuracy of 0.7343, with a corresponding spatial angle error of 4.8207° and a spatial distance error of 0.1404m. These errors exhibit strong stability and can be considered systematic errors. Therefore, the constructed single-tree descriptors can be reliably used for subsequent inter-frame single-tree object matching.

[0109] 4. For single-tree descriptor subsets, this invention proposes a bidirectional extended vector matching algorithm based on cosine similarity. This algorithm assigns a unified semantic label to point clouds scanned by the same single-tree object in two adjacent frame point clouds, thereby assisting the ICP algorithm in accurately registering the point clouds of tree trunks and secondary branches in adjacent frames. Related experimental results show that the root mean square error (RMSE) of the proposed method is 0.3285m, which is 98.62% and 98.94% lower than the comparison methods, respectively. The processing time for a single frame point cloud is 0.0354s, effectively verifying the overall performance of the proposed method in urban semi-structured scenes.

[0110] 5. The point cloud inter-frame registration method proposed in this invention is replaced in the LeGO-LOAM algorithm, denoted as the Semi-Structured-LeGO-LOAM (SS-LeGO-LOAM) algorithm, and compared with four LiDARSLAM algorithms. Related experimental results show that, compared with the other four algorithms, the localization RMSE of SS-LeGO-LOAM is reduced by 98.93%, 97.45%, 96.50%, and 98.57% respectively, and the processing efficiency changes by -41.12%, 11.36%, 19.51%, and -161.59% respectively. This indicates that the method of this invention can effectively improve the localization accuracy of LiDAR SLAM in semi-structured scenes while taking into account data processing efficiency, providing reliable data support for urban planning, database construction, and other fields.

[0111] 6. The method of this invention directly detects individual tree point cloud clusters and separates branches and leaves, extracts trunk and secondary branch point clouds to construct individual tree descriptors, and constructs semantic tags by matching inter-frame individual tree descriptors, thereby assisting in point cloud inter-frame registration based on the ICP algorithm. Compared with other point cloud inter-frame registration methods for semi-structured scenes, the research object of this invention is independent individual tree point cloud clusters, the registration object is stable trunk and secondary branch point clouds, and it uses the ICP algorithm for direct registration. Therefore, it is less affected by environmental factors and carrier motion state, thus obtaining more stable and accurate registration results. Attached Figure Description

[0112] Figure 1 This is a flowchart of a LiDAR point cloud inter-frame registration method for semi-structured urban scenarios according to the present invention.

[0113] Figure 2 This is a flowchart illustrating step 1 of one embodiment of the present invention;

[0114] Figure 3 This is a flowchart illustrating step 2 of one embodiment of the present invention.

[0115] Figure 4 This is a flowchart illustrating step 3 of one embodiment of the present invention;

[0116] Figure 5 This is a flowchart illustrating step 4 of one embodiment of the present invention.

[0117] Figure 6 This is a summary flowchart of one embodiment of the present invention;

[0118] Figure 7 This is a radar chart for evaluating the effectiveness of the improved LightGBM in this invention.

[0119] Figure 8 This is a sequence diagram showing the changes in the performance of the algorithm of this invention and the comparative single-tree detection algorithm as a function of point cloud numbering;

[0120] Figure 9 This is a sequence diagram showing the changes in the performance of the algorithm of this invention and the comparative branch and leaf separation algorithm as a function of point cloud cluster number;

[0121] Figure 10 This is a graph showing the change in the correct detection rate of secondary branches of the algorithm of this invention with the two-dimensional projection position;

[0122] Figure 11 This is a sequence diagram showing the variation of descriptor construction error of the algorithm of this invention with point cloud cluster number;

[0123] Figure 12 The localization trajectory diagrams for each test scenario are provided for the method of this invention and the two comparative point cloud registration methods.

[0124] Figure 13 The localization trajectory diagrams for SS-LeGO-LOAM and four comparative LiDAR SLAM algorithms for each test scenario; Detailed implementation method:

[0125] An embodiment of the present invention will be further described below with reference to the accompanying drawings.

[0126] In this embodiment of the invention, a LiDAR point cloud inter-frame registration method for semi-structured urban scenarios is provided, such as... Figure 1 As shown, it includes the following steps:

[0127] Step 1: Through LiDAR point cloud preprocessing and point cloud cluster segmentation, 13 features were designed for independent point cloud clusters, and the LightGBM algorithm was improved to detect whether each point cloud cluster is a tree.

[0128] Step 1-1: The point cloud intrinsic parameters are calibrated using an unsupervised point cloud position optimization method to compensate for equipment system errors. Since no additional sensor data is used to assist in point cloud processing throughout the process, the V-ICP method is used to remove point cloud motion distortion. After the above processing, the point cloud quality is significantly improved. However, since the main research object is independent single tree point cloud clusters, noise points and discrete points are not significant. A voxel network composed of several identical three-dimensional parallelepipeds is constructed to cover the entire point cloud. The point cloud density within each small voxel is calculated, and points in sparse voxels are regarded as noise points or discrete points and removed. To address the problem of excessive point cloud density, since the subsequent extraction and fitting of tree trunk (first-level branch) and second-level branch point clouds to construct single tree descriptors requires a relatively complete detailed description, and there are few continuous large-scale targets in urban semi-structured scenes, point cloud downsampling is not required. For the point cloud after intrinsic parameter calibration and preprocessing, ground segmentation and point cloud cluster clustering are further performed to obtain independent point cloud cluster clustering results.

[0129] Steps 1-2: For each independent point cloud cluster, 13 features were designed and extracted from the perspective of geometric structure and basic attributes, which are divided into geometric features and attribute features, to construct a point cloud cluster classification feature system.

[0130] Geometric features refer to the features that describe the basic geometric structure of a point cloud cluster in terms of single-axis span, projected area, and spatial volume. A total of 7 geometric features were extracted, including: X-axis span L X Y-axis span L Y Z-axis span L Z The ratio S of the area of ​​the concave polygon projected onto the XZ plane to the area of ​​the smallest circumscribed rectangle. CXZ The ratio S of the area of ​​the concave polygon projected onto the YZ plane to the area of ​​the smallest circumscribed rectangle. CYZ The ratio S of the area of ​​the concave polygon projected onto the XY plane to the area of ​​the smallest circumscribed rectangle. CXY The specific quantification method for the above characteristics, namely the volume V of the smallest circumscribed parallelepiped, is as follows:

[0131] Taking the k-th point cloud cluster in the i-th frame as an example, traverse all laser points within it and record the maximum and minimum values ​​of the X, Y, and Z coordinates as follows: Calculated in this way as follows:

[0132]

[0133] based on Quantize the results and calculate the area of ​​the smallest bounding rectangle of the point cloud cluster on the three projection planes XZ, YZ, and XY. as follows:

[0134]

[0135] Taking the projection of point cloud onto the XZ plane as an example, the AS algorithm is used to extract the concave hull contour of the two-dimensional point cloud. The contour points are numbered clockwise; based on the contour point numbers and coordinates, the area of ​​the concave polygon is calculated through triangulation. as follows:

[0136]

[0137] in, This represents the two-dimensional coordinates of the j-th point in the current set of contour points;

[0138] based on and Quantification result calculation as follows:

[0139]

[0140] Similarly, calculation and as follows:

[0141]

[0142] based on and Quantification results calculation V k ,as follows:

[0143]

[0144] Attribute features refer to features that describe diverse attributes such as the internal composition of point cloud clusters, laser intensity distribution, and morphological characteristics. A total of 6 attribute features were extracted, including: number of laser points N, laser point density P, and mean laser intensity I. mean Laser intensity variance I var Overall linear dimensions D dim Overall surface area D fla The specific quantification methods for the above features are as follows:

[0145] Taking the k-th point cloud cluster in the i-th frame point cloud as an example, during the quantization of geometric features, the statistical N... k And sum up the laser intensity of all laser points, and record it as . as follows:

[0146]

[0147] Where j represents the laser point number, intensity j This represents the laser intensity of the j-th laser point;

[0148] Based on V k Nk , Quantification results calculation P k and as follows:

[0149]

[0150] based on and N k Quantification result calculation as follows:

[0151]

[0152] Construct the covariance matrix C based on the three-dimensional coordinates of all laser points in the current point cloud cluster. k ,as follows:

[0153]

[0154] in, Represents the covariance between a and b; For example, as follows:

[0155]

[0156] in, Represents the three-dimensional coordinates of the geometric center of the current point cloud cluster, (x jk ,y jk ,z jk () represents the three-dimensional coordinates of the j-th laser point;

[0157] C k The three corresponding eigenvalues ​​are denoted in descending order as follows: Then calculate and as follows:

[0158]

[0159] Based on the data foundation and information transmission relationship required to quantify the above 13 features, the classification feature system of each point cloud cluster can be efficiently constructed by traversing the point cloud once and using a multi-threaded processing mode, thereby ensuring the timeliness of data processing and transmission.

[0160] Steps 1-3: Calculate the SRCC between features, and divide the features with a calculation result greater than 0.8 into highly correlated feature subsets; retain the features with the highest information content in each subset to achieve effective dimensionality reduction of correlated features;

[0161] Steps 1-4: For the dimensionality-reduced classification feature system, the DBSCAN algorithm is proposed to cluster the continuous numerical features separately, and the original data is replaced with cluster labels, thereby reasonably transforming all continuous numerical features into discrete categorical features, which helps to construct feature histograms. The above process realizes feature binning from the perspective of data distribution, without the need to pre-determine the number of categories, avoiding the introduction of human error. For the dimensionality-reduced and transformed classification feature system, the EFB algorithm is used to filter and bundle mutually exclusive features.

[0162] Steps 1-5: After feature dimensionality reduction, transformation, and bundling, some features in the current classification feature system may re-emerge with correlations. However, because the transformation and bundling disrupt the original data distribution of the features, the SRCC cannot reflect the true correlation between the current features. Therefore, the CS is calculated as a judgment index. Based on the CS calculation results between features, the FBS algorithm is used to construct the optimal classification feature subset. All features in the current classification feature system are arranged in descending order according to the corresponding weight index, denoted as sequence F. ps Let its reverse sequence be denoted as sequence F. io From F ps The first feature is extracted and added to the feature subset to construct a LightGBM decision tree, and the current classification accuracy is output as the accuracy benchmark; based on F... ps The CS calculation results between the remaining features and this feature are used to add features with a correlation greater than 0.8 to the feature subset. A decision tree is then constructed, and the classification accuracy is output. If the accuracy increases, the accuracy baseline is updated, and classification is performed according to F... io The features are sequentially removed from the current feature subset in the order they are arranged. After each removal operation, the current classification accuracy is output. If the accuracy decreases, the removal operation is withdrawn. This process continues until F... io Stop after emptying the array; if the accuracy decreases after adding a feature, then cancel the addition operation and do not perform the feature removal process described above; continuously iterate the feature addition and feature removal process until F is reached. ps Stop after emptying; finally, based on the specific composition of the bundled features, determine the optimal subset of point cloud cluster classification features and the corresponding optimal LightGBM classification model.

[0163] Steps 1-6: Collect LiDAR point clouds to build a model training set. For each frame of point cloud, perform point cloud processing and quantify the point cloud cluster classification feature system and classification label to train the improved LightGBM classification model. Finally, extract all independent point cloud clusters detected as single trees based on the model output results.

[0164] Step 2: Perform preliminary branch and leaf separation on the single tree point cloud cluster from a geometric perspective, and propose a path frequency-based correction algorithm based on the Dijkstra network connection graph to obtain the accurate tree point set;

[0165] Step 2-1: Recursively segment each single-tree point cloud cluster and perform preliminary branch and leaf separation based on the geometric attributes of each small cluster; mark the point with the smallest Z-axis coordinate in the point cloud cluster as the root node and use it as the initial seed point for recursive segmentation; obtain the 10 points closest to this point to initialize its local connectivity graph and perform edge trimming and edge addition, based on the following:

[0166]

[0167] Among them, L nm ρ represents the edge connecting the nth point to the mth point. n Let ρ represent the local curvature at the nth point. m Let ρ represent the local curvature at the m-th point. ref This represents the threshold for controlling curvature similarity, which is set to 0.15 by default. nm This represents the three-dimensional Euclidean distance between the nth point and the mth point. This represents the standard deviation of the distance between the nth point and all points in the current local connectivity graph. This represents the average distance between the nth point and all points in the current local connectivity graph. This represents the maximum distance between the nth point and all points in the current local connected graph, where |*| represents the absolute value.

[0168] During the construction of the local connectivity graph of the root node, for all points added by adding edges, their local connectivity graphs are initialized and a new round of edge trimming and adding is performed. The above process is iterated until no more edges are added to the local connectivity graph of the root node. Then, the above process is repeated by continuously selecting points that have not been used to construct the local connectivity graph as seed points until all points in the current single tree point cloud cluster are assigned to any local connectivity graph.

[0169] Each local connectivity graph is considered as a small cluster. For each small cluster, its overall line dimension and area dimension are calculated using Equations (10), (11), and (12). If the line dimension is greater than the area dimension, all point clouds in the cluster are marked as leaves, otherwise all point clouds are marked as branches.

[0170] Step 2-2: The preliminary branch and leaf separation results are prone to misjudgment at the branch and leaf junctions and the junctions of branches at all levels. Therefore, a global network connection graph is constructed and a path frequency-based correction algorithm is proposed to perform secondary separation of the branch and leaf point cloud. Since subsequent research mainly focuses on tree branch points, based on the preliminary branch and leaf separation results, Dijkstra's algorithm is used to construct the shortest path from each leaf point to the root node, where the root node is still determined as the point with the smallest Z-axis coordinate. A global network connection graph is constructed based on all shortest paths, and the frequency of each leaf point in the graph is counted. Points with a frequency higher than the average frequency of each point are regarded as points to be corrected.

[0171] For each point to be corrected, a local connectivity graph is constructed by selecting the 10 points closest to it and the local curvature is calculated. If the curvature is less than 0.5 and the local connectivity graph contains at least 5 branch points, the point to be corrected is re-marked as a branch point. Following the above process, the final labels of all points to be corrected are determined, so as to accurately detect branch points from a single tree point cloud cluster.

[0172] Step 3: Propose a single tree descriptor construction algorithm based on branch information, fit the linear target in the tree branch point set and extract the trunk (first-level branch) and second-level branch, and construct the single tree descriptor by calculating the spatial angle between branches and the spatial distance between branches;

[0173] Step 3-1: For the set of tree branch points in a single tree point cloud cluster, use the RANSAC algorithm to extract the linear targets; based on the point cloud set corresponding to each linear target, use the least squares algorithm to fit the spatial straight line respectively, and obtain the tree trunk spatial straight line equation corresponding to the linear target containing the root node.

[0174] Step 3-2: Calculate the coplanar error W between other linear targets and the tree trunk; again, taking the k-th linear target as an example, as follows:

[0175]

[0176] in, Indicates the geometric center coordinates of the current linear target. Represents the geometric center coordinates of the tree trunk, [m k n k p k ] T This represents the direction vector of the corresponding spatial line of the current linear target, [m tru n tru p tru ] T Represents the direction vector of the corresponding spatial line of the tree trunk, and |R| represents the determinant of matrix R;

[0177] Based on the calculated coplanar error between other linear targets and the trunk, secondary branches are initially screened. In reality, all secondary branches intersect with the trunk, so theoretically, the coplanar error between secondary branches and the trunk is small. Due to linear target extraction errors and spatial line fitting errors, linear targets with an absolute coplanar error of less than 0.3 are initially marked as secondary branches. However, due to the randomness of branch growth, some lower-level branches may also have small coplanar errors with the trunk. Therefore, based on the global network connection graph, path detection is used to accurately screen secondary branches. For the linear targets initially marked as secondary branches, Dijkstra's algorithm is used to construct the shortest path to the root node point by point and detect the specific composition of the path. If the shortest path of a certain point contains not only the current linear target and the trunk but also points from other linear targets, the secondary branch label of the current linear target is directly removed. After performing secondary screening on all initially marked secondary branches using the above process, accurate secondary branch detection results are obtained.

[0178] Step 3-3: Based on the accurate detection results of the trunk and secondary branches, calculate the spatial angle between each secondary branch and the trunk based on the corresponding spatial straight line equation of each branch; taking the kth secondary branch as an example, as follows:

[0179] θ k =arccos((r k ·r tru ) / (||r k ||||r tru ||)) (15)

[0180] Where, θ k r represents the spatial angle between the current secondary branch and the trunk. k r represents the direction vector of the corresponding spatial line of the current second-order branch. tru The vector represents the direction of the corresponding spatial line of the tree trunk, and ||r|| represents the magnitude of the vector r.

[0181] In addition, the spatial intersection points between each secondary branch and the trunk are calculated as follows:

[0182]

[0183] Among them, (x′ k ,y′ k ,z′ k () represents the coordinates of the intersection point between the current secondary branch and the trunk; due to various errors, it is difficult for equation (16) to have an effective solution, so the optimization objective function is further constructed as follows:

[0184]

[0185] Among them, Hk This represents the object to be optimized, and the optimization objective is H. k =1; continuously adjust (x′) k ,y′ k ,z′ k Until equation (17) outputs H that is closest to the optimization objective. k At this time, the corresponding (x′) k ,y′ k ,z′ k This is considered the spatial intersection of the current secondary branch and the trunk;

[0186] Based on the coordinates of all intersections between secondary branches and the trunk, and sorted by Z-axis coordinates from largest to smallest, the spatial distance between adjacent secondary branches is calculated; taking the k-th secondary branch and the (k-1)-th secondary branch as an example, as follows:

[0187] D k,k-1 =z′ k -z′ k-1 ,k>1 (18)

[0188] Among them, D k,k-1 This indicates the spatial distance between the two current secondary branches;

[0189] Based on the spatial angle (θ) between all secondary branches and the trunk 1 ,θ 2 ,…,θ n-1 ,θ n ) and the spatial distance between adjacent secondary branches (D 1,2 D 2,3 ,…,D n-2,n-1 D n-1,n Construct the descriptor μ of the current single tree as follows:

[0190] μ=[θ 1 D 1,2 θ 2 …θ n-1 D n-1,n θ n ] T (19)

[0191] Where n represents the number of secondary branches, and μ has a dimension of 2n-1.

[0192] Step 4: Propose a bidirectional extended vector matching algorithm based on CS to establish inter-frame single-frame descriptor matching relationship, thereby assisting the ICP algorithm in high-precision inter-frame registration;

[0193] Step 4-1: Since the more dimensions a single descriptor has, the more information it contains, and the more reliable the matching result is, taking the registration of the point cloud of frame i and the point cloud of frame i-1 as an example, in the point cloud of frame i, the descriptor vectors are sorted from largest to smallest, and denoted as sequence K; the first descriptor in K is selected as the initial object to be matched, and its vector length is denoted as l.

[0194] Since the number of elements in the description vector is odd, a segment of the vector at the middle position of the initial object to be matched is taken as the basis for bidirectional extension, denoted as κ; all description vectors in the (i-1)th frame are taken as the search objects, and the kth description vector μ is used as the search target. ki-1 For example, let its vector length be denoted as l′; from μ ki-1 Starting with the first element, divide the target into l′-2 segments with a fixed range of 3 adjacent elements each time; divide all the searched objects in the above way, calculate the CS between κ and all segments, filter out the segments with a correlation greater than 0.8 and sort them in descending order of correlation, denoted as sequence K′, and denote the segment with the highest correlation as κ′;

[0195] For κ and κ′, based on the element composition of the corresponding descriptors, extend one element to each side and calculate CS. If the correlation is still greater than 0.8, continue extending to both sides and calculate the correlation. During the above bidirectional extension process, if one side reaches the maximum range of the descriptor, only extend one side. Iterate the above bidirectional extension and correlation calculation process until κ or κ′ extends to the maximum range of the corresponding descriptor. If the correlation between the two is still greater than 0.8, it is considered a successful match. If the correlation is less than 0.8 after any extension, replace the next segment in K′ and repeat the above process.

[0196] If K′ constructed for the initial object to be matched is empty or all segments in K′ do not meet the successful matching requirements, then the next object to be matched in K is selected and the above steps are repeated; after constructing the first pair of single-tree descriptor matching combinations, the remaining objects to be matched from K are selected and the above steps are performed in the same way, thereby constructing the second pair of single-tree descriptor matching combinations.

[0197] For the two pairs of tree descriptor matching combinations that have been constructed, calculate the XY two-dimensional Euclidean distance between the geometric centers of the paired tree point cloud clusters. If the difference between the two sets of Euclidean distances is greater than 0.5, the above steps are performed to construct a third pair of descriptor matching combinations and calculate the corresponding two-dimensional Euclidean distance. Compare the differences between the three sets of Euclidean distances. If the difference between any two sets is greater than 0.5, construct a new descriptor matching combination and repeat the above process. Continue until there are any two sets of Euclidean distances with a difference of less than 0.2. This is considered as constructing two pairs of valid tree descriptor matching combinations. The average of the two sets of two-dimensional Euclidean distances is used as the plane search radius r for establishing subsequent descriptor matching relationships, thereby improving the efficiency of constructing valid tree descriptor matching combinations.

[0198] When constructing subsequent single-tree descriptor matching combinations by performing the above steps, the two-dimensional Euclidean distance is calculated based on the geometric center of the single-tree point cloud clusters of the object to be matched in the i-th frame point cloud and each searched object in the (i-1)-th frame point cloud, and r is used as a constraint to filter the searched objects, thereby simplifying the global search into a precise local search; following the above process, the third, fourth, and fifth pairs of valid single-tree descriptor matching combinations are constructed.

[0199] Step 4-2: For the five pairs of valid single tree descriptor matching combinations that have been constructed, based on the geometric center coordinates of the corresponding paired single tree point cloud clusters, the Bursa model is used to calculate the coordinate transformation parameters between the point cloud of frame i and the point cloud of frame i-1, so as to roughly unify the coordinate reference between the two frames of point clouds; then, for the single tree descriptors in the point cloud of frame i that have not established a matching relationship, their matching objects are directly obtained in the point cloud of frame i-1 through the nearest neighbor search.

[0200] Step 4-3: Based on the constructed u pairs of valid single-tree descriptor matching combinations, assign the same semantic label l to the laser points scanned by the same tree in the i-th frame point cloud and the (i-1)-th frame point cloud; in order to ensure that the above label information can play a significant constraining role in subsequent auxiliary point cloud frame registration, a label set f is constructed starting from 1 and increasing by 2 steps according to the order of successful matching, as follows:

[0201] f = [l 1 l 2 l 3 …l u-1 l u ]=[1 3 5…2u-3 2u-1] (20)

[0202] Furthermore, in the i-th frame point cloud, there may be individual tree descriptors that have not established a matching relationship. Therefore, all tree point cloud clusters that have successfully established a matching relationship are directly published as a new point cloud frame. Similarly, the tree point cloud clusters that have successfully established a matching relationship in the (i-1)-th frame point cloud are published as a new point cloud frame. The newly published i-th frame point cloud and i-1-th frame point cloud only contain tree trunk laser points and secondary branch laser points with semantic tags. Therefore, the ICP algorithm is directly used for inter-frame registration of point clouds based on the tag and coordinate information.

[0203] Based on the initial five pairs of valid single-tree descriptors matching and combining the corresponding point clouds, the traditional ICP algorithm is used for fast registration. The acquired relative pose is used as the initial pose value for the overall point cloud inter-frame registration, thereby improving the overall registration accuracy and efficiency. Subsequently, semantic tags are added as additional information to the traditional ICP registration model, as follows:

[0204]

[0205] Where num represents the number of corresponding laser points in the source point cloud and the target point cloud. This represents the information vector of the j-th laser point in the target point cloud. This represents the information vector of the j-th laser point in the source point cloud. R′ represents the expanded attitude change matrix, and t′ represents the expanded displacement change matrix. Their specific structures are as follows:

[0206]

[0207] Where R represents the inter-frame attitude change matrix, t represents the inter-frame displacement change matrix, and O represents the zero matrix;

[0208] The optimal solution of equation (21) is obtained through nonlinear optimization, where semantic tag registration plays a macro-control role and three-dimensional coordinate registration plays a micro-optimization role. The combined effect of the two is to accurately register the point cloud of the i-th frame with the point cloud of the (i-1)-th frame.

[0209] By processing neighboring frame point clouds sequentially according to the above process, high-precision inter-frame registration of LiDAR point clouds can be achieved in semi-structured urban scenes.

[0210] Since this invention uses an improved LightGBM to detect single-tree point cloud clusters, three datasets were randomly selected from the UCI Machine Learning Database to test the classification effect of the improved LightGBM, including: the Wine dataset containing only continuous numerical features, the Bank dataset containing only discrete categorical features, and the Student dataset containing both types of features. In this invention example, a self-built experimental platform was used to collect real data. The LiDAR used was RoboSense's RS-LiDAR-32, with a horizontal field of view of 360° and a resolution of [0.1°, 0.4°], a vertical field of view of [-25°, 15°] and a resolution of 0.33°, a point cloud acquisition frequency of 10Hz, and a maximum scanning distance of 100m; the total station was a Leica TS50, which acquired environmental point coordinates and spatial angles using a prism-free measurement mode; the integrated navigation module used the X1 integrated navigation system from Beiyun Technology, with its IMU data acquisition frequency set to 200Hz. A LightGBM model training dataset was constructed based on collected LiDAR point clouds. To prevent overfitting or underfitting, the proportion of single-tree point cloud clusters and non-single-tree point cloud clusters in the training samples was ensured to be no more than twice the normal ratio. Furthermore, although urban semi-structured scenes are typically outdoor scenes, to enhance the model's stability and general applicability, training data was collected from nine real-world urban outdoor scenes and three indoor scenes, including: evergreen forest, deciduous tree forest, deciduous dwarf tree forest, shrubland, urban park, commercial street, main road, school playground, residential area, shopping mall underground parking garage, shopping mall indoor, and school teaching building. To verify the detection performance of the improved LightGBM-based single-tree detection algorithm, test data was collected from an additional urban park scene and a deciduous tree forest scene. For both test datasets, 50 frames of point clouds were randomly selected from each set, and the single-tree point cloud clusters in each frame were manually labeled as a reference benchmark for verifying the single-tree detection results. One hundred single-tree point cloud clusters were randomly selected from the first set of test data mentioned above, and branch and leaf separation was performed using CloudCompare software. These clusters served as a reference benchmark for verifying the effectiveness of the double-layer branch and leaf separation algorithm of this invention. During the collection of the two sets of test data, a total of 100 single-tree point cloud clusters were extracted. Reliable three-dimensional branch information was obtained through manual statistics and total station measurements, including: the number of secondary branches, the spatial coordinates of the intersection points of secondary branches and the trunk, and the spatial angle between the secondary branches and the trunk. This was used to verify the secondary branch detection accuracy and descriptor construction quality of the single-tree descriptor construction algorithm based on branch information of this invention. In addition to the two existing test scenarios, an additional urban roadside scene was selected to collect test data, further verifying the positioning accuracy of the point cloud registration method based on inter-frame single-tree descriptor matching of this invention.Since GNSS, IMU, and auto-tracking total stations cannot provide a continuous and stable reference trajectory for the vehicle in semi-structured urban scenarios, a total station was used to measure the XY-plane two-dimensional projection center coordinates of several vertical trees along the vehicle's movement. All these coordinates are in the total station coordinate system, thus constructing an indirect reference for judging the vehicle's positioning accuracy. Furthermore, during the test data acquisition process, the total station intermittently recorded the vehicle's position under line-of-sight conditions to provide a macroscopic trend of the vehicle's movement, while simultaneously collecting IMU data required for the comparison algorithm. Test Scenario 1 is a city park scene with relatively flat terrain, many pedestrians, and mainly consists of natural features such as evergreen trees, deciduous trees, and shrubs, as well as infrastructure such as trash cans, streetlights, and benches. Test Scenario 2 is a deciduous woodland scene with undulating terrain and almost no dynamic targets except for unstable branches and leaves. It mainly consists of deciduous trees and a few shrubs. Test Scenario 3 is a city roadside scene with flat terrain, few pedestrians and non-motorized vehicles, regularly distributed evergreen trees, deciduous trees, and low shrubs, and some infrastructure and buildings in the distance. The vehicle trajectory lengths in Scenario 1, Scenario 2, and Scenario 3 are approximately 350m, 400m, and 380m, respectively, and the data collection times are approximately 290s, 250s, and 220s, respectively.

[0211] like Figure 7 As shown in the figure, the larger the area enclosed by the same-colored polyline, the better the corresponding algorithm can balance detection performance and training efficiency. In the improved LightGBM of this invention, the area enclosed by the outer polyline is consistently larger than the area enclosed by the inner polyline in the traditional LightGBM, verifying that the improved LightGBM of this invention can better balance classification performance and training efficiency, and has strong universal applicability.

[0212] like Figure 8 As shown, the detection performance of the comparative algorithm varies significantly across different scenarios, and even within the same scenario, the detection performance of different point clouds exhibits fluctuations. This indicates that the default parameters of the comparative algorithm lack universal applicability and exhibit poor stability in detection performance. The algorithm of this invention demonstrates similar detection performance across different scenarios and point clouds, with a single tree detection rate generally exceeding 0.95 and a misdetection rate for other features generally below 0.03. Quantitative comparison shows that, compared to the comparative algorithm, the algorithm of this invention improves the single tree detection rate by 12.38%, reduces the misdetection rate for other features by 92.31%, and increases detection efficiency by 39.47%. The average single tree detection rate of the algorithm of this invention is 0.9722, the average misdetection rate for other features is 0.0196, and the average processing time for a single frame of point cloud is 0.0046 seconds, successfully verifying the effectiveness of the improved LightGBM-based single tree detection algorithm for single tree objects.

[0213] like Figure 9 As shown, the correct detection rate of branch points in the comparative algorithm fluctuates significantly. The single-tree point cloud clusters with lower detection rates are generally evergreen trees. However, the correct detection rate of leaf points in this algorithm is relatively stable and generally higher than 0.85. The comparative algorithm also adopts a two-layer branch and leaf separation structure, using the LeWos model to perform preliminary branch and leaf separation on single-tree point cloud clusters, and then using a local path tracing algorithm to finely separate branches and leaves. The overall branch and leaf separation accuracy of this algorithm is high, but its effectiveness is sensitive to the length of the tracing path. In addition, when leaves and branches occlude each other, the secondary correction effect of the local path tracing algorithm for discontinuous point clouds is poor. Due to the over-detection of leaf points in the LeWos model, when the accuracy of the above-mentioned secondary correction algorithm decreases, the detection accuracy of branch points for most evergreen trees decreases significantly. The algorithm of this invention performs preliminary branch and leaf separation based on the local geometric properties of each laser point. Its secondary correction part can correct most of the branch points that are incorrectly detected as leaf points based on the path frequency of the global network. Moreover, the global path frequency is not affected by the continuity of the point cloud, so the correction effect is not constrained by the path length and the occlusion between branches and leaves. However, since the main research object of this invention is branch points, in order to control the overall complexity of the algorithm, the leaf points that are incorrectly detected as branch points are not corrected in the secondary correction part. Therefore, the correct detection rate of leaf points and the correct detection rate of branch points of the algorithm of this invention are relatively stable in the figure, but the former is generally lower than the latter. Through quantitative comparison, compared with the comparison algorithm, the correct detection rate of leaf points in this invention is reduced by 3.38%, while the correct detection rate of branch points is increased by 21.96%. The ratio of the increase in the correct detection rate of branch points to the decrease in the correct detection rate of leaf points is 6.5041, indicating that the algorithm of this invention only sacrifices a small portion of the accuracy of leaf point detection, but significantly improves the accuracy of branch point detection, effectively meeting the research objectives of this invention. In addition, since the algorithm of this invention uses a global strategy for secondary correction, while the comparison algorithm uses a local strategy, the processing efficiency of the algorithm of this invention is reduced by 15.28%. The ratio of the increase in the correct detection rate of branch points to the decrease in efficiency in the algorithm of this invention is 1.4373, indicating that while some efficiency is sacrificed under the premise of meeting real-time data processing requirements, a significant improvement in accuracy is achieved, successfully verifying the effectiveness of the double-layer branch and leaf separation algorithm of this invention.

[0214] like Figure 10As shown, as the distance of a single tree point cloud cluster from the origin increases, the detection accuracy of the corresponding secondary branches exhibits an overall trend of first increasing, then stabilizing, and finally decreasing. Due to the limited vertical scanning field of view of LiDAR, if the single tree point cloud cluster to be processed is too close to the origin, some real branch information may be missing in the current point cloud cluster, resulting in the inability to effectively detect the corresponding secondary branches. In addition, when the single tree point cloud cluster to be processed is too far from the origin, the LiDAR measurement accuracy and data density decrease with increasing distance, and the ground features in semi-structured scenes are complex, with widespread occlusion between ground features, which also leads to lower detection accuracy of the corresponding secondary branches.

[0215] like Figure 11 As shown, the two fitting errors are relatively small in difference between different single tree point cloud clusters, so they are regarded as systematic errors of the two algorithms. That is, this type of error is relatively stable in the process of constructing different single tree descriptors, and its impact on the matching of single tree descriptors between frames is considered to be small.

[0216] like Figure 12As shown, regarding the comparison method 1, this method constructs combined features based on single tree trunk landmarks for inter-frame registration. Therefore, it is not affected by dynamic features and unstable natural features, and the combined features have stronger inter-frame stability, which can effectively overcome the point cloud registration chaos caused by terrain undulations and changes in carrier motion state. Therefore, this method performs well in test scenarios 1 and 2. However, since the distribution of tree trunk landmarks in test scenario 3 is relatively regular, there are certain similarities between the combined features constructed by this method. In addition, since the distribution of trees in this scenario is relatively sparse, multi-angle perception and the minimum number of local features have a significant impact on it. The combined influence of various factors ultimately leads to the relatively poor localization effect of this method in test scenario 3. Regarding method 2, this method extracts stable angular features and uses a point-to-surface ICP algorithm for inter-frame registration, without performing single-tree detection or dynamic target detection. Because test scenario 1 contains many dynamic targets, the natural features are dense and mostly linear. Although some stable structured features are distributed, the overall quality of the extracted features is still low, and there are few stable planes for registration, resulting in poor localization performance. Since test scenario 2 mainly contains natural features, and unstable environmental factors and changes in carrier motion significantly affect this method, the localization results diverge rapidly, directly leading to localization errors after error accumulation. In test scenario 3, the environmental factors are similar to test scenario 1, but the ground is flatter, there are fewer dynamic targets, the distribution of natural features is more regular, and there are more and larger stable structured features, resulting in significantly better localization performance than test scenario 1. This invention's method extracts and fits stable tree trunk and secondary branch point clouds to construct descriptors for each individual tree object, thereby matching individual tree objects across frames and adding accurate semantic information, thus assisting in point cloud inter-frame registration based on the ICP algorithm. Therefore, this method is unaffected by dynamic targets and unstable natural factors, and is minimally affected by terrain and carrier motion, achieving good localization results in all three test scenarios. Quantitative comparison shows that, compared to the two comparative methods, this invention's method reduces the average planar localization RMSE by 98.62% and 98.94%, respectively; the average planar localization maximum error (ME) by 98.69% and 99.05%, respectively; and the average efficiency by 7.60% and 74.38%, respectively. However, the ratios of RMSE reduction to efficiency reduction are 12.9785 and 1.3301, respectively, effectively verifying the overall performance of this invention's method in urban semi-structured scenarios.

[0217] like Figure 13As shown, LeGO-LOAM failed to locate in test scenario 1. The cluttered features generated by dynamic targets and bushes in the environment directly interfered with its feature-based point cloud inter-frame registration accuracy. Furthermore, the sparse localization feature extraction method used by this algorithm is prone to failure in scenarios with many tree-like features, ultimately leading to significant anomalies in the localization results. The algorithm also failed to locate in test scenario 2, mainly because this scenario can only provide linear features corresponding to trees and ground features. However, the actual ground has irregular undulations, resulting in poor ground segmentation quality and difficulty in controlling the stability of linear features. In addition, the randomness of the carrier's motion state, the complexity of environmental features, and the similarity of local environmental features all contribute to the divergence of its localization results, which cannot be effectively corrected. The algorithm achieved better localization results in test scenario 3 because this scenario has some stable large-scale structured features and a wide and flat ground, which can obtain more stable feature points. However, the current scenario also has some unstable natural and dynamic features, and dynamic targets may occlude some key stable features at certain times, leading to errors in point cloud registration. Point-LIO performed well in both test scenarios 1 and 3, outperforming LeGO-LOAM. This algorithm enhances its adaptability to dynamic environments by fusing LiDAR and IMU data using a tightly coupled mode based on filter optimization. Furthermore, the LiDAR point cloud processing part performs point-to-point registration to the corresponding plane, resulting in good localization performance in semi-structured scenarios with both sparse trees and stable structured features. However, the algorithm does not filter stable natural features, and low shrubs and leaf noise interfere with the accuracy and efficiency of point cloud registration. In test scenario 2, the dense tree distribution and similar local environmental structures made it difficult for the algorithm's point cloud registration method to form high-quality matching point pairs, even leading to many incorrect pairing results. It was also affected by unstable natural features. Although the algorithm utilizes IMU information for high-frequency optimization of LiDAR SLAM, making it suitable for undulating terrain and dynamic changes in vehicle movement, IMU drift errors accumulate rapidly in complex environments. Simultaneously, the aforementioned factors cause the LiDAR inter-frame registration errors to continuously accumulate, leading to a continuous divergence in the overall localization results over time.LIO-SAM is also a tightly coupled SLAM algorithm integrating IMU and LiDAR, but it uses graph-optimized tight coupling instead of incremental optimization-based tight coupling in Point-LIO. Furthermore, its backend optimization part has better global consistency, resulting in stronger accuracy, robustness, and dynamic object handling capabilities, making it suitable for more complex environments and long-term localization tasks. However, its processing efficiency is lower, and its real-time performance is worse than Point-LIO. In test scenario 1, the algorithm demonstrates some dynamic target detection and stable natural feature filtering capabilities through feature filtering, and IMU information can compensate for some point cloud registration errors, thus its overall localization results are better than the previous two comparison algorithms. However, in environments with high dynamic target density, if severe target occlusion occurs, dynamic features will still dominate the point cloud registration process, thus affecting the overall localization effect. As shown in the figure, where the localization trajectory shows a significant deviation, according to the actual situation, the vehicle corresponding to this trajectory is passing through a group of pedestrians, and the large number of dynamic targets causes LiDAR to be affected. SLAM positioning accuracy declines, and the short-term high accuracy of IMU cannot correct the overall positioning effect in this stage. In test scenario 2, the algorithm also faces the impact of local feature similarity and the high dynamics of the vehicle on the LiDAR positioning system, as well as the impact of frequent changes in motion state and terrain undulations on IMU pose estimation. Although LiDAR and IMU can complement each other, the probability of both systems failing simultaneously is high in this scenario, leading to divergence in positioning errors. However, due to its powerful global optimization function, LIO-SAM can better handle IMU errors and environmental interference, thus exhibiting stronger stability compared to LeGO-LOAM and Point-LIO. Compared to test scenario 1, test scenario 3 has a flat ground, fewer dynamic targets, and regular distribution of natural features, resulting in more stable positioning performance and higher positioning accuracy for LIO-SAM.FAST-LIO2 employs an incremental sparse voxelization feature extraction method and a filter-optimized IMU tightly coupled mode, enabling it to quickly adapt to the appearance of dynamic targets and exhibiting strong anti-interference capabilities against small dynamic targets such as leaves or isolated pedestrians. However, it still cannot handle situations where dynamic targets cluster together. This algorithm uses a lightweight point cloud feature extraction method, which is insufficient to extract enough effective features from low-density single-tree point cloud clusters or messy shrub point cloud clusters. Therefore, in test scenario 1, FAST-LIO2's positioning accuracy is poor, only better than the LeGO-LOAM algorithm. In test scenario 2, FAST-LIO2... LIO2 not only suffers from all the problems faced by the aforementioned LiDAR / IMU fusion algorithms, but is also affected by the excessively sparse effective features, resulting in rapid divergence of positioning errors. Since test scenario 3 contains both regularly distributed natural features and stable structured ground objects, the feature extraction method used by FAST-LIO2 can effectively acquire and utilize the aforementioned heterogeneous features. Moreover, this algorithm performs well in processing sparse point clouds at long distances, but it is affected by the uneven distribution of features. Therefore, FAST-LIO2 performs better in this scenario and is superior to Point-LIO and LeGO-LOAM. The SS-leGO-LOAM algorithm, which integrates the point cloud inter-frame registration method of this invention, does not rely on information from additional sensors such as IMUs. Although it lacks external constraints, it also reduces the impact of external information quality on the overall localization result. The method of this invention only extracts stable trunk point clouds and secondary branch point clouds to construct descriptors and assists in point cloud inter-frame registration based on the ICP algorithm. Therefore, the registration effect is almost unaffected by dynamic targets and unstable natural factors, and does not depend on the quality of feature extraction. In addition, the method of this invention uses reliable semantic information to assist in point cloud registration, making SS-LeGO-LOAM also applicable to environments with high local similarity and highly dynamic carrier situations. In summary, SS-LeGO-LOAM effectively solves the key problems faced by the above four comparative algorithms, thus achieving good localization results in all three test scenarios, and has high data processing efficiency. Through quantitative comparison, compared with the other four algorithms, SS-LeGO-LOAM reduced the mean planar localization RMSE by 98.93%, 97.45%, 96.50%, and 98.57% respectively, and the mean planar localization ME by 98.78%, 97.31%, 97.33%, and 98.26% respectively. The average processing efficiency changed by -41.12%, 11.36%, 19.51%, and -161.59% respectively. By comparing the localization accuracy and processing efficiency, the overall effect of SS-LeGO-LOAM is intuitively demonstrated, thus verifying that the point cloud registration method based on inter-frame single-tree descriptor matching of this invention can effectively improve the localization performance of LiDAR SLAM in urban semi-structured scenes.

[0218] The above description is merely the most basic specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any substitutions that can be understood by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A method for inter-frame registration of LiDAR point clouds in semi-structured urban scenes, characterized in that, Includes the following steps: Step 1: Through LiDAR point cloud preprocessing and point cloud cluster segmentation, 13 features are extracted for independent point cloud clusters, including 7 geometric features and 6 attribute features. Geometric features include X-axis span, Y-axis span, Z-axis span, the ratio of the area of ​​the concave polygon projected onto the XZ plane to the area of ​​the minimum bounding rectangle, the ratio of the area of ​​the concave polygon projected onto the YZ plane to the area of ​​the minimum bounding rectangle, the ratio of the area of ​​the concave polygon projected onto the XY plane to the area of ​​the minimum bounding rectangle, and the volume of the minimum bounding parallelepiped. Attribute features include the number of laser points, laser point density, mean laser intensity, variance of laser intensity, overall linearity, and overall surface dimension. Spearman rank correlation coefficients among the 13 features are calculated, and dimensionality reduction is performed on subsets of highly correlated features. The DBSCAN algorithm, a density-based spatial clustering algorithm with noise, is used to assist in constructing feature histograms, and a mutually exclusive feature bundling algorithm is employed to filter and bundle mutually exclusive features. The cosine similarity between each feature after bundling is calculated, and the optimal classification feature subset is constructed using a bidirectional feature selection algorithm. Based on the corresponding LightGBM classification model with lightweight gradient boosting based on the optimal classification feature subset, it is detected whether each point cloud cluster is a tree. Step 2: Based on the clustering results of the local connectivity graph, calculate the overall line dimension and area dimension of each small cluster. Mark the point cloud contained in the cluster with line dimension greater than area dimension as leaves, otherwise mark them as branches. Use Dijkstra's algorithm to construct the shortest path from all leaf points to the root node, and count the frequency of each leaf point in the path. Points with a frequency higher than the average frequency of each point are determined as points to be corrected. Combine the local curvature of the points to be corrected and the number of branch points in the neighborhood to correct the preliminary separation results, and finally obtain the accurate set of branch points. Step 3: First, fit the linear target of the tree branch point set, extract the trunk and secondary branches from it, and then construct a single tree descriptor by calculating the spatial angle between the secondary branches and the trunk and the spatial distance between adjacent secondary branches. Step 4: Extract a segment of vector from the middle of the current frame descriptor as the basis for bidirectional extension, and use all descriptor vectors of neighboring frames as the search objects and segment them according to three adjacent elements as a fixed range. The algorithm calculates the cosine similarity between the base vector and all segmented vectors, selects segmented vectors with a similarity greater than 0.8, and sorts them by relevance. Starting from the segmented vector with the highest relevance, it extends bidirectionally to the left and right. When one side reaches the maximum range of the descriptor, it extends only to the other side. The similarity is continuously calculated during the extension process. If the similarity is always greater than 0.8, it is considered a successful match. Otherwise, it replaces the next segmented vector and repeats the vector extension, similarity calculation, and judgment process. This algorithm establishes inter-frame single-frame descriptor matching relationships, thereby assisting the iterative nearest point ICP algorithm for high-precision inter-frame registration.

2. The LiDAR point cloud inter-frame registration method for semi-structured urban scenes according to claim 1, characterized in that, The specific steps of step 1 are as follows: Step 1-1: The intrinsic parameters of the point cloud are calibrated using an unsupervised point cloud position optimization method, and the V-ICP method is used to remove point cloud motion distortion. A voxel network consisting of several identical three-dimensional parallelepipeds is constructed to cover the entire point cloud. The point cloud density within each small voxel is calculated, and points in sparse voxels are treated as noise points or discrete points and removed. For the point cloud after intrinsic parameter calibration and preprocessing, ground segmentation and point cloud clustering are further performed to obtain independent point cloud cluster clustering results. Steps 1-2: For each independent point cloud cluster, 13 features were extracted from the perspective of geometric structure and basic attributes, which were divided into geometric features and attribute features, to construct a point cloud cluster classification feature system. Seven geometric features were extracted, including: X-axis span. Y-axis span Z-axis span The ratio of the area of ​​the concave polygon projected onto the XZ plane to the area of ​​the smallest circumscribed rectangle. The ratio of the area of ​​the concave polygon projected onto the YZ plane to the area of ​​the smallest circumscribed rectangle. The ratio of the area of ​​the concave polygon projected onto the XY plane to the area of ​​the smallest circumscribed rectangle. Minimum circumscribed parallelepiped volume The specific quantification methods for the seven geometric features are as follows: With the first In the first frame of the point cloud Taking a point cloud cluster as an example, traverse all laser points within it and record the maximum and minimum values ​​of the X, Y, and Z coordinates as follows: , , , , , Calculate in this way , , ,as follows: (1) based on , , The quantization results are used to calculate the area of ​​the smallest bounding rectangle of the current point cloud cluster on the three projection planes XZ, YZ, and XY. , , ,as follows: (2) Taking the projection of point cloud onto the XZ plane as an example, the rolling sphere algorithm is used to extract the concave hull contour of the two-dimensional point cloud. The contour points are numbered clockwise; based on the contour point numbers and coordinates, the area of ​​the concave polygon is calculated through triangulation. ,as follows: (3) in, Indicates the th element in the current set of contour points. Two-dimensional coordinates of a point; based on and Quantification result calculation ,as follows: (4) Similarly, calculation and ,as follows: (5) based on and Quantification result calculation ,as follows: (6) Six attribute features were extracted, including: number of laser points. Laser dot density Average laser intensity Laser intensity variance Overall linearity Overall surface quality The specific quantification methods for the six attribute features are as follows: Similarly, with the first In the first frame of the point cloud Taking a point cloud cluster as an example, in the process of quantifying geometric features, statistics And sum up the laser intensity of all laser points, and record it as . ,as follows: (7) in, Indicates the laser dot number. Indicates the first The laser intensity of each laser point; based on , , Quantification result calculation and ,as follows: (8) based on and Quantification result calculation ,as follows: (9) Construct the covariance matrix based on the three-dimensional coordinates of all laser points in the current point cloud cluster. ,as follows: (10) in, express and The covariance between them; For example, as follows: (11) in, Represents the three-dimensional coordinates of the geometric center of the current point cloud cluster. Indicates the first The three-dimensional coordinates of each laser point; Will The three corresponding eigenvalues ​​are denoted in descending order as follows: , , And then calculate and ,as follows: (12) Based on the data foundation and information transmission relationship required for quantifying 7 geometric features and 6 attribute features, a classification feature system for each point cloud cluster can be efficiently constructed through a single point cloud traversal and a multi-threaded processing mode. Steps 1-3: Calculate the Spearman rank correlation coefficient between features, and divide the features with a result greater than 0.8 into highly correlated feature subsets; retain the features with the highest information content in each subset to achieve effective dimensionality reduction of the correlated features; Steps 1-4: For the dimensionality-reduced classification feature system, a density-based spatial clustering algorithm with noise is proposed to cluster the continuous numerical features separately, and the original data is replaced with cluster labels, so that all continuous numerical features are reasonably transformed into discrete categorical features, thereby assisting in the construction of feature histograms; For the dimensionality-reduced and transformed classification feature system, a mutually exclusive feature bundling algorithm is used to filter and bundle mutually exclusive features. Steps 1-5: Based on the cosine similarity calculation results between the bundled features, construct the optimal subset of classification features using a bidirectional feature selection algorithm; arrange all features in the current classification feature system from largest to smallest according to their corresponding weight index, and denote this as a sequence. Let its reverse sequence be denoted as sequence. ;from The first feature is extracted and added to the feature subset to construct a LightGBM decision tree, and the current classification accuracy is output as the accuracy benchmark; based on The cosine similarity between the remaining features and the current feature is calculated. Features with a correlation greater than 0.8 are added to the feature subset. A decision tree is then constructed, and the classification accuracy is output. If the accuracy increases, the accuracy baseline is updated, and classification is performed according to... The features are sequentially removed from the current feature subset in the order they are arranged. After each removal operation, the current classification accuracy is output. If the accuracy decreases, the removal operation is reversed until... Stop after emptying the list; if the accuracy decreases after adding features, then cancel the current addition operation and do not perform the feature removal process; continuously iterate through the feature addition and feature removal processes until... Stop after emptying; finally, based on the specific composition of the bundled features, determine the optimal subset of point cloud cluster classification features and the corresponding optimal LightGBM classification model. Steps 1-6: Collect LiDAR point clouds to build a model training set. For each frame of point cloud, perform point cloud processing and quantify the point cloud cluster classification feature system and classification label to train the improved LightGBM classification model. Finally, extract all independent point cloud clusters detected as single trees based on the model output results.

3. The LiDAR point cloud inter-frame registration method for semi-structured urban scenes according to claim 1, characterized in that, The specific steps of step 2 are as follows: Step 2-1: Recursively segment each single-tree point cloud cluster and perform preliminary branch and leaf separation based on the geometric attributes of each small cluster; mark the point with the smallest Z-axis coordinate in the point cloud cluster as the root node and use it as the initial seed point for recursive segmentation; obtain the 10 points closest to the initial seed point to initialize its local connectivity graph and perform edge trimming and edge addition, based on the following: (13) in, Indicates the first From point 1 to point 2 Edges connecting points, Indicates the first Local curvature at a point, Indicates the first Local curvature at a point, This represents the threshold for controlling curvature similarity; the default value is 0.

15. Indicates the first From point 1 to point 2 The three-dimensional Euclidean distance between the points Indicates the first The standard deviation of the distance between a point and all points in the current local connectivity graph Indicates the first The average distance between a point and all points in the current local connectivity graph. Indicates the first The maximum distance between a given point and all points in the current local connected graph. This indicates taking the absolute value; During the construction of the local connectivity graph of the root node, for all points added by adding edges, their local connectivity graphs are initialized and a new round of edge trimming and adding is performed. The edge trimming and adding process is iterated for newly added points until no more edges are added to the local connectivity graph of the root node. Then, points that have not been used to construct the local connectivity graph are continuously selected as seed points and the local connectivity graph initialization, edge trimming and adding process is repeated until all points in the current single tree point cloud cluster are assigned to any local connectivity graph. Each local connectivity graph is considered as a small cluster. For each small cluster, its overall line dimension and area dimension are calculated using Equations (10), (11), and (12). If the line dimension is greater than the area dimension, all point clouds in the small cluster are marked as leaves, otherwise all point clouds are marked as branches. Step 2-2: Based on the preliminary branch and leaf separation results, Dijkstra's algorithm is used to construct the shortest path from each leaf point to the root node, where the root node is still determined as the point with the smallest Z-axis coordinate; a global network connection graph is constructed based on all shortest paths, and the frequency of each leaf point in the graph is counted. Points with a frequency higher than the average frequency of each point are regarded as points to be corrected. For each point to be corrected, select the 10 nearest points to it to construct a local connectivity graph and calculate the local curvature. If the curvature is less than 0.5 and the local connectivity graph contains at least 5 branch points, then the point to be corrected is remarked as a branch point.

4. The LiDAR point cloud inter-frame registration method for semi-structured urban scenes according to claim 1, characterized in that, The specific steps of step 3 are as follows: Step 3-1: For the set of tree branch points in a single tree point cloud cluster, use the random sampling consensus algorithm to extract the linear targets; based on the point cloud set corresponding to each linear target, use the least squares algorithm to fit the spatial straight line respectively, and obtain the tree trunk spatial straight line equation corresponding to the linear target containing the root node. Step 3-2: Calculate the coplanarity error between other linear targets and the tree trunk. Similarly, with the first Taking a linear objective as an example, as follows: (14) in, Indicates the geometric center coordinates of the current linear target. Represents the geometric center coordinates of the tree trunk. This represents the direction vector of the corresponding spatial line of the current linear target. This represents the direction vector of the corresponding spatial line of the tree trunk. Indicates finding the matrix The determinant; Secondary branches are initially screened based on the coplanar error calculation results between other linear targets and the trunk. Linear targets with an absolute coplanar error of less than 0.3 are initially marked as secondary branches. Subsequently, secondary branches are precisely screened based on path detection using the global network connection graph. For the linear targets initially marked as secondary branches, Dijkstra's algorithm is used to construct the shortest path to the root node point by point and detect the specific composition of the path. If the shortest path of a certain point contains not only the points of the current linear target and the trunk, but also points from other linear targets, the secondary branch label of the current linear target is directly removed. Step 3-3: Based on the accurate detection results of the trunk and secondary branches, and using the corresponding spatial straight-line equations of each branch, calculate the spatial angle between each secondary branch and the trunk; using the first... Taking a secondary branch as an example, as follows: (15) in, This indicates the spatial angle between the current secondary branch and the trunk. This represents the direction vector of the corresponding spatial line of the current second-order branch. This represents the direction vector of the corresponding spatial line of the tree trunk. Indicates finding the vector The modulus length; In addition, the spatial intersection points between each secondary branch and the trunk are calculated as follows: (16) in, Let represent the coordinates of the intersection point between the current secondary branch and the trunk; considering various errors, the objective function is further constructed based on equation (16) as follows: (17) in, This represents the object to be optimized, and the optimization objective is... ; continuously adjust Until equation (17) outputs the closest result to the optimization objective. At this time, the corresponding It is considered the spatial intersection of the current secondary branch and the trunk; Based on the coordinates of all intersections between secondary branches and the trunk, sort them in descending order of their Z-axis coordinates, and calculate the spatial distance between adjacent secondary branches; using the first... The second-level branch and the first Taking a secondary branch as an example, as follows: (18) in, This indicates the spatial distance between the two current secondary branches; Based on the spatial angle between all secondary branches and the trunk and the spatial distance between adjacent secondary branches Construct the descriptor of the current single tree ,as follows: (19) in, Indicates the number of secondary branches. The dimension is .

5. The LiDAR point cloud inter-frame registration method for semi-structured urban scenes according to claim 1, characterized in that, The specific steps of step 4 are as follows: Step 4-1, using the registration... Frame point cloud and the first Taking the point cloud of a frame as an example, in the first frame... In the frame point cloud, the points are sorted from largest to smallest according to the dimensions of each description vector, and denoted as a sequence. ;choose The first descriptor in the dataset is used as the initial object to be matched, and its vector length is denoted as . ; A vector segment from the middle position of the initial object to be matched is used as the basis for bidirectional extension, denoted as . ; will the first All description vectors in the frame are used as the search objects, with the first one being the most important. Description vectors For example, let its vector length be denoted as ;from Starting with the first element, each time the range is divided into three fixed intervals of adjacent elements. Segment; divide all searched objects in the same way and calculate. The cosine similarity with all segments is used to filter out segments with a correlation greater than 0.8, and these segments are then sorted in descending order of correlation, denoted as sequences. The segment with the highest correlation is denoted as ; against and Based on the elemental composition of the corresponding descriptor, extend one element to each side and calculate the cosine similarity. If the correlation is still greater than 0.8, continue extending to both sides and calculating the correlation. During the bidirectional extension process, if one side reaches the maximum range of the descriptor, only extend to the other side. Iterate the bidirectional extension and correlation calculation process until... or Extend to the maximum range of the corresponding descriptors; if the correlation between the two is still greater than 0.8, it is considered a successful match; if the correlation is less than 0.8 after any extension, replace it. The bidirectional extension and correlation calculation process is repeated for the next segment in the middle. If constructed for the initial object to be matched empty or If none of the segments in the data meet the successful matching requirements, then select... For the next object to be matched, obtain a vector segment from the middle position of that object as a new bidirectional extension basis, and then... China has determined And perform bidirectional extension and correlation calculation; after constructing the first pair of single-tree descriptor matching combinations, from Select the remaining objects to be matched, and similarly obtain a vector segment from the middle position of each object as the basis for a new bidirectional extension. China has determined And perform bidirectional extension and correlation calculation to construct a second pair of single-tree descriptor matching combinations; For the two pairs of tree descriptor matching combinations already constructed, calculate the XY two-dimensional Euclidean distance between the geometric centers of the paired tree point cloud clusters. If the difference between the two sets of Euclidean distances is greater than 0.5, a third pair of descriptor matching combinations needs to be constructed and the corresponding two-dimensional Euclidean distance is calculated. Compare the differences between the three sets of Euclidean distances. If the difference between any two sets is greater than 0.5, construct a new descriptor matching combination again and compare the differences between the current sets of two-dimensional Euclidean distances. This process continues until there are any two sets of Euclidean distances with a difference less than 0.

2. At this point, two valid pairs of tree descriptor matching combinations are considered to have been constructed, and the average of the two sets of two-dimensional Euclidean distances is used as the plane search radius for establishing subsequent descriptor matching relationships. ; When constructing subsequent single-tree descriptor matching combinations, based on the first... The object to be matched in the frame point cloud and the first The geometric centers of the corresponding individual point cloud clusters of each searched object in the frame point cloud are calculated using the two-dimensional Euclidean distance, and then... As constraints for filtering the searched objects, the third, fourth, and fifth pairs of valid single-tree descriptor matching combinations are constructed. Step 4-2: For the five pairs of valid single-tree descriptor matching combinations that have been constructed, based on the geometric center coordinates of the corresponding paired single-tree point cloud clusters, the Bursa model is used to calculate the first... Frame point cloud and the first The coordinate transformation parameters between frame point clouds are used to roughly unify the coordinate reference between two frame point clouds; subsequently, for the first... For single-tree descriptors in the frame point cloud that have not yet established a matching relationship, the nearest neighbor search is used directly on the first node. Obtain the matching object from the frame point cloud; Step 4-3, Based on the construction For a valid single-tree descriptor matching combination, the first is the... Frame point cloud and the first Laser points scanned from the same tree in a frame point cloud are assigned the same semantic label. ; Construct a tag set starting from 1 and incrementing by 2 according to the order of successful matches. ,as follows: (20) In addition, the If some individual tree descriptors in a frame point cloud have not established a matching relationship, then all successfully matched individual tree point cloud clusters will be published as a new frame point cloud; similarly, the first... A cluster of single-tree point clouds that has successfully established a matching relationship in a frame point cloud is published as a new frame point cloud; the newly published first... Frame point cloud and the first The frame point cloud only contains tree trunk laser points and secondary branch laser points with semantic labels, so the ICP algorithm is directly used for inter-frame registration of the point cloud based on the label and coordinate information. Based on the initial five pairs of valid single-tree descriptors matching and combining the corresponding point clouds, the traditional ICP algorithm is used for fast registration, and the obtained relative pose is used as the initial pose value for the overall point cloud inter-frame registration. Subsequently, semantic labels are added as additional information to the traditional ICP registration model, as follows: (21) in, This indicates the number of corresponding laser points in the source point cloud and the target point cloud. Indicates the first point in the target point cloud Information vector of each laser point , Indicates the first point in the source cloud Information vector of each laser point , This represents the attitude change matrix after dimension expansion. The displacement transformation matrix after dimension expansion is represented by the following specific structures: (22) in, This represents the inter-frame attitude change matrix. This represents the inter-frame displacement change matrix. Represents a zero matrix; The optimal solution of equation (21) is obtained through nonlinear optimization, thereby accurately registering the first... Frame point cloud and the first Frame point cloud; sequentially process neighboring frame point clouds to achieve high-precision LiDAR point cloud inter-frame registration in semi-structured urban scenes.

Citation Information

Patent Citations

  • Method for automatically extracting forest stand upper layer tree parameters from LiDAR point cloud data

    CN102393180A

  • Method for extracting single tree information from LiDAR point cloud in layered clustering mode

    CN106845399A