A loop closing detection method based on stable static point cloud cluster bag-of-words
By adopting a loop closure detection method based on stable static point cloud cluster bag of words, the problem of poor adaptability of existing technologies in dynamic, degraded and large-scale cluttered scenes is solved, achieving efficient and accurate loop closure detection and improving the positioning accuracy of LiDAR SLAM.
Patent Information
- Application Number
- CN202510914109.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-03
- Publication Date
- 2026-01-23
- Estimated Expiration
- 2045-07-03
AI Technical Summary
Existing loop closure detection methods based on point cloud processing have poor adaptability in dynamic, degraded, and large-scale cluttered scenes, and suffer from weak translation sensitivity and low processing efficiency.
A loop closure detection method based on stable static point cloud cluster bag-of-words is adopted. The point cloud intrinsic parameters are calibrated and distortion is removed by unsupervised point cloud optimization and V-ICP method. Independent point cloud clusters are obtained by combining voxel filtering and point cloud clustering. The degradation degree of point cloud frames is evaluated by multi-feature fusion fuzzy comprehensive evaluation algorithm. Loop closure detection is performed by point cloud cluster classification, key frame screening and local descriptor bag-of-words model.
It improves the robustness and universality of loop closure detection, reduces positioning error, enhances loop closure detection performance in complex environments, and significantly improves the positioning accuracy of LiDAR SLAM.
Smart Images

Figure CN120707894B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of simultaneous localization and mapping (LiDAR SLAM) technology, specifically relating to a loop closure detection method based on stable static point cloud cluster bag-of-words. Background Technology
[0002] Driven by the demand for integrated indoor and outdoor high-precision positioning and high-quality data acquisition, the types of sensors and data processing algorithms used in Simultaneous Localization and Mapping (SLAM) are constantly being innovated, making this technology one of the core technologies in the field of autonomous navigation and positioning. Among them, LiDAR SLAM (Light Detection and Ranging SLAM) is widely used in many fields such as autonomous driving, logistics and transportation, and environmental monitoring due to its advantages such as intuitive mapping and insensitivity to lighting conditions. However, despite its excellent performance in the above applications, LiDAR SLAM still faces a key problem common to relative positioning technologies: the cumulative error of positioning results over time, which can even lead to positioning errors and significantly reduce mapping quality. To mitigate the impact of the above problems, loop closure detection (LCD) has been added to the LiDARSLAM framework as a key component, effectively correcting errors by detecting loop closure frames and using them for global optimization.
[0003] Currently, LCD methods applied in the LiDAR SLAM field can be divided into five categories: Euclidean distance-based filtering methods, global descriptor matching-based methods, local descriptor matching-based methods, laser intensity-assisted methods, and multi-sensor fusion-based methods. Shan et al. proposed a lightweight and ground-optimized LiDAR Odometry and Mapping on VariableTerrain (LeGO-LOAM) algorithm, and based on this, proposed a LiDAR inertial odometry based on smoothing and mapping. Both of these algorithms use Euclidean distance-based filtering for LCD, using inter-frame distance as the loop closure reference, which is highly efficient but prone to missed detections and false detections. For global descriptor-based matching methods, Kim et al. proposed the Scan Context method, which constructs a global descriptor based on the maximum height of a 2D mapped point cloud to encode the environment structure to assist the LCD. It has strong rotation sensitivity and low resource consumption, but is sensitive to noise and translation changes and is not suitable for dynamic, degraded, and cluttered scenes. Kim et al. proposed the Scan Context++ method based on Scan Context, which balances rotation and translation sensitivity and efficiency through semi-metric localization and lightweight design, but still has shortcomings in dealing with dynamic, degraded scenes and changes in point cloud density. Wang et al. proposed the LiDAR Iris method, which converts the point cloud into an Iris image and uses LoG-Gabor filtering and Fourier transform to process image features, effectively enhancing rotation and translation sensitivity, but is also affected by dynamic, degraded scenes and changes in point cloud density. Regarding local descriptor-based matching methods, Cui et al. proposed the BoW3D method, which constructs a bag-of-words model based on LinK3D features of point clouds for LCD, enhancing robustness to rotational changes, translational changes, and inverse loops. However, dynamic targets and sparse features significantly interfere with it, and single-point local descriptors are not suitable for large-scale scenes. Ji et al. proposed the LLOAM algorithm, which uses random forests to match 21 types of point cloud cluster features and utilizes graph optimization information to improve loop closure accuracy. It can handle large-scale point clouds, but is only applicable to frame-to-sub-graph LCDs. Regarding laser intensity-assisted methods, Wang et al. proposed the ISC (Intensity Scan Context) method based on Scan Context. It constructs ISC global descriptors based on geometric and intensity information and accelerates matching through binary encoding. It is suitable for degraded scenes and sparse point clouds, but lacks translation sensitivity and is significantly affected by dynamic targets. Pan et al. further improved the ISC descriptor matching speed by utilizing front-end registration results, but did not solve the problems of translation sensitivity and dynamic target correlation.For multi-sensor fusion methods, Nguyen et al. proposed the VIRAL SLAM algorithm, which constructs a three-stage LCD based on visual feature matching and point cloud frame registration, enhancing the system's robustness in degraded scenarios. However, it is significantly affected by dynamic targets. Lin et al. proposed the R2LIVE algorithm, which is based on LiDAR, Inertial Measurement Unit (IMU), and visual tight coupling, and uses error state iterative Kalman filtering and factor graph optimization to achieve a high-precision LCD. It ensures global consistency and is applicable to both dynamic and degraded scenarios. However, the equipment cost and computational overhead are relatively high, and the real-time performance for processing large-scale datasets is poor.
[0004] To address the shortcomings of current LCD methods based solely on point cloud processing, which generally suffer from poor adaptability to dynamic, degraded, and large-scale cluttered scenes, as well as weak translation sensitivity and low processing efficiency, this patent proposes an LCD method based on stable static point cloud cluster bag-of-words, which mainly includes four parts: degradation frame evaluation, point cloud cluster classification, key frame screening, and loop closure detection. In the degradation frame evaluation section, this patent extracts four features based on the structural characteristics of the preprocessed point cloud and uses a point cloud degradation detection algorithm proposed in previous studies to evaluate its degradation status. For the point cloud cluster classification section, this patent proposes a point cloud cluster classification algorithm. When all neighboring frame point clouds are degraded, the point cloud clusters are re-segmented based on the corrected laser intensity, and the Iterative Closest Point (ICP) algorithm is used to coarsely register the center point sets of neighboring frame point cloud clusters. Otherwise, the ICP algorithm is directly used to coarsely register the center point sets of neighboring frame point cloud clusters. Based on the registration results, missing point cloud clusters are marked through bidirectional nearest neighbor search, and unstable point cloud clusters are marked by calculating the geometric differences between the nearest neighbor point cloud clusters in neighboring frames. For all stable point cloud clusters in neighboring frames, the center point sets of the point cloud clusters are finely registered using a four-parameter coordinate transformation model, and dynamic point cloud clusters are marked based on the clustering results of the registration error. In the keyframe selection section, to reduce loopback information redundancy, this patent proposes a keyframe selection algorithm based on fuzzy comprehensive evaluation. Based on the structural features of the current frame and the benchmark keyframe, the fuzzy comprehensive evaluation algorithm is used to calculate inter-frame similarity, thereby constructing a keyframe sequence. In the loopback detection section, this patent proposes an LCD algorithm based on a bag-of-words model of local descriptors for point cloud clusters. For each stable static point cloud cluster in a non-degenerate keyframe, the distance between it and neighboring point cloud clusters is calculated to construct a descriptor. For each stable static point cloud cluster in a degenerate keyframe, a descriptor is constructed based on the distance combined with laser intensity. Based on this, a keyframe descriptor list and a loopback database are established. According to the storage and retrieval method of the bag-of-words model, similarity searches are performed on each element of each descriptor in the current frame descriptor list in the loopback database, and the final LCD result is determined through multi-level verification. Summary of the Invention
[0005] To address the common issues that current LCD methods based solely on point cloud processing are poorly adaptable to dynamic, degraded, and large-scale cluttered scenes, and suffer from weak translation sensitivity and low processing efficiency, this invention proposes an LCD method based on stable static point cloud cluster bag-of-words, which effectively improves the robustness and universal applicability of LCD methods based solely on point cloud processing.
[0006] An LCD method based on stable static point cloud cluster bag-of-words includes the following steps:
[0007] Step 1: Point cloud intrinsic parameters are calibrated and distortion is removed by unsupervised point cloud optimization and the Velocity updating-Iterative Closest Point (V-ICP) algorithm. Independent point cloud clusters are obtained by combining voxel filtering and point cloud clustering. The degradation degree of point cloud frames is accurately evaluated based on the fuzzy comprehensive evaluation algorithm with multi-feature fusion.
[0008] Step 2: Propose a point cloud cluster classification algorithm. Based on correcting the laser intensity of the degraded frame and performing intensity connectivity segmentation, combine neighbor frame coarse registration, structural descriptor similarity analysis and density clustering method to comprehensively identify and classify missing, unstable, dynamic and stable static point cloud clusters in each frame of point cloud.
[0009] Step 3: Propose a keyframe screening algorithm based on fuzzy comprehensive evaluation. Based on multi-feature fuzzy comprehensive evaluation, by introducing the number of stable static point cloud clusters to replace dynamic interference, and by integrating distance and structural features, the weight is determined by the analytic hierarchy process (AHP) and the inter-frame similarity is calculated to achieve efficient screening and updating of keyframes.
[0010] Step 4: Construct local descriptors for each stable static point cloud cluster to establish a bag-of-words database for loop retrieval and effectively verify the retrieval results.
[0011] Step 1 describes the point cloud intrinsic parameter calibration and distortion correction using unsupervised point cloud optimization and V-ICP method, combined with voxel filtering and point cloud clustering to obtain independent point cloud clusters, and accurately assesses the degradation degree of point cloud frames based on a fuzzy comprehensive evaluation algorithm with multi-feature fusion.
[0012] The specific steps are as follows:
[0013] Step 1-1: The intrinsic parameters of the point cloud are calibrated using an unsupervised point cloud optimization method to compensate for equipment system errors. The V-ICP method is used to remove motion distortion of the point cloud. Since the main research object is independent point cloud clusters, a three-dimensional voxel filtering method is used to remove discrete points and noise points, and point cloud downsampling is performed based on the center of each voxel. For the point cloud after intrinsic parameter calibration and preprocessing, ground segmentation and point cloud cluster clustering methods are used for further processing to obtain the clustering results of independent point cloud clusters.
[0014] Steps 1-2: For each independent point cloud cluster, a LiDAR degradation environment detection method based on multi-feature fusion is used to evaluate the degradation of each frame of point cloud. Specifically, four features describing the geometric structure of a single frame of point cloud are extracted, including: the number of line feature points N. l Number of independent planes N p Number of independent point cloud clusters N c The larger the value of the above features, the lower the probability that the current frame is a degraded frame. Therefore, this method uses a fuzzy comprehensive evaluation algorithm to comprehensively consider the four features, so as to accurately and efficiently evaluate the point cloud degradation.
[0015] The point cloud cluster classification algorithm proposed in step 2, based on correcting the laser intensity of the degraded frame and performing intensity connectivity segmentation, combines neighbor frame coarse registration, structural descriptor similarity analysis and density clustering methods to comprehensively identify and classify missing, unstable, dynamic and stable static point cloud clusters in each frame of point cloud;
[0016] The specific steps are as follows:
[0017] Step 2-1: The laser intensity of the degraded frame is corrected using the laser intensity correction algorithm, and the point cloud clusters are re-segmented based on intensity connectivity. At the same time, the center point set of the point cloud clusters is updated. Since the LiDAR acquisition frequency is high, it can be assumed that there is no sudden change in the environmental structure of the neighboring frame point cloud. Therefore, the above process is only performed when the neighboring frame point clouds are all degraded frames. Based on this, the point cloud clusters are classified.
[0018] Step 2-2: The set of center points of the point cloud cluster based on the neighboring frame point cloud, denoted as E. A and E B The ICP algorithm is used for coarse registration, and a general relative pose unified coordinate reference is used for E. B For each point in E, set an appropriate neighborhood radius. A In this process, a nearest neighbor search is performed, and point cloud clusters without search objects are marked as missing point cloud clusters. Similarly, for E... A Points that were not marked or searched in E B Reverse search and tag missing point cloud clusters;
[0019] Steps 2-3: Due to the linear propagation property of lasers, point cloud clusters scanned by the same target in adjacent frames may exhibit significant structural differences due to occlusion or changes in scanning angle. This paper considers such point cloud clusters as unstable point cloud clusters. To label these point cloud clusters, structural descriptors μ are first constructed based on the three-axis span of the point cloud cluster, as follows:
[0020]
[0021] in, Let μ represent the spans of the X, Y, and Z axes, respectively. Based on the nearest neighbor pairing point cloud clusters constructed using bidirectional nearest neighbor search, the cosine similarity S between the corresponding μ values is calculated as follows:
[0022]
[0023] in, E represents B The descriptor of the k-th point cloud cluster, μ A E represents A The descriptor of the paired point cloud clusters, where j represents the element number in the descriptor. If S is less than 0.5, the current nearest paired point cloud cluster combination is marked as an unstable point cloud cluster.
[0024] Steps 2-4: By marking missing and unstable point cloud clusters, the current center point set of each point cloud cluster consists only of stable static point cloud clusters and dynamic point cloud clusters. To mark dynamic point cloud clusters, the coarsely registered E... A and E B Projecting onto the XY plane, two pairs of nearest neighbor point clusters are randomly selected as in-place points. A four-parameter coordinate transformation model is used to calculate the transformation matrix T, and E is then used to transform the matrix T. B Transform the remaining points in E A In the coordinate system, calculate the two-dimensional Euclidean distance between the nearest paired point cloud clusters. Use a noisy density-based spatial clustering algorithm to cluster all distances. If the clustering result is a single cluster, all clusters are considered static point cloud clusters and their numbers are counted. If the clustering result is a double cluster, the cluster with the smaller average distance is considered a static point cloud cluster and its numbers are counted. If the clustering result is greater than two clusters, the clusters are merged until only two clusters remain. The number of point cloud clusters in the cluster with the smaller average distance is then counted. This process of selecting local points and counting static point cloud clusters is iterated until all local point combinations have been processed. The value T corresponding to the maximum number of static point cloud clusters is taken as E. A and E B The transformation matrix is precisely registered, and the corresponding dynamic point cloud clusters are marked. Thus, each frame of point cloud contains four types of point cloud clusters: missing point cloud clusters, unstable point cloud clusters, dynamic point cloud clusters, and stable static point cloud clusters.
[0025] Step 3 proposes a keyframe screening algorithm based on fuzzy comprehensive evaluation. Based on multi-feature fuzzy comprehensive evaluation, it introduces the number of stable static point cloud clusters to replace dynamic interference, integrates distance and structural features, uses the hierarchical analysis method to determine weights, calculates inter-frame similarity, and achieves efficient screening and updating of keyframes.
[0026] The specific steps are as follows:
[0027] Step 3-1: Utilize N extracted during the degradation frame evaluation process l N pN c There are four features in total, P, and . The fuzzy comprehensive evaluation algorithm is used to calculate the similarity between the current frame and the reference keyframe, as follows:
[0028]
[0029] Where U represents the factor set, whose elements correspond to four features in sequence; V represents the evaluation set, whose elements correspond to three evaluation results: dissimilarity, undetermined, and similarity; R represents the fuzzy evaluation matrix; and μ(u,v) represents the membership function.
[0030] Step 3-2: Based on the characteristic properties, construct R using the semi-trapezoidal membership degree calculation method, with N... l For example, as follows:
[0031]
[0032] in, N represents the corresponding frame A l , Indicates the N corresponding to the B frame l min represents the minimum value operation, max represents the maximum value operation, and the membership calculation model for other evaluation factors all adopt the form of equation (4);
[0033] Step 3-3: To obtain the comprehensive evaluation results, the analytic hierarchy process (AHP) is used to construct the evaluation weight matrix D. First, the judgment matrix C is determined as follows:
[0034]
[0035] The weight d of each evaluation factor is calculated using the square root method based on the elements in C, as follows:
[0036]
[0037] in, This represents the weights before normalization;
[0038] D is constructed based on the calculation results of equation (6), as follows:
[0039] D=[d1 d2 d3 d4]=[0.250.250.250.25] (7)
[0040] Applying D to R to calculate the fuzzy evaluation result set B is as follows:
[0041]
[0042] Steps 3-4: Compare the elements in B according to the maximum membership principle. If b1 is the largest, the similarity between the two point clouds is low. Add the current frame to the keyframe sequence and use it as the new baseline keyframe. If b3 is the largest, the two point clouds are completely similar. Skip the current frame directly. If b2 is the largest, when b2 is less than 0.5, add the current frame to the keyframe sequence and update the baseline keyframe.
[0043] Step 4 involves constructing local descriptors for each stable static point cloud cluster to establish a bag-of-words database for loop retrieval and to effectively verify the retrieval results.
[0044] The specific steps are as follows:
[0045] Step 4-1: Based on the degradation frame evaluation, point cloud cluster classification, and key frame screening results, construct non-degradation key frame descriptor lists and degradation key frame descriptor lists respectively for non-degradation key frame sequences and degradation key frame sequences according to the data storage mode of the bag-of-words model.
[0046] Taking the non-degenerate keyframe A as an example, for the set of center points of a stable static point cloud cluster projected onto a two-dimensional plane, a 10m×10m rectangular neighborhood is constructed with each point as the center. The distances from other points within the neighborhood to the center point are calculated and arranged in ascending order to construct descriptors. Taking the i-th point as an example, the descriptor... as follows:
[0047]
[0048] in, This indicates the frame number to which the current point cloud cluster belongs. This indicates the number of the current point cloud cluster in the current frame. D represents the distance, and n represents the number of points contained in the current neighborhood.
[0049] A list of descriptors is constructed based on the κ values of all points in frame A, as follows:
[0050]
[0051] Where m represents the number of stable static point cloud clusters contained in frame A;
[0052] Taking the degraded keyframe B as an example, a neighborhood is constructed for each point, the distance D is calculated, and a descriptor is constructed by combining the laser intensity I of the corresponding point cloud cluster; taking the i-th point as an example, the descriptor... as follows:
[0053]
[0054] A list of descriptors is constructed based on the κ values of all points in the B-frame, as follows:
[0055]
[0056] Where m represents the number of stable static point cloud clusters contained in the B frame;
[0057] Taking the degraded keyframe B as an example, a neighborhood is constructed for each point, the distance D is calculated, and a descriptor is constructed by combining the laser intensity I of the corresponding point cloud cluster; taking the i-th point as an example, the descriptor... as follows:
[0058]
[0059] A list of descriptors is constructed based on the κ values of all points in the B-frame, as follows:
[0060]
[0061] Where m represents the number of stable static point cloud clusters contained in the B frame;
[0062] Step 4-2: For each non-degenerate keyframe, construct a descriptor list using equations (9) and (10); for each degenerate keyframe, construct a descriptor list using equations (11) and (12). Based on this, update the non-degenerate loopback database F and the degenerate loopback database F′ in real time, as follows:
[0063]
[0064] Step 4-3: Based on the retrieval pattern of the bag-of-words model, perform a loopback search in the corresponding type database for the descriptor list of the latest keyframe; using the current latest non-degenerate keyframe... For example, a frame The descriptor for the i-th point cloud cluster is as follows:
[0065]
[0066] against The first distance element Expand the search in F to record and... The corresponding IDs of elements with a difference of less than 0.1m f and ID c Same as above, record The search results are retrieved for all distance elements in the point cloud cluster; if the search results are empty, it is assumed that there are no loopback objects in the current point cloud cluster; otherwise, the IDs are counted. f Keyframes that appear more than 2n / 3 are selected and arranged in descending order of frequency to construct a candidate keyframe sequence W;
[0067] If W is empty, it is considered that there are no loopback objects in the current point cloud cluster; otherwise, the first candidate keyframe is selected from W, and the corresponding IDs are counted. cStable static point cloud clusters with a frequency greater than 2n / 3 are identified and arranged in descending order of frequency to construct a candidate point cloud cluster sequence P. If P is empty, candidate keyframes in W are sequentially replaced to construct P until P is not empty or W is empty. Finally, the first element in W and P that meets the conditions is recorded as the optimal loop closure object for the i-th point cloud cluster. Furthermore, if the corresponding P for all candidate keyframes in W is empty, it is considered that the current point cloud cluster has no loop closure object, and the same procedure is followed. Find the optimal loop closure object for the remaining point cloud clusters and assign its ID. f Keyframes appearing more than 2m / 3 are used as the final loopback frames. If none of the keyframes meet the loopback condition, then they are considered as loopback frames. There are no loopback frames.
[0068] Step 4-4: Target the latest degradation keyframe The process for determining the final loopback frame is the same as described above. The only difference in the final loopback frame process is the descriptor element retrieval part. The descriptor for the i-th point cloud cluster is as follows:
[0069]
[0070] against The first group of distance and intensity elements and Expand the search in F′ and record the results. The difference is less than 0.1m and is consistent with Identical elements with corresponding IDs f and ID c Same as above, record All relevant search results were then subjected to subsequent loopback validation.
[0071] Beneficial effects of this invention:
[0072] 1. To mitigate the impact of dynamic targets on LCDs, this invention proposes a point cloud cluster classification algorithm to obtain stable static point cloud clusters and construct local descriptors for point cloud clusters. To enhance the differences between degraded or similar environments and thus improve the robustness of LCDs, this invention employs a point cloud degradation detection algorithm to evaluate degraded frames and utilizes laser intensity to assist in constructing local descriptors for point cloud clusters of degraded frames.
[0073] 2. To reduce the redundancy of loop information and prevent the loss of effective information, this invention proposes a key frame screening algorithm based on fuzzy comprehensive evaluation, which uses stable static point cloud clusters in the key frame as descriptor construction objects, effectively balancing the accuracy and efficiency of LCD.
[0074] 3. To ensure applicability to large-scale, cluttered scenarios, this invention uses a bag-of-words model and multi-layered verification to guarantee LCD performance, while employing hash tables and multi-threaded processing to ensure LCD speed. Experimental results show that, considering both LCD accuracy and efficiency, this invention has significant advantages over the comparative methods. Based on the LCD results of this invention, it can effectively assist in optimizing inter-frame registration errors in point clouds, thereby improving the positioning accuracy of LiDAR SLAM and reducing the positioning RMSE by 90.71%.
[0075] 4. This invention focuses on stable static point cloud clusters, employing point cloud degradation detection and cluster classification algorithms to accurately extract stable static point cloud clusters unaffected by dynamic interference in the environment. It further constructs local descriptors and achieves efficient loop closure retrieval based on a bag-of-words model. Loop closure candidate relationships are established through inter-frame matching of local descriptors of stable static point cloud clusters, and a multi-layered verification mechanism is combined to improve loop closure detection accuracy. Compared to existing loop closure detection methods for dynamic, degraded, and cluttered scenes, the method of this invention selects highly stable registration objects with a clear descriptive information structure. The registration process does not rely on global features or external sensor information, significantly enhancing the robustness and adaptability of loop closure detection in complex environments, thus obtaining more stable, efficient, and accurate loop closure detection results. Attached Figure Description
[0076] Figure 1 This is a flowchart of a loop closure detection method based on stable static point cloud cluster word bag according to the present invention;
[0077] Figure 2 This is a flowchart illustrating step 1 of one embodiment of the present invention;
[0078] Figure 3 This is a flowchart illustrating step 2 of one embodiment of the present invention.
[0079] Figure 4 This is a flowchart illustrating step 3 of one embodiment of the present invention;
[0080] Figure 5 This is a flowchart illustrating step 4 of one embodiment of the present invention.
[0081] Figure 6 This is a summary flowchart of one embodiment of the present invention;
[0082] Figure 7 This invention provides the experimental platform and experimental scenario.
[0083] Figure 8 This is a diagram showing the planar structure of the experimental scene and the motion trajectory of the carrier in this invention.
[0084] Figure 9 The images show the LCD effects of the method of this invention and two other methods in three scenarios.
[0085] Figure 10 The image shows the positioning trajectory of the method of the present invention and the LeGO-LOAM algorithm with the LCD module turned off in scene 3;
[0086] Figure 11 The CDF diagram shows the positioning error of the method of the present invention and the LeGO-LOAM algorithm with the LCD module turned off in scene 3; Detailed implementation method:
[0087] An embodiment of the present invention will be further described below with reference to the accompanying drawings.
[0088] In this embodiment of the invention, a loop closure detection method based on stable static point cloud cluster bag-of-words is used, such as... Figure 1 As shown, it includes the following steps:
[0089] Step 1: Point cloud intrinsic parameters are calibrated and distortion is removed by unsupervised point cloud optimization and V-ICP method. Independent point cloud clusters are obtained by combining voxel filtering and point cloud clustering. The degradation degree of point cloud frames is accurately evaluated based on the fuzzy comprehensive evaluation algorithm of multi-feature fusion.
[0090] Step 1-1: The intrinsic parameters of the point cloud are calibrated using an unsupervised point cloud optimization method to compensate for equipment system errors. The V-ICP method is used to remove motion distortion of the point cloud. Since the main research object is independent point cloud clusters, a three-dimensional voxel filtering method is used to remove discrete points and noise points, and point cloud downsampling is performed based on the center of each voxel. For the point cloud after intrinsic parameter calibration and preprocessing, ground segmentation and point cloud cluster clustering methods are used for further processing to obtain the clustering results of independent point cloud clusters.
[0091] Steps 1-2: For each independent point cloud cluster, a LiDAR degradation environment detection method based on multi-feature fusion is used to evaluate the degradation of each frame of point cloud. Specifically, four features describing the geometric structure of a single frame of point cloud are extracted, including: the number of line feature points N. l Number of independent planes N p Number of independent point cloud clusters N c The larger the value of the above features, the lower the probability that the current frame is a degraded frame. Therefore, this method uses a fuzzy comprehensive evaluation algorithm to comprehensively consider the four features, so as to accurately and efficiently evaluate the point cloud degradation.
[0092] Step 2: Propose a point cloud cluster classification algorithm. Based on correcting the laser intensity of the degraded frame and performing intensity connectivity segmentation, combine neighbor frame coarse registration, structural descriptor similarity analysis and density clustering method to comprehensively identify and classify missing, unstable, dynamic and stable static point cloud clusters in each frame of point cloud.
[0093] Step 2-1: The laser intensity of the degraded frame is corrected using the laser intensity correction algorithm, and the point cloud clusters are re-segmented based on intensity connectivity. At the same time, the center point set of the point cloud clusters is updated. Since the LiDAR acquisition frequency is high, it can be assumed that there is no sudden change in the environmental structure of the neighboring frame point cloud. Therefore, the above process is only performed when the neighboring frame point clouds are all degraded frames. Based on this, the point cloud clusters are classified.
[0094] Step 2-2: The set of center points of the point cloud cluster based on the neighboring frame point cloud, denoted as E. A and E B The ICP algorithm is used for coarse registration, and a general relative pose unified coordinate reference is used for E. B For each point in E, set an appropriate neighborhood radius. A In this process, a nearest neighbor search is performed, and point cloud clusters without search objects are marked as missing point cloud clusters. Similarly, for E... A Points that were not marked or searched in E B Reverse search and tag missing point cloud clusters;
[0095] Steps 2-3: Due to the linear propagation property of lasers, point cloud clusters scanned by the same target in adjacent frames may exhibit significant structural differences due to occlusion or changes in scanning angle. This paper considers such point cloud clusters as unstable point cloud clusters. To label these point cloud clusters, structural descriptors μ are first constructed based on the three-axis span of the point cloud cluster, as follows:
[0096]
[0097] in, Let μ represent the spans of the X, Y, and Z axes, respectively. Based on the nearest neighbor pairing point cloud clusters constructed using bidirectional nearest neighbor search, the cosine similarity S between the corresponding μ values is calculated as follows:
[0098]
[0099] in, E represents B The descriptor of the k-th point cloud cluster, μ A E represents A The descriptor of the paired point cloud clusters, where j represents the element number in the descriptor. If S is less than 0.5, the current nearest paired point cloud cluster combination is marked as an unstable point cloud cluster.
[0100] Steps 2-4: By marking missing and unstable point cloud clusters, the current center point set of each point cloud cluster consists only of stable static point cloud clusters and dynamic point cloud clusters. To mark dynamic point cloud clusters, the coarsely registered E... A and E BProjecting onto the XY plane, two pairs of nearest neighbor point clusters are randomly selected as in-place points. A four-parameter coordinate transformation model is used to calculate the transformation matrix T, and E is then used to transform the matrix T. B Transform the remaining points in E A In the coordinate system, calculate the two-dimensional Euclidean distance between the nearest paired point cloud clusters. Use a noisy density-based spatial clustering algorithm to cluster all distances. If the clustering result is a single cluster, all clusters are considered static point cloud clusters and their numbers are counted. If the clustering result is a double cluster, the cluster with the smaller average distance is considered a static point cloud cluster and its numbers are counted. If the clustering result is greater than two clusters, the clusters are merged until only two clusters remain. The number of point cloud clusters in the cluster with the smaller average distance is then counted. This process of selecting local points and counting static point cloud clusters is iterated until all local point combinations have been processed. The value T corresponding to the maximum number of static point cloud clusters is taken as E. A and E B The transformation matrix is precisely registered, and the corresponding dynamic point cloud clusters are marked. Thus, each frame of point cloud contains four types of point cloud clusters: missing point cloud clusters, unstable point cloud clusters, dynamic point cloud clusters, and stable static point cloud clusters.
[0101] Step 3: Propose a keyframe screening algorithm based on fuzzy comprehensive evaluation. Based on multi-feature fuzzy comprehensive evaluation, by introducing the number of stable static point cloud clusters to replace dynamic interference, and by integrating distance and structural features, the weight is determined by the analytic hierarchy process (AHP) and the inter-frame similarity is calculated to achieve efficient screening and updating of keyframes.
[0102] Step 3-1: Utilize N extracted during the degradation frame evaluation process l N p N c There are four features in total, P, and . The fuzzy comprehensive evaluation algorithm is used to calculate the similarity between the current frame and the reference keyframe, as follows:
[0103]
[0104] Where U represents the factor set, whose elements correspond to four features in sequence; V represents the evaluation set, whose elements correspond to three evaluation results: dissimilarity, undetermined, and similarity; R represents the fuzzy evaluation matrix; and μ(u,v) represents the membership function.
[0105] Step 3-2: Based on the characteristic properties, construct R using the semi-trapezoidal membership degree calculation method, with N... l For example, as follows:
[0106]
[0107] in, N represents the corresponding frame A l , Indicates the N corresponding to the B frame l min represents the minimum value operation, max represents the maximum value operation, and the membership calculation model for other evaluation factors all adopt the form of equation (4);
[0108] Step 3-3: To obtain the comprehensive evaluation results, the analytic hierarchy process (AHP) is used to construct the evaluation weight matrix D. First, the judgment matrix C is determined as follows:
[0109]
[0110] The weight d of each evaluation factor is calculated using the square root method based on the elements in C, as follows:
[0111]
[0112] in, This represents the weights before normalization;
[0113] D is constructed based on the calculation results of equation (6), as follows:
[0114] D=[d1 d2 d3 d4]=[0.250.250.250.25] (7)
[0115] Applying D to R to calculate the fuzzy evaluation result set B is as follows:
[0116]
[0117] Steps 3-4: Compare the elements in B according to the maximum membership principle. If b1 is the largest, the similarity between the two point clouds is low. Add the current frame to the keyframe sequence and use it as the new baseline keyframe. If b3 is the largest, the two point clouds are completely similar. Skip the current frame directly. If b2 is the largest, when b2 is less than 0.5, add the current frame to the keyframe sequence and update the baseline keyframe.
[0118] Step 4: Construct local descriptors for each stable static point cloud cluster to establish a bag-of-words database for loop retrieval and effectively verify the retrieval results;
[0119] Step 4-1: Based on the degradation frame evaluation, point cloud cluster classification, and key frame screening results, construct non-degradation key frame descriptor lists and degradation key frame descriptor lists respectively for non-degradation key frame sequences and degradation key frame sequences according to the data storage mode of the bag-of-words model.
[0120] Taking the non-degenerate keyframe A as an example, for the set of center points of a stable static point cloud cluster projected onto a two-dimensional plane, a 10m×10m rectangular neighborhood is constructed with each point as the center. The distances from other points within the neighborhood to the center point are calculated and arranged in ascending order to construct descriptors. Taking the i-th point as an example, the descriptor... as follows:
[0121]
[0122] in, This indicates the frame number to which the current point cloud cluster belongs. This indicates the number of the current point cloud cluster in the current frame. D represents the distance, and n represents the number of points contained in the current neighborhood.
[0123] A list of descriptors is constructed based on the κ values of all points in frame A, as follows:
[0124]
[0125] Where m represents the number of stable static point cloud clusters contained in frame A;
[0126] Taking the degraded keyframe B as an example, a neighborhood is constructed for each point, the distance D is calculated, and a descriptor is constructed by combining the laser intensity I of the corresponding point cloud cluster. Taking the i-th point as an example, the descriptor... as follows:
[0127]
[0128] A list of descriptors is constructed based on the κ values of all points in the B-frame, as follows:
[0129]
[0130] Where m represents the number of stable static point cloud clusters contained in the B frame;
[0131] Taking the degraded keyframe B as an example, a neighborhood is constructed for each point, the distance D is calculated, and a descriptor is constructed by combining the laser intensity I of the corresponding point cloud cluster. Taking the i-th point as an example, the descriptor... as follows:
[0132]
[0133] A list of descriptors is constructed based on the κ values of all points in the B-frame, as follows:
[0134]
[0135] Where m represents the number of stable static point cloud clusters contained in the B frame;
[0136] Step 4-2: For each non-degenerate keyframe, construct a descriptor list using equations (9) and (10); for each degenerate keyframe, construct a descriptor list using equations (11) and (12). Based on this, update the non-degenerate loopback database F and the degenerate loopback database F′ in real time, as follows:
[0137]
[0138] Step 4-3: Based on the retrieval pattern of the bag-of-words model, perform a loopback search in the corresponding type database for the descriptor list of the latest keyframe, using the current latest non-degenerate keyframe. For example, a frame The descriptor for the i-th point cloud cluster is as follows:
[0139]
[0140] against The first distance element Expand the search in F to record and... The corresponding IDs of elements with a difference of less than 0.1m f and ID c Same as above, record The search results are retrieved for all distance elements in the point cloud cluster. If the search results are empty, it is assumed that there are no loopback objects in the current point cloud cluster; otherwise, the IDs are counted. f Keyframes that appear more than 2n / 3 times are selected and arranged in descending order of frequency to construct a candidate keyframe sequence W.
[0141] If W is empty, it is assumed that the current point cloud cluster has no loopback objects. Otherwise, select the first candidate keyframe from W and count the corresponding IDs. c Stable static point cloud clusters with a frequency greater than 2n / 3 are identified and arranged in descending order of frequency to construct a candidate point cloud cluster sequence P. If P is empty, candidate keyframes in W are sequentially replaced to construct P until P is not empty or W is empty. Finally, the first element in W and P that satisfies the condition is recorded as the optimal loop closure object for the i-th point cloud cluster. Furthermore, if the corresponding P for all candidate keyframes in W is empty, the current point cloud cluster is considered to have no loop closure object. Similarly, the sequence is recorded... Find the optimal loop closure object for the remaining point cloud clusters and assign its ID. f Keyframes appearing more than 2m / 3 are used as the final loopback frames. If none of the keyframes meet the loopback condition, then they are considered as... There are no loopback frames.
[0142] Step 4-4: Target the latest degradation keyframe The process for determining the final loopback frame is the same as described above. The only difference in the final loopback frame process is the descriptor element retrieval part. The descriptor for the i-th point cloud cluster is as follows:
[0143]
[0144] against The first group of distance and intensity elements and Expand the search in F′ and record the results. The difference is less than 0.1m and is consistent with Identical elements with corresponding IDs f and ID c Same as above, record. All relevant search results were then subjected to subsequent loopback validation.
[0145] like Figure 7 As shown, to verify the actual performance of the LCD method based on stable static point cloud cluster bag-of-words, an experimental platform was built based on LiDAR, a total internal reflection prism, and a combined navigation module, as shown. Figure 7 As shown in (a), the LiDAR used was the RS-LiDAR-32 from RoboSense, with a point cloud acquisition frequency of 10Hz; the total station used was a Leica TS50, which automatically tracked the total internal reflection prism and acquired data at a frequency of 10Hz to provide an indoor reference trajectory; the integrated navigation module used was the X1 integrated navigation system from Beiyun Technology, with the global navigation satellite system observation frequency set to 10Hz and the IMU acquisition frequency set to 200Hz to provide an outdoor reference trajectory. Experimental data were collected in three real indoor and outdoor scenarios. Scenario 1 was an underground parking lot, as shown in... Figure 7 As shown in (b), load-bearing structures are regularly distributed, while vehicles, fire hydrants, trash cans, and other objects are randomly distributed, along with a few dynamic pedestrians and vehicles; Scene 2 is a dormitory corridor, as shown in... Figure 7 As shown in (c), there are trash cans, fire hydrants, piles of debris, and other objects scattered throughout the area. A few pedestrians are present, and the environments in some corridor sections are quite similar. Scene 3 is an outdoor street, such as... Figure 7 As shown in (d), there are green belts, trees, billboards and other features, and there are many dynamic pedestrians and vehicles.
[0146] like Figure 8 As shown, the planar structure and carrier motion trajectory sketches of three scenes are shown. The trajectory lengths are approximately 350m, 650m, and 2800m respectively, and there are multiple intersections or overlaps in both the outbound and return trajectories. The data acquisition time is approximately 180s, 350s, and 1200s respectively. To verify the overall performance of the LCD method based on stable static point cloud cluster bag-of-words in this invention, both the BoW3D method and the ISC method are used as comparison methods. Since this invention uses a round-trip mode to collect data from each scene, based on the trajectory coordinates of each key frame in the outbound journey, the point cloud with the closest distance within 5m is selected as the loopback frame for the trajectory coordinates of each key frame in the return journey, thereby constructing a reference benchmark to verify the experimental results. Based on the reference benchmark and the processing results, the correct detection rate η of the loopback frame is calculated using Equation (16). r Non-loopback frame false detection rate η e And statistically analyze the time t consumed in processing a single keyframe.
[0147]
[0148] like Figure 9 As shown, the visualization results of the corresponding LCDs are obtained by processing three scene data using the three methods described above. Since the BoW3D method is less affected by external interference such as dynamic targets and sparse features, and has strong sensitivity to rotation, translation, and inverse operations, it can effectively detect loops with large translational differences in Scene 1, and maintains stable detection performance in Scene 3, where there are many dynamic targets and dispersed features. However, due to the presence of many similar corridor sections in Scene 2, the single-point descriptor constructed by this method is prone to establishing incorrect matching relationships, resulting in many erroneous LCD results. Furthermore, single-point detection leads to low processing efficiency. The ISC method uses laser intensity to assist the LCD, which can reduce the interference of similar scenes on the detection effect. Therefore, compared to the BoW3D method, it has fewer erroneous LCD results in Scene 2. However, since the global descriptor constructed by this method is not sensitive to translation and is significantly affected by dynamic targets, many loop frame misses occur in all three scenes. This method encodes and matches the global descriptor and additionally utilizes intensity information, resulting in lower efficiency than the BoW3D method. This invention extracts stable static targets and constructs local descriptors for LCD, eliminating interference from dynamic targets at the source. Compared to single-point local descriptors, its construction and matching efficiency are significantly improved. Furthermore, this invention uses a modified laser intensity to assist the LCD in scenarios with sparse or similar features, effectively balancing loop closure accuracy and processing efficiency, thus achieving stable LCD results in all three scenarios. Compared to the BoW3D and ISC methods, η r They increased by 9.76% and 212.79% respectively, η e The values were reduced by 85.45% and 66.65% respectively, and t was reduced by 13.87% and 33.92% respectively, effectively verifying the LCD performance of the method presented in this paper.
[0149] like Figure 10 As shown, the positioning trajectory diagrams obtained by processing the scene 3 data using two different algorithms are as follows: the two algorithms are the corresponding LCD modules in LeGO-LOAM replaced by the present invention, which is denoted as U-LeGO-LOAM (Update-LeGO-LOAM), and LeGO-LOAM with the LCD modules turned off is used as the comparison algorithm.
[0150] like Figure 11The image shows the Cumulative Distribution Function (CDF) map for localization errors. Additionally, the Root Mean Square Error (RMSE), Maximum Error (ME), and processing time for a single frame of point cloud are calculated. Scene 3 features are rich but scattered, and there are many dynamic targets, leading to large and gradually accumulating inter-frame registration errors. Without adding loop closure constraints, backend optimization alone cannot effectively correct these errors. A direct comparison is provided. Figure 10 and Figure 11 The conclusion is that, compared to the reference trajectory, the LeGO-LOAM positioning trajectory with the LCD module turned off gradually diverges, but the U-LeGO-LOAM positioning trajectory has better overall consistency. The positioning error of the former is mainly distributed between 2m and 20m, while more than 60% of the U-LeGO-LOAM positioning errors are less than 1m. Quantitatively comparing the indicators in Table 3, compared to LeGO-LOAM with the LCD module turned off, U-LeGO-LOAM reduced the positioning RMSE by 90.71%, the positioning ME by 94.75%, and the efficiency by 27.96%. The ratio of the reduction in positioning RMSE to the reduction in efficiency is 3.24, indicating that while meeting the requirements of real-time processing, a significant improvement in positioning accuracy was achieved by sacrificing some computational efficiency, successfully verifying the research value and effectiveness of the method of this invention.
[0151] 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 loop closure detection method based on stable static point cloud cluster bag-of-words, characterized in that, Includes the following steps: Step 1: Point cloud intrinsic parameters are calibrated and distortion is removed by unsupervised point cloud optimization and V-ICP (Velocity updating-Iterative ClosestPoint) method. Independent point cloud clusters are obtained by combining voxel filtering and point cloud clustering. The degradation degree of point cloud frames is accurately evaluated based on the fuzzy comprehensive evaluation algorithm of multi-feature fusion. Step 2: Propose a point cloud cluster classification algorithm. Based on correcting the laser intensity of the degraded frame and performing intensity connectivity segmentation, combine neighbor frame coarse registration, structural descriptor similarity analysis and density clustering method to comprehensively identify and classify missing, unstable, dynamic and stable static point cloud clusters in each frame of point cloud. Step 3: Propose a keyframe screening algorithm based on fuzzy comprehensive evaluation. Based on multi-feature fuzzy comprehensive evaluation, by introducing the number of stable static point cloud clusters to replace dynamic interference, and by integrating distance and structural features, the weight is determined by the analytic hierarchy process (AHP) and the inter-frame similarity is calculated to achieve efficient screening and updating of keyframes. Step 4: Construct local descriptors for each stable static point cloud cluster to establish a bag-of-words database for loop retrieval and effectively verify the retrieval results; Step 1 describes the point cloud intrinsic parameter calibration and distortion correction using unsupervised point cloud optimization and V-ICP method, combined with voxel filtering and point cloud clustering to obtain independent point cloud clusters, and accurately assesses the degradation degree of point cloud frames based on a fuzzy comprehensive evaluation algorithm with multi-feature fusion. The specific steps are as follows: Step 1-1: The intrinsic parameters of the point cloud are calibrated using an unsupervised point cloud optimization method to compensate for equipment system errors. The V-ICP method is used to remove motion distortion of the point cloud. Since the main research object is independent point cloud clusters, a three-dimensional voxel filtering method is used to remove discrete points and noise points, and point cloud downsampling is performed based on the center of each voxel. For the point cloud after intrinsic parameter calibration and preprocessing, ground segmentation and point cloud cluster clustering methods are used for further processing to obtain the clustering results of independent point cloud clusters. Steps 1-2: For each independent point cloud cluster, a LiDAR degradation environment detection method based on multi-feature fusion is used to evaluate the degradation of each frame of point cloud. Specifically, four features describing the geometric structure of a single frame of point cloud are extracted, including: the number of line feature points N. l Number of independent planes N p Number of independent point cloud clusters N c The larger the value of the above features, the lower the probability that the current frame is a degraded frame. Therefore, this method uses a fuzzy comprehensive evaluation algorithm to comprehensively consider the four features, so as to accurately and efficiently evaluate the point cloud degradation. The point cloud cluster classification algorithm proposed in step 2, based on correcting the laser intensity of the degraded frame and performing intensity connectivity segmentation, combines neighbor frame coarse registration, structural descriptor similarity analysis and density clustering methods to comprehensively identify and classify missing, unstable, dynamic and stable static point cloud clusters in each frame of point cloud; The specific steps are as follows: Step 2-1: The laser intensity of the degraded frame is corrected using the laser intensity correction algorithm, and the point cloud clusters are re-segmented based on intensity connectivity. At the same time, the center point set of the point cloud clusters is updated. Since the LiDAR acquisition frequency is high, it can be assumed that there is no sudden change in the environmental structure of the neighboring frame point cloud. Therefore, the above process is only performed when the neighboring frame point clouds are all degraded frames. Based on this, the point cloud clusters are classified. Step 2-2: The set of center points of the point cloud cluster based on the neighboring frame point cloud, denoted as E. A and E B The ICP algorithm is used for coarse registration, and a general relative pose unified coordinate reference is used for E. B For each point in E, set an appropriate neighborhood radius. A In this process, a nearest neighbor search is performed, and point cloud clusters without search objects are marked as missing point cloud clusters. Similarly, for E... A Points that were not marked or searched in E B Reverse search and tag missing point cloud clusters; Steps 2-3: Due to the linear propagation property of lasers, point cloud clusters scanned by the same target in adjacent frames may exhibit significant structural differences due to occlusion or changes in scanning angle. This paper considers such point cloud clusters as unstable point cloud clusters. To label these point cloud clusters, structural descriptors μ are first constructed based on the three-axis span of the point cloud cluster, as follows: in, Let μ represent the spans of the X, Y, and Z axes, respectively. Based on the nearest neighbor pairing point cloud clusters constructed using bidirectional nearest neighbor search, the cosine similarity S between the corresponding μ values is calculated as follows: in, E represents B The descriptor of the k-th point cloud cluster, μ A E represents A The descriptor of the paired point cloud clusters, where j represents the element number in the descriptor. If S is less than 0.5, the current nearest paired point cloud cluster combination is marked as an unstable point cloud cluster. Steps 2-4: By marking missing and unstable point cloud clusters, the current center point set of each point cloud cluster consists only of stable static point cloud clusters and dynamic point cloud clusters. To mark dynamic point cloud clusters, the coarsely registered E... A and E B Projecting onto the XY plane, two pairs of nearest neighbor point clusters are randomly selected as in-place points. A four-parameter coordinate transformation model is used to calculate the transformation matrix T, and E is then used to transform the matrix T. B Transform the remaining points in E A In the coordinate system, calculate the two-dimensional Euclidean distance between the nearest paired point cloud clusters. Use a noisy density-based spatial clustering algorithm to cluster all distances. If the clustering result is a single cluster, all clusters are considered static point cloud clusters and their numbers are counted. If the clustering result is a double cluster, the cluster with the smaller average distance is considered a static point cloud cluster and its numbers are counted. If the clustering result is greater than two clusters, the clusters are merged until only two clusters remain. The number of point cloud clusters in the cluster with the smaller average distance is then counted. This process of selecting local points and counting static point cloud clusters is iterated until all local point combinations have been processed. The value T corresponding to the maximum number of static point cloud clusters is taken as E. A and E B The transformation matrix is precisely registered, and the corresponding dynamic point cloud clusters are marked. Thus, each frame of point cloud contains four types of point cloud clusters: missing point cloud clusters, unstable point cloud clusters, dynamic point cloud clusters, and stable static point cloud clusters.
2. The loop closure detection method based on stable static point cloud cluster bag-of-words as described in claim 1, characterized in that, Step 3 proposes a keyframe screening algorithm based on fuzzy comprehensive evaluation. Based on multi-feature fuzzy comprehensive evaluation, it introduces the number of stable static point cloud clusters to replace dynamic interference, integrates distance and structural features, uses the hierarchical analysis method to determine weights, calculates inter-frame similarity, and achieves efficient screening and updating of keyframes. The specific steps are as follows: Step 3-1: Utilize N extracted during the degradation frame evaluation process l N p N c There are four features in total, P, and . The fuzzy comprehensive evaluation algorithm is used to calculate the similarity between the current frame and the reference keyframe, as follows: Where U represents the factor set, whose elements correspond to four features in sequence; V represents the evaluation set, whose elements correspond to three evaluation results: dissimilarity, undetermined, and similarity; R represents the fuzzy evaluation matrix; and μ(u,v) represents the membership function. Step 3-2: Based on the characteristic properties, construct R using the semi-trapezoidal membership degree calculation method, with N... l For example, as follows: in, N represents the corresponding frame A l , Indicates the N corresponding to the B frame l min represents the minimum value operation, max represents the maximum value operation, and the membership calculation model for other evaluation factors all adopt the form of equation (4); Step 3-3: To obtain the comprehensive evaluation results, the analytic hierarchy process (AHP) is used to construct the evaluation weight matrix D. First, the judgment matrix C is determined as follows: The weight d of each evaluation factor is calculated using the square root method based on the elements in C, as follows: in, This represents the weights before normalization; D is constructed based on the calculation results of equation (6), as follows: Applying D to R to calculate the fuzzy evaluation result set B is as follows: Steps 3-4: Compare the elements in B according to the maximum membership principle. If b1 is the largest, the similarity between the two point clouds is low. Add the current frame to the keyframe sequence and use it as the new baseline keyframe. If b3 is the largest, the two point clouds are completely similar. Skip the current frame directly. If b2 is the largest, when b2 is less than 0.5, add the current frame to the keyframe sequence and update the baseline keyframe.
3. The loop closure detection method based on stable static point cloud cluster bag-of-words as described in claim 1, characterized in that, Step 4 involves constructing local descriptors for each stable static point cloud cluster to establish a bag-of-words database for loop retrieval and to effectively verify the retrieval results. The specific steps are as follows: Step 4-1: Based on the degradation frame evaluation, point cloud cluster classification, and key frame screening results, construct non-degradation key frame descriptor lists and degradation key frame descriptor lists respectively for non-degradation key frame sequences and degradation key frame sequences according to the data storage mode of the bag-of-words model. Taking the non-degenerate keyframe A as an example, for the set of center points of a stable static point cloud cluster projected onto a two-dimensional plane, a 10m×10m rectangular neighborhood is constructed with each point as the center. The distances from other points within the neighborhood to the center point are calculated and arranged in ascending order to construct descriptors. Taking the i-th point as an example, the descriptor... as follows: in, This indicates the frame number to which the current point cloud cluster belongs. This indicates the number of the current point cloud cluster in the current frame. D represents the distance, and n represents the number of points contained in the current neighborhood. A list of descriptors is constructed based on the κ values of all points in frame A, as follows: Where m represents the number of stable static point cloud clusters contained in frame A; Taking the degraded keyframe B as an example, a neighborhood is constructed for each point, the distance D is calculated, and a descriptor is constructed by combining the laser intensity I of the corresponding point cloud cluster. Taking the i-th point as an example, the descriptor... as follows: A list of descriptors is constructed based on the κ values of all points in the B-frame, as follows: Where m represents the number of stable static point cloud clusters contained in the B frame; Step 4-2: For each non-degenerate keyframe, construct a descriptor list using equations (9) and (10); for each degenerate keyframe, construct a descriptor list using equations (11) and (12). Based on this, update the non-degenerate loopback database F and the degenerate loopback database F′ in real time, as follows: Step 4-3: Based on the retrieval pattern of the bag-of-words model, perform a loopback search in the corresponding type database for the descriptor list of the latest keyframe, using the current latest non-degenerate keyframe. For example, a frame The descriptor for the i-th point cloud cluster is as follows: against The first distance element Expand the search in F to record and... The corresponding IDs of elements with a difference of less than 0.1m f and ID c Same as above, record The search results for all distance elements in the cluster are checked. If the search results are empty, it is considered that there are no loopback objects in the current point cloud cluster; otherwise, the IDs are counted. f Keyframes that appear more than 2n / 3 are selected and arranged in descending order of frequency to construct a candidate keyframe sequence W; If W is empty, it is considered that there are no loopback objects in the current point cloud cluster; otherwise, the first candidate keyframe is selected from W, and the corresponding IDs are counted. c Stable static point cloud clusters with a frequency greater than 2n / 3 are identified and arranged in descending order of frequency to construct a candidate point cloud cluster sequence P. If P is empty, candidate keyframes in W are sequentially replaced to construct P until P is not empty or W is empty. Finally, the first element in W and P that meets the conditions is recorded as the optimal loop closure object for the i-th point cloud cluster. Furthermore, if the corresponding P for all candidate keyframes in W is empty, it is considered that the current point cloud cluster has no loop closure object, and the same procedure is followed. Find the optimal loop closure object for the remaining point cloud clusters and assign its ID. f Keyframes appearing more than 2m / 3 are used as the final loopback frames. If none of the keyframes meet the loopback condition, then they are considered as loopback frames. The frame has no loopback frames; Step 4-4: Target the latest degradation keyframe The process for determining the final loopback frame is the same as described above. The only difference in the final loopback frame process is the descriptor element retrieval part. The descriptor for the i-th point cloud cluster is as follows: against The first group of distance and intensity elements and Expand the search in F′ and record the results. The difference is less than 0.1m and is consistent with Identical elements with corresponding IDs f and ID c Same as above, record All relevant search results were then subjected to subsequent loopback validation.
Citation Information
Patent Citations
Three-dimensional scene loopback detection method based on incremental bag-of-words model
CN117496346A
LiDAR point cloud inter-frame registration method for urban semi-structured scene
CN120182336A