A pose estimation method and device, electronic equipment and storage medium

By combining Aruco and ARKit pose estimation strategies, the second pose information is used to correct the deviation of the first pose information, which solves the problem of low pose estimation accuracy in the existing technology and achieves more accurate pose information acquisition.

CN116485900BActive Publication Date: 2026-04-14BEIJING WODONG TIANJUN INFORMATION TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-08
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

The accuracy of pose estimation in existing technologies is not high, especially in the z-axis direction where there is a large displacement offset and orientation deviation. Furthermore, the pose information estimated by ARKit lacks global consistency, making it difficult to restore the previous state.

Method used

By combining two pose estimation strategies, Aruco and ARKit, pose information of the camera coordinate system and the first and second coordinate systems is obtained respectively. The second pose information is used to correct the deviation in the first pose information, especially the deviation in the z-axis direction, so as to achieve information fusion and improve accuracy.

Benefits of technology

It improves the accuracy of pose estimation, corrects the offset and orientation deviation of Aruco estimation in the z-axis direction, enhances the global consistency of ARKit estimation, and obtains more accurate target pose information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116485900B_ABST
    Figure CN116485900B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a pose estimation method and device, electronic equipment and a storage medium. The method comprises: acquiring an image collected by a camera; analyzing the image based on a first pose estimation strategy to obtain first pose information corresponding to a camera coordinate system and a first coordinate system, and analyzing the image based on a second pose estimation strategy to obtain second pose information corresponding to the camera coordinate system and a second coordinate system; and correcting deviation information in the first pose information based on the second pose information to obtain target pose information. The technical solution of the embodiments of the present application utilizes the respective advantages of the two pose estimation strategies, fuses the pose information obtained based on the two pose estimation strategies, that is, corrects the deviation information in one pose information based on the other pose information, thereby improving the accuracy of pose estimation, so that more accurate target pose information can be obtained.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of computer vision, and more particularly to a pose estimation method, apparatus, electronic device and storage medium. Background Technology

[0002] Pose estimation plays a vital role in many fields such as robotics and autonomous driving, therefore, accurate pose estimation is of paramount importance.

[0003] In the process of realizing this invention, the inventors discovered the following technical problem in the prior art: the accuracy of pose estimation needs to be improved. Summary of the Invention

[0004] This invention provides a pose estimation method, apparatus, electronic device, and storage medium to improve the accuracy of pose estimation.

[0005] According to one aspect of the present invention, a pose estimation method is provided, which may include:

[0006] Acquire images captured by the camera;

[0007] The image is analyzed based on the first pose estimation strategy to obtain the first pose information corresponding to the camera coordinate system and the first coordinate system, and the image is analyzed based on the second pose estimation strategy to obtain the second pose information corresponding to the camera coordinate system and the second coordinate system.

[0008] Based on the second pose information, the deviation information in the first pose information is corrected to obtain the target pose information;

[0009] Among them, the camera coordinate system corresponds to the camera, the first coordinate system corresponds to the first pose estimation strategy, and the second coordinate system corresponds to the second pose estimation strategy.

[0010] According to another aspect of the present invention, a pose estimation apparatus is provided, which may include:

[0011] The image acquisition module is used to acquire images captured by the camera;

[0012] The second pose information acquisition module is used to analyze the image based on the first pose estimation strategy to obtain the first pose information corresponding to the camera coordinate system and the first coordinate system, and to analyze the image based on the second pose estimation strategy to obtain the second pose information corresponding to the camera coordinate system and the second coordinate system.

[0013] The target pose information acquisition module is used to correct the deviation information in the first pose information based on the second pose information to obtain the target pose information.

[0014] Among them, the camera coordinate system corresponds to the camera, the first coordinate system corresponds to the first pose estimation strategy, and the second coordinate system corresponds to the second pose estimation strategy.

[0015] According to another aspect of the present invention, an electronic device is provided, which may include:

[0016] At least one processor; and

[0017] A memory that is communicatively connected to at least one processor; wherein,

[0018] The memory stores a computer program that can be executed by at least one processor, such that when the at least one processor executes the program, it implements the pose estimation method provided in any embodiment of the present invention.

[0019] According to another aspect of the present invention, a computer-readable storage medium is provided having computer instructions stored thereon for causing a processor to execute and implement the pose estimation method provided in any embodiment of the present invention.

[0020] The technical solution of this invention involves acquiring an image captured by a camera, analyzing the image based on a first pose estimation strategy to obtain first pose information corresponding to the camera coordinate system and a first coordinate system, and analyzing the image based on a second pose estimation strategy to obtain second pose information corresponding to the camera coordinate system and the second coordinate system. Further, based on the second pose information, the deviation information in the first pose information is corrected to obtain the target pose information. This technical solution utilizes the advantages of both pose estimation strategies, fusing the pose information obtained from the two strategies separately. Specifically, it corrects the deviation information in the other pose information based on one pose information, thereby improving the accuracy of pose estimation and obtaining more accurate target pose information.

[0021] It should be understood that the description in this section is not intended to identify key or important features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

[0022] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0023] Figure 1a This is a schematic diagram illustrating the pose estimation effect based on Aruco.

[0024] Figure 1b This is a schematic diagram illustrating the rendering effect of pose estimation based on ARKit;

[0025] Figure 2 This is a flowchart of a pose estimation method provided by an embodiment of the present invention;

[0026] Figure 3 This is a flowchart of another pose estimation method provided by an embodiment of the present invention;

[0027] Figure 4 This is a schematic diagram of pose estimation markers in another pose estimation method provided by an embodiment of the present invention;

[0028] Figure 5 This is a flowchart of another pose estimation method provided by an embodiment of the present invention;

[0029] Figure 6 This is an example diagram of the Aruco coordinate system and the ARKit coordinate system on a parallel plane in another pose estimation method provided by an embodiment of the present invention;

[0030] Figure 7 This is a flowchart of another pose estimation method provided by an embodiment of the present invention;

