A key frame-based mobile robot efficient closed loop detection method
By combining inter-frame motion and scene-sensitive information, the loop closure detection state is adaptively switched, optimizing the keyframe selection and detection process of the visual SLAM system. This solves the problems of wasted computing resources and detection accuracy in the visual SLAM system, and achieves efficient loop closure detection.
Patent Information
- Application Number
- CN202211476340.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-23
- Publication Date
- 2025-12-23
- Estimated Expiration
- 2042-11-23
AI Technical Summary
Existing visual SLAM systems suffer from significant computational resource waste in loop closure detection, and the equidistant screening method struggles to meet robustness requirements in dynamic environments, impacting detection accuracy.
By combining motion and scene-sensitive information between image frames, the loop closure detection state is adaptively switched. Semantic segmentation and visual word vector matching are used to optimize the key frame selection and loop closure detection process, reducing redundant calculations.
This improves the efficiency of keyframe selection and the accuracy of loop closure detection, reduces the system's computational load, and enhances the real-time performance and resource utilization of the SLAM system.
Smart Images

Figure CN115797828B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of robots, and particularly relates to a key frame-based efficient closed loop detection method for mobile robots. BACKGROUND
[0002] Autonomous mobile robots are increasingly widely used in production and life, and as a key technology, their positioning and map construction (Simultaneous Localization and Mapping, SLAM) have developed rapidly.
[0003] Common SLAM systems can be divided into laser SLAM and visual SLAM (V-SLAM) due to the use of different sensors. Among them, V-SLAM uses a visual sensor as the only input sensor, such as a monocular camera, a binocular camera (stereo camera), an RGB-D camera, a fisheye camera, and an event camera. As for the V-SLAM system itself, the current mainstream system framework includes front-end pose estimation, back-end optimization, closed loop detection, and map construction modules.
[0004] In the continuous operation of the robot device, the prediction error caused by the limitation of the front-end algorithm will also continue to accumulate, and this cumulative error will affect the robot's estimation of the position and the construction of the map. Closed loop detection is one of the mainstream methods to solve the problem of cumulative error. The robot can judge whether it returns to a place it has been to through closed loop detection, and can correct the cumulative error according to the position of the closed loop to make the robot get a globally consistent estimation result.
[0005] Since the SLAM system is mainly used in the fields of automatic driving and robot navigation, it has certain requirements for the real-time performance of the system, and the data storage space is limited. Therefore, it is not possible to save the historical data frame by frame, and it is necessary to select and further store the images obtained by the sensor according to a certain screening strategy. When making the judgment of closed loop detection, only the saved historical data is used. Therefore, the screening strategy of the key frame directly affects the accuracy of the closed loop detection. The most common key frame saving is the equidistant screening method based on equal time intervals, but when there are dynamic object interference, camera speed or angle changes, etc. in the environment, the equidistant screening method is difficult to meet the robustness requirements of the SLAM system to environmental interference. At the same time, since the carrier is running in reality, the closed loop does not occur frequently. It is extremely wasteful of computing resources to always maintain frame-by-frame detection based on all historical data for each output image, and this situation will become more serious as the running time increases.
[0006] Therefore, a key frame-based mobile robot efficient loop closure detection method is proposed, and the state of loop closure detection is changed by using the environmental information in the actual scene, so that the calculation cost required by the loop closure detection system can be effectively reduced. SUMMARY
[0007] The present application aims at the above-mentioned problems, and proposes a key frame-based mobile robot efficient loop closure detection method, which can effectively improve the key frame selection result and the loop closure detection efficiency on the basis of ensuring the loop closure detection accuracy.
[0008] To achieve the above-mentioned purposes, the technical solutions adopted by the present application are as follows:
[0009] The key frame-based mobile robot efficient loop closure detection method proposed by the present application comprises:
[0010] S1, acquiring an image frame collected by a mobile robot;
[0011] S2, extracting key points and descriptors of the current image frame by using a visual odometer, and performing pose estimation on the current image frame and its adjacent image frame through feature matching, wherein the pose estimation comprises a rotation angle change Δθ and a displacement change Δδ between the adjacent image frames;
[0012] S3, converting the current image frame into a semantic graph by using a semantic segmentation network to obtain a semantic segmentation result;
[0013] S4, taking a first image frame collected when the mobile robot is running as a key frame, and extracting the remaining key frames according to the pose estimation and the semantic segmentation result, and the process is as follows:
[0014] S41, calculating the cumulative sum ∑Δθ of the rotation angle change Δθ and the cumulative sum ∑Δδ of the displacement change Δδ between the current image frame and the nearest key frame, and determining whether any one of ∑Δθ and ∑Δδ exceeds a first preset threshold, if yes, executing step S42, otherwise, directly taking the current image frame as a key frame, and executing step S5;
[0015] S42, calculating the pixel proportion of a dynamic sensitive object in the current image frame according to the semantic segmentation result of the current image frame;
[0016] S43, determining whether the pixel proportion of the dynamic sensitive object in the current image frame exceeds a proportion threshold, if yes, taking a previous interval frame of the current image frame as a key frame, and taking a next interval frame as a pending key frame, and taking the pending key frame as the current image frame, returning to execute step S42, wherein the interval frame number of the previous interval frame and the next interval frame is a second preset threshold, otherwise, directly taking the current image frame as a key frame, and executing step S5;
[0017] S5, input the key points and descriptors of each key frame into the BoW model to convert into corresponding visual word vectors, and store the visual word vectors in the historical data set;
[0018] S6, perform loop closure detection on the current image frame to obtain a loop closure detection result, i.e., calculate the similarity between the visual word vector of the current image frame and the remaining visual word vectors in the historical data set, and take the key frame with the largest similarity as the loop closure frame;
[0019] S7, switch the loop closure detection state according to the loop closure detection result, the loop closure detection state including a loop closure detection continuous state and a loop closure detection search state, and the specific operations are as follows:
[0020] S71, adaptively switch the loop closure detection search state, the loop closure detection search state including a high attention state and a low attention state, in the high attention state, loop closure detection is performed on each image frame, and in the low attention state, loop closure detection is performed on image frames with an interval of a third preset threshold;
[0021] S72, determine the loop closure detection continuous state, the loop closure detection continuous state including a continuous state, a non-continuous state and a pending state, when adjacent image frames are continuously searched as loop closure frames, the continuous state is determined, and the loop closure detection search range of the historical data set of the next image frame is set as a preset frame number range before and after the current image frame, when image frames are not searched as loop closure frames, it is considered that the continuous state is interrupted, the pending state is determined, and the loop closure detection search range of the historical data set is reset to a full range, and when multiple image frames are not searched as loop closure frames, the non-continuous state is determined, and the loop closure detection search range of the historical data set is kept as the full range.
[0022] Preferably, the pose estimation by feature matching adopts an epipolar geometry method.
[0023] Preferably, the similarity is obtained based on a norm calculation.
[0024] Preferably, the loop closure detection search state is adaptively switched, and the following operations are performed:
[0025] S721, when the mobile robot is started for the first time, the high attention state is switched, and a key frame at which loop closure detection occurs or a road intersection is obtained, and the position of the key frame at this time is recorded as a1;
[0026] S722, in the continuous state, the high attention state is always kept, when the first continuous state is exited, the position of the key frame at this time is recorded as b1, and the low attention state is switched, and the state conversion interval is
[0027]
[0028] S723, in the ith consecutive state, the position of the start key frame of the continuous closed loop is obtained i and the position of the end key frame is β i The corresponding state self-transition interval is
[0029]
[0030] In the formula, ε j The jth state self-transition interval is α j The position of the start key frame of the jth consecutive state is β j-1 The position of the end key frame of the j-1th consecutive state is i and j are positive integers.
[0031] S724, save the state self-transition interval of each time to the historical data set, and according to the regularity of the state self-transition interval, predict the future ε i No closed loop occurs in the frame, and the low attention state is switched to, and the high attention state is switched back after the low attention state ends.
[0032] Preferably, the adaptive switching closed loop detection retrieval state also performs the following operations:
[0033] Determine whether a closed loop occurs in the low attention state, if yes, call back the start position of the current image frame as the position where the closed loop occurs, and update the record of the state self-transition interval data in the historical data set.
[0034] Compared with the prior art, the beneficial effects of the present application are:
[0035] The method improves the existing visual SLAM closed loop detection module based on key frame extraction, and the key frame is selected by combining the motion between image frames and sensitive information in the scene to avoid excessive information redundancy between image frames, so that the efficiency of key frame selection is guaranteed, and the state of detection is adaptively switched according to the continuous state of closed loop detection and the scene information of the current scene, which can effectively save the calculation amount in the system running process, and can effectively improve the key frame selection result and closed loop detection efficiency of the system on the basis of ensuring the accuracy of closed loop detection. BRIEF DESCRIPTION OF DRAWINGS
[0036] Figure 1 The flowchart of the efficient closed loop detection method of the mobile robot based on key frames of the present application;
[0037] Figure 2 The extraction flowchart of the key frame of the present application;
[0038] Figure 3 The switching flowchart of the closed loop detection continuous state of the present application;
[0039] Figure 4 Switching flow chart of closed loop detection search state of the application. DETAILED DESCRIPTION
[0040] The technical solutions in the embodiments of the application will be apparently and completely described below with the drawings in the embodiments of the application. Obviously, the described embodiments are only part of the embodiments of the application, rather than all the embodiments. Based on the embodiments in the application, all the other embodiments obtained by those skilled in the art without creative work belong to the protection scope of the application.
[0041] It should be noted that, unless otherwise defined, all the technical and scientific terms used herein have the same meanings as commonly understood by those skilled in the technical field of the application. The terms used in the specification of the application are only for the purpose of describing the specific embodiments and are not intended to limit the application.
[0042] As shown in the figure, a key frame-based mobile robot efficient closed loop detection method comprises: Figures 1-4
[0043] S1, acquiring an image frame collected by a mobile robot.
[0044] S2, extracting key points and descriptors of the current image frame by using a visual odometer, and performing pose estimation on the current image frame and its adjacent image frame through feature matching, wherein the pose estimation comprises a rotation angle change Δθ and a displacement change Δδ between the adjacent image frames.
[0045] In an embodiment, the pose estimation through feature matching adopts an epipolar geometry method.
[0046] S3, converting the current image frame into a semantic graph by using a semantic segmentation network to obtain a semantic segmentation result.
[0047] S4, recording a first image frame collected during the running of the mobile robot as a key frame, and extracting the remaining key frames according to the pose estimation and the semantic segmentation result, the process being as follows:
[0048] S41, calculating the cumulative sum ∑Δθ of the rotation angle change Δθ and the cumulative sum ∑Δδ of the displacement change Δδ between the current image frame and the nearest key frame, and judging whether any one of ∑Δθ and ∑Δδ exceeds a first preset threshold, if yes, executing step S42, otherwise, directly recording the current image frame as a key frame and executing step S5.
[0049] S42, calculating the pixel proportion of dynamic sensitive objects in the current image frame according to the semantic segmentation result of the current image frame.
[0050] S43, judge whether the pixel proportion of the dynamic sensitive object in the current image frame exceeds the proportion threshold, if yes, record the previous interval frame of the current image frame as a key frame, record the next interval frame as a pending key frame, and take the pending key frame as the current image frame, return to execute step S42, the interval frame number of the previous interval frame and the next interval frame is the second preset threshold, otherwise, directly record the current image frame as a key frame, execute step S5.
[0051] First, calculate the relative motion of the current image frame relative to the previous key frame (i.e. the most recent key frame), perform motion determination, the process is as follows:
[0052] For two consecutive image frames I1 and I2, the rotation angle change Δθ and displacement change Δδ between the two image frames can be obtained by visual odometry. After the SLAM system (such as including a camera and a visual odometry) of the mobile robot starts to run, the first image frame is recorded as the first frame key frame, then the rotation angle change Δθ and displacement change Δδ between the consecutive image frames are gradually accumulated, and the cumulative sums are denoted as ∑Δθ and ∑Δδ respectively. When any one of ∑Δθ and ∑Δδ exceeds the first preset threshold, the current image frame is recorded as a key frame, and the current new key frame is taken as the new start to record the cumulative sums ∑Δθ and ∑Δδ again. By using the epipolar geometry method between two-dimensional images (i.e. 2D-2D), the pose transformation between adjacent image frames can be calculated.
[0053] According to the cumulative sums calculated above, judge whether the position change of the current image frame from the previous key frame exceeds the first preset threshold, if not, directly record the current image frame as a key frame, and perform the next key frame judgment in the subsequent; if it exceeds the first preset threshold, continue to determine the dynamic sensitive object according to the semantic segmentation result obtained from the current image frame, and calculate the pixel proportion occupied by the dynamic sensitive object. According to the camera motion change and the dynamic sensitive object as a composite decision, that is, using motion determination and dynamic sensitive object determination as the key frame extraction strategy, finally decide whether a certain image frame is a key frame, the specific process is as shown in Figure 2 .
[0054] S5, input the key points and descriptors of each key frame into the BoW model to convert into corresponding visual word vectors, and store the visual word vectors into the historical data set.
[0055] After obtaining the key frame, input the feature extraction result (key points and descriptors) of the key frame into the BoW model to convert into corresponding visual word vectors, and further store them into the historical data set, and perform loop closure detection, that is, calculate the similarity between visual word vectors according to a norm, and the key frame with the maximum similarity in the historical data set is identified as a loop closure frame. After obtaining a new image frame, also convert its feature extraction result into a visual word vector by the BoW model and calculate the loop closure detection.
[0056] S6, performing loop closure detection on the current image frame to obtain a loop closure detection result, i.e., calculating the similarity between the visual word vector of the current image frame and the visual word vectors in the historical data set, and taking the key frame with the largest similarity as the loop closure frame.
[0057] In an embodiment, the similarity is obtained based on a norm calculation.
[0058] S7, switching the loop closure detection state according to the loop closure detection result, the loop closure detection state including a loop closure detection continuous state and a loop closure detection search state, and the switching being specifically as follows:
[0059] S71, adaptively switching the loop closure detection search state, the loop closure detection search state including a high attention state and a low attention state, in the high attention state, performing loop closure detection on each image frame, and in the low attention state, performing loop closure detection on the image frames with an interval of a third preset threshold.
[0060] In an embodiment, the loop closure detection search state is adaptively switched, and the following operations are performed:
[0061] S721, when the mobile robot is started for the first time, switching to the high attention state, and obtaining a key frame at which a loop closure occurs or a first frame, recording the position of the key frame as a1 at this time;
[0062] S722, always keeping the high attention state in the continuous state, recording the position of the key frame as b1 at this time when the first continuous state is exited, and switching to the low attention state, and recording the state self-transition interval as
[0063]
[0064] S723, in the ith continuous state, obtaining the position a i of the starting key frame and the position b i of the ending key frame of the continuous loop, and the corresponding state self-transition interval being
[0065]
[0066] In the formula, ε j is the jth state self-transition interval, a j is the position of the starting key frame of the jth continuous state, b j-1 is the position of the ending key frame of the (j-1)th continuous state, and i and j are positive integers.
[0067] S724, saving the state self-transition interval each time to the historical data set, and predicting the future ε iIntra-frame does not occur closed loop and switches to low attention state, and switches back to high attention state after low attention state ends.
[0068] In an embodiment, the adaptive switching closed loop detection retrieval state also performs the following operations:
[0069] Determine whether a closed loop occurs in the low attention state, if yes, recall the starting position of the current image frame as the position where the closed loop occurs, and update the record of the state self-transition interval data in the historical data set.
[0070] The closed loop detection retrieval state is divided into high attention state and low attention state. The high attention state represents that closed loop detection is performed on each newly acquired frame, and the low attention state performs closed loop detection on the newly acquired key frame according to certain screening, such as screening out image frames with an interval frame number of a third preset threshold. The two states are adaptively switched to save computing resources.
[0071] With the running of the mobile robot, the regularity of the passed closed loop detection is gradually recorded and used as the basis for determining the next state, that is, by saving the state self-transition interval of each time to the historical data set, and gradually obtaining the interval regularity of the scene where the mobile robot is located. After the current closed loop detection ends, the future ε i frame does not occur closed loop and switches to low attention state, and switches to high attention state after the predicted ε i frame ends. It should be noted that the acquired image frames can be reported in batches, and the current image frame is specified for closed loop detection.
[0072] Because the interval regularity may have small or large intervals, it is difficult to meet the requirements of all intervals. To ensure that no closed loop is lost, the current detection state is adjusted in time through the judgment of the intersection and the results of the interval closed loop detection, and when a closed loop occurs in the low attention state (i.e., when the prediction fails), because there are several frames that are not checked between two image frames in the low attention state, these originally undetected image frames need to be rechecked in time, and the starting position (the position of the starting key frame) of the detection frame is recalled to the position where the closed loop occurs, and the record of the state self-transition interval is updated in the historical data set, such as Figure 4 .
[0073] When the mobile robot is first started, there may be a long time without loop closure. At this time, the "intersection" information is also treated as loop closure information. The intersection can be obtained by image semantic information (semantic segmentation results), such as road information (traffic lights, traffic signs, and zebra crossings, etc.) to determine the road shape, which can effectively record the scene rules without loop closure. In addition, in the continuous state, if the condition for exiting the continuous state is not triggered, the mobile robot always works in a high attention state to prevent accidental misjudgment of loop closure detection, which leads to incorrect recording and use of historical data.
[0074] S72, determine the loop closure detection continuous state, the loop closure detection continuous state includes continuous state, non-continuous state and pending state, when the adjacent image frames are continuously searched as loop closure frames, it is determined as continuous state and the loop closure detection search range of the historical data set of the next image frame is set as the preset frame number range before and after the current image frame, when the image frames are not searched as loop closure frames, it is considered that the continuous state is interrupted, it is determined as pending state and the loop closure detection search range of the historical data set is reset to full range, when multiple image frames are not searched as loop closure frames, it is determined as non-continuous state and the loop closure detection search range of the historical data set is kept as full range.
[0075] Among them, the loop closure detection continuous state is set as three states: continuous state, non-continuous state and pending state. The continuous state represents the state of continuously occurring loop closure determined by the current mobile robot returning to a path that has been traveled before. The non-continuous state represents the state of not continuously occurring loop closure determined by the current mobile robot not returning to a path that has been traveled before. To ensure correct detection of all loop closure true values in actual operation, the pending state is added here to prevent frequent switching of detection states. For example, when the mobile robot is in the continuous state, if the current image frame is not searched as a loop closure frame, the state is switched to the pending state, and the loop closure detection search range of the historical data set is reset to full range. When the mobile robot is in the pending state, if the current image frame is searched as a loop closure frame, the state is switched to the continuous state, and the loop closure detection search range of the historical data set is set as the preset frame number range before and after the current image frame. When the mobile robot is in the non-continuous state, if the current image frame is searched as a loop closure frame, the state is switched to the continuous state, and the loop closure detection search range of the historical data set is set as the preset frame number range before and after the current image frame. Figure 3As shown, by judging the continuity of the closed loop detection result, when the image frames in adjacent historical data sets are continuously searched as closed loop frames, it is determined that the continuous closed loop state occurs, and the search range of the historical data is switched, and the closed loop detection search range of the historical data set of the next image frame is set to the preset frame number range before and after the current image frame, such as the previous 20 frames and the next 20 frames of the current image frame. Each time a closed loop occurs, the continuous flag is incremented by 1, the non-continuous flag is equal to M, and the initial value of the continuous flag is equal to 0. When the continuous flag accumulates is greater than or equal to n, such as n = 2, it is determined that the continuous state occurs. If the continuous state is interrupted, such as the image frame does not occur closed loop, it is considered that the interruption occurs. Each time the interruption occurs, the non-continuous flag is decremented by 1, and the initial value of the non-continuous flag is equal to M. Here, M = 3, and the value of M can be set according to actual needs. Temporarily enter the pending state, and switch to the non-continuous state after multiple interruptions occur again, that is, switch to the non-continuous state when the non-continuous flag is less than or equal to 1. In the pending state and the non-continuous state, the closed loop detection search range of the historical data set is the full range.
[0076] For the case where the mobile robot re-passes a historical position from different directions, only a short continuous closed loop occurs at the closed loop position, and relative to the complete driving process, the occurrence of the closed loop is only a small probability event. For non-indoor operation such as road driving, after detecting the occurrence of a closed loop, a new closed loop generally does not occur immediately. This phenomenon essentially depends on the closed loop occurrence of the road scene, which has only three kinds: driving in the same direction again, driving in the opposite direction again, and passing through a road intersection. For the first two kinds, the above-mentioned search range change based on the continuous state can reduce the calculation cost to a certain extent, and for the third kind, it can be solved by a joint triggering and screening strategy based on adaptive historical data and image semantic information.
[0077] The method improves the existing visual SLAM closed loop detection module based on key frame extraction. The key frame selection combines the motion between image frames and sensitive information in the scene to avoid excessive information redundancy between image frames, thereby ensuring the efficiency of key frame selection. Meanwhile, according to the judgment of the continuous state of the closed loop detection and the recording of the scene information of the current scene, the state of the detection is adaptively switched, which can effectively save the calculation amount in the system running process, and can effectively improve the key frame selection result and the closed loop detection efficiency of the system on the basis of ensuring the accuracy of the closed loop detection.
[0078] The technical features of the above-described embodiments can be combined in any manner, and the order of steps can be adjusted according to actual needs. In order to make the description simple, not all possible combinations of technical features in the above-described embodiments are described, but as long as the combinations of these technical features do not exist contradictory, they should be considered as the scope of the present disclosure.
[0079] The above described embodiments only express the more specific and detailed embodiments of the present application, but are not construed as limiting the scope of the application. It should be noted that for those skilled in the art, without departing from the concept of the present application, a number of modifications and improvements can be made, which are all within the scope of the present application. Therefore, the scope of the patent protection of the present application should be subject to the appended claims.
Claims
1. A keyframe-based mobile robot efficient loop closure detection method, characterized in that: The key frame-based mobile robot efficient loop closure detection method comprises the following steps: S1, acquiring an image frame collected by a mobile robot; S2, extracting key points and descriptors of the current image frame by using a visual odometer, and performing pose estimation on the current image frame and its adjacent image frame through feature matching, wherein the pose estimation comprises a rotation angle change Δθ and a displacement change Δδ between adjacent image frames; S3, converting the current image frame into a semantic graph by using a semantic segmentation network to obtain a semantic segmentation result; S4, taking a first image frame collected by the mobile robot as a key frame, and extracting the remaining key frames according to the pose estimation and the semantic segmentation result, the process being as follows: S41, calculating the cumulative sum ∑Δθ of the rotation angle change Δθ and the cumulative sum ∑Δδ of the displacement change Δδ between the current image frame and the nearest key frame, and determining whether any one of ∑Δθ and ∑Δδ exceeds a first preset threshold, if yes, executing step S42, otherwise, directly taking the current image frame as a key frame, and executing step S5; S42, calculating the pixel proportion of a dynamic sensitive object in the current image frame according to the semantic segmentation result of the current image frame; S43, determining whether the pixel proportion of the dynamic sensitive object in the current image frame exceeds a proportion threshold, if yes, taking a previous interval frame of the current image frame as a key frame, and a next interval frame as a pending key frame, and taking the pending key frame as the current image frame, and returning to execute step S42, wherein the interval frame number of the previous interval frame and the next interval frame is a second preset threshold, otherwise, directly taking the current image frame as a key frame, and executing step S5; S5, inputting the key points and the descriptors of each key frame into a BoW model to convert into corresponding visual word vectors, and storing the visual word vectors into a historical data set; S6, performing loop closure detection on the current image frame to obtain a loop closure detection result, that is, calculating the similarity between the visual word vector of the current image frame and the remaining visual word vectors in the historical data set, and taking the key frame with the maximum similarity as a loop closure frame; S7, switching a loop closure detection state according to the loop closure detection result, wherein the loop closure detection state comprises a loop closure detection continuous state and a loop closure detection search state, and the details are as follows: S71, adaptively switching the loop closure detection search state, wherein the loop closure detection search state comprises a high attention state and a low attention state, in the high attention state, performing loop closure detection on each image frame, and in the low attention state, performing loop closure detection on image frames with an interval frame number of a third preset threshold; S72, determining the loop closure detection continuous state, wherein the loop closure detection continuous state comprises a continuous state, a non-continuous state and a pending state, when adjacent image frames are continuously searched as loop closure frames, the continuous state is determined, and the loop closure detection search range of the historical data set of the next image frame is set as a preset frame number range before and after the current image frame, when image frames are not searched as loop closure frames, it is considered that the continuous state is interrupted, the pending state is determined, and the loop closure detection search range of the historical data set is reset to a full range, and when multiple image frames are not searched as loop closure frames, the non-continuous state is determined, and the loop closure detection search range of the historical data set is kept as the full range.
2. The keyframe-based mobile robot efficient loop closure detection method of claim 1, wherein: The pose estimation by feature matching adopts an epipolar geometry method.
3. The keyframe-based mobile robot efficient loop closure detection method of claim 1, wherein: The similarity is obtained based on a norm calculation.
4. The keyframe-based mobile robot efficient loop closure detection method of claim 1, wherein: The adaptive switching loop closure detection searching state performs the following operations: S721, when the mobile robot is started for the first time, switch to the high attention state, and obtain the first frame of the key frame where the loop closure detection or the intersection occurs, record the position of the key frame at this time as α1; S722, always keep the high attention state in the continuous state, record the position of the key frame at this time as β1 when the first continuous state is exited, and switch to the low attention state, and record the state self-conversion interval as S723、In the ith continuous state, the position a of the starting key frame of the continuous closed loop is obtained i and the position b of the ending key frame i The corresponding state self-transition interval is In the formula, ε j is the jth state self-transition interval, α j is the position of the starting key frame of the jth consecutive state, β j-1 is the position of the ending key frame of the j-1th consecutive state, i and j are positive integers. S724, save the state self-transition interval of each time to the historical data set, and according to the regularity of the state self-transition interval, predict the future ε after the current closed loop detection ends i Intraframe does not occur closed loop and switches to low attention state, and switches back to high attention state after the low attention state ends.
5. The keyframe-based mobile robot efficient loop closure detection method of claim 4, wherein: The adaptive switching loop closure detection searching state further performs the following operations: determine whether the loop closure is detected in the low attention state, if yes, recall the start position of the current image frame as the position where the loop closure occurs, and update the record of the state self-conversion interval data in the historical data set.
Citation Information
Patent Citations
SLAM closed loop detection method based on particle swarm optimization algorithm
CN107563308A
Distribution network routing inspection method combining high-precision positioning of the unmanned aerial vehicle and visual tracking technology
CN113485441A