Target device pose calculation method based on outward-in technique and spatial positioning system
By deploying positioning points on the target device that are not on the same straight line but on the same plane, and using the outside-in technique to calculate the pose data of the target device, the data drift problem is solved, and accurate pose calculation is achieved even without power supply or computing power. It is suitable for audience display in large-space games and variety shows, and provides higher positioning accuracy and rotation speed acceleration calculation.
Patent Information
- Application Number
- CN202511269525.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-05
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2045-09-05
AI Technical Summary
Existing outside-in techniques suffer from data drift when calculating the pose data of the target device and cannot achieve accurate spatial positioning on devices without circuitry or computing power, especially in bright environments and environments with immutable graphics.
At least three positioning points are deployed on the target device that are not on the same straight line but on the same plane. The spatial position of each positioning point is obtained through the outside-in technique, and the pose data of the target device, including yaw angle, pitch angle and roll angle, are calculated using the geometric relationship of triangles. The positioning points are mapped and paired using the vector projection method, and the position information of the positioning points is perceived through neural network reasoning.
It achieves accurate calculation of target device pose data without the aid of IMU inertial navigation sensors, solves the data drift problem, and is suitable for various application scenarios, including audience display in large space games and variety show spaces. It is also suitable for objects without circuitry or computing power, and provides higher positioning accuracy and rotational speed and acceleration calculation capabilities.
Smart Images

Figure CN120742230B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of spatial positioning technology, specifically to a target device pose calculation method and spatial positioning system based on outside-in technology. Background Technology
[0002] The earliest device positioning used in XR large-space applications employed the outside-in technology, which involves installing receiving devices at fixed locations around the environment and installing transmitting devices on the target device (e.g., an XR display device). Outside-in technology mainly falls into two categories: (1) Light waves: The receiving device is a camera or light wave sensor. A photographic graphic or similar signal carrying a user ID is set on the target device, such as laser, infrared light, reflected light, colored light, human body recognition, or other photographic signals. The user ID is identified through color combinations, light emission sequences, neural network inference of human feature points, etc. The receiving device, based on its known position and the observed user ID's position information, performs triangulation or multi-angle calculation of the target device's spatial position (XYZ); and (2) Radio waves: The receiving device is a radio wave receiving sensor (UWB, 2.4G, or Bluetooth, etc.). A radio wave signal transmitter carrying a user ID is installed on the target device. The receiving device calculates the relative distance and angle based on its known position and the signal strength or delay emitted by the transmitter, and then triangulates the target device's spatial position (XYZ). The drawback of the outside-in technique is that it only provides spatial position (XYZ) and lacks the target device's pose data (yaw, pitch, roll). See [link to documentation]. Figure 1 If pose data is calculated using the target device's built-in IMU or inertial navigation sensors, there is a certain degree of drift as the user moves, which needs to be resolved by resetting the device. Some applications do not allow users to reset the device during use, so there is currently no good outside-in method to accurately calculate pose data. If the application or game needs to use props without circuits as target devices, then outside-in is the best position calculation technique, mainly because the receiving device can be externally attached or visually trained, since the prop itself does not need to have electrical circuits.
[0003] Currently, device positioning in large-space XR applications almost entirely adopts the Inside-Out technique. The target device is set as the receiving device, and a graphic representing a known location is placed in the surrounding environment. The target device identifies the position of the graphic to calculate its own position and pose. The most common method is to use the camera on the target device to calculate its position and pose based on the graphic captured from its angle (QR code, training image, other anchoring techniques) or a point cloud generated from the graphic. The target device can train machine vision reasoning based on the differences between multiple cameras or the order of single-camera shots. During use, it uses the captured graphics and environmental information such as angles to infer its own position and pose. In the Inside-Out technique, the large-space environment must be (1) bright, without turning off the lights, otherwise the camera will not be able to capture the graphic; and (2) the surrounding environment needs to be arranged with immutable graphics, otherwise the graphic or point cloud captured by the target device will be inconsistent with the position graphic learned by the machine training, thus affecting the accuracy of the calculation. Recently, some large spaces cannot tolerate being obscured by point cloud maps or other graphics, such as competition and entertainment spaces. These spaces present challenges with audiences surrounding the displays and content shown on large LED screens all around, sometimes even with the floor serving as a screen. Clearly, the inside-out method is not feasible in these situations. Furthermore, if the target device itself lacks the necessary circuitry and computing power to infer its own position and pose, the inside-out method is also unsuitable for spatial positioning. Summary of the Invention
[0004] The purpose of this application is to provide a target device pose calculation method and system based on the outside-in technique, which can obtain pose data to achieve spatial positioning without the aid of IMU inertial navigation sensors, thereby solving the data drift problem. It is applicable to spatial positioning application scenarios where the target device is not equipped with circuitry or computing power.
[0005] This application discloses a method for calculating the pose of a target device based on an outside-in approach. The target device includes an object without power or computing power and a device or component with its own power supply. The method specifically includes the following steps:
[0006] Step 1. Deploy at least three positioning points ABC on the target device that are not on the same straight line but on the same plane. These positioning points refer to signal sources in the outward-to-inward technology. These signal sources include electronic signal transmitters with built-in ID information that can be photographed or sensed, graphics, human feature points, or other identifiable signals. The signal sources are installed on the target device via a non-electrical connection or implemented in the circuitry within the target device.
[0007] Three positioning points A, B, and C are set up on the target equipment. An XYZ coordinate system is established based on the three positioning points. The line connecting positioning points A and B is set as the X-axis, and the perpendicular line passing through positioning point C and intersecting the X-axis is set as the Z-axis. The intersection of the X and Z axes is set as the origin O, and the orthogonal directions passing through the origin O are set as the Y-axis, and the directed line segment... The direction is the direct front direction of the target device;
[0008] Step 2. Use the outside-in technique to obtain the spatial position (XYZ) of each location point;
[0009] Step 3. Use the spatial triangulation of the three positioning points from Step 1 to calculate the pose data of the target device. This pose data includes the yaw angle. Pitch angle and roll angle .
[0010] Step 3 includes the following steps:
[0011] Step 3.1: Calculate the position of the origin O in the XZ plane where the Y value is 0. :
[0012] The formula for a straight line in the XZ plane is:
[0013] (1);
[0014] Calculate the slope of the X-axis using points A and B. And b, we can obtain the formula for a straight line along the X-axis:
[0015] ;
[0016] ;
[0017] Given the slope of the Z-axis b and the straight line formula of the Z-axis are obtained by using the location of the positioning point C and the formula (1);
[0018] The intersection of the X-axis and Z-axis is obtained, which is the location of the origin O. ;
[0019] Step 3.2: Calculate the yaw angle of rotation around the Y-axis in the XZ plane where the Y-value is 0. :
[0020] Position the origin O Substitute the location of point C into formula (2) or the slope of the Z-axis. Substituting into formula (3) yields the yaw angle. :
[0021] (2); or (3);
[0022] Step 3.3: Calculate the roll angle around the Z-axis in the XY plane where Z is 0. :
[0023] Given the positions of point A, point B, and origin O. ;
[0024] The formula for a straight line in the XY plane is:
[0025] (4);
[0026] The slope of the X-axis is calculated using the positions of points A and B. and b:
[0027] ;
[0028] ;
[0029] We obtain the formula for a straight line along the X-axis, and substitute it into the equation for the origin O. The value is used to calculate the position of the origin O. ;
[0030] Position the origin O Substitute the location of point B into formula (5) or the slope of the X-axis. Substituting into formula (6) yields the roll angle. :
[0031] (5) or (6);
[0032] Step 3.4: Calculate the pitch angle around the X-axis in the YZ plane where the X-value is 0. :
[0033] The formula for a straight line in the YZ plane is:
[0034] (7);
[0035] Among them, the position passing through the origin O The slope of the straight line OC, i.e., the Z-axis, is calculated from the location of point C. and b:
[0036] ;
[0037] ;
[0038] The formula for a straight line along the Z-axis is obtained;
[0039] Position the origin O on the YZ plane Substituting the position of the positioning point C into formula (8) or substituting the slope of the Z-axis into formula (9) yields the pitch angle. :
[0040] (8); or (9).
[0041] Step 1 involves setting up at least three positioning points DEF on the target device that are not on the same straight line but on the same plane, and constructing positioning points ABC with the help of this correction aid:
[0042] Through a triangle AB Corrective aids, wherein AB is the base. Using the vertex as the base, with the base AB parallel to or close to a preset position on the target device, the positioning point ABC is constructed using this correction aid. The base AB corresponds to the left positioning point A and the right positioning point B set perpendicular to the direction directly in front of the target device. Let C be the mapping point that is perpendicular and symmetrical to the base AB.
[0043] In step 2, six positioning points AB are simultaneously acquired using an outside-in technique. The spatial location of DEF, in positioning the point After converting to a positioning point C that is perpendicular and symmetrical to the bottom edge AB, the spatial positions (XYZ) of six positioning points ABCDEF are obtained. Based on the principle of shortest distance, positioning point DEF is paired with positioning point ABC one by one, and the difference between the paired points is obtained. The spatial position of positioning point DEF collected in real time is used to generate the spatial position of the mapped positioning point ABC based on the difference.
[0044] The pose data of the target device is obtained using the triangulation in step 3.
[0045] The positioning point The conversion to a location point C that is perpendicular and symmetrical to the base AB includes the following steps:
[0046] (1) Calculate the spatial position of the origin O, the foot of the perpendicular from the positioning point C' to the line AB, using the vector projection method:
[0047] Based on the spatial location of positioning points A, B, and C, obtain the vector. and ;
[0048] Calculate parameter t, where t is the projection ratio of the foot of the perpendicular O onto line AB, using the following formula:
[0049] ;
[0050] The operator "•" represents the dot product of vectors.
[0051] Position point A along the vector The coordinates of the perpendicular foot O are obtained by translating by a factor of t:
[0052] ;
[0053] (2) The positioning point C is the opposite direction of the positioning point C' to the foot of the perpendicular O. The spatial position of the positioning point C is calculated according to the following formula:
[0054] .
[0055] In step 1, the target device is the human body, head, face, joints or parts of the hands or feet, and the positioning points ABC are set on the target device.
[0056] Step 2 involves perceiving the location information of each positioning point through neural network reasoning in the outside-in technique.
[0057] A spatial positioning system includes a location sensing component, a positioning point, a memory, and a processor;
[0058] The location sensing component is used to sense the spatial location of the positioning point based on the outside-in technology and upload the spatial location to the processor.
[0059] A positioning point refers to a signal source in an outside-in technology. This signal source includes a camera or sensor signal transmitter with built-in ID information, a graphic, a human feature point, or other identifiable signals. At least three positioning points that are not on the same straight line but on the same plane are deployed on the target device, which refers to the object or device to be positioned.
[0060] Memory, connected to the processor, is used to store computer programs;
[0061] The processor is used to execute the steps of any of the above-mentioned target device pose calculation methods based on the outside-in technique when running a computer program.
[0062] A storage medium storing a computer program, which, when executed by a processor, implements the steps of any of the above-described target device pose calculation methods based on the outside-in technique.
[0063] The technical solution of this application is an improvement on the existing outside-in technique. At least three positioning points, not on the same straight line but on the same plane, are set up on the target device. The spatial position of each positioning point is obtained using the existing outside-in technique, and the pose data (yaw angle) of the target device is calculated using the spatial positions of at least three positioning points. Pitch angle yaw angle The pose data obtained in this application can be used to further calculate rotational speed and acceleration, which can replace the function of an IMU inertial navigation sensor. Since this application can calculate the pose data of the target device without the need for an IMU inertial navigation sensor, it solves the data drift problem in traditional outside-in techniques. Attached Figure Description
[0064] Figure 1 Pose data (yaw angle) when wearing an XR display device Pitch angle yaw angle A schematic diagram of ( );
[0065] Figure 2 This is a schematic diagram illustrating the placement of positioning points on an XR display device according to this application;
[0066] Figure 3 In Embodiment 1 of this application, the yaw angle is calculated in the XZ plane where the Y value is 0. A schematic diagram;
[0067] Figure 4 In Embodiment 1 of this application, the roll angle is calculated in the XY plane with a Z value of 0. A schematic diagram;
[0068] Figure 5 In Embodiment 1 of this application, the pitch angle is calculated in the YZ plane where the X value is 0. A schematic diagram;
[0069] Figure 6 This is a flowchart of Embodiment 1 of this application;
[0070] Figure 7 This is a schematic diagram showing the layout of positioning points ABC for the target device, which is the palm, in Embodiment 1 of this application.
[0071] Figure 8 This is a schematic diagram of the target device pose calculation process in Embodiment 2 of this application, wherein... Figure 8 (1) is based on the positioning point AB DE obtains a schematic diagram of the location points ABCDEF. Figure 8 (2) A diagram showing the player wearing a wizard hat (target device) with three preset positioning points DEF and using a correction aid;
[0072] Figure 9 This is a functional block diagram of the spatial positioning system of Embodiment 3 of this application. Detailed Implementation
[0073] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0074] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application 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 the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. 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 server that includes 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 devices.
[0075] In this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or solution described as "exemplary" or "for example" in this application should not be construed as being better or more advantageous than other embodiments or solutions. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0076] Explanation of the principles of this application:
[0077] This application proposes to establish at least three positioning points on the target device that are not on the same straight line but on the same plane, obtain the spatial position (XYZ) of each positioning point using existing outside-in techniques, and calculate the pose data (yaw angle) of the target device using the spatial positions of at least three positioning points. Pitch angle yaw angle The location point refers to the signal source in the outside-in technology, which includes a camera-able or sensory electronic signal transmitter with built-in ID information, graphics, human feature points, or other identifiable signals. Human feature points include trained visual signal sources such as torso joints, head features, facial features, hand joint features, arm joint features, and leg joint features.
[0078] The target device includes objects without power or computing power, and devices or components with their own power supply, such as... Figure 2As shown, the signal source (positioning point ABC) can be set on the target device by non-electrical connection (e.g., by pasting), or it can be implemented on the circuit inside the target device. For example, the signal source is a light-emitting component that can emit a combination of lights containing ID information. The light-emitting component can be self-powered or connected to the circuit of the target device. The presentation methods of various signal sources will not be described in detail here.
[0079] There are multiple ways to place positioning points on the target device to meet the requirement of "at least three not on the same straight line but on the same plane". For example, if the signal source is a QR code, three QR codes that meet the above position requirements can be set, or only one QR code can be set, and at least three corners of the QR code can be selected as positioning points.
[0080] Embodiment 1 of this application provides a simplified method for calculating the pose of a target device. Three positioning points A, B, and C are set on the target device. An XYZ coordinate system is established based on these three positioning points. The line connecting points A and B is defined as the X-axis, and the perpendicular line passing through point C and perpendicular to the X-axis is defined as the Z-axis. The intersection of the X and Z axes is defined as the origin O, and the orthogonal directions passing through the origin O are defined as the Y-axis, and the directed line segment... The direction is the direct front direction of the target device.
[0081] Embodiment 2 of this application provides a pose calculation method for an application scenario where any three positioning points DEF are deployed on the target device, such as... Figure 8 As shown in (1), after the player puts on the hat (target device), it cannot be guaranteed that the plane DEF containing the positioning point DEF is the same as or parallel to the positioning point ABC in Example 1. Therefore, the forward direction and pose of the target device cannot be directly determined by the method in Example 1, and the positioning point DEF must be corrected. (AB is the base) A correction aid for the vertex. This can be considered as a mapping point that is perpendicular and symmetrical to the X-axis (line AB). With the help of this correction aid, the positioning point ABC of Example 1 can be constructed. In the initial stage, six positioning points AB are obtained simultaneously using existing outside-in techniques. The spatial location of DEF, in positioning the point After being converted to a positioning point C that is perpendicular and symmetrical about the X-axis, the spatial positions of six positioning points ABCDEF are obtained. Based on the principle of shortest distance, positioning point DEF is paired with positioning point ABC one by one, and the pairwise difference between the paired points is obtained. The spatial position of positioning point DEF collected in the game is used to generate the spatial position of the mapped positioning point ABC in real time based on the difference. The pose calculation is performed using the target device pose calculation method of Example 1 based on the spatial position of the mapped positioning point ABC.
[0082] The positioning point The calculation method for transforming the location point C into a point perpendicular and symmetrical about the X-axis can obtain the spatial position of the location point C through various existing algorithms. This application presents one such calculation method:
[0083] Step 1. Calculate the spatial position of the perpendicular O from the location point C' to line AB using the vector projection method:
[0084] Based on the spatial location of positioning points A, B, and C, obtain the vector. and ;
[0085] Calculate parameter t, where t is the projection ratio of the foot of the perpendicular O (i.e., the origin O) onto line AB. The calculation formula is:
[0086] ;
[0087] The operator "•" represents the dot product of vectors.
[0088] Position point A along the vector The coordinates of the perpendicular foot O are obtained by translating by a factor of t:
[0089] ;
[0090] Step 2. Locating point C is the extension of locating point C' in the opposite direction to the foot of the perpendicular O. Calculate the spatial position of locating point C using the following formula:
[0091] .
[0092] like Figure 1 As shown, pitch angle The roll angle is the angle of rotation around the X-axis. Yaw angle is the angle of rotation around the Z-axis. The angle is the rotation around the Y-axis.
[0093] The main difference between this application and traditional outside-in techniques is that: at least three positioning points are provided on the target device, which are not on the same straight line but on the same plane. Traditional outside-in techniques are used to calculate the spatial position of each positioning point separately, and the spatial positions of the at least three positioning points are used to calculate the pose data (yaw angle) of the target device. Pitch angle yaw angle This application also discloses a method to increase the accuracy of positioning and pose data calculation by averaging the spatial positions of different combinations of signal source positioning points (more than 3 points). This application can determine the forward direction of the target device based on the spatial position of the positioning points or neural network inference.
[0094] The pose data obtained in this application can be used to further calculate the rotational velocity and acceleration, meaning that the method in this application can realize the function of an IMU inertial navigation sensor.
[0095] The rotational speed can be calculated over time. For example, if the system obtains position data 10 times per second, the difference between the pose data converted from every two position data points can be divided by 1 / 10 of a second to obtain the rotational speed. Similarly, two consecutive speeds can be used to determine whether the rotation is accelerating or decelerating, and to calculate its acceleration.
[0096] Example 1
[0097] Embodiment 1 of this application provides a method for calculating the pose of a target device based on an outside-in technique, such as... Figures 2 to 7 As shown, it includes the following steps:
[0098] Step 1. Deploy at least three positioning points on the target device that are not on the same straight line but on the same plane. These positioning points refer to signal sources in the outside-in technology, including electronic signal transmitters with built-in ID information that can be photographed or sensed, graphics, human feature points, or other identifiable signals.
[0099] Example 1 uses an XR display device (target device) used for large-space games as an example for illustration, such as... Figure 2 As shown, the XR display device includes a headband with glasses components. The left and right ends of the glasses components are designated as positioning points A and B, and the midpoint between the back of the headband and positioning points A and B on the same plane is designated as positioning point C.
[0100] In competitive and variety show applications, players need to know their facing direction so that the calculated pose data allows them to see the correct environment and props. An XYZ coordinate system is established based on three positioning points. The line connecting points A and B is designated as the X-axis, and the perpendicular line passing through point C and intersecting the X-axis is designated as the Z-axis. The intersection of the X and Z axes is designated as the origin O, and the orthogonal directions passing through the origin O are designated as the Y-axis. Then, the directed line segment... The direction is the direct front direction of the target device.
[0101] Step 2. Obtain the spatial position (XYZ) of each location point using existing outside-in techniques:
[0102] For ease of explanation, assume the spatial location of point A. =(20,100,42.5), Spatial location of point B =(40,95,37.5), Spatial location of point C =(22.5,90,10);
[0103] Furthermore, the target device can be the human torso, head, face, joints or parts of the hands or feet. Positioning points ABC are deployed on the target device, and the position information of each positioning point is perceived through neural network inference using existing outside-in technology. For example... Figure 7 As shown, assuming the target device in step 1 is a hand, the center of the wrist is set as positioning point C, the joint connecting the index finger and the hand is set as positioning point A, and the joint connecting the ring finger and the hand is set as positioning point B. Step 2 uses neural network reasoning in existing outside-in technology to perceive the spatial position of positioning points ABC.
[0104] Step 3. Use the spatial triangulation of the three positioning points from Step 1 to calculate the pose data (yaw angle) of the target device. Pitch angle yaw angle ):
[0105] Step 3.1: Calculate the position of the origin O in the XZ plane where the Y value is 0. :
[0106] Mesh the XZ plane, assuming each cell is 5cm x 5cm;
[0107] The formula for a straight line in the XZ plane is:
[0108] (1);
[0109] Calculate the slope of the X-axis using the positions of points A and B. and b:
[0110] =-0.25;
[0111] ;
[0112] The formula for a straight line along the X-axis is: Z = 47.5 - 0.25X;
[0113] Given the slope of the Z-axis (The vertical slope is the negative reciprocal). By using the position of the positioning point C and the formula (1), we can calculate that b is -80. Then the formula for the straight line of the Z-axis is: Z = 4X - 80.
[0114] because ,but It is 30. It is 40;
[0115] The origin O position (30, 40) is calculated in the XZ plane with a Y value of 0.
[0116] Step 3.2: Calculate the yaw angle of rotation around the Y-axis in the XZ plane where the Y-value is 0. :
[0117] from Figure 3 As you can see, the XR display device rotates clockwise relative to the world position, shifting the position of the origin O. Substituting the coordinates (30, 40) and the position of point C (22.5, 10) into formula (2) or the slope of the Z-axis... Substituting into formula (3), the yaw angle is calculated. :
[0118] (2); or (3);
[0119] Yaw angle =Tan -1 (0.25) = 14º;
[0120] Step 3.3: Calculate the roll angle around the Z-axis in the XY plane where Z is 0. :
[0121] Figure 4 Calculate the roll angle in the XY plane where Z is 0. The diagram shows the position of the origin O calculated. The roll angle can be obtained by finding the slope of line AB. ;
[0122] Given the positions of point A (20, 100), point B (40, 95), and the origin O. ;
[0123] The formula for a straight line in the XY plane is:
[0124] (4);
[0125] The slope of the X-axis is calculated by using the positions of points A and B. and b:
[0126] ;
[0127] ;
[0128] The formula for a straight line along the X-axis is:
[0129] ;
[0130] Substituting the origin O The value is used to calculate the position of the origin O. =(30,97.5);
[0131] Position the origin O Substitute the location of point B into formula (5) or the slope of the X-axis. Substituting into formula (6) yields the roll angle. :
[0132] (5) or (6);
[0133] roll angle =Tan -1 (-0.25) = -14º;
[0134] Step 3.4: Calculate the pitch angle around the X-axis in the YZ plane where the X-value is 0. :
[0135] like Figure 5 As shown, the line connecting the two positioning points A and B in front of the headband is the X-axis. Therefore, the angle by which the three positioning points rotate around the X-axis is the pitch angle. Through the origin O on the YZ plane The slope relative to the Z-axis gives the pitch angle. .
[0136] The formula for a straight line in the YZ plane is:
[0137] (7);
[0138] Among them, the position passing through the origin O The slope of the line OC (Z-axis) is calculated from the position of the positioning point C. and b:
[0139] =4;
[0140] ;
[0141] The formula for a straight line along the Z-axis is:
[0142] Z = 4Y - 80;
[0143] Position the origin O on the YZ plane Substituting the position of the positioning point C into formula (8) or substituting the slope of the Z-axis into formula (9) yields the pitch angle. :
[0144] (8); or (9);
[0145] Pitch angle =Tan -1 (0.25) = 14º.
[0146] Example 2
[0147] Embodiment 2 of this application provides a method for calculating the pose of a target device based on an outside-in technique, such as... Figure 8 As shown, it includes the following steps:
[0148] Step 1. Place at least three positioning points DEF on the target device that are not on the same straight line but on the same plane. Use this correction aid to construct positioning points ABC:
[0149] Example 2 uses a prop (target device) used in large-space games, such as a wizard's hat, as an example for illustration. Figure 8 As shown in (2), three positioning points DEF, which are not on the same straight line but on the same plane, are pre-set on the wizard's hat;
[0150] Through a triangle AB Corrective aids, such as Figure 8 As shown in (2), AB is the bottom edge. Using the vertex as the base, and aligning the base AB parallel to or close to a preset position on the target device (e.g., the line connecting the player's eyes), the positioning point ABC of step 1 in Embodiment 1 is constructed using this correction aid. The base AB corresponds to the left positioning point A and the right positioning point B set vertically in the direction directly in front of the target device. Let C be the mapping point that is perpendicular and symmetrical to the base AB.
[0151] Step 2. Obtain the spatial position (XYZ) of each location point using existing outside-in techniques:
[0152] Six positioning points AB are simultaneously acquired using existing outside-in technology. The spatial location of DEF, and the positioning point Converting to a positioning point C that is perpendicular and symmetrical to the X-axis, we obtain the spatial positions of the six positioning points ABCDEF.
[0153] Based on the principle of shortest distance, positioning point DEF is paired with positioning point ABC one by one, and the difference between the paired points is obtained. The spatial position of positioning point DEF collected in the game is used to generate the spatial position of the mapped positioning point ABC in real time based on the difference.
[0154] Based on the spatial position of the location point ABC based on the mapping, the pose data (yaw angle) of the target device is obtained by triangulation in step 3 of Example 1. Pitch angle yaw angle ).
[0155] Example 3
[0156] Embodiment 3 of this application provides a spatial positioning system 100, such as... Figure 9 As shown, it includes a position-aware component 101, a positioning point 102, a memory 103, and a processor 104;
[0157] The location sensing component 101 is used to sense the spatial location of the positioning point 102 based on existing outward-inward technology and upload the spatial location to the processor 104.
[0158] Positioning point 102 refers to the signal source in the outside-in technology. The signal source includes a camera or sensor signal transmitter with built-in ID information, graphics, human feature points or other identifiable signals; at least three positioning points 102 that are not on the same straight line but on the same plane are arranged on the target device 200, and the target device 200 refers to the object or device to be positioned.
[0159] The memory 103, connected to the processor 104, is used to store computer programs;
[0160] The processor 104 is used to execute the computer program to implement the method described in Embodiment 1 or 2.
[0161] In some embodiments of this application, the processor 104 may include, but is not limited to:
[0162] General-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
[0163] In some embodiments of this application, the memory 103 includes, but is not limited to, volatile memory and / or non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory may be random access memory (RAM), which serves as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DRRAM).
[0164] In some embodiments of this application, the computer program may be divided into one or more modules, which are stored in the memory 103 and executed by the processor 104 to complete the method of Embodiment 1 or 2 provided in this application. The one or more modules may be a series of computer program instruction segments capable of performing specific functions, which describe the execution process of the computer program in the spatial positioning system 100.
[0165] Example 4
[0166] Embodiment 4 of the present invention also provides a computer storage medium storing a computer program thereon, which, when executed by a computer, enables the computer to perform the methods in Embodiment 1 or 2 above.
[0167] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of this application. It should be understood that the above description is only a specific embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A method for computing the pose of a target device based on an outside-in technique, characterized in that, The target device includes objects without power or computing power and devices or components with self-powered, and specifically includes the following steps: Step 1. At least three positioning points ABC are arranged on the target device which are not on the same straight line but on the same plane, the positioning points refer to signal sources in the outward-inward technology, which include self-ID information bearing photographable or perceptible electronic signal emitters, graphics or other identifiable signals, which are arranged on the target device in a non-electrically connected manner or realized on the circuit within the target device: Three positioning points ABC are laid out on the target device, and an XYZ coordinate system is established according to the three positioning points, the line connecting the positioning points A and B is set as the X axis, the vertical line passing through the positioning point C and the X axis is the Z axis, the intersection of the XZ axis is set as the origin O, the upward and downward orthogonal direction passing through the origin O is the Y axis, and the direction of the directed line segment is the front direction of the target device; Step 2. The spatial position (X, Y, Z) of each positioning point is obtained using the outward-inward technology; Step 3. The pose data of the target device is calculated using the spatial positions of the three positioning points in Step 2, which includes the yaw angle , the pitch angle and the roll angle .
2. The target device pose calculation method based on the outward-in technique according to claim 1, characterized in that, The step 3 includes the following steps: Step 3.
1. Calculate the position of the origin O in the XZ plane for which Y is 0 : The straight line formula of the XZ plane is: (1); The slope of the X axis is calculated by positioning the points A and B and b, resulting in the linear equation of the X axis: ; ; Slope of Z axis is known b and the linear equation of Z axis are calculated by the position of point C and equation (1). Obtaining the intersection of the X-axis and the Z-axis, i.e. the position of the origin O ; Step 3.2, Calculate the yaw angle of rotation around the Y axis in the XZ plane where Y is 0 : Position the origin O Substitute the location of point C into formula (2) or the slope of the Z-axis. Substituting into formula (3) yields the yaw angle. : (2); or (3); Step 3.
3. Calculate the roll angle around the Z axis in the XY plane at Z = 0 : Known position of point A, position of point B, and position of origin O ; The straight line formula of the XY plane is: (4); Wherein, the X axis slope is calculated by the positions of the positioning points A and B and b: ; ; The linear equation of X axis is obtained, and the value of the original point O is substituted into the linear equation to calculate the position of the original point O ; Substitute the origin O position and the position of the point B into equation (5) or substitute the slope of the X axis into equation (6) to obtain the roll angle : (5) or (6); Step 3.
4. Calculate the pitch angle of the rotation around the X axis in the YZ plane with X value of 0 : The straight line formula of the YZ plane is: (7); Wherein, the straight line OC, i.e. the slope of the Z axis, is calculated by the origin O position and the positioning point C position and b: ; ; The straight line formula of the Z axis is obtained; Substitute the position of the origin O on the YZ plane and the position of the point C into equation (8) or substitute the slope of the Z axis into equation (9) to obtain the pitch angle : (8); or (9).
3. A method for computing the pose of a target device based on an outside-in technique, characterized in that The target device includes objects without power or computing power and devices or components with self-powered, and specifically includes the following steps: Step 1. At least three positioning points are arranged on the target device which are not on the same straight line but on the same plane, the positioning points refer to signal sources in the outward-inward technology, which include self-ID information bearing photographable or perceptible electronic signal emitters, graphics, human feature points or other identifiable signals, which are arranged on the target device in a non-electrically connected manner or realized on the circuit within the target device: At least three positioning points DEF are arranged on the target device which are not on the same straight line but on the same plane, and the positioning points ABC are constructed with the help of the correction auxiliary tool: By means of a correction aid with an isosceles triangle ABC with the base AB as the vertex, the base AB is aligned parallel to the target device or to a preset position near the target device, and by means of the correction aid a positioning point ABC is created, the base AB corresponding to the left positioning point A and the right positioning point B arranged vertically in front of the target device, the vertex being the mirror point of the positioning point C vertically symmetrical to the base AB. The positioning point ABC establishes an XYZ coordinate system, the line connecting the positioning points A and B is the X axis, the vertical line passing through the positioning point C and the X axis is the Z axis, the intersection of the XZ axis is the origin O, the upward and downward orthogonal direction passing through the origin O is the Y axis, and the direction of the directed line segment is the front direction of the target device. Step 2. Simultaneously acquire six positioning points AB using the outside-in technique. The spatial location of DEF, in positioning the point After converting to a positioning point C that is perpendicular and symmetrical to the bottom edge AB, the spatial positions (X, Y, Z) of six positioning points ABCDEF are obtained. Based on the principle of shortest distance, positioning point DEF is paired with positioning point ABC one by one, and the difference between the paired points is obtained. The spatial position of positioning point DEF collected in real time is used to generate the spatial position of the mapped positioning point ABC based on the difference. Step 3. The pose data of the target device is calculated by using the spatial positions of the three positioning points ABC to perform a triangle calculation, and the pose data includes a yaw angle , a pitch angle , and a roll angle .
4. The target device pose calculation method based on the outward-in technique according to claim 3, characterized in that, said positioning point Converting the positioning point C, which is vertically symmetrical to the base side AB, comprises the following steps: (1) The spatial position of the foot O of the positioning point C' to the straight line AB is calculated by the vector projection method: According to the spatial position of the positioning points ABC, the vectors and are obtained; The parameter t is calculated, which is the projection ratio of the foot O on the straight line AB, and the calculation formula is: ; Where the operator "•" represents the dot product of the vector; The point A is translated along the vector The coordinates of the foot O are obtained by translating A by t times ; (2) The positioning point C is the reverse direction extension of the positioning point C' to the foot O, and the spatial position of the positioning point C is calculated according to the following formula: 。 5. The target device pose calculation method based on the outward-inward technology according to claim 3, characterized in that: The target device in the step 1 is the joint or part of the body, head, face, hand or foot, and the positioning points are arranged on the target device; The step 2 is to perceive the position information of each positioning point by the neural network inference in the outward-inward technology.
6. The target device pose calculation method based on the outward-in technique according to claim 3, wherein, The step 3 includes the following steps: Step 3.
1. Calculate the position of the origin O in the XZ plane for which Y is 0 : The straight line formula of the XZ plane is: (1); The slope of the X axis is calculated by positioning the points A and B and b, resulting in the linear equation of the X axis: ; ; Slope of Z axis is known b and the linear equation of Z axis are calculated by the position of point C and equation (1). Obtaining the intersection of the X-axis and the Z-axis, i.e. the position of the origin O ; Step 3.2, Calculate the yaw angle of rotation around the Y axis in the XZ plane where Y is 0 : Substitute the origin O position and the position of the point C into equation (2) or substitute the slope of the Z axis into equation (3) to obtain the yaw angle : (2); or (3); Step 3.
3. Calculate the roll angle around the Z axis in the XY plane at Z = 0 : Known position of location point A, position of location point B, and position of origin O ; The straight line formula of the XY plane is: (4); Wherein, the X axis slope is calculated by the positions of the positioning points A and B and b: ; ; The linear equation of X axis is obtained, and the value of the original point O is substituted into the linear equation of X axis to calculate the position of the original point O ; Substitute the origin O position and the position of the point B into equation (5) or substitute the slope of the X axis into equation (6) to obtain the roll angle : (5) or (6); Step 3.
4. Calculate the pitch angle of the rotation around the X axis in the YZ plane with X value of 0 : The straight line formula of the YZ plane is: (7); Wherein, the straight line OC, i.e. the slope of the Z axis, is calculated by the origin O position and the positioning point C position and b: ; ; The straight line formula of the Z axis is obtained; Substitute the position of the origin O on the YZ plane and the position of the point C into equation (8) or substitute the slope of the Z axis into equation (9) to obtain the pitch angle : (8); or (9).
7. A space positioning system characterized by, It includes a position perception component, a positioning point, a memory and a processor; The position perception component is used to perceive the spatial position of the positioning point based on the outward-inward technology, and upload the spatial position to the processor; The positioning point refers to a signal source in the outward-inward technology, which includes a self-ID information bearing photographable or perceptible signal emitter, a graphic, a human feature point or other identifiable signal; At least three positioning points which are not on the same straight line but on the same plane are arranged on the target device, and the target device refers to the object or device to be positioned; The memory is connected with the processor and is used to store computer programs; The processor is configured to execute the computer program to perform the steps of the target device pose calculation method based on the outward-in technique according to any one of claims 1 to 6.
8. A storage medium having stored thereon a computer program, characterized in that The computer program is configured to be executed by the processor to perform the steps of the target device pose calculation method based on the outward-in technique according to any one of claims 1 to 6.
Citation Information
Patent Citations
Gesture cursor mapping method and device, electronic equipment, storage medium and vehicle
CN119440229A
Method and apparatus for adjusting an internal space camera for outer-in tracking of
CN119515967A
Cited By
Out-in body positioning method and system for in-xr games
CN122377133A