A method and device for verifying a repositioned pose, an electronic device, and a storage medium

By calculating the difference between the relative positioning pose and the odometer pose of the smart mobile device, the accuracy of the repositioning pose is verified, which solves the mismatch problem of smart mobile devices during repositioning and improves the stability and accuracy of the device.

CN117804501BActive Publication Date: 2026-07-07HANGZHOU HIKVISION DIGITAL TECHNOLOGY CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HANGZHOU HIKVISION DIGITAL TECHNOLOGY CO LTD
Filing Date
2023-12-28
Publication Date
2026-07-07

Smart Images

  • Figure CN117804501B_ABST
    Figure CN117804501B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a method and device for checking repositioning pose, electronic equipment and storage medium. The method comprises: obtaining a current odometer pose corresponding to a current positioning frame of the smart mobile device each time a current repositioning pose corresponding to the current positioning frame is obtained; calculating a relative positioning pose between the current repositioning pose and a previous repositioning pose in a first window; calculating a relative odometer pose between the current odometer pose and a previous odometer pose in a second window; determining a difference between the relative positioning pose and the relative odometer pose as a pose difference corresponding to the current repositioning pose; and checking the current repositioning pose based on the pose differences corresponding to a first preset number of repositioning poses included in the first window to obtain a checking result. By checking the repositioning pose, the influence of false positioning on the stable operation of the smart mobile device is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of automatic navigation and positioning technology, and in particular to a method, apparatus, electronic device and storage medium for verifying repositioning pose. Background Technology

[0002] With the continuous development of artificial intelligence technology, intelligent mobile devices such as mobile robots, which can automatically navigate and locate based on vision, are widely used in various scenarios. For example, in factories, inspection robots are used for site inspection; in homes, robot vacuum cleaners are used to clean the floors.

[0003] Typically, smart mobile devices move and complete assigned tasks based on pre-built maps in a work environment. However, in many cases, smart mobile devices may lose their pose relative to the map. For example, if a smart mobile device working in a map area is moved to another location in that map area or removed from the map area, the mobile robot may lose its positioning; or, for example, positioning loss may occur when a smart mobile device restarts.

[0004] When a smart mobile device loses its localization, it needs to determine its pose relative to the map through visual localization, i.e., repositioning. The smart mobile device can use its onboard image acquisition device to capture images and perform feature matching between the captured images and the map. Then, based on the matching results, it calculates the repositioning pose of the mobile robot. However, due to the possibility of similar environmental textures across multiple modeling frames on the map, or the smart mobile device being outside the map area, mismatches can occur, leading to incorrect repositioning poses and affecting the stable operation of the smart mobile device. Therefore, a method for verifying the repositioning pose obtained through visual localization is urgently needed. Summary of the Invention

[0005] The purpose of this application is to provide a method, apparatus, electronic device, and storage medium for verifying repositioning poses, thereby reducing the impact of mispositioning on the stable operation of smart mobile devices. The specific technical solution is as follows:

[0006] In a first aspect, embodiments of this application provide a method for verifying repositioning pose, the method comprising:

[0007] When acquiring the current relocation pose corresponding to the current positioning frame of the smart mobile device, acquire the current odometer pose corresponding to the current positioning frame.

[0008] The relative positioning pose between the current repositioning pose and the previous repositioning pose is calculated in the first window, wherein the first window is used to store a first preset number of repositioning poses in chronological order of acquisition time.

[0009] The relative odometer pose between the current odometer pose and the previous odometer pose is calculated in the second window, wherein the second window is used to store the first preset number of odometer poses in the order of acquisition time.

[0010] The difference between the relative positioning pose and the relative odometry pose is determined as the pose difference corresponding to the current repositioning pose;

[0011] Based on the pose differences corresponding to the first preset number of repositioning poses included in the first window, the current repositioning pose is verified to obtain the verification result.

[0012] Optionally, the image acquisition device mounted on the smart mobile device is a multi-view camera, and the current positioning frame includes multiple images acquired by the multi-view camera respectively;

[0013] The method further includes:

[0014] For each image, the matching status of feature points in the image with feature points in a pre-built map is obtained, and the number of internal feature points corresponding to the image is determined. The internal feature points are the matching feature points obtained by matching the image with the pre-built map, and the position difference between the projected position and the matching position is less than a preset position difference. The projected position is the position of each matching feature point projected into the image according to the relocalization pose corresponding to the localization frame to which the image belongs.

[0015] The current repositioning pose is verified based on the number of internal feature points corresponding to the multiple images.

[0016] Optionally, the step of verifying the current relocalization pose based on the number of internal feature points corresponding to the plurality of images includes:

[0017] When the current positioning frame is detected to match the pre-built map, the average number of internal feature points in the third window, excluding the number of internal feature points corresponding to the current positioning frame, is calculated; wherein, the third window is used to store the number of internal feature points corresponding to a second preset number of positioning frames in chronological order of acquisition time.

[0018] If the mean value is greater than the preset mean value threshold, then the current repositioning pose verification corresponding to the current positioning frame is successful.

[0019] If the mean value is not greater than the preset mean value threshold, then the current repositioning pose verification fails.

[0020] Optionally, the step of verifying the current relocalization pose based on the number of internal feature points corresponding to the plurality of images includes:

[0021] For each image, obtain the number of matching feature points obtained by matching the image with the pre-constructed map;

[0022] Calculate the ratio of the number of internal feature points corresponding to the multiple images to the number of corresponding matching feature points corresponding to the multiple images;

[0023] If the ratio is greater than a preset ratio threshold, the current repositioning pose verification is successful.

[0024] If the ratio is not greater than the preset ratio threshold, the current repositioning pose verification fails.

[0025] Optionally, the method for determining the number of internal feature points corresponding to each image includes:

[0026] For each image, according to the relocalization pose corresponding to the localization frame to which the image belongs, the matching feature points obtained by matching the image with the pre-built map are projected into the image respectively to obtain the projection position of each matching feature point in the image.

[0027] For each image, among the corresponding matching feature points in the image, the matching feature points whose projected position and matching position differ from the preset position difference are determined as the internal feature points of the image;

[0028] The number of internal feature points in the image is determined as the total number of internal feature points in the image.

[0029] Optionally, the step of verifying the current repositioning pose based on the pose differences corresponding to the first preset number of repositioning poses included in the first window to obtain a verification result includes:

[0030] Determine whether the pose difference corresponding to the first preset number of repositioned poses included in the first window is greater than the preset pose difference.

[0031] If the pose differences corresponding to the first preset number of repositioning poses included in the first window are all not greater than the preset pose difference, then the current repositioning pose verification is successful.

[0032] If among the pose differences corresponding to the first preset number of repositioning poses included in the first window, there is a pose difference greater than the preset pose difference, then the current repositioning pose verification fails.

[0033] Optionally, the method further includes:

[0034] If it is detected that the repositioning pose corresponding to multiple consecutive positioning frames fails to be verified within the first preset time period, or if it is detected that the first window does not store a new repositioning pose within the second preset time period, then the repositioning pose stored in the first window is cleared, and the odometer pose stored in the second window is cleared.

[0035] When the number of newly acquired repositioning poses stored in the first window reaches the first preset number, the step of returning to the calculation of the relative positioning pose between the current repositioning pose and the previous repositioning pose in the first window is performed.

[0036] Secondly, embodiments of this application provide a device for verifying repositioning pose, the device comprising:

[0037] The odometer position acquisition module is used to acquire the current odometer pose corresponding to the current repositioning pose corresponding to the current positioning frame of the smart mobile device each time the current repositioning pose corresponding to the current positioning frame is acquired.

[0038] The relative positioning pose calculation module is used to calculate the relative positioning pose between the current repositioning pose and the previous repositioning pose in the first window, wherein the first window is used to store a first preset number of repositioning poses in the order of acquisition time.

[0039] The relative odometer pose calculation module is used to calculate the relative odometer pose between the current odometer pose and the previous odometer pose in the second window, wherein the second window is used to store the first preset number of odometer poses in the order of acquisition time.

[0040] The pose difference calculation module is used to determine the difference between the relative positioning pose and the relative odometry pose, which is used as the pose difference corresponding to the current repositioning pose.

[0041] The first verification module is used to verify the current repositioning pose based on the pose differences corresponding to the first preset number of repositioning poses included in the first window, and obtain the verification result.

[0042] Optionally, the image acquisition device mounted on the smart mobile device is a multi-view camera, and the current positioning frame includes multiple images acquired by the multi-view camera respectively;

[0043] The device further includes:

[0044] The first quantity determination module is used to obtain the matching situation between the feature points of the image and the feature points in the pre-built map for each image, and determine the number of internal feature points corresponding to the image. The internal feature points are the matching feature points obtained by matching the image with the pre-built map, and the position difference between the projection position and the matching position is less than a preset position difference. The projection position is the position of each matching feature point projected into the image according to the repositioning pose corresponding to the positioning frame to which the image belongs.

[0045] The second verification module is used to verify the current repositioning pose based on the number of internal feature points corresponding to the multiple images.

[0046] Optionally, the second verification module includes:

[0047] The mean calculation submodule is used to calculate the mean of the number of internal feature points in a third window, excluding the number of internal feature points corresponding to the current positioning frame, when the current positioning frame is detected to match the pre-built map. The third window is used to store the number of internal feature points corresponding to a second preset number of positioning frames in chronological order of acquisition time. If the mean is greater than a preset mean threshold, the current repositioning pose verification corresponding to the current positioning frame is successful; if the mean is not greater than the preset mean threshold, the current repositioning pose verification fails.

[0048] Optionally, the second verification module includes:

[0049] The quantity acquisition submodule is used to acquire the number of matching feature points obtained by matching the image with the pre-built map for each image;

[0050] The first verification submodule is used to calculate the ratio of the number of internal feature points corresponding to the plurality of images to the number of corresponding matching feature points corresponding to the plurality of images; if the ratio is greater than a preset ratio threshold, the current repositioning pose verification is successful; if the ratio is not greater than the preset ratio threshold, the current repositioning pose verification fails.

[0051] Optionally, the device further includes a second quantity determination module, the second quantity determination module comprising:

[0052] The projection submodule is used to project each matching feature point obtained by matching the image with the pre-built map according to the relocalization pose corresponding to the localization frame to which the image belongs onto the image, so as to obtain the projection position of each matching feature point in the image.

[0053] The quantity determination submodule is used to determine, for each image, the matching feature points whose projected position and matching position differ from the preset position difference among the corresponding matching feature points in the image as the internal feature points of the image; and to determine the number of internal feature points in the image as the number of internal feature points corresponding to the image.

[0054] Optionally, the first verification module includes:

[0055] The second verification submodule is used to determine whether the pose differences corresponding to the first preset number of repositioning poses included in the first window are greater than a preset pose difference; if the pose differences corresponding to the first preset number of repositioning poses included in the first window are all not greater than the preset pose difference, then the current repositioning pose verification is successful; if there is a pose difference greater than the preset pose difference among the pose differences corresponding to the first preset number of repositioning poses included in the first window, then the current repositioning pose verification fails.

[0056] Optionally, the device further includes:

[0057] The clearing module is used to clear the repositioning pose stored in the first window and the odometer pose stored in the second window if it is detected that the repositioning pose corresponding to multiple consecutive positioning frames fails to be verified within a first preset time period, or if it is detected that no new repositioning pose is stored in the first window within a second preset time period.

[0058] The return module is used to return to the step of calculating the relative positioning pose between the current repositioning pose and the previous repositioning pose in the first window when the number of newly acquired repositioning poses stored in the first window reaches the first preset number.

[0059] Thirdly, embodiments of this application provide an electronic device, including:

[0060] Memory, used to store computer programs;

[0061] When a processor executes a program stored in memory, it implements the steps of the method described in the first aspect above.

[0062] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the method described in the first aspect above.

[0063] Fifthly, embodiments of this application also provide a computer program product containing instructions that, when run on a computer, cause the computer to perform the steps of the method described in the first aspect.

[0064] Beneficial effects of the embodiments in this application:

[0065] In the solution provided in this application embodiment, the verification device can acquire the current odometer pose corresponding to the current repositioning pose of the current positioning frame of the smart mobile device each time it acquires the current repositioning pose. Then, it can calculate the relative positioning pose between the current repositioning pose and the previous repositioning pose in the first window, and calculate the relative odometer pose between the current odometer pose and the previous odometer pose in the second window. The first window stores a first preset number of repositioning poses in chronological order of acquisition, and the second window stores the first preset number of odometer poses in chronological order of acquisition. Next, the difference between the relative positioning pose and the relative odometer pose can be determined as the pose difference corresponding to the current repositioning pose. Furthermore, based on the pose differences corresponding to the first preset number of repositioning poses included in the first window, the current repositioning pose can be verified to obtain the verification result. Since the odometer pose has high accuracy in a short time, the odometer pose in a short time can be used as prior information to verify the correctness of the repositioning pose determined by visual positioning. In this way, based on the repositioning poses corresponding to multiple positioning frames stored in the first window and the odometer poses corresponding to multiple positioning frames stored in the second window, the pose differences corresponding to multiple repositioning poses can be determined. The determined pose differences are then used to verify the current repositioning pose, achieving the purpose of verifying the consistency between the relative positioning pose and the relative odometer pose of each positioning frame, as well as the consistency of the repositioning poses across multiple positioning frames. This reduces the impact of repositioning pose errors on the stable operation of smart mobile devices, improves the accuracy of repositioning poses, and enhances the robustness of visual positioning. Of course, implementing any product or method of this application does not necessarily require achieving all of the above advantages simultaneously. Attached Figure Description

[0066] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other embodiments can be obtained based on these drawings.

[0067] Figure 1 A flowchart illustrating a method for verifying a repositioning pose provided in an embodiment of this application;

[0068] Figure 2(a) is a schematic diagram of a first window and a second window provided in an embodiment of this application;

[0069] Figure 2(b) is a schematic diagram of the pose differences in the first window provided in the embodiment of this application;

[0070] Figure 3 Another flowchart of a repositioning pose verification method provided in an embodiment of this application;

[0071] Figure 4(a) is a schematic diagram of the matching position of the matching feature points provided in the embodiment of this application;

[0072] Figure 4(b) is a schematic diagram of the projection positions of the matching feature points provided in the embodiments of this application;

[0073] Figure 5 Based on Figure 3 A specific flowchart of step S302 in the illustrated embodiment;

[0074] Figure 6 Based on Figure 5 A flowchart of a specific example of the embodiment shown;

[0075] Figure 7 Based on Figure 3 Another specific flowchart of step S302 in the illustrated embodiment;

[0076] Figure 8 Based on Figure 7 A flowchart of a specific example of the embodiment shown;

[0077] Figure 9 This is a schematic diagram illustrating the execution sequence of the pose verification method provided in the embodiments of this application;

[0078] Figure 10 This is a schematic diagram of the structure of a repositioning pose verification device provided in an embodiment of this application;

[0079] Figure 11 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0080] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art based on this application are within the scope of protection of this application.

[0081] To verify the repositioning pose obtained from visual positioning, embodiments of this application provide a method, apparatus, electronic device, computer-readable storage medium, and computer program product for verifying repositioning poses. The following first introduces a method for verifying repositioning poses provided by embodiments of this application.

[0082] The repositioning pose verification method provided in this application can be applied to intelligent mobile devices equipped with image acquisition devices and capable of visual positioning, such as AGVs (Automated Guided Vehicles), mobile robots, and palletizers. After acquiring images using its own image acquisition device for visual positioning, the method is executed using its own data processing module to verify the determined repositioning pose. It can also be applied to image acquisition devices mounted on intelligent mobile devices with data processing capabilities. For example, if the image acquisition device is equipped with a data processing module, after acquiring images for visual positioning, the method is executed using its own data processing module to verify the determined repositioning pose. Furthermore, it can be applied to various electronic devices capable of communicating with mobile robots equipped with image acquisition devices and providing repositioning pose verification services to the mobile robots, such as management platforms. No specific limitations are made here; for clarity, the executing entity in this application will be referred to as the verification device. Furthermore, the verification device that performs the repositioning pose verification method provided in the embodiments of this application and the positioning device that performs visual positioning to determine the repositioning pose of the smart mobile device can be the same electronic device or different electronic devices, and no specific limitation is made here.

[0083] like Figure 1 As shown, a method for verifying repositioning pose includes:

[0084] S101: When acquiring the current repositioning pose corresponding to the current positioning frame of the smart mobile device, acquire the current odometer pose corresponding to the current positioning frame.

[0085] S102: Calculate the relative positioning pose between the current repositioning pose and the previous repositioning pose in the first window.

[0086] The first window is used to store a first preset number of repositioning poses in chronological order of acquisition time.

[0087] S103: Calculate the relative odometer pose between the current odometer pose and the previous odometer pose in the second window.

[0088] The second window is used to store the first preset number of odometer poses in chronological order of acquisition time.

[0089] S104: Determine the difference between the relative positioning pose and the relative odometer pose, and use it as the pose difference corresponding to the current repositioning pose;

[0090] S105: Based on the pose differences corresponding to the first preset number of repositioning poses included in the first window, the current repositioning pose is verified to obtain the verification result.

[0091] As can be seen, in the solution provided in this application embodiment, the verification device can acquire the current odometer pose corresponding to the current repositioning pose of the current positioning frame of the smart mobile device each time it acquires the current repositioning pose. Then, it can calculate the relative positioning pose between the current repositioning pose and the previous repositioning pose in the first window, and calculate the relative odometer pose between the current odometer pose and the previous odometer pose in the second window. The first window stores a first preset number of repositioning poses in chronological order of acquisition, and the second window stores the first preset number of odometer poses in chronological order of acquisition. Next, the difference between the relative positioning pose and the relative odometer pose can be determined as the pose difference corresponding to the current repositioning pose. Furthermore, based on the pose differences corresponding to the first preset number of repositioning poses included in the first window, the current repositioning pose can be verified to obtain the verification result. Since the odometer pose has high accuracy in a short time, the odometer pose in a short time can be used as prior information to verify the correctness of the repositioning pose determined by visual positioning. In this way, the pose differences between multiple repositioning poses can be determined based on the repositioning poses corresponding to multiple positioning frames stored in the first window and the odometer poses corresponding to multiple positioning frames stored in the second window. The determined pose differences are then used to verify the current repositioning pose, thereby verifying the consistency between the relative positioning pose and the relative odometer pose of each positioning frame, as well as the consistency of the repositioning poses of multiple positioning frames. This reduces the impact of repositioning pose errors on the stable operation of smart mobile devices, improves the accuracy of repositioning poses, and enhances the robustness of visual positioning.

