CN113074726A - Pose determination method and device, electronic equipment and storage medium - Google Patents

Pose determination method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN113074726A
CN113074726A CN202110281141.5A CN202110281141A CN113074726A CN 113074726 A CN113074726 A CN 113074726A CN 202110281141 A CN202110281141 A CN 202110281141A CN 113074726 A CN113074726 A CN 113074726A
Authority
CN
China
Prior art keywords
electronic equipment
pose
estimated pose
time
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110281141.5A
Other languages
Chinese (zh)
Inventor
陈丹鹏
王楠
章国峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen TetrasAI Technology Co Ltd
Original Assignee
Shenzhen TetrasAI Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen TetrasAI Technology Co Ltd filed Critical Shenzhen TetrasAI Technology Co Ltd
Priority to CN202110281141.5A priority Critical patent/CN113074726A/en
Publication of CN113074726A publication Critical patent/CN113074726A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/18Stabilised platforms, e.g. by gyroscope
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Navigation (AREA)

Abstract

The disclosure relates to a pose determination method and apparatus, an electronic device, and a storage medium, wherein the method includes: determining a first estimated pose of the electronic equipment according to inertial data sampled by an inertial sensor of the electronic equipment based on an inertial positioning algorithm; determining a second estimated pose of the electronic equipment based on a preset positioning algorithm; and correcting the first estimated pose according to the second estimated pose to obtain a target pose of the electronic equipment. The embodiment of the disclosure can realize high-frequency smooth high-precision positioning of the electronic equipment.

Description

