A loop detection method and device based on direct comparison of descriptor segment vectors and database query

Through direct comparison and database query method based on descriptive sub-fragment vectors, the problem of pre-training of bag-of-word models is solved, real-time loopback detection without pre-acquisition of scene images is achieved, and adaptability and detection efficiency are improved.

CN117235295BActive Publication Date: 2025-08-08INNER MONGOLIA UNIV OF SCI & TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311220763.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-09-21
Publication Date
2025-08-08
Estimated Expiration
2043-09-21

AI Technical Summary

Technical Problem

The existing loopback detection algorithm based on bag-of-word model requires pre-acquisition of scene images for training, which makes it unusable if the scene images cannot be acquired in advance, and has poor adaptability.

Method used

Direct comparison and database query method based on descriptive sub-fragment vectors are adopted, descriptors are extracted through FAST and BRIEF algorithms, descriptors are extracted vertically, and descriptor fragment vectors are dynamically constructed for loopback detection, avoiding pre-training steps.

Benefits of technology

Real-time loopback detection without pre-training is realized, the adaptability of loopback detection algorithm is improved, the database query process is simplified, and the calculation complexity is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117235295B_ABST
    Figure CN117235295B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of vision and image processing technology, and in particular to a loop closure detection method and device based on direct comparison of descriptor segment vectors and database query. The present invention realizes dynamic construction of a database by vertically extracting descriptor segment vectors for loop closure detection judgment, and obtains the number of times the image descriptor segment vector in the database is identical to the current image by querying the database, so as to further determine whether the current image forms a loop with the image in the database. This avoids the disadvantage of the bag-of-words model requiring pre-training and improves the adaptability of the loop closure detection algorithm.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of vision and image processing technology, and in particular to a loop detection method and device based on direct comparison of descriptor segment vectors and database query. Background Art

[0002] Currently, SLAM (Simultaneous Localization and Mapping) is the basis for mobile robots to explore unknown environments. During movement, the robot detects the surrounding environment through visual or lidar sensors, and then builds an environmental map based on the sensor information and estimates its own movement. Visual SLAM can carry rich scene information, so it has a large number of applications in emerging fields such as autonomous driving, drones, virtual reality, and augmented reality. Loop detection is an important component of visual SLAM. The robot uses loop detection to determine whether it has reached a similar scene, and uses this as a basis for global optimization of motion posture and map points, eliminating accumulated errors and ultimately obtaining a globally consistent trajectory and map.

[0003] At present, the most widely used loop closure detection algorithm is the detection algorithm based on the bag-of-words model. The detection algorithm based on the bag-of-words model has high detection efficiency and a good detection rate; but it requires pre-training, that is, it is necessary to collect scene images in advance for training and build a dictionary for specific scenes; therefore, the dictionary has poor adaptability to scene changes; therefore, if the scene images cannot be collected in advance, the detection algorithm based on the bag-of-words model cannot be used. Summary of the Invention

[0004] The present invention provides a loop closure detection method and device based on direct comparison of descriptor segment vectors and database query; the purpose is to provide a real-time loop closure detection method that can achieve loop closure detection without the need to collect scene images in advance for pre-training.

[0005] The first aspect of the present invention aims to provide: a loop detection method based on direct comparison of descriptor segment vectors, comprising the following steps:

[0006] Step 1: Obtain the current frame and multiple historical frames corresponding to the current frame;

[0007] Step 2: Use the FAST algorithm to extract the key points of the current frame, and use the BRIEF algorithm to extract the current frame descriptor for the current frame key points to form an N*256-dimensional current frame binary descriptor matrix; use the FAST algorithm to extract the key points of multiple historical frames, and use the BRIEF algorithm to extract the historical frame descriptors for the multiple historical frame key points to form an N*256-dimensional multiple historical frame binary descriptor matrix;

[0008] Step 3: vertically extract the current frame binary descriptor matrix to form a current frame descriptor segment vector; vertically extract 16 bits of the historical frame binary descriptor matrix to form multiple historical frame descriptor segment vectors with 16-bit integers as elements; the extraction position of the current frame binary descriptor matrix is the same as the extraction position of the multiple historical frame binary descriptor matrices;

[0009] Step 4: Compare the current frame descriptor segment vector with multiple historical frame descriptor segment vectors respectively; obtain the number of times the current frame descriptor segment vector is the same as the historical frame descriptor segment vector; if the number of identical descriptor segment vectors between the current frame and the historical frame is greater than a predetermined threshold, determine that the current frame and the historical frame are looped.

[0010] Furthermore, in step 3, if the current frame and the historical frame have more than 30 identical descriptor segment vectors, it is determined that the current frame and the historical frame are looped.

[0011] Furthermore, in step 4, the extraction position of the binary descriptor matrix of the current frame is the same as the extraction position of the binary descriptor matrices of the multiple historical frames;

[0012] This application further proposes a loop detection method based on descriptor segment vector database query, including the following steps:

[0013] Step 1: Get the current frame and assign the current frame image ID number according to the image acquisition sequence number;

[0014] Step 2: Use the FAST algorithm to extract the key points of the current frame, and use the BRIEF algorithm to extract the current frame descriptor from the current frame key points to form an N*256-dimensional current frame binary descriptor matrix;

[0015] Step 3: vertically extract any 16 bits of the current frame binary descriptor matrix to form a current frame descriptor fragment vector with 16-bit integers as elements;

[0016] Step 4: extract the current frame descriptor segment vector and query it from the database to determine whether it is looped;

[0017] Step 5: insert the current frame descriptor segment vector and the current frame image ID number into the database;

[0018] Step 6: Set the current frame as the historical frame.

[0019] Further, step four is as follows:

[0020] Extract the current frame descriptor segment vector. Each value in the vector is a query index of the database. The image ID number corresponding to each value in the descriptor segment vector is queried in the database in turn, and the number of repeated occurrences of each identical image ID is counted. The number of repetitions is the number of times the current frame image is identical to the descriptor segment vectors of multiple historical frames in the database. If the number of times the current frame image is identical to a historical frame descriptor segment vector in the database is greater than 30, it is determined to be a loop.

[0021] Further, step five is as follows:

[0022] Based on the current frame descriptor segment vector and the current frame image ID number, a database is constructed in the form of key-value pairs; specifically, the current frame descriptor segment vector element is the key; the current frame image ID number vector is the value.

[0023] A second aspect of the present invention is to provide a direct comparison loop detection device, characterized in that it includes:

[0024] an acquisition module, configured to acquire a current frame and a plurality of historical frames corresponding to the current frame;

[0025] The processing module is configured to extract key points of the current frame using the FAST algorithm, extract current frame descriptors from the key points of the current frame using the BRIEF algorithm to form an N*256-dimensional current frame binary descriptor matrix; extract key points of multiple historical frames using the FAST algorithm, extract historical frame descriptors from the key points of the multiple historical frames using the BRIEF algorithm to form multiple N*256-dimensional historical frame binary descriptor matrices;

[0026] The extraction module is configured to vertically extract 16 bits of a current frame binary descriptor matrix to form a current frame descriptor segment vector with 16-bit integers as elements; vertically extract 16 bits of a historical frame binary descriptor matrix to form a historical frame descriptor segment vector with 16-bit integers as elements; the extraction position of the current frame binary descriptor matrix is the same as the extraction position of the plurality of historical frame binary descriptor matrices;

[0027] The judgment module is configured to compare the current frame descriptor segment vector with multiple historical frame descriptor segment vectors respectively; obtain the number of times the current frame descriptor segment vector is identical to the historical frame descriptor segment vector; if the current frame and the historical frame have more than 30 identical descriptor segment vectors; and determine that the current frame and the historical frame are looped.

[0028] This application further proposes a database query loop detection device, comprising:

[0029] The acquisition module is configured to acquire the current frame and assign an image ID number to the current frame according to the image acquisition sequence number;

[0030] The processing module is configured to extract the key points of the current frame using the FAST algorithm, and extract the current frame descriptor using the BRIEF algorithm for the key points of the current frame to form an N*256-dimensional current frame binary descriptor matrix;

[0031] an extraction module configured to vertically extract 16 bits of the current frame binary descriptor matrix to form a current frame descriptor fragment vector having 16-bit integers as elements;

[0032] A judgment module is configured to extract a current frame descriptor segment vector and query the database to determine whether a loop is formed;

[0033] An insertion module is configured to insert the current frame descriptor segment vector and the current frame image ID number into the database;

[0034] The setting module is configured to set the current frame as the historical frame.

[0035] The beneficial effects achieved by the present invention are as follows: the present invention can realize the dynamic construction of a database, and by querying the database, obtain the number of times the image descriptor segment vector in the database is the same as the current image, so as to further determine whether the current image forms a loop with the image in the database; thereby avoiding the disadvantage that the bag-of-words model needs to be pre-trained, and improving the adaptability of the loop detection algorithm.

[0036] The present invention also has the following characteristics:

[0037] 1. Extract descriptor segment vectors vertically for loop detection;

[0038] 2. Dynamically construct a database with descriptor fragment vector elements as "keys" and image ID number vectors as values, and a method for using image descriptor fragment vectors to query loops in the database. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] Figure 1 This is a schematic diagram of the binary descriptor generation principle.

[0040] Figure 2 It is a schematic diagram of pixel pair selection rules.

[0041] Figure 3 It is a schematic diagram of the existing descriptor structure.

[0042] Figure 4 It is a schematic diagram of the feature point matching principle.

[0043] Figure 5 This is a flow chart of the loop detection method based on direct comparison of descriptor segment vectors of the present invention.

[0044] Figure 6It is a schematic diagram of the descriptor segment longitudinal comparison method of the present invention.

[0045] Figure 7 This is a flow chart of the loop detection method based on descriptor segment vector database query of the present invention.

[0046] Figure 8 It is a diagram of the database dynamic construction process of the present invention.

[0047] Figure 9 It is a database structure diagram of the present invention.

[0048] Figure 10 It is a query diagram of the database of the present invention.

[0049] Figure 11 It is a schematic structural diagram of the direct comparison loop detection device of the present invention.

[0050] Figure 12 It is a schematic diagram of the database query loop detection device of the present invention.

[0051] Figure 13 This is a test diagram comparing the loop search results of the method of the present invention and DBow3. DETAILED DESCRIPTION

[0052] To facilitate those skilled in the art to understand the present invention, specific embodiments of the present invention are described below with reference to the accompanying drawings.

[0053] This application provides the following explanation of the concept of professional description.

[0054] Introduction to the loop detection algorithm based on the bag-of-words model:

[0055] The loop detection algorithm based on the bag-of-words model is an unsupervised clustering algorithm implemented using the KMeams++ (k-means clustering algorithm). Before using this algorithm, it is necessary to first collect images of the mapping scene, then extract the feature points of all images, and calculate the descriptors corresponding to the feature points. Finally, all descriptors are clustered using the KMeam++ algorithm to generate a dictionary. In subsequent loop detection, the descriptors corresponding to the feature points of the current frame are first extracted to generate word vectors, and then the pre-generated dictionary is consulted to find the corresponding loop frame. The loop detection algorithm based on the bag-of-words model has high computational efficiency and can meet the real-time requirements of visual SLAM. It is currently the most widely used loop detection method.

[0056] Brief introduction of BRIEF descriptor:

[0057] Feature points are composed of two parts: key points and descriptors. Key points are relatively stable pixels in an image, such as corner points. Descriptors are used to describe the features around key points so that the same key points can be identified in different frames. The ORB feature point detection algorithm uses the BRIEF descriptor, which is a binary descriptor with high computational efficiency and is therefore widely used in visual SLAM.

[0058] BRIEF descriptor is a binary vector composed of 0 and 1, and the vector length is 128 bits, 256 bits and 512 bits. Usually, 256-bit binary descriptor is used to represent the information near the key point. The generation principle of each binary descriptor is as follows: Figure 1 As shown in the figure: a pair of pixel points A and A' are selected in the neighborhood near the key point. If the gray value of A is less than the gray value of A', the generated binary descriptor is 0, otherwise it is 1. Based on this rule, 256 pairs of pixel points are selected in the neighborhood near the key point to generate a 256-bit descriptor. The selection rule of 256 pairs of pixel points is as follows: Figure 2 As shown;

[0059] Assuming that N key points are extracted from a frame image, the number of BRIEF descriptors is also N, and each descriptor has 256 bits. Its structure is as follows Figure 3 As shown;

[0060] The similarity between the feature point descriptors of the two frames can be used to preliminarily determine whether the feature points distributed in the two frames are the same feature points, thereby forming a common viewing relationship, such as Figure 4 As shown;

[0061] If the Hamming distance between the BRIEF descriptor for keypoint 0 in image A and the BRIEF descriptor for keypoint N in image B is less than a certain threshold (an empirical value is 30, meaning there are 30 bits that differ in the binary descriptors), then it is preliminarily determined that keypoint 0 in image A and keypoint N in image B are the same. If enough feature points in images A and B form a matching relationship, the two images are similar and therefore form a loop.

[0062] The first aspect of this application is to propose a loop detection method based on direct comparison of descriptor segment vectors; Figure 5 As shown, the following steps are included:

[0063] Step 1: Obtain the current frame and multiple historical frames corresponding to the current frame;

[0064] The current frame may refer to the frame to be loop-closed detected; the multiple historical frames corresponding to the current frame may refer to frames on which loop-closed detected have been performed, and the historical frames occur before the current frame. For example, if there are three image frames and the third image frame is the current frame, then the first two image frames are the historical frames of the current frame.

[0065] Step 2: Use the FAST algorithm to extract the key points of the current frame, and use the BRIEF algorithm to extract the current frame descriptor for the current frame key points to form an N*256-dimensional current frame binary descriptor matrix; use the FAST algorithm to extract the key points of multiple historical frames, and use the BRIEF algorithm to extract the historical frame descriptors for the multiple historical frame key points to form an N*256-dimensional multiple historical frame binary descriptor matrix;

[0066] Step 3: vertically extract 16 bits of the current frame binary descriptor matrix to form a current frame descriptor segment vector with 16-bit integers as elements; vertically extract 16 bits of the historical frame binary descriptor matrix to form multiple historical frame descriptor segment vectors with 16-bit integers as elements; the extraction position of the current frame binary descriptor matrix is the same as the extraction position of the multiple historical frame binary descriptor matrices;

[0067] Step 4: Compare the current frame descriptor segment vector with multiple historical frame descriptor segment vectors respectively; obtain the number of times the current frame descriptor segment vector is the same as the historical frame descriptor segment vector; if the current frame and the historical frame have more than 30 identical descriptor segment vectors; determine that the current frame and the historical frame are looped.

[0068] The traditional BRIEF descriptor horizontal comparison method is based on the matching of key points in the current frame and the historical frame image. When the key points form enough matches, the two frames of image scenes can be judged to be similar, and the inter-frame motion of the loop can be calculated. The descriptor segment vertical comparison method adopted by the present invention does not perform feature point matching, but uses the descriptor segment vector composed of the first 16 bits of the descriptor matrix to judge the similarity between the two frames of image, and detects loops in a simpler way. Specifically, taking two frames of images as an example, the principle is as follows: Figure 6 As shown, the current frame is image A and the historical frame is image B;

[0069] In this embodiment, the first 16 bits of the descriptor (any 16 bits at the same vertical position will do) represent information about the grayscale values of 16 pairs of pixels in the neighborhood near the corresponding key point. If the first 16 bits of the descriptor m of image A and the descriptor n of image B are equal, it means that the grayscale information of the pixels surrounding the key point m in image A and the key point n in image B has a certain degree of similarity. If there are many (more than 30) identical descriptor segments between image A and image B, the similarity between the two frames is also relatively high, and it can be determined as a loop.

[0070] Furthermore, direct comparison between frames works better for adjacent frames, but it cannot solve the problem of finding loops at the far end (where the image ID interval is large). Assuming that the current SLAM system already has n images, if you want to find all loops in n images, the computational complexity is O(n 2), the calculation is too time-consuming; therefore, using traversal to find global loops is not a good choice;

[0071] To solve this problem, the present invention dynamically constructs a database, which can realize loop-back fast query and avoid traversal search; although the DBow bag-of-words model also provides a database that can be directly queried, it requires pre-collection of scene images for training, while the database of the present invention is dynamically constructed in real time and does not require pre-collection of scene images, thereby improving the adaptability of SLAM.

[0072] Furthermore, this application proposes a loop detection method based on descriptor segment vector database query

[0073] like Figure 7 As shown, the following steps are included:

[0074] Step 1: Get the current frame and assign the current frame image ID number according to the image acquisition sequence number;

[0075] Step 2: Use the FAST algorithm to extract the key points of the current frame, and use the BRIEF algorithm to extract the current frame descriptor from the current frame key points to form an N*256-dimensional current frame binary descriptor matrix;

[0076] Step 3: Extract 16 bits of the current frame binary descriptor matrix vertically (any 16 bits in the vertical direction) to form a current frame descriptor fragment vector with 16-bit integers as elements;

[0077] Step 4: extract the current frame descriptor segment vector and query it from the database to determine whether it is looped;

[0078] The specific database query method is as follows:

[0079] Extract the current frame descriptor segment vector. Each value in the vector is a query index of the database. The image ID number corresponding to each value in the descriptor segment vector is queried in the database in turn, and the number of repeated occurrences of each identical image ID is counted. The number of repetitions is the number of times the current frame image is identical to the descriptor segment vectors of multiple historical frames in the database. If the number of times the current frame image is identical to a historical frame descriptor segment vector in the database is greater than 30, it is determined to be a loop.

[0080] The following is a specific example using the current frame as image 20. The query process is as follows: Figure 10 As shown: Assume that 3 key points are extracted from image 20, and its descriptor segment vectors are 0, 1, and 65535. Query the database and count the number of times the same image ID appears. It can be concluded that image 10 appears 3 times, that is, the number of times the descriptor segment vectors of image 10 and image 20 are the same is 3.

[0081] Step 5: insert the current frame descriptor segment vector and the current frame image ID number into the database;

[0082] The database construction process is as follows:

[0083] Based on the current frame descriptor segment vector and the current frame image ID number, a database is constructed in the form of key-value pairs; specifically, the current frame descriptor segment vector elements (16-bit integers as elements) are keys; the current frame image ID number vector is the value.

[0084] The present invention uses the descriptor segment value as the database query index. A descriptor segment has 16 bits, so the query index value range is [0, 65535]. Since there may be more than one image with a certain index value, the database index corresponding value is a vector composed of image ID numbers. The database construction process is as follows: Figure 8 As shown:

[0085] Assume that the image ID number is 10, and 3 key points are extracted from the image, so the descriptors of the image are also 3; press Figure 6 Rule (step 3) Take three descriptor fragment vectors vertically. Assume that the values of the three quantities are 0, 1 and 65535 respectively. In the form of key-value pairs, insert {0 (key), 10 (value)}, {1, 10} and {65535, 10} into the database in sequence. This will complete the dynamic addition of image 10 descriptor fragment vectors. Finally, the database structure containing multi-frame image descriptor fragment vectors is as follows: Figure 9 As shown:

[0086] Step 6: Set the current frame as the historical frame.

[0087] In summary, the present invention can realize the dynamic construction of the database, and by querying the database, obtain the number of times the image descriptor segment vector in the database is the same as the current image, so as to further determine whether the current image forms a loop with the image in the database.

[0088] The second aspect of the present application proposes a loop detection device for executing the above-mentioned loop detection method based on longitudinal comparison of descriptor segments.

[0089] See also Figure 11 This embodiment proposes a direct comparison loop detection device, including:

[0090] an acquisition module, configured to acquire a current frame and a plurality of historical frames corresponding to the current frame;

[0091] The processing module is configured to extract key points of the current frame using the FAST algorithm, extract current frame descriptors from the key points of the current frame using the BRIEF algorithm to form an N*256-dimensional current frame binary descriptor matrix; extract key points of multiple historical frames using the FAST algorithm, extract historical frame descriptors from the key points of the multiple historical frames using the BRIEF algorithm to form multiple N*256-dimensional historical frame binary descriptor matrices;

[0092] The extraction module is configured to vertically extract 16 bits of the current frame binary descriptor matrix to form a current frame descriptor segment vector with 16-bit integers as elements; vertically extract 16 bits of the historical frame binary descriptor matrix to form multiple historical frame descriptor segment vectors with 16-bit integers as elements; the extraction position of the current frame binary descriptor matrix is the same as the extraction position of the multiple historical frame binary descriptor matrices;

[0093] The judgment module is configured to compare the current frame descriptor segment vector with multiple historical frame descriptor segment vectors respectively; obtain the number of times the current frame descriptor segment vector is identical to the historical frame descriptor segment vector; if the current frame and the historical frame have more than 30 identical descriptor segment vectors; and determine that the current frame and the historical frame are looped.

[0094] See also Figure 12 This embodiment provides a database query loop detection device, including:

[0095] The acquisition module is configured to acquire the current frame and assign an image ID number to the current frame according to the image acquisition sequence number;

[0096] The processing module is configured to extract the key points of the current frame using the FAST algorithm, and extract the current frame descriptor using the BRIEF algorithm for the key points of the current frame to form an N*256-dimensional current frame binary descriptor matrix;

[0097] An extraction module is configured to extract 16 bits (any 16 bits in the vertical direction) of the binary descriptor matrix of the current frame to form a current frame descriptor fragment vector with 16-bit integers as elements;

[0098] A judgment module is configured to extract a current frame descriptor segment vector and query the database to determine whether a loop is formed;

[0099] An insertion module is configured to insert the current frame descriptor segment vector and the current frame image ID number into the database;

[0100] The setting module is configured to set the current frame as the historical frame.

[0101] The specific implementation content of the third aspect of this application is to compare the performance of the loop detection method based on longitudinal comparison of descriptor segments of this application with the DBow3 bag-of-words model.

[0102] 1. Experimental environment:

[0103] Hardware: CPU is i7 processor, memory 16G;

[0104] Software: Ubuntu 18.04, DBow3 bag-of-words model

[0105] Test dataset: rgbd_dataset_freiburg1.xyz sub-dataset under the TUM dataset, which has a total of 798 images.

[0106] Comparative test with DBow3 bag-of-words model

[0107] 1) Loopback search comparison,

[0108] like Figure 13 As shown in the figure, loop search comparison uses the first 100 images in the dataset to search for loops in the entire dataset and recommends 5 loop detection results. The horizontal axis of the above figure is the image ID number, and the vertical axis is the average number of matches between the 5 recommended loops and the feature points of the current query image. The larger the value, the better the query result.

[0109] The red curve is the query result of DBow3, and the blue curve is the matching result of this patented method. It can be seen that the effects of the two algorithms are very similar.

[0110] 2) Search time comparison

[0111]

[0112] The time consumed in searching the DBow3 bag-of-words model is mainly spent on constructing word vectors, but the search speed using the constructed word vectors is very fast; the direct comparison method of descriptor fragments does not require the construction of word vectors similar to the bag-of-words model, but only requires the dynamic insertion of the descriptor fragment vectors directly into the dictionary, thus saving a lot of time; finally, the total time consumed by the single-frame image loop closure detection of this patent is less than that of the DBow3 model loop closure detection method.

[0113] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein; the specification and examples are to be regarded as exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.

[0114] The above-described embodiments of the present invention do not limit the scope of protection of the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included in the scope of protection of the claims of the present invention.

Claims

1. A loop closure detection method based on direct comparison of descriptor segment vectors, characterized in that: The steps include: Step 1: Obtain the current frame and multiple historical frames corresponding to the current frame; Step 2: Use the FAST algorithm to extract the key points of the current frame, and use the BRIEF algorithm to extract the current frame descriptor for the current frame key points to form an N*256-dimensional current frame binary descriptor matrix; use the FAST algorithm to extract the key points of multiple historical frames, and use the BRIEF algorithm to extract the historical frame descriptors for the multiple historical frame key points to form an N*256-dimensional multiple historical frame binary descriptor matrix; Step 3: vertically extract the current frame binary descriptor matrix to form a current frame descriptor segment vector; vertically extract 16 bits of the historical frame binary descriptor matrix to form multiple historical frame descriptor segment vectors with 16-bit integers as elements; the extraction position of the current frame binary descriptor matrix is the same as the extraction position of the multiple historical frame binary descriptor matrices; Step 4: Compare the current frame descriptor segment vector with multiple historical frame descriptor segment vectors respectively; obtain the number of times the current frame descriptor segment vector is the same as the historical frame descriptor segment vector; if the number of identical descriptor segment vectors between the current frame and the historical frame is greater than a predetermined threshold, determine that the current frame and the historical frame are looped.

2. The loop closure detection method based on direct comparison of descriptor segment vectors according to claim 1, characterized in that: In the step 3, if the current frame and the historical frame have more than 30 identical descriptor segment vectors, it is determined that the current frame and the historical frame are looped.

3. The loop closure detection method based on direct comparison of descriptor segment vectors according to claim 1, characterized in that: In the step 4, the extraction position of the binary descriptor matrix of the current frame is the same as the extraction position of the binary descriptor matrices of multiple historical frames.

4. A loop closure detection method based on descriptor segment vector database query, characterized by: The steps include: Step 1: Get the current frame and assign the current frame image ID number according to the image acquisition sequence number; Step 2: Use the FAST algorithm to extract the key points of the current frame, and use the BRIEF algorithm to extract the current frame descriptor from the current frame key points to form an N*256-dimensional current frame binary descriptor matrix; Step 3: vertically extract any 16 bits of the current frame binary descriptor matrix to form a current frame descriptor fragment vector with 16-bit integers as elements; Step 4: extract the current frame descriptor segment vector and query it from the database to determine whether it is looped; Step 5: insert the current frame descriptor segment vector and the current frame image ID number into the database; Step 6: Set the current frame as the historical frame.

5. The loop closure detection method based on descriptor segment vector database query according to claim 4, characterized in that: The step 4 is specifically as follows: Extract the current frame descriptor segment vector. Each value in the vector is a query index of the database. The image ID number corresponding to each value in the descriptor segment vector is queried in the database in turn, and the number of repeated occurrences of each identical image ID is counted. The number of repetitions is the number of times the current frame image is identical to the descriptor segment vectors of multiple historical frames in the database. If the number of times the current frame image is identical to a historical frame descriptor segment vector in the database is greater than 30, it is determined to be a loop.

6. The loop closure detection method based on descriptor segment vector database query according to claim 4, characterized in that: The step five is specifically as follows: Based on the current frame descriptor segment vector and the current frame image ID number, a database is constructed in the form of key-value pairs; specifically, the current frame descriptor segment vector element is the key; the current frame image ID number vector is the value.

7. A direct comparison loop detection device, characterized in that: include: an acquisition module, configured to acquire a current frame and a plurality of historical frames corresponding to the current frame; The processing module is configured to extract key points of the current frame using the FAST algorithm, extract current frame descriptors from the key points of the current frame using the BRIEF algorithm to form an N*256-dimensional current frame binary descriptor matrix; extract key points of multiple historical frames using the FAST algorithm, extract historical frame descriptors from the key points of the multiple historical frames using the BRIEF algorithm to form multiple N*256-dimensional historical frame binary descriptor matrices; The extraction module is configured to vertically extract 16 bits of a current frame binary descriptor matrix to form a current frame descriptor segment vector with 16-bit integers as elements; vertically extract 16 bits of a historical frame binary descriptor matrix to form a historical frame descriptor segment vector with 16-bit integers as elements; the extraction position of the current frame binary descriptor matrix is the same as the extraction position of the plurality of historical frame binary descriptor matrices; The judgment module is configured to compare the current frame descriptor segment vector with multiple historical frame descriptor segment vectors respectively; obtain the number of times the current frame descriptor segment vector is identical to the historical frame descriptor segment vector; if the current frame and the historical frame have more than 30 identical descriptor segment vectors; and determine that the current frame and the historical frame are looped.

8. A database query loop detection device, characterized in that: include: The acquisition module is configured to acquire the current frame and assign an image ID number to the current frame according to the image acquisition sequence number; The processing module is configured to extract the key points of the current frame using the FAST algorithm, and extract the current frame descriptor using the BRIEF algorithm for the key points of the current frame to form an N*256-dimensional current frame binary descriptor matrix; an extraction module configured to vertically extract 16 bits of the current frame binary descriptor matrix to form a current frame descriptor fragment vector having 16-bit integers as elements; A judgment module is configured to extract a current frame descriptor segment vector and query the database to determine whether a loop is formed; An insertion module is configured to insert the current frame descriptor segment vector and the current frame image ID number into the database; The setting module is configured to set the current frame as the historical frame.

Citation Information

Patent Citations

  • Method and apparatus for receiving an insurance quote from an image

    US9589202B1

  • Visual slam-based grid operating environment map construction method and system

    WO2020233724A1