[0092] When relocalization of a smart mobile device is required, visual localization methods can be used to calculate the relocalization pose. However, the stability of visual localization performance may be affected when the environmental textures of multiple modeling frames in a map are similar, or when the smart mobile device is outside the map area. This can lead to mislocalization due to image mismatch, impacting the stable operation of the smart mobile device. Therefore, to reduce the impact of mislocalization on the stable operation of the smart mobile device, a verification device can validate the relocalization pose to determine the accuracy of the relocalization pose obtained from visual localization.

[0093] Smart mobile devices can be equipped with image acquisition devices and odometers. The type and number of image acquisition devices on smart mobile devices can be set according to actual needs. For example, the image acquisition devices on smart mobile devices can be fisheye cameras, depth cameras, monocular cameras, etc.; and the number of image acquisition devices on smart mobile devices can be 1, 2, 4, etc., which are all reasonable and are not specifically limited here.

[0094] For example, the intelligent mobile device is an AGV equipped with four surround-view fisheye cameras, meaning the AGV has a four-eye surround-view fisheye camera system. These four cameras are fixed to the front, rear, left, and right sides of the AGV, allowing them to capture images of the AGV's front, rear, left, and right sides respectively. This provides a 360-degree field of view, enabling the AGV to understand its environment through the images captured by the four-eye surround-view fisheye cameras.

[0095] The type of odometer equipped on a smart mobile device can also be set according to actual needs. For example, the odometer equipped on a smart mobile device can be a wheel-type odometer, a front-end visual odometer, etc. Furthermore, in the embodiments of this application, the aforementioned odometer can be a single odometer or a combination of an odometer and other sensors.

[0096] As one implementation method, in this embodiment of the application, the odometer mounted on the smart mobile device can be a combination of a wheeled odometer and an IMU (Inertial Measurement Unit), which can continuously output the odometer pose. Therefore, the odometer pose of the smart mobile device is obtained by fusing data from the aforementioned wheeled odometer and IMU, resulting in a more refined odometer pose.

[0097] The aforementioned IMU is a sensor that acquires the position, orientation, and angle of a smart mobile device in space by measuring information such as acceleration, angular velocity, and magnetic field strength. The aforementioned wheel-type odometer is a sensor that calculates the position and orientation of a smart mobile device by measuring the rotational speed and displacement of its wheels.

[0098] In step S101 above, the verification device can obtain the current odometer pose corresponding to the current positioning frame when it obtains the current repositioning pose corresponding to the current positioning frame of the smart mobile device.

[0099] When a smart mobile device first enters a region, it can explore that region and build a map of it. This process of building a priori map is known as SLAM (Simultaneous Localization and Mapping). Specifically, when a smart mobile device first enters a region, it uses its current location as its initial position within that region. From this initial position, the device moves within the region to explore. During exploration, the smart mobile device uses its onboard image acquisition device to capture multiple frames of images of the region. For each frame, the pose of the smart mobile device at the time of image acquisition is determined, serving as the corresponding pose for that frame. Upon completion of the region exploration, the multiple frames of images captured by the image acquisition device and the corresponding poses of the smart mobile device are used to construct an exploration map of the region, serving as a pre-built map of the area. This pre-built map is a 3D map.

[0100] In the event of pose loss in a smart mobile device, its onboard image acquisition device can capture images to obtain positioning frames. The positioning device can then use these captured positioning frames for visual positioning, matching them with a pre-established map and calculating the repositioning pose of the smart mobile device based on the matching results. This matching of the positioning frames with the pre-established map can be either corner matching or texture matching; both are reasonable and not specifically limited here.

[0101] Each time the positioning device performs visual positioning on the current positioning frame to obtain the current repositioning pose of the smart mobile device, the verification device can also acquire the aforementioned current repositioning pose. Therefore, each time the verification device acquires the current repositioning pose of the smart mobile device corresponding to the current positioning frame, it can obtain the current odometer pose corresponding to the acquisition time of the current positioning frame through the odometer. Since the odometer pose has high accuracy over a short period, it can be used as prior information to verify the repositioning pose obtained from visual positioning.

[0102] The current odometry pose can be either a 6DOF (Six Degrees of Freedom tracking) pose or a 3DOF (Three Degrees of Freedom tracking) pose; both are acceptable and will not be specifically limited here.

[0103] As one implementation, the above-mentioned odometer pose can be the 6DOF pose output by an odometer composed of an IMU mounted on a smart mobile device and a wheeled odometer. The 6DOF pose includes the position of the smart mobile device on the x-axis, y-axis and z-axis of the world coordinate system, as well as the angles on the x-axis, y-axis and z-axis respectively.

[0104] The aforementioned positioning device and the verification device that performs the repositioning pose verification method provided in this application may be the same electronic device or different electronic devices.

[0105] In one implementation, when the positioning device and the verification device are the same electronic device, when the electronic device performs visual matching on the current positioning frame to obtain the current repositioning pose corresponding to the current positioning frame, it can read the current odometer pose corresponding to the acquisition time of the current positioning frame output by the odometer.

[0106] As one implementation method, when the positioning device and the verification device are not the same electronic device, when the positioning device performs visual matching on the current positioning frame and obtains the current repositioning pose corresponding to the current positioning frame, it can send the repositioning pose to the verification device. Then, when the verification device receives the repositioning pose corresponding to the current positioning frame, it can read the current odometer pose corresponding to the acquisition time of the current positioning frame recorded by the odometer.

[0107] For each positioning frame, when the verification device acquires the repositioning pose corresponding to the positioning frame of the smart mobile device and the odometer pose corresponding to the positioning frame, it can store the current repositioning pose corresponding to the positioning frame and the current odometer pose corresponding to the positioning frame. In order to facilitate the verification of each repositioning pose, the verification device can pre-set two windows, namely the first window and the second window.

[0108] The first window can be used to store a first preset number of repositioning poses in chronological order of acquisition time. Specifically, the first window stores the first preset number of repositioning poses. When the verification device acquires the current repositioning pose corresponding to the current positioning frame, this current repositioning pose is stored in the first window. Thus, the first window stores the current repositioning pose and multiple repositioning poses preceding it. The first preset number can be set according to actual needs; for example, it could be 5, 10, etc., all of which are reasonable and not specifically limited here.

[0109] The second window can be used to store a first preset number of odometer poses in chronological order of acquisition time. That is, the second window stores a first preset number of odometer poses. When the verification device acquires the current odometer pose corresponding to the current positioning frame, the current odometer pose will be stored in the second window. Thus, the second window stores the current repositioning pose and multiple repositioning poses preceding the current repositioning pose.

[0110] When constructing the first and second windows, neither window contains any data. The verification device initializes the first window using the acquired repositioning pose and initializes the second window using the acquired odometer pose. This process continues until both the first and second windows are filled with poses. Once the initialization is complete, the poses stored in the first and second windows can be used to verify the newly added repositioning pose in the first window.

[0111] Because the calibration device can acquire the odometer pose corresponding to the positioning frame each time it acquires the repositioning pose, and the number of poses stored in the first window and the second window is the same, for each positioning frame, the time when the repositioning pose of the positioning frame is stored in the first window is the same as the time when the odometer pose of the positioning frame is stored in the second window, and the position of the repositioning pose of the positioning frame in the first window corresponds to the position of the odometer pose of the positioning frame in the second window. In other words, for a certain position in the first window, the odometer position stored at the corresponding position in the second window corresponds to the same positioning frame as the repositioning pose stored at that position.

[0112] Since the capacity of the first window and the second window is fixed, when both the first window and the second window are full, when the verification device stores the current repositioning pose corresponding to the current positioning frame into the first window and the current odometer pose corresponding to the current positioning frame into the second window, as the current repositioning pose is stored, the repositioning pose with the earliest acquisition time currently stored in the first window will be moved out of the first window, and the repositioning pose with the earliest acquisition time currently stored in the second window will be moved out of the second window. In this way, the poses stored in the first window and the second window can be maintained at a first preset number.

[0113] For example, as shown in Figure 2(a), the first preset quantity is 3, the first window can store 3 repositioning poses, namely pose0, pose1 and pose2, and the second window can store 3 odometry poses, namely lpose0, lpose1 and lpose2.

[0114] Furthermore, in order to verify the repositioning pose, in step S102 above, the verification device can calculate the relative positioning pose between the current repositioning pose and the previous repositioning pose in the first window, and in step S103 above, the verification device can calculate the relative odometer pose between the current odometer pose and the previous odometer pose in the second window.

[0115] In the first window, each time a repositioning pose is stored, the pose difference between the repositioning pose and the previous repositioning pose can be calculated to obtain the relative positioning pose between the two. Similarly, in the second window, each time an odometer pose is stored, the pose difference between the odometer pose and the previous odometer pose can be calculated to obtain the relative odometer pose between the two. Furthermore, for each positioning frame, the verification device can store the calculated relative positioning pose and relative odometer pose corresponding to that positioning frame.

[0116] Based on this, when the verification device stores the current repositioning pose corresponding to the current positioning frame in the first window and the current odometer pose corresponding to the current positioning frame in the second window, it can calculate the pose difference between the current repositioning pose and the previous repositioning pose in the first window to obtain the relative positioning pose between the current repositioning pose and the previous repositioning pose. Furthermore, the verification device can calculate the pose difference between the current odometer pose and the previous odometer pose in the second window to obtain the relative odometer pose between the current odometer pose and the previous odometer pose.

[0117] Next, in step S104 above, the verification device can determine the difference between the relative positioning pose and the relative odometer pose, as the pose difference corresponding to the current repositioning pose.

[0118] Since the odometer pose is calculated based on the movement trajectory of the smart mobile device recorded by the odometer over a period of time, the odometer pose is relatively accurate. Therefore, for a given positioning frame, if the repositioning pose corresponding to that positioning frame is accurate, the relative positioning pose between the repositioning pose of the verification device and the previous repositioning pose, as well as the relative odometer pose between the repositioning odometer pose and the previous odometer pose, are consistent.

[0119] For a given positioning frame, the repositioning pose corresponding to that positioning frame can be verified by calculating the difference between the relative positioning pose and the relative odometer pose. Furthermore, when the verification device calculates the relative positioning pose between the current repositioning pose and the previous repositioning pose, and the relative odometer pose between the current odometer pose and the previous odometer pose, it can calculate the difference between these relative positioning poses and the relative odometer poses, which serves as the pose difference corresponding to the current repositioning pose.

[0120] The aforementioned pose differences include the differences in each pose parameter in the repositioning pose. For example, when the repositioning pose has 6 degrees of freedom, when calculating the aforementioned pose differences, it is necessary to calculate the difference in each degree of freedom pose. Then, the difference in the 6 degrees of freedom pose is taken as the pose difference corresponding to the repositioning pose.

[0121] Therefore, in step S105 above, the verification device can verify the current repositioning pose based on the pose differences corresponding to the first preset number of repositioning poses included in the first window, and obtain the verification result.

[0122] For a given positioning frame, if the repositioning pose corresponding to that frame is accurate, then the pose difference of the repositioning pose corresponding to that frame is close to the pose differences of other repositioning poses included in the first window. If the repositioning pose corresponding to that frame is abnormal, on a continuous trajectory, the repositioning pose will exhibit a pose jump, and the pose difference of that repositioning pose will change significantly compared to the pose differences of other repositioning poses included in the first window.

[0123] After obtaining the pose differences corresponding to the current repositioning pose, since the verification device has already calculated the pose differences corresponding to other repositioning poses stored in the first window, the verification device has obtained the pose differences corresponding to the first preset number of repositioning poses included in the first window. Therefore, the first preset number of pose differences corresponding to repositioning poses included in the first window can be used to perform pose verification on the current repositioning pose, obtaining the verification result of the current repositioning pose.

[0124] In one implementation, when the above-mentioned test result indicates that the current repositioning pose verification is successful, a first notification message indicating the success of the current repositioning pose verification can be output; and when the above-mentioned test result indicates that the current repositioning pose verification fails, a second notification message indicating the failure of the current repositioning pose verification can be output. Accordingly, the smart mobile device can move based on the above-mentioned first notification message and second notification message, thereby reducing the impact of mispositioning on the stable operation of the smart mobile device.

[0125] When a mobile robot is stationary or moving slowly, multiple positioning frames captured by the image acquisition device may correspond to the same location. The multiple repositioning poses obtained by the positioning device based on these frames will also be the same repositioning pose. In this case, the repositioning pose stored in the first window may correspond to a similar repositioning pose, and the odometry pose stored in the second window may correspond to a similar odometry pose. Consequently, using the poses stored in both the first and second windows for repositioning pose verification yields poor results. Furthermore, when the mobile device remains stationary, the repositioning poses stored in the first window are all the same, and the odometry poses stored in the second window are all the same odometry pose. Therefore, the resulting verification results are meaningless and waste the computational resources of the verification device. In one implementation, for each repositioning pose in the first window, the displacement difference in the odometer difference between the first repositioning pose stored in the first window and the current repositioning pose can be calculated. When the displacement difference is greater than a first preset distance, the verification device can verify the current repositioning pose based on the pose differences corresponding to a first preset number of repositioning poses included in the first window, and obtain a verification result. When the displacement difference is not greater than the first preset distance, the verification device does not perform pose verification on the current repositioning pose. The first preset distance can be set according to actual needs, such as 10 meters, 50 meters, etc., which are all reasonable and are not specifically limited here.

[0126] Since the repositioning poses stored in the first window are arranged in chronological order of acquisition time, these poses correspond to the poses of the smart mobile device along a trajectory. Furthermore, because the current repositioning pose is determined by verifying the pose differences between multiple positioning frames, this verification method can be called multi-frame pose consistency verification. This multi-frame pose consistency verification uses the difference between the relative odometry pose and the relative positioning pose within a short period to judge the accuracy of the positioning pose, thereby improving the accuracy of the repositioning pose.

[0127] As can be seen, in the solution provided in this application embodiment, the verification device can acquire the current odometer pose corresponding to the current repositioning pose of the current positioning frame of the smart mobile device each time it acquires the current repositioning pose. Then, it can calculate the relative positioning pose between the current repositioning pose and the previous repositioning pose in the first window, and calculate the relative odometer pose between the current odometer pose and the previous odometer pose in the second window. The first window stores a first preset number of repositioning poses in chronological order of acquisition, and the second window stores the first preset number of odometer poses in chronological order of acquisition. Next, the difference between the relative positioning pose and the relative odometer pose can be determined as the pose difference corresponding to the current repositioning pose. Furthermore, based on the pose differences corresponding to the first preset number of repositioning poses included in the first window, the current repositioning pose can be verified to obtain the verification result. Since the odometer pose has high accuracy in a short time, the odometer pose in a short time can be used as prior information to verify the correctness of the repositioning pose determined by visual positioning. In this way, the pose differences between multiple repositioning poses can be determined based on the repositioning poses corresponding to multiple positioning frames stored in the first window and the odometer poses corresponding to multiple positioning frames stored in the second window. The determined pose differences are then used to verify the current repositioning pose, thereby verifying the consistency between the relative positioning pose and the relative odometer pose of each positioning frame, as well as the consistency of the repositioning poses of multiple positioning frames. This reduces the impact of repositioning pose errors on the stable operation of smart mobile devices, improves the accuracy of repositioning poses, and enhances the robustness of visual positioning.

[0128] As one embodiment of this application, the step of verifying the current repositioning pose based on the pose differences corresponding to the first preset number of repositioning poses included in the first window and obtaining the verification result may include:

[0129] Each of the first preset number of repositioning poses included in the first window is determined to have a pose difference greater than a preset pose difference. If none of the pose differences corresponding to the first preset number of repositioning poses included in the first window are greater than the preset pose difference, then the current repositioning pose verification is successful. If any of the pose differences corresponding to the first preset number of repositioning poses included in the first window are greater than the preset pose difference, then the current repositioning pose verification fails.

[0130] To verify the repositioning pose, a difference value can be set for each pose parameter in the repositioning pose, i.e., a preset pose difference can be constructed in advance. For example, when the repositioning pose is 6DOF, a difference value can be set for each degree of freedom pose in 6DOF to obtain the preset pose difference for 6DOF.

[0131] The preset pose difference can be set according to the odometer accuracy. For example, if the displacement accuracy in the odometer is 0.1 and the offset angle is 1 degree, the preset pose difference can be set to a displacement of 0.1 meters and an offset angle of 2 degrees, etc. These are all reasonable and are not specifically limited here.

[0132] Furthermore, by utilizing the pose differences corresponding to the first preset number of repositioning poses and the preset pose difference, the verification device can perform pose verification on the repositioning poses. That is, the verification device can determine whether the pose differences corresponding to the first preset number of repositioning poses included in the first window are greater than the preset pose difference.

[0133] If the pose differences corresponding to the first preset number of repositioning poses included in the first window are all not greater than the preset pose difference, then the current repositioning pose verification is successful; if among the pose differences corresponding to the first preset number of repositioning poses included in the first window, there is a pose difference greater than the preset pose difference, then the current repositioning pose verification fails.

[0134] For example, as shown in Figure 2(b), when the displacement difference in the odometer difference between pose2 and pose0 in the first window is greater than N meters, the relative positioning poses of pose1 and pose0 in the first window can be calculated to obtain T. f0 Calculate the relative positioning poses of pose2 and pose1 to obtain T. f1 Calculate the relative odometry poses of lpose1 and lpose0 to obtain T. d0 Calculate the relative odometry pose between lpose2 and lpose1 to obtain T. d1 Then, calculate T. f0 With T d0 The pose difference error0, and T f1 With T d1 The pose difference is then determined. Next, it is determined whether error0 is greater than the preset pose difference, and whether error1 is greater than the preset pose difference. If neither error0 nor error1 is greater than the preset pose difference, the current repositioning pose verification is successful; if either error0 or error1 has a pose difference greater than the preset pose difference, the current repositioning pose verification fails.

[0135] As can be seen, in this embodiment of the application, by setting a preset pose difference and using the relationship between the pose differences corresponding to the first preset number of repositioning poses included in the first window and the preset pose difference, the pose of the current repositioning pose is verified. In this way, by verifying whether the pose differences corresponding to each repositioning pose on the trajectory are all less than the preset pose difference, it is possible to verify whether there is a pose jump on a continuous trajectory, thereby achieving the purpose of verifying the accuracy of the current repositioning pose.

[0136] As the smart mobile device moves, the cumulative error of the odometer will gradually increase. Therefore, after the smart mobile device has moved for a period of time, the odometer pose output may have accumulated errors, affecting the accuracy of the repositioning pose verification result. As one embodiment of this application, the above method may further include:

[0137] If it is detected that the repositioning pose corresponding to multiple consecutive positioning frames fails to be verified within a first preset time period, or if it is detected that the first window does not store a new repositioning pose within a second preset time period, then the repositioning pose stored in the first window is cleared, and the odometer pose stored in the second window is cleared; when the number of newly acquired repositioning poses stored in the first window reaches the first preset number, the process returns to step S102 above, which is the step of calculating the relative positioning pose between the current repositioning pose and the previous repositioning pose in the first window.

[0138] If a smart mobile device experiences a series of positioning failures after running continuously for a period of time, or if the first window fails to store a new repositioning pose for a period of time, then the reliability of the odometer pose will decrease.

[0139] To avoid the cumulative error of the odometer pose affecting the verification results, the verification device can reset the first and second windows if it detects that the repositioning poses corresponding to multiple consecutive positioning frames fail verification within a first preset time period, or if it detects that no new repositioning poses are stored in the first window within a second preset time period. Specifically, it can clear the repositioning poses stored in the first window and the odometer poses stored in the second window. After clearing the windows, the verification device stores the repositioning pose corresponding to the newly acquired positioning frame in the first window and the odometer pose corresponding to the determined positioning frame in the second window.

[0140] The first preset duration and the second preset duration can be the same or different, and can be set according to actual needs. For example, the first preset duration and the second preset duration can both be 5 minutes; or the first preset duration can be 10 minutes and the second preset duration can both be 20 minutes, etc. These are all reasonable and are not specifically limited in this application embodiment.

[0141] Thus, when the number of newly acquired repositioning poses stored in the first window reaches a first preset number, the verification device takes the last stored repositioning pose as the current repositioning pose and the odometer pose corresponding to the current repositioning pose as the current odometer pose. It can then return to execute the above step S102, that is, recalculate the relative positioning pose between the current repositioning pose and the previous repositioning pose in the first window, and calculate the relative odometer pose between the current odometer pose and the previous odometer pose in the second window. After that, the difference between the relative positioning pose and the relative odometer pose is determined as the pose difference corresponding to the current repositioning pose. Then, based on the pose differences corresponding to the first preset number of repositioning poses included in the first window, the current repositioning pose is verified to obtain the verification result.

[0142] As can be seen, in this embodiment, if it is detected that the repositioning pose corresponding to multiple consecutive positioning frames fails to be verified within a first preset time period, or if it is detected that the first window does not store a new repositioning pose within a second preset time period, the first window and the second window can be reset to eliminate the accumulated odometer error accumulated in the previous period and reduce the impact of the accumulated odometer pose error on the verification result, thereby improving the reliability of the odometer pose and improving the accuracy of the verification result.

[0143] As one embodiment of this application, the image acquisition device mounted on the smart mobile device is a multi-view camera, and the current positioning frame includes multiple images acquired by the multi-view camera respectively.

[0144] To improve positioning accuracy, smart mobile devices can be equipped with multi-view image acquisition devices, meaning the image acquisition devices on the smart mobile device are multi-view cameras. In this way, each camera can acquire images independently, and thus, each time the positioning device acquires images from the images acquired by the image acquisition devices on the smart mobile device, the current positioning frame includes images acquired by each of the individual cameras; that is, the current positioning frame comprises multiple images. Furthermore, the acquisition times of the multi-view cameras on the smart mobile device are synchronized, meaning that for each positioning frame, the multiple images within that frame are acquired at the same time.

[0145] Correspondingly, such as Figure 3 As shown, the above method may further include:

[0146] S301: For each image, obtain the matching results between the feature points of the image and the feature points in the pre-built map, and determine the number of internal feature points corresponding to the image;

[0147] The internal feature points are the matching feature points obtained by matching the image with the pre-constructed map, where the difference between the projected position and the matching position is less than a preset position difference. The projected position is the position in the image where each matching feature point is projected onto the image according to the repositioning pose corresponding to the positioning frame to which the image belongs.

[0148] When a positioning device performs visual positioning using multiple images in a positioning frame, it matches each image with a pre-built map to obtain the matching results of feature points in the image and feature points in the pre-built map. Then, for each image, a verification device obtains the matching results of feature points in the image and feature points in the pre-built map. Among the matching feature points in the image, those whose projected positions differ from their matching positions by a preset difference are designated as internal feature points, thereby determining the number of internal feature points corresponding to that image.

[0149] Since both the projection position and the matching position are the pixel coordinates of the matching feature points in the image, the preset position difference is the preset pixel coordinate difference. Furthermore, this preset position difference includes both a preset X-coordinate difference and a preset Y-coordinate difference. This preset position difference can be set according to actual needs; for example, a preset X-coordinate difference of 5 and a preset Y-coordinate difference of 3 are all reasonable and not specifically limited in this application.

[0150] Corresponding to the aforementioned preset position difference, when calculating the position difference between the projected position and the matching position, the X-coordinate difference and Y-coordinate difference between the projected position and the matching position can be calculated separately, and the numerical relationship between the calculation results and the preset position difference can be determined. Furthermore, when the X-coordinate difference is less than the preset X-coordinate difference within the preset position difference, and the Y-coordinate difference is less than the preset Y-coordinate difference within the preset position difference, the position difference between the projected position and the matching position is less than the preset position difference.

[0151] Furthermore, if both the X-coordinate difference and the Y-coordinate difference between the projected position and the matching position are 0, then the projected position and the matching position coincide.

[0152] In one implementation, for each image in the positioning frame, the positioning device can determine the number of internal feature points corresponding to the image based on the matching of feature points in the image with feature points in a pre-built map, and send the number of internal feature points of the image to the verification device.

[0153] In one implementation, the verification device can obtain the matching results of feature points of each image with feature points in a pre-built map. Then, for each image, the number of internal feature points corresponding to that image is determined based on the matching results of the feature points of that image with feature points in the pre-built map.

[0154] As one embodiment of this application, in step S301 above, the method for determining the number of internal feature points corresponding to each image may include:

[0155] For each image, the matching feature points obtained by matching the image with the pre-constructed map according to the relocalization pose corresponding to the localization frame to which the image belongs are projected into the image to obtain the projection position of each matching feature point in the image; for each image, the matching feature points in the corresponding matching feature points in the image whose position difference between the projection position and the matching position is less than a preset position difference are determined as the internal feature points of the image; the number of internal feature points in the image is determined as the number of internal feature points corresponding to the image.

[0156] Due to differences in the installation location and configuration of multi-view cameras, the images captured by the multi-view cameras on smart mobile devices will not simultaneously match the pre-built map. Therefore, the relocalization pose corresponding to a localization frame can be calculated based on the matching results of each image in the localization frame with the pre-built map. Thus, for each localization frame, the relocalization pose is the calculated pose obtained from all matching localization points obtained by matching each image with the pre-built map.

[0157] For example, if a smart mobile device is equipped with a quad-camera, the localization frame includes four images: image A, image B, image C, and image D. Image A is matched against a pre-built map to obtain matching feature points; image B is matched against the pre-built map to obtain matching feature points; image C is matched against the pre-built map to obtain matching feature points; and image D is matched against the pre-built map to obtain matching feature points. Then, based on the matching feature points of image A, image B, image C, and image D, the relocalization pose corresponding to the localization frame can be calculated.

[0158] After obtaining the relocalization pose corresponding to the localization frame, the number of internal feature points corresponding to each image in the localization frame can be determined using this relocalization pose. Specifically, for each image, the matching feature points obtained by matching the image with a pre-built map are projected onto the image according to the relocalization pose corresponding to the localization frame to which the image belongs, obtaining the projected position of each matching feature point. Then, for each matching feature point in the image, if the positional difference between the projected position and the matching position of the matching feature point is less than a preset positional difference, then the feature point is an internal feature point of the image. Conversely, if the positional difference between the projected position and the matching position of the matching feature point is not less than a preset positional difference, then the matching feature point is not an internal feature point of the image. Finally, the number of internal feature points in the image is determined as the total number of internal feature points corresponding to that image.

[0159] The process of determining the internal feature points corresponding to each image described above is essentially the process of filtering internal feature points based on the geometric pose obtained from visual localization. Furthermore, for a localization frame, the difference between the number of filtered internal feature points and the number of matching feature points can be used to detect whether the relocalization pose corresponding to that frame is abnormal. The number of internal feature points corresponding to a localization frame is the sum of the number of internal feature points corresponding to each image within that localization frame.

[0160] For a localization frame, if the number of matching feature points corresponding to the localization frame is large, but the number of internal feature points corresponding to the localization frame is significantly reduced, it indicates that the relocalization pose obtained by visual localization for the localization frame is inconsistent with the geometric pose corresponding to the localization frame, and there is a high probability that the relocalization pose is abnormal.

[0161] For example, as shown in Figure 4(a), the image is matched with a pre-built map to obtain matching feature points X and Y. The matching position of matching feature point X in the image is X1, and the matching position of matching feature point Y in the image is Y1. Then, matching feature points X and Y are projected onto the image according to the repositioning pose corresponding to the localization frame to which the image belongs, as shown in Figure 4(b). The projected position of matching feature point X in the image is X2, and the projected position of matching feature point Y in the image is Y2. Here, the preset position difference has a preset X-coordinate difference of 3 and a preset Y-coordinate difference of 5. The X-coordinate difference and Y-coordinate difference between the matching position and the projected position of matching feature point X are both 0, meaning the matching position and the projected position of matching feature point X coincide, thus matching feature point X is an interior feature point. However, the X-coordinate difference between the matching position and the projected position of matching feature point Y is 10, and the Y-coordinate difference is 20, meaning the position difference between the matching position and the projected position of matching feature point Y is not less than the preset position difference, thus matching feature point Y is not an interior feature point.

[0162] For each localization frame, the matching feature points obtained by texture matching of each image in the localization frame with the pre-built map can reflect the feature point matching situation between the localization frame and the pre-built map. Then, the texture matching pose of the localization frame to which the image belongs can be calculated based on the feature point matching situation. The corresponding internal feature points of the localization frame can reflect the geometric matching situation between the localization frame and the pre-built map. Then, the calculated texture matching pose can be verified based on the difference between the feature point matching situation and the geometric matching situation.

[0163] S302: Verify the current repositioning pose based on the number of internal feature points corresponding to the multiple images.

[0164] After determining the number of internal feature points corresponding to each image, the number of internal feature points corresponding to multiple images can be determined. Then, the current relocation pose is verified based on the number of internal feature points corresponding to the above multiple images.

[0165] For clarity, the specific implementation of step S302 will be explained in detail below.

[0166] As can be seen, in the embodiments of this application, when the positioning frame includes multiple images, the number of internal feature points corresponding to each image can be determined, thereby determining the number of internal feature points corresponding to the positioning frame, and using the number of internal feature points corresponding to the positioning frame to verify the current repositioning pose, so as to improve the accuracy of the repositioning pose.

[0167] As one implementation method of this application, such as Figure 5 As shown, in step S302 above, the step of verifying the current relocation pose based on the number of internal feature points corresponding to the plurality of images may include:

[0168] S501: For each image, obtain the number of matching feature points obtained by matching the image with the pre-built map.

[0169] In order to verify the current relocalization pose based on the number of internal feature points corresponding to multiple images, for each image, the verification device can obtain the number of matching feature points obtained by matching the image with a pre-built map.

[0170] In one implementation, when the verification device and the positioning device are the same electronic device, the verification device, when verifying the positioning frame, can match each image with a pre-built map to obtain the number of matching feature points and record the number of matching feature points corresponding to that image. Thus, during pose verification, for each image, the device can read the number of matching feature points corresponding to that image stored within its own database.

[0171] In one implementation, when the verification device and the positioning device are not the same electronic device, the positioning device, when verifying the positioning frame, can match each image with a pre-built map to obtain the number of matching feature points and record the number of matching feature points corresponding to that image. Thus, during pose verification, for each image, the verification device can send data request information to the positioning device regarding the number of matching feature points for each image in the positioning frame, and based on the data information returned by the positioning device based on the aforementioned data request information, determine the number of matching feature points obtained by matching each image with the pre-built map.

[0172] S502: Calculate the ratio of the number of internal feature points corresponding to the plurality of images to the number of corresponding matching feature points corresponding to the plurality of images.

[0173] S503: If the ratio is greater than the preset ratio threshold, the current repositioning pose verification is successful.

[0174] S504: If the ratio is not greater than the preset ratio threshold, the current repositioning pose verification fails.

[0175] After determining the number of matching feature points obtained by matching each image with a pre-built map, the verification device can calculate the sum of the number of matching feature points corresponding to each image, which is the number of matching feature points corresponding to multiple images, i.e., the number of matching feature points corresponding to the positioning frame.

[0176] Then, the verification device can calculate the ratio of the number of internal feature points corresponding to multiple images to the number of matching feature points corresponding to multiple images.

[0177] The number of matching feature points corresponding to multiple images reflects the feature point matching between the multiple images and the pre-built map, while the number of internal feature points corresponding to multiple images reflects the feature point matching between the multiple images obtained after projection calculation and the geometric pose of the pre-built map. Accordingly, the ratio of the number of internal feature points to the number of matching feature points reflects the consistency between the feature point matching situation and the feature point matching situation under the geometric pose.

[0178] The verification device can perform pose verification on the current repositioning pose using the aforementioned ratio. Furthermore, to utilize this ratio for pose verification, a preset ratio threshold can be set. This preset ratio threshold can be set according to the number of matching feature points and actual needs. For example, when the number of matching feature points is 10, the preset ratio threshold can be 0.1; when the number of matching feature points is 100, the preset ratio threshold can be 0.5, etc. These are all reasonable and are not specifically limited here.

[0179] The verification device can verify the current repositioning pose based on the ratio and the aforementioned preset ratio threshold. If the ratio is greater than the preset ratio threshold, the feature point matching is consistent with the feature point matching under the geometric pose, and the current repositioning pose verification is successful; if the ratio is not greater than the preset ratio threshold, the feature point matching is inconsistent with the feature point matching under the geometric pose, and the current repositioning pose verification fails.

[0180] The method described above, which calculates the ratio of the number of internal feature points corresponding to multiple images to the number of corresponding matching feature points corresponding to multiple images and uses the ratio to verify the current repositioning pose, verifies the consistency between the feature point matching situation and the feature point matching situation under the geometric pose. Therefore, this verification process can be called texture geometric consistency verification.

[0181] For example, if the positioning device and the verification device are the same electronic device, then... Figure 6 As shown, the process of determining the repositioning pose through visual positioning and verifying the repositioning pose includes:

[0182] S601: Obtain the positioning frame;

[0183] S602: Extract texture features for texture matching;

[0184] S603: Calculate the repositioning pose based on the matching results;

[0185] S604: Filter internal feature points based on the repositioning pose;

[0186] S605: Calculate the ratio of the number of internal feature points to the number of matching feature points;

[0187] S606: If the ratio is less than the preset ratio threshold, the location is abnormal.

[0188] The verification device can acquire positioning frames captured by the image acquisition device on a smart mobile device, extract texture features from the positioning frames, and perform texture matching with a pre-built map. Next, it calculates the repositioning pose based on the matching results, and projects the matched feature points onto each image of the positioning frame based on the repositioning pose, thus obtaining the number of internal feature points corresponding to that positioning frame.

[0189] Next, the ratio of the number of internal feature points to the number of matching feature points is calculated, and the numerical relationship between this ratio and the preset ratio threshold is determined. If the ratio is less than the preset ratio threshold, the repositioning pose is abnormal and the repositioning pose verification fails.

[0190] As can be seen, in the embodiments of this application, for the repositioning pose corresponding to each positioning frame, the accuracy of the repositioning pose can be determined based on the ratio of the number of internal feature points corresponding to the positioning frame to the number of matching feature points obtained by matching, thereby improving the accuracy of repositioning.

[0191] Smart mobile devices typically move from the beginning to the end of a map during transit. However, when moved to another location within the map area or removed from the map area, during the process of determining the repositioning pose through visual positioning, there may be a period where the matching degree between the various images of the positioning frame and the pre-built map is low. In this case, the smart mobile device has not yet entered the map area. Therefore, if, for a period of time, the matching degree between the smart mobile device's positioning frame and the pre-built map is low, and the verification device detects a match between the current positioning frame and the pre-built map, then pose verification is required for the current repositioning pose corresponding to that positioning frame. This is to determine if the current repositioning pose is abnormal and to improve the accuracy of the repositioning pose output by the verification device.

[0192] As one implementation method of this application, such as Figure 7 As shown, in step S302 above, the step of verifying the current relocation pose based on the number of internal feature points corresponding to the plurality of images may include:

[0193] S701: When it is detected that the current positioning frame matches the pre-built map, calculate the average number of internal feature points in the third window, excluding the number of internal feature points corresponding to the current positioning frame.

[0194] The third window is used to store the number of internal feature points corresponding to the second preset number of positioning frames in chronological order of acquisition time.

[0195] To verify the repositioning pose, the verification device can maintain a third window. This third window stores the number of internal feature points corresponding to a second preset number of positioning frames in chronological order of acquisition time. For each number of internal feature points stored in the third window, the timestamp of that number represents the acquisition time of the positioning frame corresponding to that number of internal feature points. Therefore, the positioning frame corresponding to that number of internal feature points can be determined based on the timestamp of that number of internal feature points.

[0196] The second preset quantity can be set according to actual needs, such as 10, 30, etc., which are all reasonable and are not specifically limited here.

[0197] In this way, when the verification device detects that the current positioning frame matches the pre-built map, it can calculate the average number of internal feature points in the third window, excluding the number of internal feature points corresponding to the current positioning frame.

[0198] In one implementation, the verification device can detect the number of internal feature points corresponding to the current positioning frame. If the number of internal feature points is greater than a first preset number of feature points, then the current positioning frame matches a pre-built map. Furthermore, the device calculates the average number of internal feature points in the third window, excluding the number of internal feature points corresponding to the current positioning frame. The first preset number of feature points can be set according to actual needs, for example, it could be 50, 100, etc., and is not specifically limited here.

[0199] In one implementation, the verification device can obtain the matching status of each image in the current positioning frame with a pre-built map. If the number of matching feature points obtained by matching each image with the pre-built map is greater than a second preset number of feature points, then the current positioning frame matches the pre-built map. Then, the device calculates the average number of internal feature points in the third window, excluding the number of internal feature points corresponding to the current positioning frame. The second preset number of feature points can be set according to actual needs, for example, it could be 200, 500, etc., and is not specifically limited here.

[0200] S702: If the mean value is greater than the preset mean value threshold, then the current repositioning pose verification corresponding to the current positioning frame is successful.

[0201] S703: If the mean value is not greater than the preset mean value threshold, then the current repositioning pose verification fails.

[0202] To verify the pose of the repositioning pose, a preset average threshold can be set in advance. This preset average threshold can be set according to actual needs, such as 10, 50, etc. For example, if the intelligent mobile robot is always located in a pre-built map, the minimum average number of internal feature points corresponding to each repositioning pose is 50. Then, the preset average threshold can be set to any value in the range of [35, 50], which is reasonable and no specific limitation is made here.

[0203] If a smart mobile device is moved out of the map area, it will gradually approach and enter the map. During this process, the number of internal feature points corresponding to each repositioning pose of the smart mobile device will gradually increase. That is, before the location frame is detected to match the pre-built map, the average number of internal feature points corresponding to each location frame in the third window has exceeded the aforementioned preset average threshold. Only then is the current repositioning pose of the smart mobile device a reasonable calculation result, rather than an abnormal result indicating a pose jump.

[0204] Based on this, if the average number of internal feature points in the third window, excluding the number of internal feature points corresponding to the current positioning frame, is greater than the preset average threshold, then the current repositioning pose verification is successful; if the above average is not greater than the preset average threshold, then the current repositioning pose has undergone a pose change compared with other repositioning poses in the third window, the current repositioning pose is abnormal, and the current repositioning pose verification fails.

[0205] The process of using the average number of internal feature points corresponding to multiple consecutive positioning frames in the third window to perform pose verification for the current repositioning pose can be called multi-frame geometric continuity verification.

[0206] Furthermore, when the mobile robot is stationary or moving slowly, multiple positioning frames acquired by the image acquisition device may correspond to the same location. The multiple repositioning poses obtained by the positioning device based on these frames are also the same repositioning pose. In this case, using the number of internal feature points stored in the third window to verify the repositioning pose results in low reliability and wastes the computational resources of the verification device. In one embodiment, for each number of internal feature points in the third window, the displacement difference in the odometry pose corresponding to each pair of adjacent internal feature points can be calculated. When the displacement difference is greater than a second preset distance, the verification device can calculate the average number of internal feature points in the third window, excluding the number of internal feature points corresponding to the current positioning frame, when a matching map is detected between the detected positioning frame and the pre-built map. When the displacement difference is not greater than the second preset distance, the verification device does not perform pose verification on the current repositioning pose. The second preset distance can be set according to actual needs, such as 10 meters, 50 meters, etc., which are all reasonable and not specifically limited here.

[0207] For example, such as Figure 8 As shown, according to the chronological order of acquisition time, each window position of the third window records the number of internal feature points corresponding to k positioning frames. Specifically, the third window records the number of internal feature points corresponding to positioning frame F0 (F0_inliers), positioning frame F1 (F1_inliers), positioning frame F2 (F2_inliers), positioning frame Fk-1 (Fk-1_inliers), and the number of internal feature points corresponding to the current positioning frame Fk (Fk_inliers). Furthermore, the displacement difference between adjacent positioning frames within this window must be greater than 1m.

[0208] When the current positioning frame Fk is detected to match a pre-built map, the mean number of internal feature points in the third window, excluding Fk_inliers, is calculated. Specifically, the mean of F0_inliers, F1_inliers, F2_inliers to Fk-1_inliers is calculated. If the mean number of these internal feature points is not greater than a preset mean threshold T, the calculation proceeds. inliers The current repositioning pose verification failed; if the average number of feature points within this area is greater than the preset average threshold T. inliers If so, the current repositioning pose verification is successful.

[0209] As can be seen, in the embodiments of this application, by calculating the average number of internal feature points corresponding to the positioning frames corresponding to multiple consecutive positioning frames, it is possible to determine whether the current repositioning pose corresponding to the current positioning frame has undergone a pose jump compared to each positioning frame, thereby improving the reliability of the repositioning pose.

[0210] As mentioned above, when the image acquisition device on the smart mobile device is a multi-view camera, when the positioning device obtains the current repositioning pose corresponding to the current positioning frame through visual positioning, at least one of the verification methods provided in the embodiments of this application—texture geometry consistency verification, multi-frame pose consistency verification, and multi-frame geometric continuity verification—can be used to perform pose verification on the current repositioning pose.

[0211] Furthermore, for any repositioning pose, the verification device can perform the aforementioned texture geometry consistency verification, multi-frame pose consistency verification, and multi-frame geometric continuity verification in parallel, for example, as follows: Figure 9 As shown, the verification device can acquire the repositioning pose of the positioning frame, and then perform texture geometry consistency verification, multi-frame pose consistency verification, and multi-frame geometric continuity verification in parallel. If any verification fails, the repositioning pose verification fails; if all verifications succeed, the repositioning pose verification succeeds. For example, the verification device can acquire the repositioning pose of the positioning frame, and then first perform texture geometry consistency verification, followed by multi-frame pose consistency verification.

[0212] The verification device may also perform only one of the verification methods described above: texture geometry consistency verification, multi-frame pose consistency verification, and multi-frame geometric continuity verification. For example, the verification device may perform texture geometry consistency verification only on the current repositioning pose; or the verification device may perform multi-frame pose consistency verification only on the current repositioning pose.

[0213] The verification device can also perform each verification in descending order of weight coefficients based on the weight coefficients of texture geometry consistency verification, multi-frame pose consistency verification, and multi-frame geometric continuity verification. Of course, the verification device can also perform only the verification method with the highest weight coefficient.

[0214] The above are merely examples of the number and order of items for performing texture geometry consistency verification, multi-frame pose consistency verification, and multi-frame geometric continuity verification on the verification device. Any method for verifying repositioning pose using texture geometry consistency verification, multi-frame pose consistency verification, and multi-frame geometric continuity verification provided in the embodiments of this application is within the protection scope of this application.

[0215] Corresponding to the above-described method for verifying repositioning pose, this application also provides a device for verifying repositioning pose. The following describes the device for verifying repositioning pose provided in this application.

[0216] like Figure 10 As shown, a device for verifying repositioning pose includes:

[0217] The odometer position acquisition module 1010 is used to acquire the current odometer pose corresponding to the current repositioning pose corresponding to the current positioning frame of the smart mobile device each time the current repositioning pose corresponding to the current positioning frame is acquired.

[0218] The relative positioning pose calculation module 1020 is used to calculate the relative positioning pose between the current repositioning pose and the previous repositioning pose in the first window, wherein the first window is used to store a first preset number of repositioning poses in the order of acquisition time.

[0219] The relative odometer pose calculation module 1030 is used to calculate the relative odometer pose between the current odometer pose and the previous odometer pose in the second window, wherein the second window is used to store the first preset number of odometer poses in the order of acquisition time.

[0220] The pose difference calculation module 1040 is used to determine the difference between the relative positioning pose and the relative odometry pose, as the pose difference corresponding to the current repositioning pose.

[0221] The first verification module 1050 is used to verify the current repositioning pose based on the pose differences corresponding to the first preset number of repositioning poses included in the first window, and obtain the verification result.

[0222] As can be seen, in the solution provided in this application embodiment, the verification device can acquire the current odometer pose corresponding to the current repositioning pose of the current positioning frame of the smart mobile device each time it acquires the current repositioning pose. Then, it can calculate the relative positioning pose between the current repositioning pose and the previous repositioning pose in the first window, and calculate the relative odometer pose between the current odometer pose and the previous odometer pose in the second window. The first window stores a first preset number of repositioning poses in chronological order of acquisition, and the second window stores the first preset number of odometer poses in chronological order of acquisition. Next, the difference between the relative positioning pose and the relative odometer pose can be determined as the pose difference corresponding to the current repositioning pose. Furthermore, based on the pose differences corresponding to the first preset number of repositioning poses included in the first window, the current repositioning pose can be verified to obtain the verification result. Since the odometer pose has high accuracy in a short time, the odometer pose in a short time is used as prior information to verify the correctness of the repositioning pose determined by visual positioning. In this way, the pose differences between multiple repositioning poses can be determined based on the repositioning poses corresponding to multiple positioning frames stored in the first window and the odometer poses corresponding to multiple positioning frames stored in the second window. The determined pose differences are then used to verify the current repositioning pose, thereby verifying the consistency between the relative positioning pose and the relative odometer pose of each positioning frame, as well as the consistency of the repositioning poses of multiple positioning frames. This reduces the impact of repositioning pose errors on the stable operation of smart mobile devices, improves the accuracy of repositioning poses, and enhances the robustness of visual positioning.

[0223] As one embodiment of this application, the image acquisition device mounted on the smart mobile device is a multi-view camera, and the current positioning frame includes multiple images acquired by the multi-view camera respectively;

[0224] The device further includes:

[0225] The first quantity determination module is used to obtain the matching situation between the feature points of the image and the feature points in the pre-built map for each image, and determine the number of internal feature points corresponding to the image. The internal feature points are the matching feature points obtained by matching the image with the pre-built map, and the position difference between the projection position and the matching position is less than a preset position difference. The projection position is the position of each matching feature point projected into the image according to the repositioning pose corresponding to the positioning frame to which the image belongs.

[0226] The second verification module is used to verify the current repositioning pose based on the number of internal feature points corresponding to the multiple images.

[0227] As one embodiment of this application, the second verification module includes:

[0228] The mean calculation submodule is used to calculate the mean of the number of internal feature points in a third window, excluding the number of internal feature points corresponding to the current positioning frame, when the current positioning frame is detected to match the pre-built map. The third window is used to store the number of internal feature points corresponding to a second preset number of positioning frames in chronological order of acquisition time. If the mean is greater than a preset mean threshold, the current repositioning pose verification corresponding to the current positioning frame is successful; if the mean is not greater than the preset mean threshold, the current repositioning pose verification fails.

[0229] As one embodiment of this application, the second verification module includes:

[0230] The quantity acquisition submodule is used to acquire the number of matching feature points obtained by matching the image with the pre-built map for each image;

[0231] The first verification submodule is used to calculate the ratio of the number of internal feature points corresponding to the plurality of images to the number of corresponding matching feature points corresponding to the plurality of images; if the ratio is greater than a preset ratio threshold, the current repositioning pose verification is successful; if the ratio is not greater than the preset ratio threshold, the current repositioning pose verification fails.

[0232] As one embodiment of this application, the device further includes a second quantity determination module, the second quantity determination module comprising:

[0233] The projection submodule is used to project each matching feature point obtained by matching the image with the pre-built map according to the relocalization pose corresponding to the localization frame to which the image belongs onto the image, so as to obtain the projection position of each matching feature point in the image.

[0234] The quantity determination submodule is used to determine, for each image, the matching feature points whose projected position and matching position differ from the preset position difference among the corresponding matching feature points in the image as the internal feature points of the image; and to determine the number of internal feature points in the image as the number of internal feature points corresponding to the image.

[0235] As one embodiment of this application, the first verification module 1050 includes:

[0236] The second verification submodule is used to determine whether the pose differences corresponding to the first preset number of repositioning poses included in the first window are greater than a preset pose difference; if the pose differences corresponding to the first preset number of repositioning poses included in the first window are all not greater than the preset pose difference, then the current repositioning pose verification is successful; if there is a pose difference greater than the preset pose difference among the pose differences corresponding to the first preset number of repositioning poses included in the first window, then the current repositioning pose verification fails.

[0237] As one embodiment of this application, the apparatus further includes:

[0238] The clearing module is used to clear the repositioning pose stored in the first window and the odometer pose stored in the second window if it is detected that the repositioning pose corresponding to multiple consecutive positioning frames fails to be verified within a first preset time period, or if it is detected that no new repositioning pose is stored in the first window within a second preset time period.

[0239] The return module is used to return to the step of calculating the relative positioning pose between the current repositioning pose and the previous repositioning pose in the first window when the number of newly acquired repositioning poses stored in the first window reaches the first preset number.

[0240] This application also provides an electronic device, such as... Figure 11 As shown, it includes:

[0241] Memory 1101 is used to store computer programs;

[0242] The processor 1102, when executing the program stored in the memory 1101, implements the steps of the method described in any of the above embodiments.

[0243] Furthermore, the aforementioned electronic device may also include a communication bus and / or a communication interface, with the processor 1102, the communication interface, and the memory 1101 communicating with each other via the communication bus.

[0244] The communication bus mentioned in the above electronic devices can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.

[0245] The communication interface is used for communication between the aforementioned electronic devices and other devices.

[0246] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.

[0247] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0248] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the steps of any of the above-described repositioning pose verification methods.

[0249] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute any of the repositioning pose verification methods in the above embodiments.

[0250] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a solid-state drive (SSD), etc.

[0251] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0252] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the embodiments of apparatus, systems, electronic devices, computer-readable storage media, and computer program products are basically similar to the method embodiments, and therefore the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0253] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.

Claims

1. A method for verifying repositioning pose, characterized in that, The method includes: When acquiring the current relocation pose corresponding to the current positioning frame of the smart mobile device, acquire the current odometer pose corresponding to the current positioning frame. The relative positioning pose between the current repositioning pose and the previous repositioning pose is calculated in the first window, wherein the first window is used to store a first preset number of repositioning poses in chronological order of acquisition time. The relative odometer pose between the current odometer pose and the previous odometer pose is calculated in the second window, wherein the second window is used to store the first preset number of odometer poses in the order of acquisition time. The difference between the relative positioning pose and the relative odometry pose is determined as the pose difference corresponding to the current repositioning pose; Based on the pose differences corresponding to the first preset number of repositioning poses included in the first window, the current repositioning pose is verified to obtain the verification result.

2. The method according to claim 1, characterized in that, The image acquisition device on the smart mobile device is a multi-view camera, and the current positioning frame includes multiple images acquired by the multi-view camera respectively; The method further includes: For each image, the matching status of feature points in the image with feature points in a pre-built map is obtained, and the number of internal feature points corresponding to the image is determined. The internal feature points are the matching feature points obtained by matching the image with the pre-built map, and the position difference between the projected position and the matching position is less than a preset position difference. The projected position is the position of each matching feature point projected into the image according to the relocalization pose corresponding to the localization frame to which the image belongs. The current repositioning pose is verified based on the number of internal feature points corresponding to the multiple images.

3. The method according to claim 2, characterized in that, The step of verifying the current relocation pose based on the number of internal feature points corresponding to the multiple images includes: When the current positioning frame is detected to match the pre-built map, the average number of internal feature points in the third window, excluding the number of internal feature points corresponding to the current positioning frame, is calculated; wherein, the third window is used to store the number of internal feature points corresponding to a second preset number of positioning frames in chronological order of acquisition time. If the mean value is greater than the preset mean value threshold, then the current repositioning pose verification corresponding to the current positioning frame is successful. If the mean value is not greater than the preset mean value threshold, then the current repositioning pose verification fails.

4. The method according to claim 2, characterized in that, The step of verifying the current relocation pose based on the number of internal feature points corresponding to the multiple images includes: For each image, obtain the number of matching feature points obtained by matching the image with the pre-constructed map; Calculate the ratio of the number of internal feature points corresponding to the multiple images to the number of corresponding matching feature points corresponding to the multiple images; If the ratio is greater than a preset ratio threshold, the current repositioning pose verification is successful. If the ratio is not greater than the preset ratio threshold, the current repositioning pose verification fails.

5. The method according to claim 2, characterized in that, The method for determining the number of internal feature points corresponding to each image includes: For each image, according to the relocalization pose corresponding to the localization frame to which the image belongs, the matching feature points obtained by matching the image with the pre-built map are projected into the image respectively to obtain the projection position of each matching feature point in the image. For each image, among the corresponding matching feature points in the image, the matching feature points whose projected position and matching position differ from the preset position difference are determined as the internal feature points of the image; The number of internal feature points in the image is determined as the total number of internal feature points in the image.

6. The method according to any one of claims 1-5, characterized in that, The step of verifying the current repositioning pose based on the pose differences corresponding to the first preset number of repositioning poses included in the first window, and obtaining the verification result, includes: Determine whether the pose difference corresponding to the first preset number of repositioned poses included in the first window is greater than the preset pose difference. If the pose differences corresponding to the first preset number of repositioning poses included in the first window are all not greater than the preset pose difference, then the current repositioning pose verification is successful. If among the pose differences corresponding to the first preset number of repositioning poses included in the first window, there is a pose difference greater than the preset pose difference, then the current repositioning pose verification fails.

7. The method according to any one of claims 1-5, characterized in that, The method further includes: If it is detected that the repositioning pose corresponding to multiple consecutive positioning frames fails to be verified within the first preset time period, or if it is detected that the first window does not store a new repositioning pose within the second preset time period, then the repositioning pose stored in the first window is cleared, and the odometer pose stored in the second window is cleared. When the number of newly acquired repositioning poses stored in the first window reaches the first preset number, the step of returning to the calculation of the relative positioning pose between the current repositioning pose and the previous repositioning pose in the first window is performed.

8. A device for verifying repositioning pose, characterized in that, The device includes: The odometer position acquisition module is used to acquire the current odometer pose corresponding to the current repositioning pose corresponding to the current positioning frame of the smart mobile device each time the current repositioning pose corresponding to the current positioning frame is acquired. The relative positioning pose calculation module is used to calculate the relative positioning pose between the current repositioning pose and the previous repositioning pose in the first window, wherein the first window is used to store a first preset number of repositioning poses in the order of acquisition time. The relative odometer pose calculation module is used to calculate the relative odometer pose between the current odometer pose and the previous odometer pose in the second window, wherein the second window is used to store the first preset number of odometer poses in the order of acquisition time. The pose difference calculation module is used to determine the difference between the relative positioning pose and the relative odometry pose, which is used as the pose difference corresponding to the current repositioning pose. The first verification module is used to verify the current repositioning pose based on the pose differences corresponding to the first preset number of repositioning poses included in the first window, and obtain the verification result.

9. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the method described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method described in any one of claims 1-7.