Pose determination method and device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a pose determination method and apparatus, an electronic device, and a storage medium.
Background
At present, a pose estimation technology based on a visual positioning algorithm is widely applied, for example, to the fields of augmented reality, virtual reality, robots, automatic driving and the like.
In the related art, although the positioning accuracy of the visual positioning algorithm is high, the visual positioning algorithm is limited by the sampling frequency of an image, the positioning frequency of the visual positioning algorithm is low, the pose output is not smooth, and the positioning frequency requirement cannot be met in a scene with a high requirement on the positioning frequency, for example, in an AR scene, unstable phenomena such as jitter, line dragging and the like of a virtual object can be caused by low-frequency positioning.
Disclosure of Invention
The disclosure provides a pose determination method and device, electronic equipment and a storage medium.
According to an aspect of the present disclosure, there is provided a pose determination method including: determining a first estimated pose of the electronic equipment according to inertial data sampled by an inertial sensor of the electronic equipment based on an inertial positioning algorithm; determining a second estimated pose of the electronic equipment based on a preset positioning algorithm; and correcting the first estimated pose according to the second estimated pose to obtain a target pose of the electronic equipment.
In one possible implementation manner, the determining a first estimated pose of an electronic device according to inertial data sampled by an inertial sensor of the electronic device based on an inertial positioning algorithm includes: integrating first inertial data sampled by the inertial sensor between the time t-1 and the time t to obtain a first integration result; and fusing the first integration result and the first estimated pose of the electronic equipment at the time t-1 to obtain the first estimated pose of the electronic equipment at the time t.
In one possible implementation, the preset positioning algorithm includes a visual positioning algorithm; the determining a second estimated pose of the electronic device based on a preset positioning algorithm includes: determining a vision estimated pose of the electronic equipment at a t-x moment according to an environment image obtained by sampling a vision sensor of the electronic equipment at the t-x moment, wherein the t-x moment is the sampling moment of the vision sensor closest to the t moment, and x is greater than or equal to 0; and determining the vision estimated pose of the electronic equipment at the t-x moment as a second estimated pose of the electronic equipment at the t moment.
In one possible implementation, the preset positioning algorithm includes a visual inertial positioning algorithm; the determining a second estimated pose of the electronic device based on a preset positioning algorithm includes: determining a vision estimated pose of the electronic equipment at a t-x moment according to an environment image obtained by sampling a vision sensor of the electronic equipment at the t-x moment, wherein the t-x moment is the sampling moment of the vision sensor closest to the t moment, and x is greater than or equal to 0; integrating second inertial data sampled by the inertial sensor between the time t-x and the time t to obtain a second integration result; and fusing the second integration result with the vision estimated pose of the electronic equipment at the time t-x to obtain a second estimated pose of the electronic equipment at the time t.
In a possible implementation manner, the correcting the first estimated pose according to the second estimated pose to obtain a target pose of the electronic device includes: determining a target weight corresponding to a second estimated pose of the electronic equipment at the time t; and fusing the first estimated pose of the electronic equipment at the moment t and the second estimated pose of the electronic equipment at the moment t based on a preset fusion algorithm and the target weight to obtain the target pose of the electronic equipment at the moment t.
In a possible implementation manner, the determining the target weight corresponding to the second estimated pose of the electronic device at the time t includes: determining a first positioning uncertainty corresponding to a vision estimation pose of the electronic equipment at the t-x moment; determining the target weight according to the first positioning uncertainty.
In one possible implementation, the determining the target weight according to the first positioning uncertainty includes: determining the first positioning uncertainty as the target weight.
In one possible implementation, the method further includes: determining a second positioning uncertainty corresponding to a second integration result, wherein the second integration result is obtained by integrating second inertial data sampled by the inertial sensor between the t-x moment and the t moment; determining the target weight according to the first positioning uncertainty comprises: and fusing the first positioning uncertainty and the second positioning uncertainty to obtain the target weight.
According to an aspect of the present disclosure, there is provided a pose determination apparatus including: the first pose determining module is used for determining a first estimated pose of the electronic equipment according to inertial data sampled by an inertial sensor of the electronic equipment based on an inertial positioning algorithm; the second pose determining module is used for determining a second estimated pose of the electronic equipment based on a preset positioning algorithm; and the pose correction module is used for correcting the first estimated pose according to the second estimated pose to obtain a target pose of the electronic equipment.
In one possible implementation, the first posture determination module includes: the first integration submodule is used for integrating first inertial data sampled by the inertial sensor between the time t-1 and the time t to obtain a first integration result; and the first fusion submodule is used for fusing the first integration result and the first estimated pose of the electronic equipment at the time t-1 to obtain the first estimated pose of the electronic equipment at the time t.
In one possible implementation, the preset positioning algorithm includes a visual positioning algorithm; the second posture determination module, comprising: the first determining submodule is used for determining a vision estimated pose of the electronic equipment at a t-x moment according to an environment image obtained by sampling a vision sensor of the electronic equipment at the t-x moment, the t-x moment is the sampling moment of the vision sensor closest to the t moment, and x is greater than or equal to 0; and the second determining submodule is used for determining the vision estimated pose of the electronic equipment at the time t-x as a second estimated pose of the electronic equipment at the time t.
In one possible implementation, the preset positioning algorithm includes a visual inertial positioning algorithm; the second posture determination module, comprising: the third determining submodule is used for determining the vision estimated pose of the electronic equipment at the t-x moment according to an environment image obtained by sampling a vision sensor of the electronic equipment at the t-x moment, the t-x moment is the sampling moment of the vision sensor closest to the t moment, and x is greater than or equal to 0; the second integration submodule is used for integrating second inertial data obtained by sampling the inertial sensor between the time t-x and the time t to obtain a second integration result; and the second fusion submodule is used for fusing the second integration result with the vision estimated pose of the electronic equipment at the time t-x to obtain a second estimated pose of the electronic equipment at the time t.
In one possible implementation manner, the pose correction module includes: the fourth determining submodule is used for determining the target weight corresponding to the second estimated pose of the electronic equipment at the time t; and the third fusion submodule is used for fusing the first estimated pose of the electronic equipment at the time t and the second estimated pose of the electronic equipment at the time t based on a preset fusion algorithm and the target weight to obtain the target pose of the electronic equipment at the time t.
In a possible implementation manner, the fourth determining sub-module includes: the first determining unit is used for determining first positioning uncertainty corresponding to the vision estimation pose of the electronic equipment at the t-x moment; a second determining unit configured to determine the target weight according to the first positioning uncertainty.
In a possible implementation manner, the second determining unit is specifically configured to: determining the first positioning uncertainty as the target weight.
In one possible implementation, the apparatus further includes: the fifth determining submodule is used for determining second positioning uncertainty corresponding to a second integration result, wherein the second integration result is obtained by integrating second inertial data obtained by sampling the inertial sensor between the t-x moment and the t moment; the second determining unit is specifically configured to: and fusing the first positioning uncertainty and the second positioning uncertainty to obtain the target weight.
According to an aspect of the present disclosure, there is provided an electronic device including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to invoke the memory-stored instructions to perform the above-described method.
According to an aspect of the present disclosure, there is provided a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the above-described method.
In the embodiment of the disclosure, based on an inertial positioning algorithm with a high-frequency smooth output characteristic, a first estimated pose of an electronic device is determined according to inertial data obtained by sampling of an inertial sensor of the electronic device, and based on a preset positioning algorithm with higher positioning accuracy, a second estimated pose of the electronic device is determined, and then the first estimated pose with high-frequency smoothness is corrected according to the second estimated pose with high accuracy, so as to obtain a target pose of the electronic device with high-frequency smoothness and higher accuracy, thereby realizing high-frequency smooth high-accuracy positioning of the electronic device.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. Other features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure.
Fig. 1 shows a flow chart of a pose determination method according to an embodiment of the present disclosure;
fig. 2 shows a block diagram of a pose determination apparatus according to an embodiment of the present disclosure;
FIG. 3 shows a block diagram of an electronic device in accordance with an embodiment of the disclosure;
fig. 4 shows a block diagram of an electronic device in accordance with an embodiment of the disclosure.
Detailed Description
Various exemplary embodiments, features and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers can indicate functionally identical or similar elements. While the various aspects of the embodiments are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
The word "exemplary" is used exclusively herein to mean "serving as an example, embodiment, or illustration. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
The term "and/or" herein is merely an association describing an associated object, meaning that three relationships may exist, e.g., a and/or B, may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the term "at least one" herein means any one of a plurality or any combination of at least two of a plurality, for example, including at least one of A, B, C, and may mean including any one or more elements selected from the group consisting of A, B and C.
Furthermore, in the following detailed description, numerous specific details are set forth in order to provide a better understanding of the present disclosure. It will be understood by those skilled in the art that the present disclosure may be practiced without some of these specific details. In some instances, methods, means, elements and circuits that are well known to those skilled in the art have not been described in detail so as not to obscure the present disclosure.
Fig. 1 shows a flowchart of a pose determination method according to an embodiment of the present disclosure. As shown in fig. 1, the pose determination method may include:
in step S11, based on the inertial positioning algorithm, a first estimated pose of the electronic device is determined according to inertial data sampled by an inertial sensor of the electronic device.
The electronic device may be a device whose geographical position is changeable, and the change in geographical position may be an autonomous change of the electronic device or a change caused by an external force. The electronic device may be, for example, a mobile device (e.g., a smartphone, smart glasses, a tablet computer, etc.), a vehicle, a ship, an aircraft, etc., or may also be a robot, such as a sweeping robot, a handling robot, etc.
The electronic device is provided with an Inertial sensor (IMU), which may include an accelerometer and/or a gyroscope, and the Inertial data includes acceleration data sampled by the accelerometer and/or gyroscope data sampled by the gyroscope.
The pose may include a position to indicate a geographic location of the electronic device and a pose to indicate a direction of the electronic device.
The first estimated pose of the electronic device may be obtained by integrating inertial data sampled by an inertial sensor of the electronic device based on an inertial positioning algorithm.
In step S12, a second estimated pose of the electronic device is determined based on a preset positioning algorithm.
The preset positioning algorithm may be other positioning algorithms than the inertial positioning algorithm, and the positioning accuracy of the preset positioning algorithm may be higher than that of the inertial positioning algorithm. Based on a preset positioning algorithm, the electronic equipment can be positioned to obtain a second estimated pose of the electronic equipment.
In step S13, the first estimated pose is corrected according to the second estimated pose, so as to obtain a target pose of the electronic device.
Because the positioning accuracy of the preset positioning algorithm is higher than that of the inertial positioning algorithm, the first estimated pose of the electronic equipment determined based on the inertial positioning algorithm can be corrected by utilizing the second estimated pose of the electronic equipment determined based on the preset positioning algorithm, so that the target pose of the electronic equipment with higher accuracy and smooth high-frequency output is obtained.
In the embodiment of the disclosure, based on an inertial positioning algorithm with a high-frequency smooth output characteristic, a first estimated pose of an electronic device is determined according to inertial data obtained by sampling of an inertial sensor of the electronic device, and based on a preset positioning algorithm with higher positioning accuracy, a second estimated pose of the electronic device is determined, and then the first estimated pose with high-frequency smoothness is corrected according to the second estimated pose with high accuracy, so as to obtain a target pose of the electronic device with high-frequency smoothness and higher accuracy, thereby realizing high-frequency smooth high-accuracy positioning of the electronic device.
The pose determination method of the embodiment of the disclosure mainly comprises three processes: data preprocessing, motion estimation and motion estimation modification. The electronic device includes: the motion estimation device comprises a preprocessing module for preprocessing data, a motion estimation module for estimating motion, and a motion estimation correction module for correcting motion estimation.
An inertial sensor (IMU) of the electronic equipment continuously samples inertial data, the sampled inertial data are input into a preprocessing module, and the preprocessing module caches the inertial data with preset duration. The preset time duration is at least the time duration of two periods corresponding to the preset positioning algorithm. And then the preprocessing module inputs the cached latest inertial data into the motion estimation module.
And the motion estimation module carries out motion estimation according to the inertial data and estimates the IMU state of the inertial sensor in real time. IMU state variable Xi=[P,q,V,ba,bg]Where P is the IMU's position, q is the IMU's pose, V is the IMU's velocity, baIs the accelerometer bias, bgIs the gyroscope bias. According to the IMU state variables, a first estimated pose of the electronic device can be determined.
In one possible implementation, the motion estimation module may not estimate the accelerometer bias and/or the gyroscope bias, i.e. the IMU state variable X, when the positioning is performed according to a preset positioning algorithm, which may estimate the accelerometer bias and/or the gyroscope biasi=[P,q,V]。
In one possible implementation manner, determining a first estimated pose of an electronic device according to inertial data sampled by an inertial sensor of the electronic device based on an inertial positioning algorithm includes: integrating first inertial data sampled by an inertial sensor between the time t-1 and the time t to obtain a first integration result; and fusing the first integral result and the first estimated pose of the electronic equipment at the time t-1 to obtain the first estimated pose of the electronic equipment at the time t.
After the latest inertial data are input into the motion estimation module, integrating first inertial data obtained by sampling from the time t-1 to the current time t to obtain a first integration result, and fusing the first integration result with the first estimated pose of the electronic equipment at the time t-1 to obtain the first estimated pose of the electronic equipment at the current time t, so that the first estimated pose of the electronic equipment at the current time t is estimated in real time. the time t-1 and the time t can be adjacent sampling time of the inertial sensor, so that the positioning frequency of the first estimated pose is the same as the sampling frequency of the inertial sensor, and high-frequency positioning is realized.
In one example, the motion estimation module performs state propagation on the IMU state at the time t-1 by using inertial data between the time t-1 and the time t, and mainly includes estimating a state mean and a variance, for example, keeping an accelerometer bias and/or a gyroscope bias unchanged, integrating a position, an attitude, and a velocity of the IMU to obtain a first integration result, performing state propagation on the IMU state at the time t-1 according to the first integration result to obtain the IMU state at the time t, and updating the state mean and the variance. According to the IMU state at the time t, a first estimated pose of the electronic equipment at the time t can be determined.
Because the integral process of the inertial positioning algorithm has accumulated errors, in order to improve the accuracy of the positioning result, the first estimated pose needs to be corrected by using a preset positioning algorithm.
In one possible implementation, the positioning accuracy of the preset positioning algorithm is higher than that of the inertial positioning algorithm, and the positioning frequency of the preset positioning algorithm is lower than that of the inertial positioning algorithm.
As mentioned above, the preset positioning algorithm may be other positioning algorithms than the inertial positioning algorithm. For example, the preset positioning algorithm may be a visual positioning algorithm, a visual inertial radar positioning algorithm, a multi-sensor fusion positioning algorithm, or other positioning algorithms with a positioning accuracy higher than that of the inertial positioning algorithm and a positioning frequency lower than that of the inertial positioning algorithm, and the preset positioning algorithm may be one positioning algorithm or a combination of multiple positioning algorithms, which is not specifically limited in this disclosure.
In one possible implementation, the preset positioning algorithm includes a visual positioning algorithm; determining a second estimated pose of the electronic device based on a preset positioning algorithm, comprising: determining a vision estimated pose of the electronic equipment at a t-x moment according to an environment image obtained by sampling a vision sensor of the electronic equipment at the t-x moment, wherein the t-x moment is the sampling moment of the vision sensor closest to the t moment, and x is greater than or equal to 0; and determining the vision estimated pose of the electronic equipment at the t-x moment as a second estimated pose of the electronic equipment at the t moment.
The electronic device is provided with a vision sensor, for example, the vision sensor may be an image acquisition device, a camera, or the like, and the vision sensor continuously performs sampling to obtain an environment image, where the environment image may be an image obtained by shooting an environment where the electronic device is currently located by the vision sensor. Based on a visual positioning algorithm, visual positioning can be carried out according to the environment image and a preset point cloud map, a second estimated pose for correcting the first estimated pose is obtained, and the second estimated pose is input into a motion estimation correction module.
The visual positioning algorithm is limited by the sampling frequency of the visual sensor, and since the sampling frequency of the visual sensor is lower than the sampling frequency of the inertial sensor, the positioning frequency of the visual positioning algorithm is lower than that of the inertial positioning algorithm.
In one example, after determining a first estimated pose of the electronic device at a time t based on an inertial positioning algorithm, determining a visual positioning time t-x closest to the time t, wherein x is greater than or equal to 0, performing visual positioning according to an environment image sampled by a visual sensor at the time t-x, determining the visual estimated pose of the electronic device at the time t-x as a second estimated pose of the electronic device at the time t for correcting the first estimated pose of the electronic device at the time t, and inputting the second estimated pose of the electronic device at the time t into a motion estimation correction module. If the sampling time of the visual sensor is just the time of pose determination, that is, the visual sensor performs sampling at the time t to obtain an environment image, visual positioning can be performed according to the environment image, the visual estimated pose of the electronic equipment at the time t is determined, and the visual estimated pose of the electronic equipment at the time t is determined as the second estimated pose of the electronic equipment at the time t (that is, x is 0 at the time); and if the sampling time of the sensor is not completely coincident with the time of pose determination, namely the vision sensor performs sampling before the time t to obtain an environment image, determining the sampling time t-x (x is greater than 0 at the time) nearest to the time t, performing vision positioning according to the environment image obtained by sampling at the time t-x, determining the vision estimated pose of the electronic equipment at the time t-x, and determining the vision estimated pose of the electronic equipment at the time t-x as the second estimated pose of the electronic equipment at the time t.
In one possible implementation, the preset positioning algorithm includes a visual inertial positioning algorithm; determining a second estimated pose of the electronic device based on a preset positioning algorithm, comprising: determining a vision estimated pose of the electronic equipment at a t-x moment according to an environment image obtained by sampling a vision sensor of the electronic equipment at the t-x moment, wherein the t-x moment is the sampling moment of the vision sensor closest to the t moment, and x is greater than or equal to 0; integrating second inertial data sampled by the inertial sensor between the time t-x and the time t to obtain a second integration result; and fusing the second integration result with the vision estimated pose of the electronic equipment at the t-x moment to obtain a second estimated pose of the electronic equipment at the t moment. If the sampling time of the visual sensor is just the time of pose determination, that is, the visual sensor performs sampling at the time t to obtain an environment image, then visual positioning can be performed according to the environment image to determine the visual estimated pose of the electronic device at the time t (that is, x is 0 at this time); and integrating second inertial data sampled at the moment t of the inertial sensor to obtain a second integration result, and then fusing the second integration result with the vision estimated pose at the moment t to obtain a second estimated pose of the electronic equipment at the moment t. And if the sampling time of the sensor is not completely coincident with the time of pose determination, namely the visual sensor performs sampling before the time t to obtain an environment image, determining the sampling time t-x (x is greater than 0 at the time), which is closest to the time t, performing visual positioning according to the environment image obtained by sampling at the time t-x, determining the visual estimated pose of the electronic equipment at the time t-x, integrating second inertial data obtained by sampling from the time t-x to the time t of the inertial sensor to obtain a second integration result, and fusing the second integration result and the visual estimated pose at the time t-x to obtain a second estimation pose of the electronic equipment at the time t.
In one example, the second integral result and the vision estimated pose of the electronic equipment at the time t-x can be fused through a Kalman filtering algorithm, in the specific fusion process, the vision estimated pose of the electronic equipment at the time t-x and the second integral result are fused in proportion through a Kalman prediction equation to obtain the second estimated pose of the electronic equipment at the time t, the specific fusion proportion is determined by Kalman gain Kg, Kg is updated by a Kalman update equation according to the prediction result of the Kalman prediction equation, and the updated Kalman prediction equation prediction result is more accurate.
In an example, the second integration result and the vision estimated pose of the electronic device at the time t-x may also be fused through a root mean square filtering algorithm, a non-linear optimization algorithm, or other fusion algorithms, which is not specifically limited by the present disclosure.
The visual inertial positioning algorithm is a positioning algorithm for performing fusion positioning by using a visual sensor and an inertial sensor, for example, the visual inertial positioning algorithm may include non-linear optimization positioning algorithms VINS-Mono, OKVIS, filtering positioning algorithm MSCKF, and the like, which is not specifically limited by the present disclosure.
In one example, after the vision estimated pose of the electronic device at the time t-x is determined based on an environment image sampled by a vision sensor at the time t-x, in order to more accurately determine a second estimated pose of the electronic device at the time t, second inertial data between the time t-x and the current time t are acquired from data cached in a preprocessing module, under the condition that accelerometer deviation and/or gyroscope deviation can be read from a preset positioning algorithm, the latest accelerometer deviation and/or gyroscope deviation is read and updated, and second inertial data are integrated to obtain a second integration result. For example, the position, attitude, and velocity of the IMU are integrated, keeping the accelerometer bias and/or gyroscope bias constant, resulting in a second integration result. The second estimated pose of the electronic equipment at the time t can be obtained with higher precision by fusing the second integration result with the vision estimated pose of the electronic equipment at the time t-x, and the second estimated pose of the electronic equipment at the time t is input into the motion estimation and correction module.
In a possible implementation manner, the correcting the first estimated pose according to the second estimated pose to obtain a target pose of the electronic device includes: determining target weight corresponding to a second estimated pose of the electronic equipment at the time t; and fusing the first estimated pose of the electronic equipment at the moment t and the second estimated pose of the electronic equipment at the moment t based on a preset fusion algorithm and the target weight to obtain the target pose of the electronic equipment at the moment t.
In one possible implementation manner, determining a target weight corresponding to a second estimated pose of the electronic device at time t includes: determining a first positioning uncertainty corresponding to a vision estimation pose of the electronic equipment at the t-x moment; a target weight is determined based on the first positioning uncertainty.
The positioning uncertainty is a degree to which a positioning result cannot be confirmed or a positioning result is trusted due to an error. The smaller the positioning uncertainty is, the higher the positioning result quality is, and the higher the positioning precision is; conversely, the larger the positioning uncertainty is, the lower the positioning result quality is, and the lower the positioning accuracy is. The positioning uncertainty may be determined based on a variety of factors that affect the accuracy of the positioning results.
The first positioning uncertainty is used for indicating the credibility of the vision estimation pose of the electronic equipment at the t-x moment determined based on the vision positioning algorithm. In one example, by presetting a positioning uncertainty determination algorithm corresponding to a visual positioning algorithm, when a visual estimation pose of the electronic device at a time t-x is determined based on the visual positioning algorithm, a first positioning uncertainty corresponding to the visual estimation pose can be determined at the same time. The positioning uncertainty determination algorithm may employ an algorithm for determining the positioning uncertainty in the related art, which is not specifically limited by the present disclosure.
The first positioning uncertainty is used for indicating the credibility of the visual estimated pose of the electronic equipment at the time t-x, and the second estimated pose of the electronic equipment at the time t comprises the visual estimated pose of the electronic equipment at the time t-x, so that the target weight corresponding to the second estimated pose of the electronic equipment at the time t is determined based on the first positioning uncertainty corresponding to the visual estimated pose of the electronic equipment at the time t-x, and when the first estimated pose of the electronic equipment at the time t and the second estimated pose of the electronic equipment at the time t are fused based on the target weight, the credibility of the second estimated pose of the electronic equipment at the time t is fully considered, so that the accuracy of a fusion result can be improved.
In one possible implementation, determining the target weight according to the first positioning uncertainty includes: the first positioning uncertainty is determined as a target weight.
Under the condition that the preset positioning algorithm is the visual positioning algorithm, the second estimated pose of the electronic equipment at the time t is the visual estimated pose of the electronic equipment at the time t-x, so that the first positioning uncertainty corresponding to the visual estimated pose of the electronic equipment at the time t-x can be directly determined as the target weight corresponding to the second estimated pose of the electronic equipment at the time t, the credibility degree of the visual estimated pose of the electronic equipment at the time t-x is considered when the target weight corresponding to the second estimated pose of the electronic equipment at the time t is determined, the accuracy of the target weight can be improved, and the accuracy of a subsequent fusion process can be effectively improved. For example, the first uncertainty corresponding to the vision estimated pose of the electronic device at the time t-x is higher, that is, the positioning accuracy of the second estimated pose of the electronic device at the time t is higher, the first positioning uncertainty corresponding to the vision estimated pose of the electronic device at the time t-x is determined as the target weight corresponding to the second estimated pose of the electronic device at the time t, and the fusion proportion of the second estimated pose in the fusion process can be improved, so that the accuracy of the fusion result can be improved.
In one possible implementation, the method further includes: determining a second positioning uncertainty corresponding to a second integration result, wherein the second integration result is obtained by integrating second inertial data sampled by the inertial sensor between the t-x moment and the t moment; determining a target weight based on the first positioning uncertainty, comprising: and fusing the first positioning uncertainty and the second positioning uncertainty to obtain the target weight.
The second positioning uncertainty is used for indicating the credibility degree of a second integration result obtained by integrating second inertial data sampled by the inertial sensor between the time t-x and the time t based on an inertial positioning algorithm.
Under the condition that the preset positioning algorithm is a visual inertial positioning algorithm, the second estimated pose of the electronic equipment at the time t comprises the visual estimated pose of the electronic equipment at the time t-x, and second inertial data sampled by the inertial sensor from the time t-x to the time t are integrated to obtain a second integration result, so that the first positioning uncertainty corresponding to the visual estimated pose of the electronic equipment at the time t-x and the second positioning uncertainty corresponding to the second integration result are fused to obtain the target weight of the second estimated pose of the electronic equipment at the time t, so that when the target weight of the second estimated pose of the electronic equipment at the time t is determined, the credibility of the visual estimated pose of the electronic equipment at the time t-x is considered, and the second inertial data sampled by the inertial sensor from the time t-x to the time t are considered to obtain the second integration result The credibility of the two-integration result can improve the accuracy of the target weight, and further can effectively improve the accuracy of the subsequent fusion process.
In one example, fusing the first positioning uncertainty and the second positioning uncertainty to obtain a target weight comprises: the first positioning uncertainty and the second positioning uncertainty are added or multiplied to obtain a target weight.
The first positioning uncertainty and the second positioning uncertainty may be fused in other ways besides addition or multiplication, and this disclosure does not specifically limit this.
In one possible implementation, the target weight may also be set in advance. For example, the target weight is a fixed value set in advance. The determination of the target weight may be performed in other manners besides the above manners, and this disclosure does not specifically limit this.
And fusing the first estimated pose and the second estimated pose of the electronic equipment at the time t based on a preset fusion algorithm and the target weight to obtain the target pose of the electronic equipment at the time t.
In one possible implementation, the predetermined fusion algorithm includes at least one of: kalman filtering algorithm, root mean square filtering algorithm, and nonlinear optimization algorithm.
The following describes the fusion of the first estimated pose and the second estimated pose of the electronic device in detail by taking a nonlinear optimization algorithm as an example of a preset fusion algorithm.
And under the condition that the preset positioning algorithm is a visual positioning algorithm and the visual sensor can acquire the environment image at the time t, estimating the target pose of the electronic equipment at the time t by visual constraint based on the first estimated pose and the second estimated pose of the electronic equipment at the time t.
In an example, in a case that the preset positioning algorithm is a visual positioning algorithm, the second estimated pose of the electronic device at the time t is a visual estimated pose of the electronic device at the time t-k, and according to the visual estimated pose, a visual feature corresponding to the first environment image sampled at the time t-k can be determined, where the visual feature includes: and 2D position information and 3D position information corresponding to the characteristic point i in the first environment image. Because the second environment image can be gathered to the visual sensor of moment t, consequently, carry out the characteristic tracking to the first environment image that the sampling obtained of moment t-k and the second environment image that the sampling obtained of moment t, obtain the visual characteristic that the second environment image that the sampling obtained of moment t corresponds, this visual characteristic includes: and 2D position information and 3D position information corresponding to the characteristic point i in the second environment image. A first constraint energy function e by the following formula (1)CPerforming minimization optimization to achieve visual approximationThe beam estimation electronics target pose at time t,
Figure BDA0002978458780000101
wherein, in the first constraint energy function eCBefore performing minimization optimization, XtIs the first estimated pose of the electronic device at time t,
Figure BDA0002978458780000102
2D position information and 3D position information w corresponding to the characteristic point i in the second environment image sampled at the time tCIs eCCorresponding variance, wherein wCThe value may be a preset fixed value, or may be determined by a visual positioning algorithm, which is not specifically limited in this disclosure. By applying a first constraint energy function eCThe minimum optimization is carried out, the optimal estimation of the target pose of the electronic equipment at the moment t can be carried out through visual constraint based on the first estimated pose and the second estimated pose of the electronic equipment at the moment t, and the first constraint energy function e is carried outCAfter optimization of minimization, XtAnd the target pose of the electronic equipment at the moment t.
Under the condition that the preset positioning algorithm is a visual inertial positioning algorithm, the target pose of the electronic equipment at the time t can be estimated through visual positioning constraint and inertial pre-integration constraint based on the first estimated pose and the second estimated pose of the electronic equipment at the time t.
In an example, in the case that the preset positioning algorithm is a visual inertial positioning algorithm, the second estimated pose of the electronic device at the time t is obtained by fusing a second integration result obtained by integrating second inertial data obtained by sampling the inertial sensor between the time t-k and the time t, and the second estimated pose of the electronic device at the time t is the visual estimated pose of the electronic device at the time t-k. The second constraint energy function e is obtained by the following equation (2)ICarrying out minimization optimization to estimate the target pose of the electronic equipment at the time t through visual positioning constraint and inertial pre-integral constraint,
Figure BDA0002978458780000103
wherein, in the first constraint energy function eIBefore performing minimization optimization, XtA first constraint energy function e is a first estimated pose of the electronic equipment at the time t, z is a second estimated pose of the electronic equipment at the time t, namely the vision estimated pose of the electronic equipment at the time t-k is fused with a second integration result obtained by integrating second inertia data sampled by an inertia sensor between the time t-x and the time t, and the first constraint energy function eICan be determined by the following formula (3),
Figure BDA0002978458780000104
wherein, gwIs a gravity parameter in an inertial coordinate system of the inertial sensor IMU, btIs the IMU coordinate system at time t, bt-kIs the IMU coordinate system at time t-k,
Figure BDA0002978458780000111
is a pre-integral term for sampling between time t-k and time t to obtain the position of the IMU in the second inertial data,
Figure BDA0002978458780000112
is to sample between t-k time and t time to obtain a pre-integral term of the velocity of the IMU in the second inertial data,
Figure BDA0002978458780000113
the pre-integral term of the IMU attitude in the second inertial data is obtained by sampling from the time t-k to the time t,
Figure BDA0002978458780000114
is the position information included in the vision estimation pose of the electronic equipment at the time t-k,
Figure BDA0002978458780000115
is the speed information included in the vision estimation pose of the electronic equipment at the time t-k,
Figure BDA0002978458780000116
is the attitude information included in the vision estimated pose of the electronic equipment at the time t-k,
Figure BDA0002978458780000117
is the position information included in the first estimated pose of the electronic equipment at the time t,
Figure BDA0002978458780000118
is the speed information included in the first estimated pose of the electronic device at time t,
Figure BDA0002978458780000119
the pose information included in the first estimated pose of the electronic equipment at the time t.
In one example, the energy function e can be further defined as a function of the second constraint energy by the following formula (4)ICarrying out minimization optimization to determine corresponding weight:
Figure BDA00029784587800001110
wherein, wPIs ePCorresponding weight, σPIs the position information included in the vision estimation pose of the electronic equipment at the t-k moment
Figure BDA00029784587800001111
Corresponding variance, wVIs eVCorresponding weight, σVIs the speed information included in the vision estimation pose of the electronic equipment at the t-k moment
Figure BDA00029784587800001112
Corresponding variance, wqIs eqCorresponding weight, σqIs the attitude information included in the vision estimation pose of the electronic equipment at the t-k moment
Figure BDA00029784587800001113
The variance of the corresponding one of the first and second values,
Figure BDA00029784587800001114
and
Figure BDA00029784587800001115
the variances corresponding to the position information, the velocity information, and the attitude information included in the second integration result are respectively.
By applying a second constraint energy function e to saidIThe minimum optimization is carried out, the optimal estimation of the target pose of the electronic equipment at the moment t can be carried out through visual positioning constraint and inertia pre-integral constraint based on the first estimated pose and the second estimated pose of the electronic equipment at the moment t, and the second constraint energy function e is carried outIAfter performing minimization optimization, XtAnd the target pose of the electronic equipment at the time t.
The visual constraint, the visual positioning constraint and the inertial pre-integration constraint may be used alone or in combination to estimate the target pose of the electronic device at time t, which is not specifically limited in this disclosure. The method for estimating the target pose of the electronic device at the time t based on the first estimated pose and the second estimated pose of the electronic device at the time t may further include other methods such as a kalman filter algorithm and a root mean square filter algorithm, in addition to the above nonlinear optimization algorithm, and the disclosure does not specifically limit this method.
In the embodiment of the disclosure, based on an inertial positioning algorithm with a high-frequency smooth output characteristic, a first estimated pose of an electronic device is determined according to inertial data obtained by sampling of an inertial sensor of the electronic device, and based on a preset positioning algorithm with higher positioning accuracy, a second estimated pose of the electronic device is determined, and then the first estimated pose with high-frequency smoothness is corrected according to the second estimated pose with high accuracy, so as to obtain a target pose of the electronic device with high-frequency smoothness and higher accuracy, thereby realizing high-frequency smooth high-accuracy positioning of the electronic device.
Because the pose determination method of the embodiment of the disclosure has a small calculation amount, the pose determination method can be applied to application scenes such as augmented reality, virtual reality, robots, automatic driving, games, movies, education, electronic commerce, tourism, intelligent medical treatment, indoor decoration design, intelligent home, intelligent manufacturing, maintenance and assembly and the like, and high-frequency smooth high-precision positioning is realized in mobile equipment.
It is understood that the above-mentioned method embodiments of the present disclosure can be combined with each other to form a combined embodiment without departing from the logic of the principle, which is limited by the space, and the detailed description of the present disclosure is omitted. Those skilled in the art will appreciate that in the above methods of the specific embodiments, the specific order of execution of the steps should be determined by their function and possibly their inherent logic.
In addition, the present disclosure also provides a pose determination apparatus, an electronic device, a computer-readable storage medium, and a program, which can be used to implement any one of the pose determination methods provided by the present disclosure, and the corresponding technical solutions and descriptions and corresponding descriptions in the methods section are omitted for brevity.
Fig. 2 shows a block diagram of a pose determination apparatus according to an embodiment of the present disclosure. As shown in fig. 2, the apparatus 20 includes:
the first pose determining module 21 is configured to determine a first estimated pose of the electronic device according to inertial data sampled by an inertial sensor of the electronic device based on an inertial positioning algorithm;
the second pose determining module 22 is configured to determine a second estimated pose of the electronic device based on a preset positioning algorithm;
and the pose correction module 23 is configured to correct the first estimated pose according to the second estimated pose, so as to obtain a target pose of the electronic device.
In one possible implementation, the first posture determination module 21 includes:
the first integration submodule is used for integrating first inertial data sampled by the inertial sensor between the time t-1 and the time t to obtain a first integration result;
and the first fusion submodule is used for fusing the first integral result and the first estimated pose of the electronic equipment at the time t-1 to obtain the first estimated pose of the electronic equipment at the time t.
In one possible implementation, the preset positioning algorithm includes a visual positioning algorithm;
a second posture determination module 22, comprising:
the first determining submodule is used for determining the vision estimated pose of the electronic equipment at the t-x moment according to an environment image obtained by sampling a vision sensor of the electronic equipment at the t-x moment, the t-x moment is the sampling moment of the vision sensor closest to the t moment, and x is greater than or equal to 0;
and the second determining submodule is used for determining the vision estimated pose of the electronic equipment at the time t-x as a second estimated pose of the electronic equipment at the time t.
In one possible implementation, the preset positioning algorithm includes a visual inertial positioning algorithm;
a second posture determination module 22, comprising:
the third determining submodule is used for determining the vision estimated pose of the electronic equipment at the t-x moment according to an environment image obtained by sampling the vision sensor of the electronic equipment at the t-x moment, the t-x moment is the sampling moment of the vision sensor closest to the t moment, and x is greater than or equal to 0;
the second integration submodule is used for integrating second inertial data sampled by the inertial sensor between the time t-x and the time t to obtain a second integration result;
and the second fusion submodule is used for fusing the second integration result with the vision estimated pose of the electronic equipment at the time t-x to obtain a second estimated pose of the electronic equipment at the time t.
In one possible implementation, the pose correction module 23 includes:
the fourth determining submodule is used for determining the target weight corresponding to the second estimated pose of the electronic equipment at the time t;
and the third fusion submodule is used for fusing the first estimated pose of the electronic equipment at the time t and the second estimated pose of the electronic equipment at the time t based on a preset fusion algorithm and the target weight to obtain the target pose of the electronic equipment at the time t.
In one possible implementation, the fourth determining sub-module includes:
the first determining unit is used for determining first positioning uncertainty corresponding to the vision estimation pose of the electronic equipment at the t-x moment;
a second determining unit for determining the target weight based on the first positioning uncertainty.
In a possible implementation manner, the second determining unit is specifically configured to:
the first positioning uncertainty is determined as a target weight.
In one possible implementation, the apparatus 20 further includes:
the fifth determining submodule is used for determining second positioning uncertainty corresponding to a second integration result, and the second integration result is obtained by integrating second inertial data obtained by sampling the inertial sensor between the t-x moment and the t moment;
the second determining unit is specifically configured to:
and fusing the first positioning uncertainty and the second positioning uncertainty to obtain the target weight.
In some embodiments, functions of or modules included in the apparatus provided in the embodiments of the present disclosure may be used to execute the method described in the above method embodiments, and specific implementation thereof may refer to the description of the above method embodiments, and for brevity, will not be described again here.
Embodiments of the present disclosure also provide a computer-readable storage medium having stored thereon computer program instructions, which when executed by a processor, implement the above-mentioned method. The computer readable storage medium may be a non-volatile computer readable storage medium.
An embodiment of the present disclosure further provides an electronic device, including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to invoke the memory-stored instructions to perform the above-described method.
The disclosed embodiments also provide a computer program product comprising computer readable code, which when run on a device, a processor in the device executes instructions for implementing a pose determination method as provided in any of the above embodiments.
The embodiments of the present disclosure also provide another computer program product for storing computer readable instructions, which when executed cause a computer to perform the operations of the pose determination method provided in any one of the embodiments.
The electronic device may be provided as a terminal, server, or other form of device.
Fig. 3 shows a block diagram of an electronic device in accordance with an embodiment of the disclosure. As shown in fig. 3, the electronic device 800 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, or the like terminal.
Referring to fig. 3, electronic device 800 may include one or more of the following components: processing component 802, memory 804, power component 806, multimedia component 808, audio component 810, input/output (I/O) interface 812, sensor component 814, and communication component 816.
The processing component 802 generally controls overall operation of the electronic device 800, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing components 802 may include one or more processors 820 to execute instructions to perform all or a portion of the steps of the methods described above. Further, the processing component 802 can include one or more modules that facilitate interaction between the processing component 802 and other components. For example, the processing component 802 can include a multimedia module to facilitate interaction between the multimedia component 808 and the processing component 802.
The memory 804 is configured to store various types of data to support operations at the electronic device 800. Examples of such data include instructions for any application or method operating on the electronic device 800, contact data, phonebook data, messages, pictures, videos, and so forth. The memory 804 may be implemented by any type or combination of volatile or non-volatile memory devices such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks.
The power supply component 806 provides power to the various components of the electronic device 800. The power components 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the electronic device 800.
The multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and a user. In some embodiments, the screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front facing camera and/or a rear facing camera. The front camera and/or the rear camera may receive external multimedia data when the electronic device 800 is in an operation mode, such as a shooting mode or a video mode. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
The audio component 810 is configured to output and/or input audio signals. For example, the audio component 810 includes a Microphone (MIC) configured to receive external audio signals when the electronic device 800 is in an operational mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals may further be stored in the memory 804 or transmitted via the communication component 816. In some embodiments, audio component 810 also includes a speaker for outputting audio signals.
The I/O interface 812 provides an interface between the processing component 802 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to: a home button, a volume button, a start button, and a lock button.
The sensor assembly 814 includes one or more sensors for providing various aspects of state assessment for the electronic device 800. For example, the sensor assembly 814 may detect an open/closed state of the electronic device 800, the relative positioning of components, such as a display and keypad of the electronic device 800, the sensor assembly 814 may also detect a change in the position of the electronic device 800 or a component of the electronic device 800, the presence or absence of user contact with the electronic device 800, orientation or acceleration/deceleration of the electronic device 800, and a change in the temperature of the electronic device 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 814 may also include a light sensor, such as a Complementary Metal Oxide Semiconductor (CMOS) or Charge Coupled Device (CCD) image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
The communication component 816 is configured to facilitate wired or wireless communication between the electronic device 800 and other devices. The electronic device 800 may access a wireless network based on a communication standard, such as a wireless network (WiFi), a second generation mobile communication technology (2G) or a third generation mobile communication technology (3G), or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 further includes a Near Field Communication (NFC) module to facilitate short-range communications. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, Ultra Wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
In an exemplary embodiment, the electronic device 800 may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic components for performing the above-described methods.
In an exemplary embodiment, a non-transitory computer-readable storage medium, such as the memory 804, is also provided that includes computer program instructions executable by the processor 820 of the electronic device 800 to perform the above-described methods.
Fig. 4 shows a block diagram of an electronic device in accordance with an embodiment of the disclosure. As shown in fig. 4, the electronic device 1900 may be provided as a server. Referring to fig. 4, electronic device 1900 includes a processing component 1922 further including one or more processors and memory resources, represented by memory 1932, for storing instructions, e.g., applications, executable by processing component 1922. The application programs stored in memory 1932 may include one or more modules that each correspond to a set of instructions. Further, the processing component 1922 is configured to execute instructions to perform the above-described method.
The electronic device 1900 may also include a power component 1926 configured to perform power management of the electronic device 1900, a wired or wireless network interface 1950 configured to connect the electronic device 1900 to a network, and an input/output (I/O) interface 1958. The electronic device 1900 may operate based on an operating system, such as the Microsoft Server operating system (Windows Server), stored in the memory 1932TM) Apple Inc. of the present application based on the graphic user interface operating System (Mac OS X)TM) Multi-user, multi-process computer operating system (Unix)TM) Free and open native code Unix-like operating System (Linux)TM) Open native code Unix-like operating System (FreeBSD)TM) Or the like.
In an exemplary embodiment, a non-transitory computer readable storage medium, such as the memory 1932, is also provided that includes computer program instructions executable by the processing component 1922 of the electronic device 1900 to perform the above-described methods.
The present disclosure may be systems, methods, and/or computer program products. The computer program product may include a computer-readable storage medium having computer-readable program instructions embodied thereon for causing a processor to implement various aspects of the present disclosure.
The computer readable storage medium may be a tangible device that can hold and store the instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device, such as punch cards or in-groove projection structures having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein is not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or electrical signals transmitted through electrical wires.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a respective computing/processing device, or to an external computer or external storage device via a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing/processing device.
The computer program instructions for carrying out operations of the present disclosure may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, the electronic circuitry that can execute the computer-readable program instructions implements aspects of the present disclosure by utilizing the state information of the computer-readable program instructions to personalize the electronic circuitry, such as a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA).
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The computer program product may be embodied in hardware, software or a combination thereof. In an alternative embodiment, the computer program product is embodied in a computer storage medium, and in another alternative embodiment, the computer program product is embodied in a Software product, such as a Software Development Kit (SDK), or the like.
Having described embodiments of the present disclosure, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen in order to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (11)

