Laser point cloud loop closure detection method and system based on triangular pyramid local descriptor
Through the laser point cloud loopback detection method based on triangular local descriptors, density clustering and geometric verification are used to solve the problem of insufficient detection accuracy and robustness in the existing methods, and high-precision and low-complex loopback detection is achieved.
Patent Information
- Application Number
- CN202510137357.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-07
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2045-02-07
AI Technical Summary
The existing descriptor-based loop detection method has problems with insufficient detection accuracy and robustness in laser SLAM, especially the artificially designed point cloud descriptor generalization ability is limited, and the deep learning method consumes large computing resources and poor interpretability.
The laser point cloud loopback detection method based on triangular pyramid local descriptor is adopted. By constructing the global descriptor of keyframes and the triangular local descriptor of the pyramid, combining density clustering and geometric verification, two-stage search and geometric verification of matching results are carried out to realize loopback detection.
It improves the accuracy and robustness of loopback detection, reduces the computational complexity, has high accuracy and strong robustness, and is simple to calculate.
Smart Images

Figure CN120047420B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of loop closure detection, and in particular to a laser point cloud loop closure detection method and system based on a triangular pyramid local descriptor. Background Art
[0002] Simultaneous Localization and Mapping (SLAM) technology, used to enable robots to locate themselves in unknown environments and build high-precision maps, has become a key technology for achieving autonomous navigation of mobile robots. Depending on the type of sensor used, SLAM algorithms can be mainly divided into visual SLAM and laser SLAM.
[0003] The basic principle of visual SLAM is to use visual sensors such as cameras to obtain image information, and to perform pose estimation and map construction by processing the information in continuous image frames. However, the working principle of visual sensors leads to the limited environmental adaptability of such algorithms and high requirements for lighting conditions. Lighting changes may affect the extraction and matching effects of feature points. For scenes lacking texture (such as solid-color walls), the feature extraction and matching effects of the visual SLAM algorithm may be poor, resulting in a decrease in positioning and mapping accuracy.
[0004] Laser SLAM mainly uses laser radar to obtain laser point cloud information and performs pose estimation and map construction through point cloud features. Laser radar has the advantages of high ranging accuracy and strong robustness to environmental changes. It is not affected by external factors such as light and bad weather. It can work reliably in various environments, can capture structured information in the environment, and generate high-quality maps. It is widely used in the construction of large and complex indoor and outdoor scene maps.
[0005] In the SLAM mapping process, the front-end odometry focuses on matching between adjacent frames and estimates the robot's pose through recursion. However, due to factors such as sensor noise, dynamic changes in the environment, and limitations of the matching algorithm, errors are inevitable in the matching process of adjacent frames. These errors are continuously transmitted and accumulated with the recursive process of pose estimation, forming cumulative errors. As time goes by and the robot moves, the cumulative error gradually increases, resulting in a lack of reliability in the long-term estimation results, causing a large deviation between the constructed map and the actual environment, affecting the robot's navigation and positioning accuracy.
[0006] The loop detection method enables the robot to recognize that it has visited a certain scene before, thereby realizing the closed-loop construction of the map. During the movement, the robot compares the currently observed scene with the scene in the previously constructed map to determine whether there are similar or identical areas. Once a loop is detected, that is, the robot returns to a place it has visited before, the loop frame can be used as an important constraint condition. This constraint condition can provide additional information for map construction, help correct the drift error caused by the accumulated error of the front-end odometer, and then construct a globally consistent trajectory and map. Therefore, loop detection plays a vital role in the SLAM system and has become an indispensable and important module in a complete SLAM system.
[0007] Currently, in the field of loop closure detection, researchers have proposed a variety of methods to achieve better location recognition and loop detection results. From the perspective of algorithm implementation, loop closure detection methods can be divided into two categories: deep learning-based loop closure detection methods and descriptor-based loop closure detection methods. Deep learning-based loop closure detection methods have gradually attracted attention with the rise of deep learning technology in recent years. These methods use deep learning models such as OverlapNet, OverlapTransformer, and LCDNet to automatically extract image or point cloud features. They have strong generalization and robustness and can adapt to different environments and scenarios. However, deep learning methods also have some challenges, such as the need for a large amount of labeled data for training and the high consumption of computational resources in the model training and inference processes. In addition, deep learning models have poor interpretability, making it difficult to intuitively understand the model's decision-making process.
[0008] Descriptor-based loop detection methods have extensive application in laser SLAM. This method achieves loop detection by extracting global or local feature descriptors from lidar point clouds. Global feature descriptors, such as ScanContext, M2DP, and Iris, are features extracted from the entire point cloud, encoding its geometric information and capable of describing global characteristics of the entire scene. Local feature descriptors, such as VFH, FPFH, and SHOT, are features extracted from each keypoint position and capable of describing local characteristics. Manually designed point cloud descriptors are typically based on features with clear physical meaning, such as geometry and intensity. Their calculation process and results have intuitive physical meaning, making them easy to understand and analyze, debug, and optimize. They also require minimal data and consume low computational resources. However, the manual design and selection of features is complex, and the descriptors have limited generalization capabilities. Consequently, existing descriptor-based loop detection methods suffer from shortcomings in detection accuracy and robustness. Summary of the Invention
[0009] In order to solve the above problems, the present disclosure proposes a laser point cloud loop closure detection method and system based on triangular pyramid local descriptor, which has the advantages of high precision, strong robustness and simple calculation.
[0010] According to some embodiments, the present disclosure adopts the following technical solutions:
[0011] A laser point cloud loop closure detection method based on a triangular pyramid local descriptor is used to retrieve the loop closure frame of the current key frame from the key frame sequence, including:
[0012] Construct a global descriptor and a triangular pyramid local descriptor for each key frame in the key frame sequence;
[0013] Based on the global descriptor, a preliminary candidate loop frame set is roughly searched from the key frame sequence;
[0014] Based on the triangular pyramid local descriptor, the final candidate loop frame set is precisely searched from the preliminary candidate loop frame set;
[0015] Through geometric verification and validity judgment, the loop frame of the current key frame is selected from the final candidate loop frame set as the final laser point cloud loop detection result;
[0016] The triangular pyramid local descriptor is based on the number of points in the neighborhood, performs density clustering on the point cloud of the key frame, constructs a triangular pyramid using the clustering result, and encodes the information of the triangular pyramid as the triangular pyramid local descriptor of the key frame.
[0017] According to some embodiments, the present disclosure adopts the following technical solutions:
[0018] The laser point cloud loop closure detection system based on the triangular pyramid local descriptor is used to retrieve the loop closure frame of the current key frame from the key frame sequence, including:
[0019] The descriptor construction module is configured to: construct a global descriptor and a triangular pyramid local descriptor for each key frame in the key frame sequence;
[0020] The coarse search module is configured to: coarsely search for a preliminary candidate loop frame set from the key frame sequence based on the global descriptor;
[0021] The fine search module is configured to: based on the triangular pyramid local descriptor, finely search and select the final candidate loop frame set from the preliminary candidate loop frame set;
[0022] The final screening module is configured to: filter out the loop frame of the current key frame from the final candidate loop frame set through geometric verification and validity judgment as the final laser point cloud loop detection result;
[0023] The triangular pyramid local descriptor is based on the number of points in the neighborhood, performs density clustering on the point cloud of the key frame, constructs a triangular pyramid using the clustering result, and encodes the information of the triangular pyramid as the triangular pyramid local descriptor of the key frame.
[0024] According to some embodiments, the present disclosure adopts the following technical solutions:
[0025] A computer program product includes a computer program, which, when executed by a processor, implements the laser point cloud loop closure detection method based on a triangular pyramid local descriptor.
[0026] According to some embodiments, the present disclosure adopts the following technical solutions:
[0027] A non-transitory computer-readable storage medium is used to store computer instructions. When the computer instructions are executed by a processor, the laser point cloud loop closure detection method based on the triangular pyramid local descriptor is implemented.
[0028] According to some embodiments, the present disclosure adopts the following technical solutions:
[0029] An electronic device includes: a processor, a memory, and a computer program; wherein the processor is connected to the memory, and the computer program is stored in the memory. When the electronic device is running, the processor executes the computer program stored in the memory to enable the electronic device to implement the laser point cloud loop detection method based on the triangular pyramid local descriptor.
[0030] Compared with the prior art, the present invention has the following beneficial effects:
[0031] The laser point cloud loop closure detection method based on triangular pyramid local descriptors disclosed in the present invention constructs a point cloud height global descriptor by regional division and information encoding of key frame point clouds, uses density clustering to construct triangular pyramid local descriptors, combines the two descriptors to perform a two-stage search for candidate loop frames, and finally performs geometric verification and validity judgment on the matching results to complete point cloud loop closure detection. It has the advantages of high precision, strong robustness, and simple calculation. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] The accompanying drawings, which constitute a part of the present disclosure, are used to provide a further understanding of the present disclosure. The exemplary embodiments of the present disclosure and their descriptions are used to explain the present disclosure and do not constitute an improper limitation to the present disclosure.
[0033] Figure 1 is a flow chart of the method of Example 1;
[0034] Figure 2 Schematic diagram of point cloud division in Example 1;
[0035] Figure 3 Schematic diagram of point cloud information encoding in Example 1;
[0036] Figure 4 This is a schematic diagram of the triangular pyramid descriptor of Example 1. DETAILED DESCRIPTION
[0037] The present disclosure will be further described below with reference to the accompanying drawings and embodiments.
[0038] It should be noted that the following detailed descriptions are exemplary and intended to provide further explanation of the present disclosure. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which the present disclosure belongs.
[0039] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit the exemplary embodiments according to the present disclosure. As used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should be understood that when the terms "comprise" and / or "comprising" are used in this specification, they indicate the presence of features, steps, operations, devices, components and / or combinations thereof.
[0040] Example 1
[0041] In one embodiment of the present disclosure, a laser point cloud loop detection method based on a triangular pyramid local descriptor is provided, which is used to retrieve a loop frame of a current key frame from a key frame sequence. The key frame sequence is a time sequence of key frames, including several key frames. The loop frame is searched for a frame that has a loop relationship with the current key frame from the sequence. The specific steps are as follows:
[0042] Step S1: Construct a global descriptor and a triangular pyramid local descriptor for each key frame in the key frame sequence.
[0043] Step S2: Based on the global descriptor, a preliminary candidate loop frame set is roughly searched from the key frame sequence.
[0044] Step S3: Based on the triangular pyramid local descriptor, a final candidate loop frame set is precisely searched from the preliminary candidate loop frame set.
[0045] Step S4: Through geometric verification and validity judgment, the loop frame of the current key frame is selected from the final candidate loop frame set as the final laser point cloud loop detection result.
[0046] The triangular pyramid local descriptor is based on the number of points in the neighborhood, performs density clustering on the point cloud of the key frame, constructs a triangular pyramid using the clustering result, and encodes the information of the triangular pyramid as the triangular pyramid local descriptor of the key frame.
[0047] As an embodiment, the laser point cloud loop detection method based on triangular pyramid local descriptor disclosed in the present invention has the advantages of high accuracy, strong robustness, simple calculation, etc. Figure 1 The specific implementation process is as follows:
[0048] Step 1: Region division of keyframe point cloud, specifically:
[0049] Step 11: Project the keyframe point cloud of the completed ground segmentation onto a two-dimensional horizontal plane along the z-axis of the laser radar coordinate system, convert the keyframe point cloud into a bird's-eye view, and establish a polar coordinate system with the laser radar center O as the origin of the bird's-eye view. The maximum radius of the bird's-eye view is the maximum detectable distance L of the laser radar. max .
[0050] Step 12: Divide the point cloud into N equal intervals along the radius of the bird's-eye view r Annular areas, along the ring direction of the bird's-eye view, divide the point cloud into N equally spaced areas. s sector-shaped areas, and the resolution of each ring is The resolution of each sector is
[0051] Step 13: Let any laser point in the point cloud be p k , whose coordinates in three-dimensional space can be expressed as p k =(x k ,y k ,z k ) 1 , the intersection of each ring and sector forms N r ×N s Small sector S ij ,like Figure 2 As shown, each small sector is a set of several points, which can be expressed as:
[0052]
[0053] in, ∈[1,N s ],r∈[1,N r ].
[0054] Step 14: Convert the divided point cloud into a size of N s ×N r Two-dimensional information matrix Each small sector corresponds one-to-one to each element of the matrix, such as Figure 2 shown.
[0055] Step 2: Point cloud information encoding, specifically:
[0056] Step 21: For each sector S ij, get the vertical cylindrical space C with the sector as the bottom ij Maximum height z of the midpoint cloud ijmax As a cylindrical space C ij The height of ij )=z ijmax .
[0057] Step 22: Discretize the cylindrical space according to the cylindrical space C ij The height of the cylindrical space C ij It is discretized into 8 subspaces of the same height in the vertical direction, and the height of each subspace is like Figure 3 As shown, the yellow point is the laser point and the red point is the highest point.
[0058] Step 23: Use the existence of point clouds in each subspace to encode spatial information. If there is a point in the corresponding height range in the current subspace, the area is recorded as 1; if there is no point, it is recorded as 0.
[0059] Step 24: Map the point cloud existence information of the 8 subspaces to the high to low bits of the 8-bit code according to the height range from low to high. The code is b7b6b5b4b3b2b1b0, where b n is the nth digit.
[0060] Step 25: According to step 21, there is at least one highest point in the topmost subspace. This bit is not distinguishing, so the lowest bit of the 8-bit code is replaced with the maximum height value z of the cylindrical space. ijmax , thus obtaining the complete point cloud information encoding, such as Figure 3 shown.
[0061] Step 26: Convert the high 7-bit binary code of the 8-bit code corresponding to each sector into decimal, and then add it to the lowest bit. The calculated value is used as the sector S. ij The eigenvalue f is calculated as follows:
[0062]
[0063] Step 27: Construct a global descriptor of point cloud height and transform the eigenvalue f(S ij ) is filled into the two-dimensional information matrix of step 14 The corresponding element position in , that is: The obtained matrix can be regarded as a global descriptor that encodes the height information of the keyframe point cloud.
[0064] Step 3: Point cloud density clustering. Based on the distance between two points, calculate the number of points within the neighborhood of each point, and use a preset point threshold to screen and group the points in the point cloud of the key frame, obtaining multiple clusters C1, C2, …, C n , specifically:
[0065] Step 31: Define and initialize parameters: Define the neighborhood radius as ε, the laser point p k The number of points within the neighborhood is N ε , that is: N ε (p k ) = {p m ∈P | distance(p k , p m ) ≤ ε}, the minimum number of neighborhood points is minPts, where p k is the current laser point, p m is other laser points, distance() represents the Euclidean distance between two points, and the calculation formula is as follows:
[0066]
[0067] Step 32: Initialize the cluster label of all laser points as unprocessed, and initialize the cluster number as 0.
[0068] Step 33: Obtain the vertical cylindrical space S corresponding to the sector with the largest eigenvalue in the global descriptor of the key frame max . Taking any laser point in S max as the initial point, traverse each point p k in the point cloud. If the data point has been classified, skip it; otherwise, perform a quick search within the neighborhood radius, record the number N k of points within the ε-neighborhood of the laser point p εk , and mark the status of this point as processed.
[0069] Step 34: If the number of points within the neighborhood of p k satisfies N εk < minPts, mark the current point as a noise point, mark the status of this point as processed, skip the subsequent processing, and continue to process the next point.
[0070] Step 35: Select core points. If the number of points within the neighborhood of p k satisfies N εk ≥ minPts, mark the current point as a core point, mark the status of this point as processed, and at the same time create a cluster C i , i is the cluster number. Add this point and all points within its ε-neighborhood to the current cluster, update the cluster number, and at the same time record the number n i of points in the cluster.
[0071] Step 36: Cluster expansion, for the unprocessed data point p in the ε-neighborhood n , return to step 33 and check its ε-neighborhood. If p n It is also the core point, that is, satisfying N εn ≥minPts, then the point and all its neighboring points are added to the current cluster. n If it is not a core point, then p n Mark it as a boundary point and add it to the current cluster. At the same time, mark the status of the point checked in this step as processed.
[0072] Step 37: Repeat step 36 until all points in dense areas are included in the cluster.
[0073] Step 38: Repeat steps 33 to 37 until all points in the point cloud are marked as processed.
[0074] Step 39: All points marked as noise are clustered separately as noise, discarded, and do not participate in subsequent processing.
[0075] Step 4: Construct a triangular pyramid
[0076] Step 41: For cluster C i , which contains n i points, denoted as p ij =(x ij ,y ij ,z ij ) T , calculate the cluster centroid G i , the formula is as follows:
[0077]
[0078] Step 42: Get the centroid G of the cluster i The nearest point replaces the centroid G i and record this point as G i i ,Right now:
[0079]
[0080] Step 43: For n clusters C1, C2, ..., C n , we can get n centroids G ′ 1,G ′ 2,…,G ′ n .
[0081] Step 44: Obtain feature points.
[0082] Take the center of mass G ′ i The sector where it is located is the center, and the sector S with the largest eigenvalue is found in the sectors directly adjacent to it. f , and then the point in the sector closest to the centroid (possibly itself) is taken as cluster C i The feature point f i ,Right now:
[0083]
[0084] Step 44: Select 3 of the n feature points obtained in the above step to form a triangle, record them as p1, p2, p3, and arrange them in ascending order according to their heights; use the triangle as the base of the triangular pyramid and the center O of the laser radar as the vertex of the triangular pyramid. Theoretically, we can get A triangular pyramid descriptor, such as Figure 4 shown.
[0085] Step 45: Triangular pyramid screening: First, remove all triangles with two identical sides. Second, remove all triangles with side lengths less than the lower limit or greater than the upper limit. Finally, remove triangles whose four points are coplanar and cannot form a triangular pyramid.
[0086] Step 5: Encode the triangular pyramid and construct a triangular pyramid local descriptor.
[0087] Step 51: For each triangular pyramid constructed and screened in step 4, calculate the side length l of its base triangle ij , the calculation formula is as follows:
[0088] l ij =distance(p i ,p j )
[0089] Step 52: Calculate the distances from the three vertices of the bottom triangle to the center of the LiDAR using the following formula:
[0090]
[0091] Step 53: Calculate the center of gravity of the triangular pyramid, which is a feature with translation invariance. The calculation formula is as follows:
[0092]
[0093] Step 54: Let t1, t2, and t3 be the three edge vectors of the triangular pyramid, pointing from vertex O to the three vertices of the base triangle, that is:
[0094] t i =p i -O
[0095] Step 55: Calculate the volume of the triangular pyramid, that is, find the mixed product of the three vectors t1, t2, and t3. The calculation formula is as follows:
[0096]
[0097] Step 56: Encode the information obtained in the above steps into a ten-dimensional vector as the triangular pyramid local descriptor T of the key frame point cloud, which can be expressed as:
[0098] T=(l ij ,d i ,V,G t ) T =(l 12 ,l 13 ,l 23 ,d1,d2,d3,V,G x ,G y ,G z ) T
[0099] This vector can be regarded as a local descriptor with triangular pyramid structure information that encodes the keyframe point cloud.
[0100] Step 6: Coarse search of candidate loop frames based on point cloud height global descriptor.
[0101] Step 61: Introduce the ring encoding function ψ(r i )=Num(f), for the global descriptor matrix Each row in r i The ring value is obtained by encoding, where Num(·) represents the statistical number. It can be seen that each ring value represents the number of feature points f in the corresponding row.
[0102] Step 62: Combine each ring value into an N r dimensional feature density vector It is easy to see that this vector is rotation invariant.
[0103] Step 63: Construct a KdTree using the feature density vector R of the global descriptor of each key frame in the key frame sequence.
[0104] Kdtree is a commonly used data structure, essentially a binary search tree, used to search for nearest neighbor elements in space. In this step, the nodes in the binary tree are feature density vectors R, each R corresponding to a key frame. Here, the feature density vector R is used to construct the KdTree to facilitate finding the nearest frame in the next step (condition 3) for subsequent calculations.
[0105] Step 64: Search the KdTree for the feature density vectors of the k keyframe global descriptors that simultaneously meet 1) greater than the time interval, 2) greater than the keyframe number interval, and 3) the nearest distance, and use these keyframes as initial candidate loop frames.
[0106] The first two conditions ensure that the selected key frames have high discrimination. Since the main function of key frames is to reduce redundant information and reduce the amount of calculation, it is necessary to select feature density vectors corresponding to key frames with certain discrimination and representativeness for subsequent screening.
[0107] The third condition is to form a set of the most recent k key frames. The basic concept of loop closure refers to the robot recognizing that it has returned to a specific location it has previously visited, at which point it is determined to have formed a loop; conversely, if a frame is determined to be a loop frame, then it must have the closest distance to the current frame.
[0108] Step 65: Calculate the cosine distance D between the feature density vectors of the current key frame and the initial candidate loop frame. The calculation formula is as follows:
[0109]
[0110] Among them, R is the feature density vector of the current key frame, R ′ is the feature density vector of the initial candidate loop frame, and ‖·‖ represents the modulus of the vector.
[0111] Step 66: Set a distance threshold ΔD. If the calculated cosine distance D>ΔD, remove the candidate loop frame until the latest k key frames are screened, completing the candidate frame coarse search and obtaining a preliminary candidate loop frame set for the current key frame.
[0112] Step 7: Precise search of candidate loop frames based on triangular pyramid local descriptors
[0113] Step 71: For each triangular pyramid descriptor, use the first seven attributes of the descriptor that are rotation and translation invariant, that is, the length of the three sides of the base triangle l 12 ,l 13 ,l 23 , the distances d1, d2, d3 from the three vertices of the bottom triangle to the center of the lidar, and the volume V of the triangular pyramid, and calculate the hash key value.
[0114] Step 72: Map each hash key value to the corresponding hash bucket, and save the corresponding triangular pyramid descriptor into the hash table. It is easy to see that triangular pyramid descriptors with the same hash key value should have similar three-dimensional shapes.
[0115] The relationship between the hash bucket and the hash table here is the relationship between part and whole. The hash table is an integral structure containing multiple hash buckets. Each hash key value is mapped to a hash bucket. The hash bucket is the basic unit for storing data in the hash table and is used to store triangular pyramid descriptors with the same hash key value.
[0116] Step 73: Traverse a triangular pyramid descriptor of the current key frame, and query the corresponding descriptor set in the hash table according to its corresponding hash key value, and retain the key frame with the same frame number as the preliminary candidate loop frame set obtained in step 6, that is, take the intersection of the two.
[0117] Step 74: Calculate the Jaccard similarity coefficient between the current key frame triangular pyramid descriptor T and the candidate loop frame triangular pyramid descriptor T′ retained in step 73, retain the candidate frame corresponding to the descriptor whose result is greater than the threshold, and vote once for the candidate loop frame. The Jaccard similarity coefficient calculation formula is as follows:
[0118]
[0119] Among them, t i and t i ′ They represent the elements at the corresponding subscript positions in the triangular pyramid descriptors T and T′ vectors respectively.
[0120] Step 75: Traverse each triangular pyramid descriptor of the current key frame in turn, repeat the operation described in step 74, count the votes for each candidate loop frame, and select the frame with votes greater than the frequency threshold as the final candidate loop frame, complete the candidate frame fine search, and obtain the final candidate loop frame set.
[0121] Step 8: Loop detection.
[0122] Step 81: Geometric verification. The current key frame and the candidate loop frames are geometrically verified in descending order of the candidate loop frame votes. The RANSAC (random sampling consensus) algorithm is used to calculate the pose transformation that can maximize the number of correctly matched point pairs in the two frame point clouds, and the candidate frame with the largest number of matching point pairs is used as the final loop frame.
[0123] Step 82: Point cloud registration. Use the final loop frame and the three frames before and after it to form a submap. Use the pose transformation obtained in the previous step as the initial pose and perform NDT (normal distribution transform) registration on the current keyframe and the loop frame submap.
[0124] NDT is a commonly used point cloud registration method based on a probability model. Its core idea is to divide the point cloud data into multiple three-dimensional voxel units, perform Gaussian distribution fitting on the point cloud data in each voxel unit, thereby converting the point cloud data into a normal distribution model, and using maximum likelihood estimation to achieve point cloud registration.
[0125] Step 83: Validity judgment: if the score of the NDT registration is higher than the threshold, the loop closure between the current frame and the loop closure frame is considered valid; otherwise, the loop closure is considered invalid, thus completing the point cloud loop closure detection process.
[0126] Example 2
[0127] In one embodiment of the present disclosure, a laser point cloud loop closure detection system based on a triangular pyramid local descriptor is provided, which is used to retrieve a loop closure frame of a current key frame from a key frame sequence, including:
[0128] The descriptor construction module is configured to: construct a global descriptor and a triangular pyramid local descriptor for each key frame in the key frame sequence;
[0129] The coarse search module is configured to: coarsely search for a preliminary candidate loop frame set from the key frame sequence based on the global descriptor;
[0130] The fine search module is configured to: based on the triangular pyramid local descriptor, finely search and select the final candidate loop frame set from the preliminary candidate loop frame set;
[0131] The final screening module is configured to: filter out the loop frame of the current key frame from the final candidate loop frame set through geometric verification and validity judgment as the final laser point cloud loop detection result;
[0132] The triangular pyramid local descriptor is based on the number of points in the neighborhood, performs density clustering on the point cloud of the key frame, constructs a triangular pyramid using the clustering result, and encodes the information of the triangular pyramid as the triangular pyramid local descriptor of the key frame.
[0133] Example 3
[0134] In one embodiment of the present disclosure, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the laser point cloud loop closure detection method based on the triangular pyramid local descriptor is implemented.
[0135] Example 4
[0136] In one embodiment of the present disclosure, a non-transitory computer-readable storage medium is provided, which is used to store computer instructions. When the computer instructions are executed by a processor, the laser point cloud loop closure detection method based on the triangular pyramid local descriptor is implemented.
[0137] Example 5
[0138] In one embodiment of the present disclosure, an electronic device is provided, comprising: a processor, a memory, and a computer program; wherein the processor is connected to the memory, and the computer program is stored in the memory. When the electronic device is running, the processor executes the computer program stored in the memory, so that the electronic device implements the laser point cloud loop closure detection method based on the triangular pyramid local descriptor.
[0139] The present disclosure is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present disclosure. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0140] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 The steps for the function specified in one or more boxes.
[0141] Although the above describes the specific implementation methods of the present disclosure in conjunction with the accompanying drawings, it is not intended to limit the scope of protection of the present disclosure. Those skilled in the art should understand that on the basis of the technical solution of the present disclosure, various modifications or variations that can be made by those skilled in the art without creative work are still within the scope of protection of the present disclosure.
Claims
1. A laser point cloud loop detection method based on a triangular pyramid local descriptor is characterized by: Used to retrieve the loop frame of the current keyframe from the keyframe sequence, including: Construct a global descriptor and a triangular pyramid local descriptor for each key frame in the key frame sequence; Based on the global descriptor, a preliminary candidate loop frame set is roughly searched from the key frame sequence; Based on the triangular pyramid local descriptor, the final candidate loop frame set is precisely searched from the preliminary candidate loop frame set; Through geometric verification and validity judgment, the loop frame of the current key frame is selected from the final candidate loop frame set as the final laser point cloud loop detection result; The triangular pyramid local descriptor is based on the number of points in the neighborhood, performs density clustering on the point cloud of the key frame, constructs a triangular pyramid using the clustering result, and encodes the information of the triangular pyramid as the triangular pyramid local descriptor of the key frame; The area division of the keyframe point cloud is as follows: The key frame point cloud of the completed ground segmentation is projected onto a two-dimensional horizontal plane along the z-axis of the laser radar coordinate system, and the key frame point cloud is converted into a bird's-eye view with the center of the laser radar as the center. The polar coordinate system is established as the origin of the bird's-eye view. The maximum radius of the bird's-eye view is the maximum distance that the laser radar can detect. ; Divide the point cloud into equal intervals along the radius direction of the bird's-eye view An annular area, along the ring direction of the bird's-eye view, divide the point cloud into sector-shaped areas, and the resolution of each ring is , the resolution of each sector is ; Assume that any laser point in the point cloud is , its coordinates in three-dimensional space can be expressed as , the intersection of each ring and sector forms Small sectors , each small sector is a set of several points, expressed as: in, , , ; Convert the divided point cloud into a size of Two-dimensional information matrix , each small sector corresponds one-to-one to each element of the matrix.
2. The laser point cloud loop detection method based on triangular pyramid local descriptor according to claim 1, characterized in that: The global descriptor divides the point cloud of the key frame into regions, encodes information in all regions, and calculates the feature value of each region. The feature values of all regions constitute the global descriptor of the key frame.
3. The laser point cloud loop closure detection method based on triangular pyramid local descriptor according to claim 1, characterized in that: The density clustering of the point cloud of the key frame is based on the distance between two points, calculating the number of points in the neighborhood of each point, and using a preset point count threshold to filter and group the points in the point cloud of the key frame to obtain multiple clusters.
4. The laser point cloud loop closure detection method based on triangular pyramid local descriptor according to claim 3, characterized in that: The construction of a triangular pyramid using clustering results is based on a global descriptor, determining the feature points of each cluster, and the feature points of every three clusters form a base triangle of a triangular pyramid. The laser radar center O is used as the vertex of the triangular pyramid, thereby obtaining several triangular pyramids.
5. The laser point cloud loop closure detection method based on triangular pyramid local descriptor according to claim 1, characterized in that: The rough search is specifically as follows: Using the ring coding function, construct the feature density vector of each key frame; Based on the feature density vector, calculate the cosine distance between the current key frame and other key frames in the key frame set; The key frames whose distances meet the preset conditions are selected from the key frame set to form a preliminary candidate loop frame set for the current key frame.
6. The laser point cloud loop closure detection method based on triangular pyramid local descriptor according to claim 1, characterized in that: The precise search is specifically: Using the triangular pyramid structured information in the triangular pyramid local descriptor, the hash key value of each candidate loop frame in the preliminary candidate loop frame set is calculated. The candidate loop frames are screened by comparing the hash key value of the current key frame with the hash key value of each candidate loop frame. The Jaccard similarity coefficient is used to further screen the candidate loop frames after the hash key value filtering, and the candidate loop frames that are finally retained constitute the final candidate loop frame set.
7. Laser point cloud loop detection system based on triangular pyramid local descriptor, characterized by: Used to retrieve the loop frame of the current keyframe from the keyframe sequence, including: The descriptor construction module is configured to: construct a global descriptor and a triangular pyramid local descriptor for each key frame in the key frame sequence; The coarse search module is configured to: coarsely search for a preliminary candidate loop frame set from the key frame sequence based on the global descriptor; The fine search module is configured to: based on the triangular pyramid local descriptor, finely search and select the final candidate loop frame set from the preliminary candidate loop frame set; The final screening module is configured to: filter out the loop frame of the current key frame from the final candidate loop frame set through geometric verification and validity judgment as the final laser point cloud loop detection result; The triangular pyramid local descriptor is based on the number of points in the neighborhood, performs density clustering on the point cloud of the key frame, constructs a triangular pyramid using the clustering result, and encodes the information of the triangular pyramid as the triangular pyramid local descriptor of the key frame; The area division of the keyframe point cloud is as follows: The key frame point cloud of the completed ground segmentation is projected onto a two-dimensional horizontal plane along the z-axis of the laser radar coordinate system, and the key frame point cloud is converted into a bird's-eye view with the center of the laser radar as the center. The polar coordinate system is established as the origin of the bird's-eye view. The maximum radius of the bird's-eye view is the maximum distance that the laser radar can detect. ; Divide the point cloud into equal intervals along the radius direction of the bird's-eye view An annular area, along the ring direction of the bird's-eye view, divide the point cloud into sector-shaped areas, and the resolution of each ring is , the resolution of each sector is ; Assume that any laser point in the point cloud is , its coordinates in three-dimensional space can be expressed as , the intersection of each ring and sector forms Small sectors , each small sector is a set of several points, expressed as: in, , , ; Convert the divided point cloud into a size of Two-dimensional information matrix , each small sector corresponds one-to-one to each element of the matrix.
8. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the laser point cloud loop closure detection method based on the triangular pyramid local descriptor according to any one of claims 1 to 6 is implemented.
9. A non-transitory computer-readable storage medium, characterized in that The non-transitory computer-readable storage medium is used to store computer instructions. When the computer instructions are executed by the processor, the laser point cloud loop closure detection method based on the triangular pyramid local descriptor according to any one of claims 1 to 6 is implemented.
10. An electronic device, characterized in that: include: A processor, a memory, and a computer program; wherein the processor is connected to the memory, the computer program is stored in the memory, and when the electronic device is running, the processor executes the computer program stored in the memory to enable the electronic device to implement the laser point cloud loop detection method based on the triangular pyramid local descriptor as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Indoor SLAM mapping method based on 3D laser radar and UWB
CN113538410A
Small-view-angle laser radar rapid loopback detection method in unstructured environment
CN117148375A