[0031] Figure 8 This is a schematic diagram illustrating the deviation of the xy plane in the first pose information in another pose estimation method provided by an embodiment of the present invention;

[0032] Figure 9 This is a flowchart of an optional example of another pose estimation method provided according to an embodiment of the present invention;

[0033] Figure 10 This is a structural block diagram of a pose estimation device provided according to an embodiment of the present invention;

[0034] Figure 11 This is a schematic diagram of the structure of an electronic device that implements the pose estimation method of the present invention. Detailed Implementation

[0035] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0036] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. The same applies to "target," "original," etc., and will not be repeated here. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0037] Before introducing the embodiments of the present invention, the application scenarios of the embodiments of the present invention will be illustrated by example: Currently, there are many pose estimation schemes, such as Aruco or ARKit or ARCore in simultaneous localization and mapping (SLAM) technology, but they all have their own shortcomings. For example, the pose information estimated based on Aruco has a large displacement offset and orientation deviation in the z-axis direction. For example, see [link to relevant documentation]. Figure 1a Using pose information estimated by Aruco, reprojecting the acquired image results in inaccurate z-axis alignment, leading to left-right skewing in the rendered image. Furthermore, pose information between two coordinate systems estimated using ARKit lacks global consistency, and when pose drift occurs, the pose may not accurately recover to its previous state. For example, see [link to example]. Figure 1b When the pose estimation marker rendered on the desktop rotates around the object, it deviates from its original position and is difficult to restore to its previous state. This shows that the accuracy of the current pose estimation is not high.

[0038] Figure 2 This is a flowchart of a pose estimation method provided in an embodiment of the present invention. This embodiment is applicable to pose estimation, especially to situations where pose estimation is performed by fusing pose information obtained based on different pose estimation strategies. The method can be executed by the pose estimation device provided in this embodiment of the present invention. This device can be implemented in software and / or hardware and can be integrated into an electronic device, which can be various user terminals or servers.

[0039] See Figure 2 The method of this invention specifically includes the following steps:

[0040] S110. Acquire images captured by the camera.

[0041] In this context, "image" can be understood as an image captured by a camera. The camera can be understood as a standalone device with image acquisition capabilities or a component that can be installed on a user terminal. For the former, its type can be a digital camera, SLR camera, webcam, or camcorder, etc., without specific limitations. In practical applications, optionally, to improve the accuracy of subsequent pose estimation, pose estimation markers can be pre-set, i.e., markers used for pose estimation. Then, the camera is controlled to capture images of the pose estimation markers to obtain an image. For example, the pose estimation markers can be displayed on a plane, such as by directly printing the pose estimation markers on the plane, or by placing paper with the pose estimation markers printed on the plane, etc., and then the camera is controlled to capture images of the plane. Optionally, the plane can be parallel to, perpendicular to, or intersect with the ground, without specific limitations.

[0042] S120. Analyze the image based on the first pose estimation strategy to obtain the first pose information corresponding to the camera coordinate system and the first coordinate system, and analyze the image based on the second pose estimation strategy to obtain the second pose information corresponding to the camera coordinate system and the second coordinate system, wherein the camera coordinate system corresponds to the camera, the first coordinate system corresponds to the first pose estimation strategy, and the second coordinate system corresponds to the second pose estimation strategy.

[0043] The first pose estimation strategy can be understood as a strategy (or scheme, algorithm, or method) for pose estimation by analyzing the image. For the camera coordinate system and the first coordinate system corresponding to the first pose estimation strategy, the image is analyzed based on the first pose estimation strategy to obtain the first pose information corresponding to the camera coordinate system and the first coordinate system. This first pose information can represent the pose information of the camera coordinate system in the first coordinate system, or it can represent the pose information of the first coordinate system in the camera coordinate system. This can be set according to the actual situation and is not specifically limited here. It should be noted that the pose information includes translation and rotation. Taking the pose information of the camera coordinate system in the first coordinate system as an example, the translation can represent the position of the origin of the camera coordinate system in the first coordinate system. Moreover, the coordinate axes of the camera coordinate system after rotation are parallel to the coordinate axes of the first coordinate system. That is, the pose information is used to represent the pose transformation relationship between the camera coordinate system and the first coordinate system.

[0044] Similarly, the second pose estimation strategy can be understood as a strategy (or scheme, algorithm, or method) for pose estimation by analyzing images. For the camera coordinate system and the second coordinate system corresponding to the second pose estimation strategy, the image is analyzed based on the second pose estimation strategy to obtain the second pose information corresponding to the camera coordinate system and the second coordinate system. This second pose information can represent the pose information of the camera coordinate system in the second coordinate system, or it can represent the pose information of the second coordinate system in the camera coordinate system. This can be set according to the actual situation and is not specifically limited here.

[0045] It should be noted that the first pose estimation strategy and the second pose estimation strategy are different pose estimation strategies. The first pose information obtained based on the first pose estimation strategy contains bias information, so its accuracy needs to be improved. Similarly, the accuracy of the second pose information obtained based on the second pose estimation strategy also needs to be improved, but this second pose information can be used to correct the bias information. Based on this, and considering the application scenarios that may be involved in the embodiments of this invention, for example, the first pose estimation strategy may include Aruco, and / or the second pose estimation strategy may include ARKit. It should be emphasized that Aruco and ARKit are merely illustrative examples and are not specific limitations on the two pose estimation strategies described above.

[0046] S130. Based on the second pose information, the deviation information in the first pose information is corrected to obtain the target pose information.

[0047] As mentioned above, the first pose information includes deviation information, which can be understood as inaccurate information containing deviations. For example, this could be displacement or orientation deviations in the x-axis, y-axis, or z-axis directions, or other deviations, depending on the specific choice of the first pose estimation strategy. Therefore, no specific limitations are made here. Based on this, since the second pose information can be used to correct (or modify) this deviation information, it can be used to correct the deviation information, thereby obtaining more accurate target pose information corresponding to the first coordinate system and the camera coordinate system. This improves the accuracy of pose estimation.

[0048] The technical solution of this invention involves acquiring an image captured by a camera, analyzing the image based on a first pose estimation strategy to obtain first pose information corresponding to the camera coordinate system and a first coordinate system, and analyzing the image based on a second pose estimation strategy to obtain second pose information corresponding to the camera coordinate system and the second coordinate system. Further, based on the second pose information, the deviation information in the first pose information is corrected to obtain the target pose information. This technical solution utilizes the advantages of both pose estimation strategies, fusing the pose information obtained from the two strategies separately. Specifically, it corrects the deviation information in the other pose information based on one pose information, thereby improving the accuracy of pose estimation and obtaining more accurate target pose information.

[0049] Figure 3 This is a flowchart of another pose estimation method provided in this embodiment of the invention. This embodiment is based on the above-described technical solutions and optimized. In this embodiment, optionally, acquiring an image captured by a camera includes: acquiring an image of a pose estimation marker captured by the camera, wherein the first pose estimation strategy identifies the first pose information by detecting the pose estimation marker in the image, and the deviation information in the first pose information includes z-axis information; correcting the deviation information in the first pose information based on the second pose information includes: correcting the z-axis information in the first pose information based on the second pose information, wherein the z-axis information includes a z-axis vector and / or a z-axis distance, and the z-axis distance can characterize the distance between the camera and the marker plane where the pose estimation marker is located in the z-axis direction of the first coordinate system. The explanations of terms that are the same as or corresponding to those in the above embodiments are not repeated here.

[0050] See Figure 3 The method in this embodiment may specifically include the following steps:

[0051] S210. Acquire the image obtained by capturing the pose estimation markers through the camera.

[0052] In this context, pose estimation markers can be understood as markers used for pose estimation. The significance of acquiring pose estimation markers through a camera to generate images is that the first pose estimation strategy can identify the first pose information by detecting pose estimation markers in the image. In other words, pose estimation markers help the first pose estimation strategy identify the first pose information.

[0053] In practical applications, optionally, the pose estimation marker can be generated based on ArUco markers, where an ArUco marker is a binary square reference marker used for camera pose estimation. Furthermore, considering that a single ArUco marker is prone to occlusion or estimation errors, the pose estimation marker can be obtained by combining at least two pre-set ArUco markers. For example, see [link to example]. Figure 4 This is a pose recognition tag (i.e., pose recognition code) formed by combining Aruco tags (i.e., Aruco codes) with IDs from 0 to 15 in a preset arrangement.

[0054] S220. Analyze the image based on the first pose estimation strategy to obtain the first pose information corresponding to the camera coordinate system and the first coordinate system, and analyze the image based on the second pose estimation strategy to obtain the second pose information corresponding to the camera coordinate system and the second coordinate system. The first pose estimation strategy identifies the first pose information by detecting pose estimation markers in the image. The camera coordinate system corresponds to the camera, the first coordinate system corresponds to the first pose estimation strategy, and the second coordinate system corresponds to the second pose estimation strategy.

[0055] The first pose information is identified by detecting pose estimation markers in the image. For example, by detecting pose estimation markers, the four corner points of each Aruco marker in the pose estimation markers are obtained. Then, by constructing 2D and 3D point pairs and performing PNP (Perspective-n-Point) calculation, the first pose information is obtained. It should be noted that the first pose information obtained by the above scheme has a deviation in the z-axis direction. That is, the deviation information in the first pose information includes z-axis information, which includes z-axis vector (i.e., directional deviation in the z-axis direction) and / or z-axis distance (i.e., displacement deviation in the z-axis direction). The z-axis distance can represent the distance between the camera and the marker plane in the z-axis direction of the first coordinate system. The marker plane can be understood as the plane where the pose estimation marker is located.

[0056] S230. Based on the second pose information, the z-axis information in the first pose information is corrected to obtain the target pose information. The z-axis information includes the z-axis vector and / or the z-axis distance. The z-axis distance represents the distance between the camera and the marker plane where the pose estimation marker is located in the z-axis direction of the first coordinate system.

[0057] As explained above, the first pose information obtained by the above scheme has a deviation in the z-axis direction. Therefore, the z-axis information can be corrected based on the second pose information. Specifically, the coordinate axis can be effectively corrected by correcting the z-axis vector, and / or the xy plane can be effectively corrected by correcting the z-axis distance, thereby improving the accuracy of pose estimation.

[0058] In the technical solution of this invention embodiment, when the first pose estimation strategy identifies the first pose information by detecting pose estimation markers in the image, the z-axis information in the first pose information has a deviation. Therefore, the z-axis information can be corrected based on the second pose information, thereby achieving effective correction of the deviation information.

[0059] Figure 5 This is a flowchart of another pose estimation method provided in this embodiment of the invention. This embodiment is an optimization based on the above-described technical solutions. In this embodiment, optionally, the z-axis information includes a z-axis vector. Based on the second pose information, the z-axis information in the first pose information is corrected, including: determining the x-axis and y-axis of the first coordinate system, and their planar projection components on the marking plane, based on the second pose information; then, replacing the x-axis vector and y-axis vector in the first pose information according to the planar projection components; obtaining the z-axis vector again based on the replaced x-axis vector and y-axis vector, and replacing the z-axis vector in the first pose information based on the newly obtained z-axis vector. The explanations of terms that are the same as or corresponding to those in the above embodiments are not repeated here.

[0060] See Figure 5 The method in this embodiment may specifically include the following steps:

[0061] S310. Acquire the image obtained by capturing the pose estimation markers through the camera.

[0062] S320. Analyze the image based on the first pose estimation strategy to obtain the first pose information corresponding to the camera coordinate system and the first coordinate system, and analyze the image based on the second pose estimation strategy to obtain the second pose information corresponding to the camera coordinate system and the second coordinate system. The first pose estimation strategy identifies the first pose information by detecting pose estimation markers in the image. The camera coordinate system corresponds to the camera, the first coordinate system corresponds to the first pose estimation strategy, and the second coordinate system corresponds to the second pose estimation strategy.

[0063] S330. Based on the second pose information, determine the x-axis and y-axis of the first coordinate system, and the planar projection components on the marking plane.

[0064] The marker plane can be understood as the plane on which the pose estimation marker is located. Its plane type could be horizontal (parallel to the ground), vertical (perpendicular to the ground), or inclined (relative to the ground), depending on the requirements of the image acquisition environment; no specific limitations are made here. Optionally, when determining the plane type of the marker plane, it can be determined based on the correspondence between the coordinate axes of the first coordinate system and the coordinate axes of the second coordinate system. Based on the second pose information, the planar projection components of the x-axis and y-axis of the first coordinate system on the marker plane are determined. The specific process for determining the planar projection components may be related to the plane type of the marker plane; no specific limitations are made here.

[0065] S340. Replace the x-axis vector and y-axis vector in the first pose information according to the planar projection components.

[0066] Specifically, based on the planar projection components, the x-axis vector and y-axis vector in the first pose information are replaced. For example, after normalizing the planar projection components (i.e., the vector magnitude becomes 1), the original x-axis vector and y-axis vector in the first pose information are replaced.

[0067] S350. Based on the replaced x-axis vector and y-axis vector, the z-axis vector is obtained again, and the z-axis vector in the first pose information is replaced with the z-axis vector obtained again to obtain the target pose information.

[0068] Specifically, based on the replaced x-axis and y-axis vectors, the z-axis vector is obtained again. Then, the original z-axis vector in the first pose information is replaced with the obtained z-axis vector, thereby achieving effective correction of the coordinate axes, that is, effective correction of the rotation part in the first pose information.

[0069] The technical solution of this invention determines the planar projection components of the x-axis and y-axis of the first coordinate system on the marking plane through the second pose information. Then, the x-axis vector and y-axis vector in the first pose information are replaced based on the planar projection components. The z-axis vector is then obtained again based on the replaced x-axis vector and y-axis vector. Finally, the z-axis vector in the first pose information is replaced based on the obtained z-axis vector. This effectively corrects the directional deviation in the z-axis direction of the first pose information.

[0070] An optional technical solution, when the marking plane is parallel to the ground, determines the planar projection components of the x-axis and y-axis of the first coordinate system on the marking plane based on the second pose information. This may include: obtaining a first projection component of the x-axis of the first coordinate system under the y-axis of the second coordinate system, and a second projection component of the y-axis of the first coordinate system under the y-axis of the second coordinate system, based on the first and second pose information; and obtaining the planar projection components of the x-axis and y-axis of the first coordinate system on the marking plane based on the first and second projection components, for example, the difference between the two projection components can be used as the planar projection component. This technical solution achieves accurate determination of the planar projection components.

[0071] Optionally, based on the first pose information and the second pose information, the first projection component of the x-axis of the first coordinate system under the y-axis of the second coordinate system is obtained, including: obtaining a first vector of the x-axis of the first coordinate system under the camera coordinate system based on the first pose information, and obtaining a second vector of the y-axis of the second coordinate system under the camera coordinate system based on the second pose information; and obtaining the first projection component of the x-axis of the first coordinate system under the y-axis of the second coordinate system based on the first vector and the second vector. For example, the row or column of data corresponding to the x-axis in the first pose information can be used as the first vector, and the row or column of data corresponding to the y-axis in the second pose information can be used as the second vector. The above technical solution achieves accurate determination of the first projection component.

[0072] Optionally, obtaining the second projection component of the y-axis of the first coordinate system onto the y-axis of the second coordinate system based on the first pose information and the second pose information may include: obtaining a third vector of the y-axis of the first coordinate system onto the camera coordinate system based on the first pose information, and obtaining a fourth vector of the y-axis of the second coordinate system onto the camera coordinate system based on the second pose information; and obtaining the second projection component of the y-axis of the first coordinate system onto the y-axis of the second coordinate system based on the third and fourth vectors. For example, the row or column of data corresponding to the y-axis in the first pose information can be used as the third vector, and the row or column of data corresponding to the y-axis in the second pose information can be used as the fourth vector. The above technical solution achieves accurate determination of the second projection component.

[0073] Based on this, optionally, the first pose information can be used to characterize the pose information of the camera coordinate system in the first coordinate system. According to the first pose information, the first vector of the x-axis of the first coordinate system in the camera coordinate system is obtained, including: transforming the first pose information to obtain the third pose information of the first coordinate system in the camera coordinate system; and obtaining the first vector of the x-axis of the first coordinate system in the camera coordinate system based on the third pose information. For example, the first column of data in the third pose information can be used as the first vector. The above technical solution achieves accurate determination of the first vector.

[0074] Optionally, the second pose information is used to characterize the pose information of the camera coordinate system in the second coordinate system. Based on the second pose information, the second vector of the y-axis of the second coordinate system in the camera coordinate system is obtained, including: transforming the second pose information to obtain the fourth pose information of the second coordinate system in the camera coordinate system; and obtaining the second vector of the y-axis of the second coordinate system in the camera coordinate system based on the fourth pose information. For example, the second column of data in the fourth pose information can be used as the second vector. The above technical solution achieves accurate determination of the second vector.

[0075] To better illustrate the above technical solutions, specific examples will be provided below. For instance, we will use Aruco as the first pose estimation policy and ARKit as the second pose estimation policy. The first pose information... Used to characterize the pose information of the camera coordinate system in the Aruco coordinate system, and the second pose information Used to characterize the pose information of the camera coordinate system in the ARKit coordinate system, based on which, Transform to the camera coordinate system to obtain the third pose information. and will Transform to the camera coordinate system to obtain the fourth pose information.

[0076] Typically, pose information is in a 4x4 matrix format, for To obtain the vector representation of the x-axis in the Aruco coordinate system in the camera coordinate system, it can be calculated as follows:

[0077]

[0078] The vector representation of the y-axis in the Aruco coordinate system in the camera coordinate system can be calculated as follows:

[0079]

[0080] The vector representation of the z-axis in the Aruco coordinate system in the camera coordinate system can be calculated as follows:

[0081]

[0082] That is, the vector representation of the x-axis, y-axis, and z-axis of the Aruco coordinate system in the camera coordinate system, which is... The first three columns of data. Similarly, the vector representations of the three coordinate axes of the ARKit coordinate system in the camera coordinate system can be obtained.

[0083] Furthermore, in the case where the marked plane is parallel to the ground, see, for example, [example missing]. Figure 6 Since the y-axis of the ARKit coordinate system is generally parallel to the direction of gravity (i.e., the z-axis direction of the Aruco coordinate system), let's assume the vector representation of the x-axis of the Aruco coordinate system in the camera coordinate system (i.e., the first vector) is [R]. 00 ,R 10 ,R 20 The vector representation of the y-axis in the ARKit coordinate system in the camera coordinate system (i.e., the second vector) is [y x ,y y ,y z The first projection component of the x-axis of the Aruco coordinate system onto the y-axis of the ARKit coordinate system is then... for:

[0084]

[0085] Similarly, we can obtain the second projection component x of the y-axis of the Aruco coordinate system onto the y-axis of the ARKit coordinate system. Aruco Then, the x-axis and y-axis of the Aruco coordinate system, and their planar projection components on the marking plane, are calculated using the following formula.

[0086] Another optional technical solution, when the marked plane is perpendicular to the ground, determines the planar projection components of the x-axis and y-axis of the first coordinate system on the marked plane based on the second pose information. This can include: detecting the marked plane and obtaining the planar position of the marked plane in the camera coordinate system according to the second pose information; obtaining the planar projection components of the x-axis and y-axis of the first coordinate system on the marked plane based on the planar position and the first pose information. Specifically, when the marked plane is obtained, the planar position of the marked plane in the camera coordinate system can be obtained based on the second pose information, for example, based on the coordinate position of the marked plane in the second coordinate system and the second pose information. Then, based on the planar position (i.e., the position of the marked plane in the camera coordinate system) and the first pose information (corresponding to the first coordinate system and the camera coordinate system), the planar projection components of the x-axis and y-axis of the first coordinate system on the marked plane are obtained. This technical solution achieves accurate determination of the planar projection components.

[0087] Optionally, detecting the marked plane may include: determining at least one candidate plane identified during the process of obtaining the second pose information; detecting the corner points of the pose estimation marker, and performing collision detection on the at least one candidate plane based on the corner points to obtain the marked plane among the at least one candidate plane. The second pose estimation strategy has a plane recognition function, which allows at least one candidate plane in the image to be identified during the process of obtaining the second pose information using the second pose estimation strategy, and the marked plane is one of these candidate planes. Based on this, one or more corner points of the pose estimation marker obtained when detecting the pose estimation marker using the first pose estimation strategy are acquired, and then collision detection is performed on the at least one candidate plane based on these corner points, thereby filtering the marked plane from the identified at least one candidate plane. The above technical solution achieves accurate determination of the marked plane by utilizing the plane recognition function of the second pose estimation strategy.

[0088] Based on this, optionally, collision detection is performed on at least one candidate plane based on corner points to obtain a marked plane among the at least one candidate plane. This includes: for the screen coordinate system where the camera screen is located, obtaining the second position of the corner point in the camera coordinate system based on the first position of the corner point in the screen coordinate system; and using the candidate plane containing the second position among the at least one candidate planes as the marked plane. Specifically, the first pose estimation strategy detects the corner point from the image, thus obtaining the first position of the corner point in the screen coordinate system. Then, combining the pose transformation relationship between the screen coordinate system and the camera coordinate system, the first position is converted into the second position of the corner point in the camera coordinate system. Further, the candidate plane containing the second position among the at least one candidate planes is used as the marked plane. In practical applications, the corner point displayed on the screen can be extended infinitely along the optical center, thus intersecting to a candidate plane, which is then used as the marked plane. The above technical solution achieves accurate determination of the marked plane through collision detection technology.

[0089] Figure 7 This is a flowchart of another pose estimation method provided in this embodiment of the invention. This embodiment is based on and optimized from the above-described technical solutions. In this embodiment, optionally, when the z-axis information includes z-axis distance, the z-axis information in the first pose information is corrected based on the second pose information, including: detecting a marker plane and obtaining the distance between the marker plane and the camera according to the second pose information; determining the directional projection component of the distance in the target direction of the marker plane, wherein the target direction is parallel to the z-axis direction of the first coordinate system; obtaining the z-axis distance between the camera and the origin of the first coordinate system in the z-axis direction of the first coordinate system according to the directional projection component; and updating the z-axis distance in the first pose information based on the obtained z-axis distance. The explanations of terms that are the same as or corresponding to those in the above embodiments are not repeated here. It should be noted that the following technical solutions can be combined with... Figure 6 To understand.

[0090] See Figure 7 The method in this embodiment may specifically include the following steps:

[0091] S410. Acquire the image obtained by capturing the pose estimation markers through the camera.

[0092] S420. Analyze the image based on the first pose estimation strategy to obtain the first pose information corresponding to the camera coordinate system and the first coordinate system, and analyze the image based on the second pose estimation strategy to obtain the second pose information corresponding to the camera coordinate system and the second coordinate system. The first pose estimation strategy identifies the first pose information by detecting pose estimation markers in the image. The camera coordinate system corresponds to the camera, the first coordinate system corresponds to the first pose estimation strategy, and the second coordinate system corresponds to the second pose estimation strategy.

[0093] S430. The marker plane is detected, and the distance between the marker plane and the camera is obtained based on the second pose information.

[0094] As mentioned above, through collision detection, combined with at least one candidate plane identified using the second pose estimation strategy and corner points detected using the first pose estimation strategy, a marked plane is detected. This marked plane can be understood as the real plane where the pose estimation mark is located, i.e., the plane where the pose estimation mark truly resides. Based on the second pose information, such as the pose information of the second coordinate system in the camera coordinate system... The distance between the marked plane and the camera is obtained.

[0095] S440. Determine the directional projection component of the distance in the target direction on the marking plane, wherein the target direction is parallel to the z-axis direction of the first coordinate system.

[0096] Here, the target direction can be understood as the direction of the marking plane that is parallel to the z-axis direction of the first coordinate system. For example, such as... Figure 6 As shown, the target direction can be understood as the direction perpendicular to the marking plane. Determine the directional projection component of the distance in the target direction.

[0097] S450. Based on the directional projection components, obtain the z-axis distance between the camera and the origin of the first coordinate system in the z-axis direction of the first coordinate system.

[0098] Since the directional projection component is the projection component of the distance in the target direction, and the target direction is parallel to the z-axis direction of the first coordinate system, the z-axis distance between the camera and the origin of the first coordinate system in the z-axis direction of the first coordinate system can be obtained based on the directional projection component. This z-axis distance can reflect the distance between the camera and the real, i.e., accurate, marking plane.

[0099] S460. Based on the obtained z-axis distance, update the z-axis distance in the first pose information to obtain the target pose information.

[0100] As mentioned above, the first pose information has a displacement deviation in the z-axis direction, that is, a deviation in the xy-plane. For example, as shown in... Figure 8As shown, the xy-plane identified by the first pose estimation strategy may not be on the real plane. Figure 8 The xy-plane shown is located above the real plane. Therefore, to ensure the accuracy of pose estimation, the z-axis distance in the first pose information that has deviations can be updated based on the obtained accurate z-axis distance.

[0101] The technical solution of this invention corrects the xy plane in the first pose information by identifying the real marker plane, thereby effectively correcting the displacement deviation in the z-axis direction of the first pose information.

[0102] To better understand the various technical solutions described above, specific examples are provided below for illustration. For examples, see [link to example]. Figure 9 Using Aruco to identify Figure 4 The Aruco code is shown, and pose estimation is performed based on PNP to obtain Aruco pose information. For at least one candidate plane obtained during the ARKit pose information recognition process using ARKit, collision detection is performed on at least one candidate plane based on Aruco corner points (i.e., the corner points of the Aruco code) to determine the marker plane where the Aruco code is located. Based on this, the x and y axes of the Aruco coordinate system are projected onto the marker plane, thereby solving for a new z-axis vector for correction, achieving correction of the directional deviation of the Aruco pose information in the z-axis direction; and, based on the planar position of the marker plane, the xy plane of the Aruco coordinate system is corrected, achieving correction of the displacement deviation of the Aruco pose information in the z-axis direction. Finally, based on the corrected Aruco pose information, more accurate target pose information is obtained, i.e., by fusing Aruco pose information and ARKit pose information. The above example utilizes ARKit's planar recognition capability and the global consistency of Aruco pose estimation to fuse and obtain more accurate target pose information.

[0103] Figure 10 This is a structural block diagram of a pose estimation device provided in an embodiment of the present invention. This device is used to execute the pose estimation method provided in any of the above embodiments. This device and the pose estimation methods of the above embodiments belong to the same inventive concept. Details not described in detail in the embodiments of the pose estimation device can be found in the embodiments of the above pose estimation methods. See also... Figure 10 The device may specifically include: an image acquisition module 510, a second pose information acquisition module 520, and a target pose information acquisition module 530.

[0104] The image acquisition module 510 is used to acquire images captured by the camera.

[0105] The second pose information acquisition module 520 is used to analyze the image based on the first pose estimation strategy to obtain the first pose information corresponding to the camera coordinate system and the first coordinate system, and to analyze the image based on the second pose estimation strategy to obtain the second pose information corresponding to the camera coordinate system and the second coordinate system.

[0106] The target pose information acquisition module 530 is used to correct the deviation information in the first pose information based on the second pose information to obtain the target pose information.

[0107] Among them, the camera coordinate system corresponds to the camera, the first coordinate system corresponds to the first pose estimation strategy, and the second coordinate system corresponds to the second pose estimation strategy.

[0108] Optionally, the image acquisition module 510 is specifically used for:

[0109] The image is acquired by capturing pose estimation markers through a camera. The first pose estimation strategy identifies the first pose information by detecting pose estimation markers in the image. The deviation information in the first pose information includes z-axis information.

[0110] The target pose information acquisition module 530 may include:

[0111] The z-axis information correction submodule is used to correct the z-axis information in the first pose information based on the second pose information. The z-axis information includes the z-axis vector and / or the z-axis distance. The z-axis distance can characterize the distance between the camera and the marker plane where the pose estimation marker is located in the z-axis direction of the first coordinate system.

[0112] Based on this, optionally, the z-axis information includes a z-axis vector, and the z-axis information correction submodule may include:

[0113] The planar projection component determination unit is used to determine the planar projection components on the marking plane of the x-axis and y-axis of the first coordinate system based on the second pose information.

[0114] The y-axis vector replacement unit is used to replace the x-axis vector and y-axis vector in the first pose information according to the planar projection components.

[0115] The z-axis vector replacement unit is used to re-obtain the z-axis vector based on the replaced x-axis and y-axis vectors, and replace the z-axis vector in the first pose information based on the re-obtained z-axis vector.

[0116] Based on this, an optional unit for determining the planar projection components, where the marking plane is parallel to the ground, may include:

[0117] The second projection component sub-unit is used to obtain the first projection component of the x-axis of the first coordinate system under the y-axis of the second coordinate system, and the second projection component of the y-axis of the first coordinate system under the y-axis of the second coordinate system, based on the first pose information and the second pose information.

[0118] The first sub-unit of the planar projection component is used to obtain the x-axis and y-axis of the first coordinate system on the marking plane based on the first projection component and the second projection component.

[0119] Based on this, optionally, the second projection component yields sub-units, specifically used for:

[0120] Based on the first pose information, the first vector of the x-axis of the first coordinate system in the camera coordinate system is obtained, and based on the second pose information, the second vector of the y-axis of the second coordinate system in the camera coordinate system is obtained.

[0121] Based on the first vector and the second vector, the first projection component of the x-axis of the first coordinate system onto the y-axis of the second coordinate system is obtained.

[0122] Alternatively, the marking plane is perpendicular to the ground, and the plane projection component determination unit may include:

[0123] The planar position sub-unit is used to detect and obtain the marker plane. Based on the second pose information, the planar position of the marker plane in the camera coordinate system is obtained.

[0124] The second sub-unit of the planar projection component is obtained. Based on the planar position and the first pose information, the x-axis and y-axis of the first coordinate system are obtained, and the planar projection component on the marking plane is obtained.

[0125] Based on this, optional planar positions are used to obtain sub-elements, specifically for:

[0126] Identify at least one candidate plane identified during the process of obtaining the second pose information;

[0127] The corner points of the pose estimation markers are detected, and collision detection is performed on at least one candidate plane based on the corner points to obtain the marker plane in at least one candidate plane.

[0128] Based on this, optional planar positions are used to obtain sub-elements, which are further used for:

[0129] For the screen coordinate system where the camera screen is located, the second position of the corner point in the camera coordinate system is obtained based on the first position of the corner point in the screen coordinate system;

[0130] The candidate plane containing the second position in at least one candidate plane is designated as the marker plane.

[0131] Alternatively, the z-axis information includes the z-axis distance, and the z-axis information correction submodule may include:

[0132] The distance acquisition unit is used to detect the marker plane and obtain the distance between the marker plane and the camera based on the second pose information;

[0133] The orientation projection component determination unit is used to determine the orientation projection component of the target direction on the marking plane, wherein the target direction is parallel to the z-axis direction of the first coordinate system;

[0134] The z-axis distance unit is used to obtain the z-axis distance between the camera and the origin of the first coordinate system in the z-axis direction of the first coordinate system, based on the directional projection component.

[0135] The z-axis distance update unit is used to update the z-axis distance in the first pose information based on the obtained z-axis distance.

[0136] Alternatively, pose estimation markers can be obtained by combining at least two pre-set ArUco markers.

[0137] Based on any of the above pose estimation devices, optionally, the first pose estimation strategy includes Aruco, and / or the second pose estimation strategy includes ARKit.

[0138] The pose estimation device provided in this embodiment of the invention acquires an image through a cooperation between an image acquisition module and a second pose information acquisition module. The image is acquired by a camera, and analyzed based on a first pose estimation strategy to obtain first pose information corresponding to the camera coordinate system and a first coordinate system. The image is then analyzed based on a second pose estimation strategy to obtain second pose information corresponding to the camera coordinate system and the second coordinate system. Further, a target pose information acquisition module corrects deviations in the first pose information based on the second pose information to obtain the target pose information. This device leverages the advantages of both pose estimation strategies, fusing the pose information obtained from the two strategies. Specifically, it corrects deviations in the other pose information based on one pose information, thereby improving the accuracy of pose estimation and resulting in more accurate target pose information.

[0139] The pose estimation device provided in the embodiments of the present invention can execute the pose estimation method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the method execution.

[0140] It is worth noting that in the embodiments of the pose estimation device described above, the various units and modules included are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the scope of protection of the present invention.

[0141] Figure 11 A schematic diagram of an electronic device 10 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0142] like Figure 11 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded into the RAM 13 from storage unit 18. The RAM 13 can also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0143] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0144] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as pose estimation methods.

[0145] In some embodiments, the pose estimation method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or mounted on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the pose estimation method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform the pose estimation method by any other suitable means (e.g., by means of firmware).

[0146] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0147] Computer programs used to implement the methods of the present invention can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The computer programs can be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0148] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0149] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0150] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0151] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through a communication network. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.

[0152] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0153] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A pose estimation method, characterized in that, include: Acquire images obtained by capturing pose estimation markers using a camera; Based on the first pose estimation strategy, the pose estimation markers in the image are analyzed to obtain the first pose information corresponding to the camera coordinate system and the first coordinate system. Based on the second pose estimation strategy, the image is analyzed to obtain the second pose information corresponding to the camera coordinate system and the second coordinate system. For the marker plane where the pose estimation marker is located, based on the second pose information, determine the planar projection components of the x-axis and y-axis of the first coordinate system on the marker plane; Replace the x-axis vector and y-axis vector in the first pose information according to the planar projection component; Based on the replaced x-axis vector and y-axis vector, the z-axis vector is obtained again, and the z-axis vector in the first pose information is replaced with the obtained z-axis vector to obtain the target pose information; Wherein, the camera coordinate system corresponds to the camera, the first coordinate system corresponds to the first pose estimation strategy, and the second coordinate system corresponds to the second pose estimation strategy.

2. The method according to claim 1, characterized in that, The marking plane is parallel to the ground. The determination of the x-axis and y-axis of the first coordinate system based on the second pose information, and the planar projection components on the marking plane, include: Based on the first pose information and the second pose information, the first projection component of the x-axis of the first coordinate system under the y-axis of the second coordinate system and the second projection component of the y-axis of the first coordinate system under the y-axis of the second coordinate system are obtained. Based on the first projection component and the second projection component, the planar projection components of the x-axis and y-axis of the first coordinate system on the marking plane are obtained.

3. The method according to claim 2, characterized in that, The step of obtaining the first projection component of the x-axis of the first coordinate system onto the y-axis of the second coordinate system based on the first pose information and the second pose information includes: Based on the first pose information, a first vector of the x-axis of the first coordinate system in the camera coordinate system is obtained, and based on the second pose information, a second vector of the y-axis of the second coordinate system in the camera coordinate system is obtained. Based on the first vector and the second vector, the first projection component of the x-axis of the first coordinate system onto the y-axis of the second coordinate system is obtained.

4. The method according to claim 1, characterized in that, The marking plane is perpendicular to the ground. The determination of the x-axis and y-axis of the first coordinate system based on the second pose information, and the planar projection components on the marking plane, include: The marked plane is detected, and the planar position of the marked plane in the camera coordinate system is obtained according to the second pose information; Based on the planar position and the first pose information, the x-axis and y-axis of the first coordinate system are obtained, and their planar projection components on the marking plane are obtained.

5. The method according to claim 4, characterized in that, The detection of the marked plane includes: Determine at least one candidate plane identified during the process of obtaining the second pose information; The corner points of the pose estimation marker are detected, and collision detection is performed on the at least one candidate plane based on the corner points to obtain the marker plane among the at least one candidate plane.

6. The method according to claim 5, characterized in that, Based on the corner points, collision detection is performed on the at least one candidate plane to obtain the marked plane among the at least one candidate planes, including: For the screen coordinate system where the camera screen is located, the second position of the corner point in the camera coordinate system is obtained based on the first position of the corner point in the screen coordinate system; The candidate plane containing the second position in the at least one candidate plane is taken as the marking plane.

7. The method according to claim 1, characterized in that, The pose estimation marker is obtained by combining at least two pre-set ArUco markers.

8. The method according to any one of claims 1-7, characterized in that, The first pose estimation strategy includes Aruco, and / or the second pose estimation strategy includes ARKit.

9. A pose estimation method, characterized in that, include: Acquire images obtained by capturing pose estimation markers using a camera; Based on the first pose estimation strategy, the pose estimation markers in the image are analyzed to obtain the first pose information corresponding to the camera coordinate system and the first coordinate system. Based on the second pose estimation strategy, the image is analyzed to obtain the second pose information corresponding to the camera coordinate system and the second coordinate system. For the marker plane where the pose estimation marker is located, the marker plane is detected, and the distance between the marker plane and the camera is obtained according to the second pose information; Determine the directional projection component of the distance in the target direction of the marking plane, wherein the target direction is parallel to the z-axis direction of the first coordinate system; Based on the directional projection component, the z-axis distance between the camera and the origin of the first coordinate system in the z-axis direction is obtained, and the z-axis distance in the first pose information is updated based on the obtained z-axis distance to obtain the target pose information, wherein the z-axis distance in the first pose information represents the distance between the camera and the marking plane in the z-axis direction. Wherein, the camera coordinate system corresponds to the camera, the first coordinate system corresponds to the first pose estimation strategy, and the second coordinate system corresponds to the second pose estimation strategy.

10. The method according to claim 9, characterized in that, The pose estimation marker is obtained by combining at least two pre-set ArUco markers.

11. The method according to any one of claims 9-10, characterized in that, The first pose estimation strategy includes Aruco, and / or the second pose estimation strategy includes ARKit.

12. A pose estimation device, characterized in that, include: The image acquisition module is used to acquire images obtained by capturing pose estimation markers through a camera; The second pose information acquisition module is used to analyze the pose estimation markers in the image based on the first pose estimation strategy to obtain the first pose information corresponding to the camera coordinate system and the first coordinate system, and to analyze the image based on the second pose estimation strategy to obtain the second pose information corresponding to the camera coordinate system and the second coordinate system. The target pose information acquisition module is used to correct the deviation information in the first pose information based on the second pose information to obtain the target pose information; The target pose information acquisition module includes: The planar projection component determination unit is used to determine, based on the second pose information, the planar projection components of the x-axis and y-axis of the first coordinate system on the marker plane where the pose estimation marker is located; The y-axis vector replacement unit is used to replace the x-axis vector and y-axis vector in the first pose information according to the planar projection component; The z-axis vector replacement unit is used to obtain the z-axis vector again based on the replaced x-axis vector and y-axis vector, and replace the z-axis vector in the first pose information based on the obtained z-axis vector. Wherein, the camera coordinate system corresponds to the camera, the first coordinate system corresponds to the first pose estimation strategy, and the second coordinate system corresponds to the second pose estimation strategy.

13. A pose estimation device, characterized in that, include: The image acquisition module is used to acquire images obtained by capturing pose estimation markers through a camera; The second pose information acquisition module is used to analyze the pose estimation markers in the image based on the first pose estimation strategy to obtain the first pose information corresponding to the camera coordinate system and the first coordinate system, and to analyze the image based on the second pose estimation strategy to obtain the second pose information corresponding to the camera coordinate system and the second coordinate system. The target pose information acquisition module is used to correct the deviation information in the first pose information based on the second pose information to obtain the target pose information; The target pose information acquisition module includes: The distance acquisition unit is used to detect the marker plane where the pose estimation marker is located, and to obtain the distance between the marker plane and the camera based on the second pose information; A direction projection component determination unit is used to determine the direction projection component of the distance in the target direction of the marking plane, wherein the target direction is parallel to the z-axis direction of the first coordinate system; The z-axis distance obtaining unit is used to obtain the z-axis distance between the camera and the origin of the first coordinate system in the z-axis direction based on the direction projection component. The z-axis distance update unit is used to update the z-axis distance in the first pose information based on the obtained z-axis distance, wherein the z-axis distance in the first pose information represents the distance between the camera and the marker plane in the z-axis direction; Wherein, the camera coordinate system corresponds to the camera, the first coordinate system corresponds to the first pose estimation strategy, and the second coordinate system corresponds to the second pose estimation strategy.

14. An electronic device, characterized in that, include: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to cause the at least one processor to perform the pose estimation method as described in any one of claims 1-8, or the pose estimation method as described in any one of claims 9-11.

15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute the pose estimation method as described in any one of claims 1-8, or the pose estimation method as described in any one of claims 9-11.

Citation Information

Patent Citations

  • Pose data processing method and device and electronic equipment

    CN113344981A

  • Control method of operation arm and surgical robot system

    CN115708128A