1. A pose determination method, comprising:
determining a first estimated pose of the electronic equipment according to inertial data sampled by an inertial sensor of the electronic equipment based on an inertial positioning algorithm;
determining a second estimated pose of the electronic equipment based on a preset positioning algorithm;
and correcting the first estimated pose according to the second estimated pose to obtain a target pose of the electronic equipment.
2. The method of claim 1, wherein determining a first estimated pose of an electronic device based on an inertial positioning algorithm from inertial data sampled by inertial sensors of the electronic device comprises:
integrating first inertial data sampled by the inertial sensor between the time t-1 and the time t to obtain a first integration result;
and fusing the first integration result and the first estimated pose of the electronic equipment at the time t-1 to obtain the first estimated pose of the electronic equipment at the time t.
3. The method of claim 2, wherein the preset positioning algorithm comprises a visual positioning algorithm;
the determining a second estimated pose of the electronic device based on a preset positioning algorithm includes:
determining a vision estimated pose of the electronic equipment at a t-x moment according to an environment image obtained by sampling a vision sensor of the electronic equipment at the t-x moment, wherein the t-x moment is the sampling moment of the vision sensor closest to the t moment, and x is greater than or equal to 0;
and determining the vision estimated pose of the electronic equipment at the t-x moment as a second estimated pose of the electronic equipment at the t moment.
4. The method of claim 2, wherein the preset positioning algorithm comprises a visual inertial positioning algorithm;
the determining a second estimated pose of the electronic device based on a preset positioning algorithm includes:
determining a vision estimated pose of the electronic equipment at a t-x moment according to an environment image obtained by sampling a vision sensor of the electronic equipment at the t-x moment, wherein the t-x moment is the sampling moment of the vision sensor closest to the t moment, and x is greater than or equal to 0;
integrating second inertial data sampled by the inertial sensor between the time t-x and the time t to obtain a second integration result;
and fusing the second integration result with the vision estimated pose of the electronic equipment at the time t-x to obtain a second estimated pose of the electronic equipment at the time t.
5. The method of claim 3 or 4, wherein the correcting the first estimated pose according to the second estimated pose to obtain a target pose of the electronic device comprises:
determining a target weight corresponding to a second estimated pose of the electronic equipment at the time t;
and fusing the first estimated pose of the electronic equipment at the moment t and the second estimated pose of the electronic equipment at the moment t based on a preset fusion algorithm and the target weight to obtain the target pose of the electronic equipment at the moment t.
6. The method of claim 5, wherein determining the target weight for the second estimated pose of the electronic device at time t comprises:
determining a first positioning uncertainty corresponding to a vision estimation pose of the electronic equipment at the t-x moment;
determining the target weight according to the first positioning uncertainty.
7. The method of claim 6, wherein determining the target weight based on the first positioning uncertainty comprises:
determining the first positioning uncertainty as the target weight.
8. The method of claim 6, further comprising:
determining a second positioning uncertainty corresponding to a second integration result, wherein the second integration result is obtained by integrating second inertial data sampled by the inertial sensor between the t-x moment and the t moment;
determining the target weight according to the first positioning uncertainty comprises:
and fusing the first positioning uncertainty and the second positioning uncertainty to obtain the target weight.
9. A pose determination apparatus, characterized by comprising:
the first pose determining module is used for determining a first estimated pose of the electronic equipment according to inertial data sampled by an inertial sensor of the electronic equipment based on an inertial positioning algorithm;
the second pose determining module is used for determining a second estimated pose of the electronic equipment based on a preset positioning algorithm;
and the pose correction module is used for correcting the first estimated pose according to the second estimated pose to obtain a target pose of the electronic equipment.
10. An electronic device, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to invoke the memory-stored instructions to perform the method of any one of claims 1 to 8.
11. A computer readable storage medium having computer program instructions stored thereon, which when executed by a processor implement the method of any one of claims 1 to 8.
CN202110281141.5A 2021-03-16 2021-03-16 Pose determination method and device, electronic equipment and storage medium Pending CN113074726A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110281141.5A CN113074726A (en) 2021-03-16 2021-03-16 Pose determination method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110281141.5A CN113074726A (en) 2021-03-16 2021-03-16 Pose determination method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN113074726A true CN113074726A (en) 2021-07-06

