Efficient loopback detection method and device for large-scale scene

By constructing a multi-view context descriptor (MVC), fusing cylinder and pyramid mesh features, and combining the fast search strategy of KD tree and DBSCAN clustering, the problem of loopback detection accuracy degradation in large-scale scenarios is solved, and efficient and accurate loopback detection is achieved.

CN120279090APending Publication Date: 2025-07-08BEIJING JIAOTONG UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510340668.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-21
Publication Date
2025-07-08

AI Technical Summary

Technical Problem

In large-scale scenarios, the existing loopback detection methods have the problem of degradation of detection accuracy caused by the lack of descriptor information, especially in narrow road environments, where the lidar measurement is blocked and the observation range becomes closer, resulting in insufficient descriptor information and affecting the loopback detection accuracy.

Method used

Using the multi-view context descriptor (MVC) method, the cylindrical grid features of top view angle and the pyramidal grid features of side view angle are improved by defining the similarity scoring formula and combining the fast search strategy of KD tree and DBSCAN clustering.

Benefits of technology

In long-distance traffic scenarios up to 24 kilometers, high-precision loopback detection results are maintained, and retrieval efficiency and flexibility are improved through adaptive fast search strategies, reducing the number of candidate frames searches, and improving detection accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120279090A_ABST
    Figure CN120279090A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of robot navigation and automatic driving, in particular to an efficient loopback detection method and device for a large-scale scene, and can solve the problem of detection precision degradation caused by the lack of descriptor information in the large-scale scene to a certain extent. The method comprises the following steps; collecting point cloud data of the surrounding environment of the carrier in real time; grid division is carried out on each frame of point cloud, grid points under the two windows are coded through different coding functions, and two obtained coding matrixes phi C and phi P are spliced into an MVC descriptor; extracting the MVC descriptor into a one-dimensional key vector to obtain a plurality of candidate frames, so as to facilitate quick search of candidate loopback frames; defining a similarity scoring formula capable of accurately measuring the distance between the two descriptors; and sequentially carrying out distance comparison on the current query descriptor Iq and the descriptors Ic corresponding to the m candidate nodes found in the step 3 by utilizing the similarity scoring formula, and selecting the candidate frame with the minimum distance as a final loop of the current query frame.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of robot navigation and autonomous driving, and more specifically, to an efficient loop closure detection method and device for large-scale scenarios. Background Art

[0002] Loop Closure Detection is a core module of the Simultaneous Localization and Mapping (SLAM) system. Its goal is to identify when a robot or autonomous vehicle returns to a historical position, eliminating pose drift caused by the accumulation of sensor noise and motion estimation errors, thereby improving global consistency. Figure 1 Consistency.

[0003] Loop Closure Detection plays a crucial role in the SLAM system. It assists the backend of the SLAM system in correcting accumulated position errors by identifying whether a robot or autonomous vehicle has returned to a previously visited location, enhancing the consistency of the trajectory, and thus improving navigation accuracy. This task is widely applied in scenarios such as urban road navigation for autonomous vehicles, path planning for indoor mobile robots, and agricultural monitoring for drones.

[0004] Since lidar shows stronger invariance in environmental perception compared to cameras, for example, it can provide consistent and reliable observations even when there are changes in lighting or seasons in the environment, it has attracted much attention from researchers in many autonomous driving tasks. To complete the loop closure detection task using lidar data, current 3D descriptors for point clouds can be roughly divided into three categories: local handcrafted methods, deep learning methods, and global handcrafted methods.

[0005] Among them, local handcrafted methods require additional algorithms such as key point extraction for processing, resulting in high computational costs. With the increase in input data in large-scale scenarios, learning-based methods face longer training times and need to be trained separately for each scenario, with poor generalization ability. Global handcrafted methods show good performance in urban scenarios, but their accuracy deteriorates as the scale of the working scenario increases. Especially in narrow road environments, detection errors are prone to occur because the measurements in the horizontal direction of the lidar are blocked, reducing its observation range. Relying solely on the Bird's Eye View (BEV) perspective to divide these point cloud data makes the information contained in the descriptor relatively limited and insufficient to comprehensively represent the 3D scene, thus affecting the loop closure detection accuracy. To ensure that loop closure detection can be efficiently and accurately completed in large-scale environments and can be easily integrated as a modular plug-and-play component into the current 3-D SLAM system.

[0006] Therefore, there is an urgent need for a new loop closure detection method to solve the problem of degraded detection accuracy caused by missing descriptor information in large-scale scenarios. Summary of the Invention

[0007] To solve the problem of degraded detection accuracy caused by missing descriptor information in large-scale scenarios, the present application provides an efficient loop detection method and device for large-scale scenarios.

[0008] The embodiments of the present application are implemented as follows:

[0009] In a first aspect, the present application provides an efficient loop detection method for large-scale scenarios, including the following steps;

[0010] Collect point cloud data of the carrier's surrounding environment in real time;

[0011] Divide each frame of point cloud into grids, and encode the grid points under two windows with different encoding functions to obtain two encoding matrices φ C and φ P Concatenate them into an MVC descriptor;

[0012] Extract the MVC descriptor into a 1D key vector to obtain multiple candidate frames, facilitating the rapid search for candidate loop frames;

[0013] Define a similarity scoring formula that can accurately measure the distance between two descriptors;

[0014] Using the similarity scoring formula, successively compare the distance between the current query descriptor I q and the descriptors I c corresponding to the m candidate nodes found in step 3, and select the candidate frame with the smallest distance as the final loop of the current query frame.

[0015] In a possible implementation manner, the step of collecting point cloud data of the carrier's surrounding environment in real time further includes:

[0016] Use cylindrical and pyramidal windows to perform spatial division of the point cloud from top-down and side views;

[0017] Obtain coding quantities for the two types of grid points respectively using different encoding functions.

[0018] In a possible implementation manner, the top-down cylindrical grid division further includes:

[0019] Divide the point cloud into grids along the radial and azimuth directions of the cylindrical window, with N r rings and N s sectors respectively in the radial and azimuth directions;

[0020] Calculate the density fraction and entropy, which jointly reflect the geometric shape of each grid.

[0021] In a possible implementation, the side-view pyramid meshing further includes:

[0022] The point cloud is meshed along the azimuth and elevation directions of the pyramid window, with N s sectors and N l layers respectively in the azimuth and elevation directions;

[0023] A value is selected for each grid to describe the spatial form of the grid points, and the correctness of the matching is measured by calculating the number of matching points near the feature points.

[0024] In a possible implementation, the grid points under two windows are encoded with different encoding functions, and the two obtained encoding matrices φ C and φ P are spliced into an MVC descriptor, which further includes:

[0025] The density and entropy encoding values in the cylindrical coordinate system are fused together, and a real number φ C is assigned to each grid through the following formula:

[0026]

[0027] where α is the fusion parameter;

[0028] The cylinder and pyramid-shaped windows can maintain a consistent spatial resolution along the azimuth direction. In order to spatially align the two encoding matrices φ C and φ P , a splicing operation is used to obtain the MVC descriptor, and the MVC descriptor I can be represented as a matrix of size (N r +N l )×N s .

[0029] In a possible implementation, the extraction of the MVC descriptor into a 1D key vector to obtain multiple candidate frames for facilitating the fast search of candidate loopback frames further includes:

[0030] Extract a 1×(N r +N l )-dimensional key vector c from the MVC descriptor;

[0031] Calculate two parameters required for DBSCAN clustering, the neighborhood radius ε and the minimum number of points threshold minPts included in the neighborhood;

[0032] Use the KD-tree clustering search to find k fixed-number candidate frames close to the current query vector c q , and further search for frames close to the query vector c q from these k frames using DBSCAN clustering.A subset of frames belonging to the same category.

[0033] In a possible implementation, the similarity scoring formula that can accurately measure the distance between two descriptors further includes:

[0034] Determine the orientation offset t through circular shift of the vector * ;

[0035] According to the orientation offset t * , the matrix I to be compared q and I c , it is transformed into finding the distance difference between matrix I q and to obtain the similarity scoring formula.

[0036] In a possible implementation, the determining the orientation offset t through circular shift of the vector * further includes:

[0037] Add all the rows of each matrix to obtain the initial vectors v q of descriptor I c and I q and v c . The cosine distance between the two vectors is:

[0038]

[0039] where, · represents dot product, and ||·|| represents modulus length;

[0040] Perform circular shift on the initial vector v c with a step size of 1, and calculate the cosine distance by combining with v q each time, and N s results can be obtained;

[0041] Take the shift number corresponding to the maximum similarity result as the orientation offset for achieving rotational invariance of the two descriptors, which is expressed formulaically as:

[0042]

[0043] where, represents that the vector v c is circularly shifted by t steps.

[0044] In a possible implementation, using the similarity scoring formula, successively compare the distance between the current query descriptor I q and the descriptors I c corresponding to the m candidate nodes found in step 3. The candidate frame with the smallest distance is used as the final loopback of the current query frame. Further includes:

[0045] Calculate the distances between multiple candidate frames and query frame I through the similarity scoring formula q .

[0046] Compare them in sequence, and find the candidate frame with the smallest distance as the final loop closure.

[0047] In a second aspect, the present application provides an efficient loop closure detection device for large-scale scenarios, including:

[0048] A data acquisition module, configured to collect point cloud data of the environment around the carrier in real time;

[0049] A data processing module, configured to perform grid division on each frame of point cloud, and encode grid points under two windows with different encoding functions to obtain two encoding matrices φ C and φ P which are spliced into an MVC descriptor;

[0050] A data extraction module, configured to extract the MVC descriptor into a 1D key vector to obtain multiple candidate frames, facilitating fast search for candidate loop closure frames;

[0051] A formula definition module, configured to define a similarity scoring formula that can accurately measure the distance between two descriptors;

[0052] A data output module, configured to use the similarity scoring formula to compare the distances between the current query descriptor I q and the descriptors I corresponding to the m candidate nodes found in step 3 c in sequence, and select the candidate frame with the smallest distance as the final loop closure of the current query frame.

[0053] The technical solution provided by the present application can at least achieve the following beneficial effects:

[0054] The efficient loop closure detection method for large-scale scenarios provided by the present application, through the division and feature encoding of cylindrical grids from a top-down perspective, and the division and feature encoding of pyramid grids from a side-view perspective, fuses the features of the two perspectives to construct a descriptor that has strong robustness to large-scale environments. In a long-distance traffic scenario of up to 24 kilometers, it can maintain high-precision detection results.

[0055] The efficient loop detection method for large-scale scenarios provided by this application is more flexible and efficient through a fast search method combining a KD tree and DBSCAN clustering compared to a search method that only uses a KD tree. The latter requires searching the same number of candidate frames for distance comparison for each query frame. In contrast, the former searches for a smaller and variable number of candidate frames for each query frame. Additionally, the former can directly determine whether there is a candidate loop frame for the current query frame to skip the subsequent distance calculation process.

[0056] The efficient loop detection method for large-scale scenarios provided by this application is measured at the matrix level through the distance calculation of descriptors, which is more efficient than the method of comparing column vectors one by one. Brief Description of the Drawings

[0057] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the following briefly introduces the accompanying drawings required for the description of the embodiments or the prior art. Obviously, the following-described accompanying drawings are some embodiments of this application. For those of ordinary skill in the art, without creative efforts, other accompanying drawings can be obtained based on these drawings.

[0058] Figure 1 It is a flowchart showing an efficient loop detection method for large-scale scenarios according to an exemplary embodiment of this application;

[0059] Figure 2 It is a schematic diagram showing the descriptor results generated by the Scan Context algorithm in a narrow section of a large scene in the prior art;

[0060] Figure 3 It is a general flowchart showing the loop detection method according to an exemplary embodiment of this application;

[0061] Figure 4 It is a schematic diagram showing the effect of grid division and encoding of point clouds under a cylindrical and a pyramidal window according to an exemplary embodiment of this application;

[0062] Figure 5 It is a flowchart showing an adaptive fast search strategy according to an exemplary embodiment of this application;

[0063] Figure 6 It is a schematic diagram showing the structure of another efficient loop detection device for large-scale scenarios according to an exemplary embodiment of this application.

[0064] Reference Signs: 1. Data Acquisition Module; 2. Data Processing Module; 3. Data Extraction Module; 4. Formula Definition Module; 5. Data Output Module. Detailed Description of the Embodiments

[0065] To make the objectives, implementation manners, and advantages of this application clearer and more understandable, the following will clearly and completely describe the exemplary implementation manners of this application in combination with the accompanying drawings in the exemplary embodiments of this application. Obviously, the described exemplary embodiments are only a part of the embodiments of this application, rather than all of the embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not used to limit this application.

[0066] It should be noted that the brief description of the terms in this application is only for the convenience of understanding the subsequent described implementation manners, rather than intending to limit the implementation manners of this application. Unless otherwise specified, these terms should be understood in their ordinary and common meanings.

[0067] The terms "first", "second", "third", etc. in the specification, claims, and the above-mentioned accompanying drawings of this application are used to distinguish similar or homogeneous objects or entities, and do not necessarily mean to limit a specific order or sequence, unless otherwise noted. It should be understood that such terms can be interchanged under appropriate circumstances.

[0068] The terms "comprising" and "having" and any variations thereof are intended to cover but not exclude inclusion. For example, a product or device comprising a series of components does not necessarily have to be limited to all the clearly listed components, but may include other components that are not clearly listed or are inherent to these products or devices.

[0069] Before explaining the efficient loop closure detection method for large-scale scenarios provided in the embodiments of this application, the application scenarios and implementation environments of the embodiments of this application will be introduced first.

[0070] Figure 1 It is a schematic flowchart of an efficient loop closure detection method for large-scale scenarios shown in an exemplary embodiment of this application.

[0071] Loop Closure Detection is a core module of the Simultaneous Localization and Mapping (SLAM) system. Its goal is to identify when a robot or an autonomous driving vehicle returns to a historical location, eliminate pose drift caused by the accumulation of sensor noise and motion estimation errors, and thereby improve the global Figure 1 consistency.

[0072] Loop Closure Detection plays a crucial role in the SLAM system. It helps the SLAM system's backend correct the accumulated position errors by identifying whether a robot or an autonomous driving vehicle has returned to a previously visited location, enhances the consistency of the trajectory, and thus improves the navigation accuracy. This task is widely applied in scenarios such as urban road navigation of autonomous driving vehicles, path planning of indoor mobile robots, and agricultural monitoring of unmanned aerial vehicles.

[0073] Since lidar shows strong invariance in environmental perception compared to cameras, for example, it can provide consistent and reliable observations under different lighting conditions and seasonal changes, it has attracted much attention from researchers in many autonomous driving tasks. To use lidar data to complete the loop detection task, current 3D descriptors for point clouds can be roughly divided into three categories: local handcrafted methods, deep learning methods, and global handcrafted methods.

[0074] Among them, local handcrafted methods require additional algorithms such as key point extraction for processing, which have a high computational cost. With the increase of input data in large-scale scenes, learning-based methods face longer training times and need to be trained separately for each scene, with poor generalization ability. Global handcrafted methods show good performance in urban scenes, but their accuracy deteriorates as the scale of the working scene increases. Especially in narrow road environments, detection errors are prone to occur because the lidar measurements in the horizontal direction are blocked, resulting in a closer observation range. Relying solely on the bird's-eye view (BEV) perspective to partition these point cloud data makes the information contained in the descriptor relatively limited and insufficient to comprehensively represent the 3D scene, thus affecting the loop detection accuracy. After the Scan Context method, although some of its variants have emerged (such as Intensity Scan Context, Weighted Scan Context, LiDAR Iris, etc.), they only replace the encoding amount in the z-axis direction and are not enough to make up for the lack of descriptor information. Figure 1 As can be seen from the example, the 3D descriptor calculated by the Scan Context method has less available information (non-purple color blocks).

[0075] To ensure that loop detection can be completed efficiently and accurately in large-scale environments and can be easily integrated into the current 3-D SLAM system as a modular plug-and-play component.

[0076] Therefore, there is an urgent need for a new loop detection method to solve the problem of degraded detection accuracy caused by the lack of descriptor information in large-scale scenes.

[0077] Based on this, the present application provides an efficient loop detection method and device for large-scale scenarios, constructs a multi-view context descriptor (MVC) based on point cloud, which fuses the cylinder grid features from the top-down view angle and the pyramid grid features from the side view angle, enhances the robustness of the descriptor for scene representation by spatial alignment of complementary features (entropy, density, and morphology), reduces information loss, and defines a similarity metric function for the MVC descriptor to estimate the difference between two frames of point clouds while maintaining rotational invariance. An adaptive fast search strategy is designed based on KD-tree and DBSCAN clustering, effectively improving the retrieval efficiency and flexibility of loops.

[0078] Next, the technical solutions of the present application, as well as how the technical solutions of the present application solve the above technical problems, will be specifically described through embodiments in combination with the accompanying drawings. The embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. Obviously, the described embodiments are some embodiments of the embodiments of the present application, rather than all the embodiments.

[0079] Figure 2 It is a schematic diagram of the descriptor result generated by the Scan Context algorithm in a narrow section of a large scene in the prior art.

[0080] In an exemplary embodiment, as Figure 2 shown, an efficient loop detection method for large-scale scenarios is provided. In this embodiment, the method may include the following steps:

[0081] Step 100: Real-time collect the point cloud data of the environment around the carrier.

[0082] Step 200: Perform grid division on each frame of point cloud, and encode the grid points under two windows with different encoding functions to obtain two encoded matrices φ C and φ P which are spliced into the MVC descriptor.

[0083] Step 300: Extract the MVC descriptor into a 1D key vector to obtain multiple candidate frames, facilitating the fast search for candidate loop frames.

[0084] Step 400: Define a similarity scoring formula that can accurately measure the distance between two descriptors.

[0085] Step 500: Use the similarity scoring formula to sequentially compare the distance between the current query descriptor I q and the descriptors I c corresponding to the m candidate nodes found in step 3, and select the candidate frame with the smallest distance as the final loop of the current query frame.

[0086] Figure 3 It is a schematic diagram of the overall process of the loop detection method shown in an exemplary embodiment of the present application.

[0087] In a possible implementation, as Figure 3 shown, its specific implementation is as follows:

[0088] Step 1: Use a multi-line mechanical rotating lidar, semi-solid or solid-state lidar to collect point cloud data of the environment around the carrier in real time.

[0089] Step 2: Each frame of point cloud is meshed with a cylinder and a pyramid window respectively, and the grid points under the two windows are encoded with different encoding functions to obtain two encoding matrices φ C and φ P which are spliced into an MVC descriptor. This query descriptor I q is stored in the database for subsequent operations to be retrieved at any time.

[0090] Step 3: Extract the MVC descriptor calculated in Step 2 into a 1D key vector for fast search of candidate loop frames. In this step, clustering operations are used to search for m indices in the key database that are close in distance to the current query vector c q as candidate nodes. After the calculation is completed, the current query vector is also stored in the key database for use in subsequent frame searches.

[0091] Step 4: Define a similarity scoring formula that can accurately measure the distance between two descriptors.

[0092] Step 5: Use the similarity scoring formula defined in Step 4 to compare the distance between the current query descriptor I q and the descriptors I c corresponding to the m candidate nodes found in Step 3 one by one. The candidate frame with the smallest distance is used as the final loop of the current query frame.

[0093] Figure 4 It is a schematic diagram of the effect of meshing and encoding of point cloud under a cylinder and a pyramid window shown in an exemplary embodiment of the present application.

[0094] In a possible implementation, the specific operation of Step 2 is as follows:

[0095] First, use a cylinder and a pyramid window to perform spatial division of the point cloud from top-down and side-view angles. The meshing is as Figure 4 (a) and 4(b) shown, Figure 4 (c) The outermost black grid represents the scanning area of the lidar, and the blue dots represent the point cloud.

[0096] Next, different encoding functions are used for the two types of grid points to obtain the encoding amounts.

[0097] ① Density and entropy encoding

[0098] The point cloud is partitioned into grids along the radial and azimuth directions of the cylindrical window, as shown in Figure 4 (a).

[0099] Assume that there are N r rings and N s sectors in the radial and azimuth directions respectively. When the lidar measurement range L max is known, the radial interval between the rings is equal to L max / N r meters, and the azimuth size of each sector is 2π / N s .

[0100] If a frame of point cloud is denoted by the symbol P, then P ij represents the grid point in the i-th ring and the j-th sector.

[0101] The relationship between the two is formulated as:

[0102]

[0103] where, [R] is equal to {1, 2, 3,..., N r-1 , N r}, and [S] is equal to {1, 2, 3,..., N s-1 , N s}.

[0104] Calculate the density fraction and entropy, which jointly reflect the geometry of each grid. The density quantifies the number of points in a unit space, and the entropy in information theory evaluates the randomness or disorder in the distribution of these points. By using these two encoding amounts, the spatial characteristics of the grid points can be accurately described.

[0105] Assume that the centroid coordinates and covariance of the grid points are μ and Σ respectively. The density score D and entropy E are expressed as follows:

[0106]

[0107] where, N is the number of points. |·| represents the matrix determinant, and d is the vector dimension. The encoding result is shown in the yellow area of Figure 4 (c).

[0108] ② Morphological feature encoding

[0109] Similarly, the point cloud is partitioned into grids along the azimuth and elevation directions of the pyramid window, as shown in Figure 4 (b).

[0110] Assume there are N sectors in the azimuth direction and N layers in the elevation direction respectively. s The size of the azimuth angle of each sector is also 2π / N. l When the highest and lowest vertical viewing angles of the lidar are known, the elevation angle difference between two layers is equal to (FOV s - FOV up ) / N. down The relational formula of P and P l is formulated as: ij

[0111]

[0112] where, [L] is equal to {1, 2, 3,..., N l-1 , N l}, and [S] is equal to {1, 2, 3,..., N s-1 , N s}.

[0113] After division, each grid P ij also selects a value φ to describe the spatial form of the grid point. The coding method is inspired by the grid-based motion statistical algorithm (GMS), which is a statistical method for image feature matching. It measures the correctness of the matching by calculating the number of matching points near the feature points.

[0114] Therefore, another coding function related to the number of points is established here:

[0115]

[0116] where, λ is a scaling factor, generally set as λ = 0.7. The coding result is shown in the green area of Figure 4 (c).

[0117] ③ Multi-view feature fusion

[0118] A large number of grids have various point distributions. In order to reflect the spatial form of these grids as much as possible, the idea of the non-linear regression model is applied to design the fusion function, which fuses the density and entropy coding values in the cylindrical coordinate system.

[0119] A real number φ is assigned to each grid in the following way: C :

[0120]

[0121] where, α is a fusion parameter, generally set as α = 1.3.

[0122] As shown in Figure 4 ​(a) and 4(b) show that the cylindrical and pyramidal windows can maintain consistent spatial resolution in the azimuth direction. To spatially align the two coding matrices φ C and φ P a splicing operation was finally adopted.

[0123] Finally, the MVC descriptor I can be represented as a matrix of size (N r +N l )×N s :

[0124]

[0125] Figure 5 is a schematic flow diagram of an adaptive fast search strategy shown in an exemplary embodiment of the present application;

[0126] In a possible implementation, the specific operation of the so-called step 3 includes three stages, as Figure 5 shown.

[0127] In the first stage, a 1×(N r +N l )-dimensional key vector c is extracted from the MVC descriptor.

[0128] To make this vector rotationally invariant, it is obtained by successively summing all the rows of the matrix. It is represented formulaically as:

[0129]

[0130] where, I i represents the elements of the i-th row of matrix I.

[0131] In the second stage, two parameters required for DBSCAN clustering are calculated: the neighborhood radius ε and the minimum number of points threshold minPts included in the neighborhood.

[0132] During the process of detecting loop closure of the current query frame, interference from n adjacent frames is generally excluded.

[0133] The present invention makes full use of the Euclidean distance between these adjacent frames and the query frame to provide a reference for calculating these two parameters.

[0134] The neighborhood radius ε can be formulated as:

[0135]

[0136] where, c q represents the key vector of the query frame. The threshold minPts = 3, and the quantity n is set to 50.

[0137] In the final stage, first use the KD-tree clustering search to search for the current query vector cq k fixed number of candidate frames that are close. Then apply DBSCAN clustering to further search for frames that belong to the same category as the query vector c from these k frames q The subset of frames belonging to the same category, and the frames included in this subset are regarded as the final m candidate frames. Note that if the query vector category result is -1 after DBSCAN clustering, it means that no other frames are clustered with it, that is, there are no candidate loopback frames.

[0138] In a possible implementation, the specific operation of step 4 is as follows:

[0139] Assume that the MVC descriptors of the given query frame and a candidate frame are I q and I c .

[0140] If the cosine similarity is calculated column by column for these two matrices and then the mean value is accumulated as the distance metric, this process has a large computational cost and affects the overall efficiency of the algorithm.

[0141] Next, directly measure the distance for matrix operations, which can save computational costs.

[0142] To ensure that the two matrices to be calculated satisfy rotational invariance, first determine the azimuth offset t through the circular shift of the vector * . Specifically, add all the rows of each matrix to obtain the initial vectors v q and I c of I q and v c , and the cosine distance between the two vectors is:

[0143]

[0144] where, · represents the dot product, and ||·|| represents the modulus length.

[0145] Perform circular shift on the initial vector v c , with a step size of 1, and calculate the cosine distance by combining with v q each time. Since v c is an N s -dimensional vector, N s results can be obtained.

[0146] This application takes the shift number corresponding to the maximum similarity result as the azimuth offset to achieve the rotational invariance of the two descriptors, and is represented formulaically as:

[0147]

[0148] where, represents that the vector v c is circularly shifted by t steps.

[0149] According to the offset t just obtained * , the matrix I to be compared q and I c , it is transformed into calculating the distance difference between the matrix I q and .

[0150] Before calculation, it needs to be centered. Taking I q as an example, the matrix after processing is denoted as I q :

[0151]

[0152] where, [I] ij represents the elements of the matrix I q . represents the mean value of the non-zero elements of the matrix I q . Similarly, the matrix can also be obtained through this calculation method.

[0153] The matrix I to be compared q and are transformed into calculating the distance difference between the matrix I q and . The final similarity score between the query frame and a candidate frame is:[[]]

[0154]

[0155] where, ⊙ represents the dot product.

[0156] In a possible implementation manner, the specific operations of step 5 are as follows;

[0157] The m candidate frames obtained in step 3 will calculate the distance from the query frame I q through step 4, and find a candidate frame corresponding to the minimum distance as the final loopback:[[]]

[0158]

[0159] where, c i represents the index of the i-th candidate frame. τ represents the acceptable distance threshold.

[0160] It should be understood that although the steps in the flowcharts involved in the above embodiments are shown in sequence as indicated, these steps are not necessarily executed in the order indicated. Unless otherwise clearly stated in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of other steps or steps or stages in other steps.

[0161] Corresponding to the embodiment of the efficient loop detection method for large-scale scenarios described above, with the same technical concept, the present application also provides an embodiment of an efficient loop detection device for large-scale scenarios.

[0162] Figure 6 It is a schematic structural diagram of another efficient loop detection device for large-scale scenarios shown in an exemplary embodiment of the present application.

[0163] In an exemplary embodiment, as Figure 6 shown, the efficient loop detection device for large-scale scenarios includes:

[0164] A data acquisition module 1 for collecting point cloud data of the carrier's surrounding environment in real time;

[0165] A data processing module 2 for dividing each frame of point cloud into grids and encoding the grid points under two windows with different encoding functions to obtain two encoded matrices φ C and φ P which are spliced into an MVC descriptor;

[0166] A data extraction module 3 for extracting the MVC descriptor into a 1D key vector to obtain multiple candidate frames, facilitating the rapid search for candidate loop frames;

[0167] A formula definition module 4 for defining a similarity scoring formula that can accurately measure the distance between two descriptors;

[0168] A data output module 5 for using the similarity scoring formula to sequentially compare the distance between the current query descriptor I q and the descriptors I c corresponding to the m candidate nodes found in step 3, and selecting the candidate frame with the smallest distance as the final loop of the current query frame.

[0169] For the specific limitations of the efficient loop detection device for large-scale scenarios, reference can be made to the limitations of the efficient loop detection method for large-scale scenarios in the foregoing text, which will not be elaborated herein. Each module in the above-mentioned efficient loop detection device for large-scale scenarios can be implemented in whole or in part by software, hardware, and their combination. The above-mentioned modules can be embedded in the processor of the computer device in hardware form or independent of it, or stored in the memory of the computer device in software form, so as to facilitate the processor to call and execute the operations corresponding to the above-mentioned modules.

[0170] The technical features of the above embodiments can be combined arbitrarily. For the sake of concise description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in this specification.

[0171] The above-described embodiments merely represent several implementation manners of the present application. The description is relatively specific and detailed, but it should not be construed as a limitation on the scope of the invention patent. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the appended claims.

Claims

1. An efficient loop detection method for large-scale scenarios, characterized in that, Including the following steps; Collecting point cloud data of the environment around the carrier in real time; The point cloud of each frame is meshed, and the mesh points under two windows are encoded with different encoding functions to obtain two encoding matrices φ C and φ P which are concatenated into an MVC descriptor; Extracting the MVC descriptor into a 1D key vector to obtain multiple candidate frames, facilitating the rapid search for candidate loopback frames; Defining a similarity scoring formula that can accurately measure the distance between two descriptors; Using the similarity scoring formula, sequentially compare the current query descriptor I q with the descriptors I corresponding to the m candidate nodes found in step 3 c to perform distance comparison, and select the candidate frame with the smallest distance as the final loop closure of the current query frame.

2. The efficient loop detection method for large-scale scenarios according to claim 1, wherein The step of collecting point cloud data of the environment around the carrier in real time further includes: Using cylindrical and pyramidal windows to perform spatial partitioning of the point cloud from top-down and side views; Obtaining coding amounts for the two types of grid points respectively by using different coding functions.

3. The efficient loop detection method for large-scale scenarios according to claim 2, wherein, The top-down cylindrical grid partitioning further includes: Divide the point cloud into grids along the radial and azimuthal directions of the cylindrical window, with N rings and N sectors in the radial and azimuthal directions respectively; r rings and N s sectors; Calculating the density fraction and entropy, which jointly reflect the geometric shape of each grid.

4. The efficient loop detection method for large-scale scenarios according to claim 3, characterized in that The side-view pyramidal grid partitioning further includes: Divide the point cloud into grids along the azimuth and elevation directions of the pyramidal window, with N s sectors and N l layers respectively in the azimuth and elevation directions; Selecting a value for each grid to describe the spatial form of the grid points, and measuring the correctness of the matching by calculating the number of matching points near the feature points.

5. The efficient loop detection method for large-scale scenarios according to claim 4, wherein Encoding the grid points under two windows with different encoding functions to obtain two encoding matrices φ C and φ P which are concatenated into an MVC descriptor, further comprising: Fuse the density and entropy encoded values in the cylindrical coordinate system and assign a real number φ to each grid through the following formula C , and the formula is as follows: Where α is a fusion parameter; The cylindrical and pyramidal windows can maintain consistent spatial resolution in the azimuth direction. To spatially align the two coding matrices φ C and φ P , a splicing operation is adopted to obtain the MVC descriptor, and the MVC descriptor I can be expressed as a matrix of size (N r +N l )×N s .

6. The efficient loop detection method for large-scale scenarios according to claim 1, characterized in that The step of extracting the MVC descriptor into a 1D key vector to obtain multiple candidate frames, facilitating the rapid search for candidate loopback frames, further includes: Extract a 1×(N r + N l )-dimensional key vector c from the MVC descriptor; Calculating two parameters required for DBSCAN clustering, the neighborhood radius ε and the minimum number of points threshold minPts included in the neighborhood; Use KD-tree clustering search to find k candidate frames with a fixed number that are close to the current query vector c q Apply DBSCAN clustering to further search for a subset of frames that belong to the same category as the query vector c from these k frames q ​ 7. The efficient loop detection method for large-scale scenarios according to claim 1, wherein The step of defining a similarity scoring formula that can accurately measure the distance between two descriptors further includes: Determine the azimuth offset t by circular shift of the vector * ; According to the azimuth offset t * , the matrix I to be compared q and I c , it is transformed into calculating the distance difference between the matrix I q and to obtain a similarity scoring formula.

8. The efficient loop detection method for large-scale scenarios according to claim 7, characterized in that Determining the azimuth offset t by circular shifting of vectors * , further comprising: Sum all rows of each matrix to obtain descriptor I q and I c initial vector v q and v c . The cosine distance between the two vectors is: Where · represents dot product and ||·|| represents modulus length; Perform a cyclic shift on the initial vector v c with a step size of 1. For each shift, combine it with v q to calculate the cosine distance, and N s results can be obtained; Taking the shift number corresponding to the maximum similarity result as the azimuth offset for realizing the rotational invariance of the two descriptors, which is formulated as: Among them, represents the vector v c is cyclically shifted by t steps.

9. The efficient loop detection method for large-scale scenarios according to claim 1, characterized in that, Using the similarity scoring formula, successively compare the current query descriptor I q with the descriptors I corresponding to the m candidate nodes found in step 3 c to perform distance comparison. The candidate frame with the smallest distance is used as the final loop closure of the current query frame, which further includes: Calculate the distances between multiple said candidate frames and query frame I through the said similarity scoring formula q ; Comparing them in sequence and finding a candidate frame with the minimum distance as the final loopback.

10. An efficient loop detection device for large-scale scenarios, characterized in that, Including: A data acquisition module for collecting point cloud data of the environment around the carrier in real time; A data processing module for dividing each frame of point cloud into grids and encoding the grid points under two windows with different encoding functions to obtain two encoding matrices φ C and φ P which are concatenated into an MVC descriptor; A data extraction module for extracting the MVC descriptor into a 1D key vector to obtain multiple candidate frames, facilitating the rapid search for candidate loopback frames; A formula definition module for defining a similarity scoring formula that can accurately measure the distance between two descriptors; A data output module, which is used to use the similarity scoring formula to sequentially process the current query descriptor I q and the descriptors I corresponding to the m candidate nodes found in step 3 c to perform distance comparison, and select the candidate frame with the smallest distance as the final loop closure of the current query frame.