Family

ID=76612616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110281141.5A Pending CN113074726A (en) 2021-03-16 2021-03-16 Pose determination method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113074726A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114427863A (en) * 2022-04-01 2022-05-03 天津天瞳威势电子科技有限公司 Vehicle positioning method and system, automatic parking method and system, and storage medium
CN115342806A (en) * 2022-07-14 2022-11-15 歌尔股份有限公司 Positioning method and device of head-mounted display equipment, head-mounted display equipment and medium
CN115844381A (en) * 2022-12-05 2023-03-28 立讯精密科技(南京)有限公司 Human body action recognition method and device, electronic equipment and storage medium
WO2023185354A1 (en) * 2022-04-02 2023-10-05 腾讯科技(深圳)有限公司 Real location navigation method and apparatus, and device, storage medium and program product
WO2024108394A1 (en) * 2022-11-22 2024-05-30 北京小米移动软件有限公司 Posture acquisition method, apparatus, virtual reality device, and readable storage medium

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101241011A (en) * 2007-02-28 2008-08-13 北京北科天绘科技有限公司 High precision positioning and posture-fixing device on laser radar platform and method
CN101793517A (en) * 2010-02-09 2010-08-04 北京航空航天大学 Online quick method for improving accuracy of attitude determination of airborne platform
CN104364823A (en) * 2012-06-14 2015-02-18 高通股份有限公司 Adaptive switching between a vision aided inertial camera pose estimation and a vision based only camera pose estimation
CN107063246A (en) * 2017-04-24 2017-08-18 齐鲁工业大学 A kind of Loosely coupled air navigation aid of vision guided navigation/inertial navigation
CN109099912A (en) * 2017-08-11 2018-12-28 黄润芳 Outdoor accurate positioning air navigation aid, device, electronic equipment and storage medium
US20190219400A1 (en) * 2017-12-29 2019-07-18 Comnav Technology Ltd. Integrated navigation system and positioning method thereof
CN110207714A (en) * 2019-06-28 2019-09-06 广州小鹏汽车科技有限公司 A kind of method, onboard system and the vehicle of determining vehicle pose
CN110352331A (en) * 2018-04-25 2019-10-18 深圳市大疆创新科技有限公司 The method and clouds terrace system of the attitude algorithm of hand-held holder
CN111174782A (en) * 2019-12-31 2020-05-19 智车优行科技(上海)有限公司 Pose estimation method and device, electronic equipment and computer readable storage medium
CN111221010A (en) * 2020-01-08 2020-06-02 安徽逻根农业科技有限公司 Method and system for accurately positioning routing inspection node
CN111595333A (en) * 2020-04-26 2020-08-28 武汉理工大学 Modularized unmanned vehicle positioning method and system based on visual inertial laser data fusion
CN111882607A (en) * 2020-07-14 2020-11-03 中国人民解放军军事科学院国防科技创新研究院 Visual inertial navigation fusion pose estimation method suitable for augmented reality application
CN112097768A (en) * 2020-11-17 2020-12-18 深圳市优必选科技股份有限公司 Robot posture determining method and device, robot and storage medium
CN112179336A (en) * 2019-07-02 2021-01-05 南京理工大学 Automatic luggage transportation method based on binocular vision and inertial navigation combined positioning
CN112287928A (en) * 2020-10-20 2021-01-29 深圳市慧鲤科技有限公司 Prompting method and device, electronic equipment and storage medium

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101241011A (en) * 2007-02-28 2008-08-13 北京北科天绘科技有限公司 High precision positioning and posture-fixing device on laser radar platform and method
CN101793517A (en) * 2010-02-09 2010-08-04 北京航空航天大学 Online quick method for improving accuracy of attitude determination of airborne platform
CN104364823A (en) * 2012-06-14 2015-02-18 高通股份有限公司 Adaptive switching between a vision aided inertial camera pose estimation and a vision based only camera pose estimation
CN107063246A (en) * 2017-04-24 2017-08-18 齐鲁工业大学 A kind of Loosely coupled air navigation aid of vision guided navigation/inertial navigation
CN109099912A (en) * 2017-08-11 2018-12-28 黄润芳 Outdoor accurate positioning air navigation aid, device, electronic equipment and storage medium
US20190219400A1 (en) * 2017-12-29 2019-07-18 Comnav Technology Ltd. Integrated navigation system and positioning method thereof
CN110352331A (en) * 2018-04-25 2019-10-18 深圳市大疆创新科技有限公司 The method and clouds terrace system of the attitude algorithm of hand-held holder
CN110207714A (en) * 2019-06-28 2019-09-06 广州小鹏汽车科技有限公司 A kind of method, onboard system and the vehicle of determining vehicle pose
CN112179336A (en) * 2019-07-02 2021-01-05 南京理工大学 Automatic luggage transportation method based on binocular vision and inertial navigation combined positioning
CN111174782A (en) * 2019-12-31 2020-05-19 智车优行科技(上海)有限公司 Pose estimation method and device, electronic equipment and computer readable storage medium
CN111221010A (en) * 2020-01-08 2020-06-02 安徽逻根农业科技有限公司 Method and system for accurately positioning routing inspection node
CN111595333A (en) * 2020-04-26 2020-08-28 武汉理工大学 Modularized unmanned vehicle positioning method and system based on visual inertial laser data fusion
CN111882607A (en) * 2020-07-14 2020-11-03 中国人民解放军军事科学院国防科技创新研究院 Visual inertial navigation fusion pose estimation method suitable for augmented reality application
CN112287928A (en) * 2020-10-20 2021-01-29 深圳市慧鲤科技有限公司 Prompting method and device, electronic equipment and storage medium
CN112097768A (en) * 2020-11-17 2020-12-18 深圳市优必选科技股份有限公司 Robot posture determining method and device, robot and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
顾洪洋;方针;刘宇;张泽欣;付乐乐;: "基于卡尔曼滤波的视觉辅助惯导定位算法研究", 电子质量, no. 03, 20 March 2020 (2020-03-20) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114427863A (en) * 2022-04-01 2022-05-03 天津天瞳威势电子科技有限公司 Vehicle positioning method and system, automatic parking method and system, and storage medium
WO2023185354A1 (en) * 2022-04-02 2023-10-05 腾讯科技(深圳)有限公司 Real location navigation method and apparatus, and device, storage medium and program product
CN115342806A (en) * 2022-07-14 2022-11-15 歌尔股份有限公司 Positioning method and device of head-mounted display equipment, head-mounted display equipment and medium
WO2024108394A1 (en) * 2022-11-22 2024-05-30 北京小米移动软件有限公司 Posture acquisition method, apparatus, virtual reality device, and readable storage medium
CN115844381A (en) * 2022-12-05 2023-03-28 立讯精密科技(南京)有限公司 Human body action recognition method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN113074726A (en) Pose determination method and device, electronic equipment and storage medium
CN111551191B (en) Sensor external parameter calibration method and device, electronic equipment and storage medium
CN112229424B (en) Parameter calibration method and device for visual inertial system, electronic equipment and medium
CN111323007B (en) Positioning method and device, electronic equipment and storage medium
CN111540000A (en) Scene depth and camera motion prediction method and device, electronic device and medium
CN111401230B (en) Gesture estimation method and device, electronic equipment and storage medium
CN109584362B (en) Three-dimensional model construction method and device, electronic equipment and storage medium
CN111881827B (en) Target detection method and device, electronic equipment and storage medium
JP7182020B2 (en) Information processing method, device, electronic device, storage medium and program
CN110865405A (en) Fusion positioning method and device, mobile equipment control method and electronic equipment
CN112432637B (en) Positioning method and device, electronic equipment and storage medium
CN112945207B (en) Target positioning method and device, electronic equipment and storage medium
CN111860373B (en) Target detection method and device, electronic equipment and storage medium
CN112541971A (en) Point cloud map construction method and device, electronic equipment and storage medium
CN112433211A (en) Pose determination method and device, electronic equipment and storage medium
CN113052874B (en) Target tracking method and device, electronic equipment and storage medium
CN112837372A (en) Data generation method and device, electronic equipment and storage medium
CN112767541A (en) Three-dimensional reconstruction method and device, electronic equipment and storage medium
CN114549983A (en) Computer vision model training method and device, electronic equipment and storage medium
CN112683262A (en) Positioning method and device, electronic equipment and storage medium
CN112461245A (en) Data processing method and device, electronic equipment and storage medium
CN112948411A (en) Pose data processing method, interface, device, system, equipment and medium
CN115164874A (en) Method and device for determining pose, electronic equipment and storage medium
CN113538701A (en) Rendering position prediction method and device, electronic equipment and storage medium
CN112035583A (en) Positioning updating method, device and system, and mobile equipment control method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination