Pose updating method and device, input device, and storage medium
By obtaining the pixel coordinates and three-dimensional coordinates of the input device, judging the matching degree and updating the posture, the jitter problem of the optical tracking input device is solved, and a more stable and smooth virtual reality interactive experience is achieved.
Patent Information
- Application Number
- CN202211243361.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-11
- Publication Date
- 2025-10-24
- Estimated Expiration
- 2042-10-11
AI Technical Summary
Existing input devices based on optical tracking have jitter problems during use, affecting the user's virtual reality interaction experience.
By obtaining the pixel coordinates and three-dimensional coordinates of the input device, it is determined whether the two match. If they do not match, the posture of the current frame is updated. The posture is optimized using factors such as screen refresh rate, update weight, and unit distance between adjacent frames to ensure that the virtual input device is stably displayed in the virtual reality screen.
It improves the stability and fluency of input devices in virtual reality scenes and enhances the user's interactive operation experience.
Smart Images

Figure CN115639909B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of virtual reality, in particular to a pose updating method, a pose updating device, an input device and a computer readable storage medium. BACKGROUND
[0002] With the development of virtual reality technology, more and more people begin to use virtual reality devices. Among them, input devices such as handles or HMDs (Head Mounted Displays) are currently the mainstream interactive tools for VR (Virtual Reality) devices, and the mainstream implementation scheme for positioning is still based on optical tracking to update the pose of the handle or HMD. During the VR scene interaction experience of the user, the optical tracking scheme has the problem of handle or HMD position jitter. SUMMARY
[0003] The main purpose of the present application is to provide a pose updating method, a pose updating device, an input device and a computer readable storage medium, which aims to solve the technical problem of how to reduce the jitter of an input device based on optical tracking during use in the prior art.
[0004] To achieve the above-mentioned purpose, the present application provides a pose updating method, which is applied to an input device based on optical tracking; the pose updating method comprises:
[0005] obtaining a pixel coordinate and a three-dimensional coordinate of the input device;
[0006] updating the pose of the input device of the current frame when the pixel coordinate and the three-dimensional coordinate do not match, obtaining a pose after pose updating, and displaying a virtual input device in a virtual reality picture based on the updated pose.
[0007] Optionally, the step of updating the pose of the input device of the current frame comprises:
[0008] obtaining a screen refresh rate of a virtual reality display device matched with the input device;
[0009] updating the pose of the input device of the current frame according to the screen refresh rate.
[0010] Optionally, the step of updating the pose of the input device of the current frame according to the screen refresh rate comprises:
[0011] determining an update weight and a unit distance to be updated between two adjacent frames, and determining an update speed based on the screen refresh rate;
[0012] Determine the updated input device pose of the current frame based on the updated weight, unit distance and the updated speed.
[0013] Optionally, the updated weight comprises a first weight related to optics, a second weight related to transmission and a third weight related to calculation, and the step of determining the updated weight comprises:
[0014] determining an optical weight, and determining the first weight based on the optical weight and an optical coefficient corresponding to the optical weight;
[0015] determining a transmission weight, and determining the second weight based on the transmission weight and a transmission coefficient corresponding to the transmission weight;
[0016] determining a calculation weight, and determining the third weight based on the calculation weight and a calculation coefficient corresponding to the calculation weight;
[0017] determining the updated weight based on the first weight, the second weight and the third weight.
[0018] Optionally, the step of determining the optical weight comprises:
[0019] determining the optical weight based on the number of light sources, the reprojection error, the light source confidence and respective light source number coefficient, reprojection error coefficient and light source confidence coefficient.
[0020] Optionally, the step of determining the transmission weight comprises:
[0021] determining the transmission weight based on the packet loss rate, the time interval between two adjacent frames and respective packet loss rate coefficient and time interval coefficient.
[0022] Optionally, the step of determining the calculation weight comprises:
[0023] determining the calculation weight based on the data amount between two adjacent frames;
[0024] if the data amount is greater than a preset data amount threshold, determining the calculation weight as a preset value;
[0025] if the data amount is not greater than the preset data amount threshold, determining the calculation weight based on a preset linear correlation.
[0026] In addition, to achieve the above object, the application further provides a pose updating device, comprising:
[0027] an acquisition module configured to acquire pixel coordinates and three-dimensional coordinates of an input device;
[0028] an updating module configured to update the pose of the input device in the current frame when the pixel coordinates and the three-dimensional coordinates do not match, to obtain an updated pose, and to display a virtual input device in a virtual reality picture based on the updated pose.
[0029] In addition, to achieve the above object, the present application also provides an input device, which comprises a camera configured to collect pixel coordinates of the input device, an inertial measurement unit configured to collect three-dimensional coordinates of the input device, a memory, a processor, and a computer program stored in the memory and executable on the processor, and the computer program implements the steps of the pose updating method according to any one of the above when executed by the processor.
[0030] In addition, to achieve the above object, the present application also provides a computer readable storage medium, which stores a computer program, and the computer program implements the steps of the pose updating method according to any one of the above when executed by a processor.
[0031] The pose updating method, pose updating device, input device and computer readable storage medium provided by the embodiments of the present application are applied to an input device based on optical tracking, and the pose updating method comprises the following steps: obtaining pixel coordinates and three-dimensional coordinates of the input device; updating the pose of the input device in the current frame when the pixel coordinates and the three-dimensional coordinates do not match, to obtain an updated pose, and displaying a virtual input device in a virtual reality picture based on the updated pose.
[0032] When the pixel coordinates and the three-dimensional coordinates of the input device do not match, and the jitter of the input device seriously affects the normal use of the user, the pose of the input device in the current frame is updated, the virtual input device is displayed in the virtual reality based on the updated pose, so that the result calculated according to the real-time data is ensured to present the stable effect of the input device, so that the pose updating of the input device is more smooth and stable in the scene, the interactive operation of the user in the virtual world is met, and the virtual reality experience of the user is improved. BRIEF DESCRIPTION OF DRAWINGS
[0033] Figure 1 is a terminal structure schematic diagram of a hardware running environment related to the embodiments of the present application;
[0034] Figure 2 is a flowchart of an embodiment of the pose updating method of the present application;
[0035] Figure 3 is a data flowchart of the pose updating of an embodiment of the pose updating method of the present application;
[0036] Figure 4The correlation diagram of an embodiment of the pose updating method of the present application;
[0037] Figure 5 The device diagram of an embodiment of the pose updating device of the present application.
[0038] The implementation, functional features and advantages of the present application will be further described with reference to the embodiments and the accompanying drawings. DETAILED DESCRIPTION
[0039] It should be understood that the specific embodiments described herein merely exemplify the present application and do not limit the present application.
[0040] Referring to Figure 1 , Figure 1 The structural diagram of a running device of a hardware running environment related to the embodiment scheme of the present application.
[0041] As Figure 1 shown, the running device can include a processor 1001, such as a central processing unit (CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. The communication bus 1002 is used to realize the connection and communication between the components. The user interface 1003 can include a display screen, an input unit such as a keyboard, and can also include a standard wired interface, a wireless interface. The network interface 1004 can optionally include a standard wired interface, a wireless interface (such as a wireless fidelity (WI-FI) interface). The memory 1005 can be a high-speed random access memory (RAM) memory, or a stable non-volatile memory (NVM), such as a magnetic disk memory. The memory 1005 can also be a storage device independent of the aforementioned processor 1001.
[0042] Those skilled in the art can understand that Figure 1 the structure shown in the foregoing embodiments does not constitute a limitation on the running device, and can include more or fewer components than the diagram, or combine certain components, or different component arrangements.
[0043] As Figure 1 shown, the memory 1005 as a storage medium can include an operating system, a data storage module, a network communication module, a user interface module, and a computer program.
[0044] In Figure 1In the running device shown, the network interface 1004 is mainly used for data communication with other devices; the user interface 1003 is mainly used for data interaction with the user; the processor 1001 and the memory 1005 in the running device of the application can be arranged in the running device, the processor 1001 calls the computer program stored in the memory 1005, and the following operations are performed:
[0045] Obtaining the pixel coordinates and three-dimensional coordinates of the input device;
[0046] When the pixel coordinates and the three-dimensional coordinates do not match, updating the pose of the input device of the current frame to obtain an updated pose, and displaying a virtual input device in a virtual reality picture based on the updated pose.
[0047] Further, the processor 1001 can call the computer program stored in the memory 1005, and further perform the following operations:
[0048] The step of updating the pose of the input device of the current frame comprises:
[0049] Obtaining the screen refresh rate of the virtual reality display device matched with the input device;
[0050] Updating the pose of the input device of the current frame according to the screen refresh rate.
[0051] Further, the processor 1001 can call the computer program stored in the memory 1005, and further perform the following operations:
[0052] The step of updating the pose of the input device of the current frame according to the screen refresh rate comprises:
[0053] Determining an update weight and a unit distance to be updated between two adjacent frames, and determining an update speed based on the screen refresh rate;
[0054] Determining the updated input device pose of the current frame based on the update weight, the unit distance and the update speed.
[0055] Further, the processor 1001 can call the computer program stored in the memory 1005, and further perform the following operations:
[0056] The update weight comprises a first weight related to optics, a second weight related to transmission and a third weight related to calculation, and the step of determining the update weight comprises:
[0057] Determining an optical weight, and determining the first weight according to the optical weight and an optical coefficient corresponding to the optical weight;
[0058] determining a transmission weight, and determining the second weight according to the transmission weight and a transmission coefficient corresponding to the transmission weight;
[0059] determining a calculation weight, and determining the third weight according to the calculation weight and a calculation coefficient corresponding to the calculation weight;
[0060] determining the update weight based on the first weight, the second weight and the third weight.
[0061] Further, the processor 1001 can invoke the computer program stored in the memory 1005, and further perform the following operations:
[0062] The step of determining the optical weight comprises:
[0063] determining the optical weight based on the number of light sources, the re-projection error, the light source confidence, and respective number of light source coefficients, re-projection error coefficients and light source confidence coefficients.
[0064] Further, the processor 1001 can invoke the computer program stored in the memory 1005, and further perform the following operations:
[0065] The step of determining the transmission weight comprises:
[0066] determining the transmission weight based on the packet loss rate, the time interval between two adjacent frames, and respective packet loss rate coefficients and time interval coefficients.
[0067] Further, the processor 1001 can invoke the computer program stored in the memory 1005, and further perform the following operations:
[0068] The step of determining the calculation weight comprises:
[0069] determining the calculation weight based on the data amount between two adjacent frames;
[0070] If the data amount is greater than a preset data amount threshold, determining the calculation weight as a preset value;
[0071] If the data amount is not greater than the preset data amount threshold, determining the calculation weight based on a preset linear correlation.
[0072] Referring to Figure 2 The present application provides a pose updating method, which is applied to an input device based on optical tracking; the pose updating method comprises:
[0073] Step S10: obtaining pixel coordinates and three-dimensional coordinates of the input device.
[0074] Further, the step of obtaining the pixel coordinates of the input device comprises: obtaining the pixel coordinates of the input device based on a TOF camera. Wherein, after LED driving initialization, the LED light is made to emit light, the camera collects the light reflection image to obtain a set of feature points, and after Gaussian filtering, binarization, ROI (region of interest) extraction, connected domain feature extraction and other operations, the LED center coordinates are calculated, that is, the pixel coordinates of the input device are calculated.
[0075] Further, the step of obtaining the three-dimensional coordinates of the input device comprises: after initialization of an IMU (Inertial Measurement Unit) for measuring object three-axis attitude angle or angular velocity and acceleration, collecting IMU data and performing offline correction, and through complementary filtering, data packaging processing and wireless transmission. Wherein, after receiving the wireless transmission of the IMU data, the input device analyzes and performs pose calculation, and calculates the pose increment. The pose at a certain moment or the pose increment in a certain time period is taken as the three-dimensional coordinates, and the three-dimensional coordinates and the pixel coordinates of the input device are matched.
[0076] Further, when the pixel coordinates and the three-dimensional coordinates are matched, PNP calculation is performed according to the pixel coordinates and the three-dimensional coordinates to obtain the final pose of the input device. Wherein, PnP (Perspective-n-Points) calculation refers to the object motion positioning problem of 3D (three-dimensional) to 2D (two-dimensional) point pairs, that is, the coordinates of the object in the world coordinate system and the pixel coordinates of the object in the image plane of the camera are known, and the pose (six degrees of freedom, position coordinates and three direction angles) of the camera is solved. When the pixel coordinates and the three-dimensional coordinates are matched, the jitter of the input device is within the normal range, so it is not necessary to compensate the three-dimensional coordinates according to the pixel coordinates, and the final pose of the input device can be directly calculated and output to the upper application of the virtual reality device.
[0077] Step S20, when the pixel coordinates and the three-dimensional coordinates are not matched, updating the pose of the input device of the current frame to obtain the pose after updating, and displaying the virtual input device in the virtual reality picture based on the updated pose.
[0078] When the pixel coordinates and the three-dimensional coordinates do not match, it is impossible to directly perform PNP calculation based on the pixel coordinates and the three-dimensional coordinates to obtain the final input device pose. In other words, the final input device pose obtained by the PNP calculation is inaccurate, indicating that the jitter of the input device seriously affects the user's normal use. In this case, it is necessary to update the input device pose in the current frame and compensate the three-dimensional coordinates based on the pixel coordinates. This allows the virtual input device to be displayed in virtual reality based on the updated pose, and then, based on the results of the real-time data calculation, ensures the final presentation of the input device's stable effect.
[0079] In this embodiment, the pixel coordinates and three-dimensional coordinates of the input device are obtained; when the pixel coordinates and the three-dimensional coordinates do not match, the posture of the input device in the current frame is updated to obtain an updated posture, and the virtual input device is displayed in the virtual reality screen based on the updated posture.
[0080] When the pixel coordinates and 3D coordinates of an input device don't match, or when jitter severely impacts the user's ability to use the device, the device's pose is updated for the current frame and displayed in VR based on the updated pose. This ensures the stability of the input device, calculated based on real-time data. This allows for smoother and more stable updates to the input device's pose within the scene, satisfying user interaction within the virtual world and enhancing the user's VR experience.
[0081] Optionally, the step of updating the posture of the input device in the current frame includes:
[0082] Obtaining a screen refresh rate of a virtual reality display device associated with the input device;
[0083] The posture of the input device in the current frame is updated according to the screen refresh rate.
[0084] Further, refer to Figure 3 The key factors affecting the stability of the input device are the threshold and frequency of the Euclidean distance update per unit time. Figure 3 The output of the calculation of "LED matching" in the HMD affects the Euclidean distance of the posture. Figure 3The packet loss rate of the "wireless transmission" of the controller Controller affects the number of distance interpolation updates per unit time. If the two do not match and there is an error, the upper application needs to control the scene pose refresh according to the influence of each stage, and finally obtain the pose data optimized by the pose update. Among them, the control method is mainly to supplement the interpolation according to the screen refresh rate of the virtual reality display device matched with the input device, reduce the influence of LED and wireless transmission, so as to achieve the effect of ensuring the pose stability of the input device.
[0085] Optionally, the step of updating the pose of the input device of the current frame according to the screen refresh rate comprises:
[0086] Determining the update weight and the unit distance to be updated between the adjacent two frames, and determining the update speed based on the screen refresh rate;
[0087] Determining the updated input device pose of the current frame based on the update weight, unit distance and update speed.
[0088] The upper application of the virtual reality device updates the pose of the input device between the adjacent two frames according to the following formula: P C,FPS = V*W R *D 欧拉 . Wherein, P C,FPS is the input device pose of the current frame, V is the update speed determined based on the screen refresh rate, W R is the update weight representing the pose accuracy and stability of the input device, and D 欧拉 represents the unit distance to be updated between the adjacent two frames.
[0089] Optionally, the update weight comprises an optical related first weight, a transmission related second weight and a calculation related third weight, and the step of determining the update weight comprises:
[0090] Determining the optical weight, and determining the first weight according to the optical weight and the optical coefficient corresponding to the optical weight;
[0091] Determining the transmission weight, and determining the second weight according to the transmission weight and the transmission coefficient corresponding to the transmission weight;
[0092] Determining the calculation weight, and determining the third weight according to the calculation weight and the calculation coefficient corresponding to the calculation weight;
[0093] Determining the update weight based on the first weight, the second weight and the third weight.
[0094] When determining the update weight, the formula WR = X1*W LED + X2*W Wireless + X3*W 6DOF Cal The calculation is performed, wherein X1*W LED represents the first weight, W LED represents the optical weight, and X1 represents the optical coefficient corresponding to the optical weight; X2*W Wireless represents the second weight, W Wireless represents the transmission weight, and X2 represents the transmission coefficient corresponding to the transmission weight; X3*W 6DOF Cal represents the second weight, W 6DOF Cal represents the calculation weight, and X3 represents the calculation coefficient corresponding to the calculation weight. Based on the first weight X1*W LED , the second weight X2*W Wireless , and the third weight X3*W 6DOF Cal , the update weight W R is determined.
[0095] wherein 0 < X1, X2, X3 <= 1, X1+X2+X3 <= 3, and the values of X1, X2, X3 are influenced by the values of the corresponding weights W LED , W Wireless , W 6DOF Cal , and the values of W LED , W Wireless , W 6DOF Cal are automatically calculated according to each process, and the higher the calculation result in pattern matching, the greater the values of the corresponding X1, X2, X3.
[0096] Optionally, the step of determining the optical weight comprises:
[0097] Based on the number of light sources, the re-projection error, the light source confidence, and the respective number of light source coefficients, re-projection error coefficients, and light source confidence coefficients, the optical weight is determined.
[0098] When determining the optical weight W LED , the calculation is performed according to the formula W LED = 0.5*Y1+0.3*Y2+0.2*Y3. Wherein, when Y1 = the number of identified LED lights > 4; Y2 = the re-projection error < 1mm; Y3 = the confidence ranking of the lamp bead > 90%, the corresponding Y1Y2Y3 are all equal to 1, otherwise the selection and value of Y are selected and valued according to the predetermined preset value table.
[0099] Further, the respective number of light source coefficients, re-projection error coefficients, and light source confidence coefficients are not fixed, but are based on the stable experience values obtained by the current system test, Y1Y2Y3 are influencing factors, and the corresponding coefficients are linear correlation coefficients calculated according to the linear correlation.
[0100] Further, the linear correlation relationship is as follows:
[0101]
[0102] wherein, represents the average value, x i , y i represents the acquisition value at different time, and the linear correlation relationship is a general formula for calculating correlation.
[0103] Further, the step of calculating the linear correlation coefficient according to the linear correlation relationship comprises: calculating correlation according to the linear correlation relationship, and determining the linear correlation coefficient according to the correlation and a preset reference table. As shown in the preset reference table, Figure 4
[0104]
[0105] After the correlation level is calculated according to the linear correlation relationship, the value range of the correlation coefficient Y is determined in the preset reference table according to different correlation levels, and a final coefficient is determined in the determined value range. In this embodiment, the way of determining a final coefficient from the value range is not limited, which can be based on the stable experience value obtained from the current system test.
[0106] Optionally, the step of determining the transmission weight comprises:
[0107] The transmission weight is determined based on the packet loss rate, the time interval between adjacent two frames, and the respective corresponding packet loss rate coefficient and time interval coefficient.
[0108] When the transmission weight W Wireless is determined, the calculation is performed according to the following formula W Wireless = 0.5 * Y1 + 0.5 * Y2. Wherein, when Y1 = packet loss rate < 5%; Y2 = time interval between two frames < 2ms; and the corresponding Y1Y2 is equal to 1, otherwise the Y value is selected according to the established Y value table, and the specific value selection manner is similar to the value selection manner of the optical weight W LED , which will not be described herein.
[0109] Optionally, the step of determining the calculation weight comprises:
[0110] The calculation weight is determined based on the data amount between adjacent two frames.
[0111] If the data amount is greater than a preset data amount threshold, the calculation weight is determined as a preset value.
[0112] If the data amount is not greater than a preset data amount threshold, the calculation weight is determined based on a preset linear correlation.
[0113] In determining the calculation weight W 6DOF Cal , the following formula W 6DOF Cal =Y1 is used for calculation. Wherein, Y=Y1 of the IMU data amount between the LED calculation results of the previous and next two frames, i.e. the number of IMU data between the adjacent two frames, if Y1>30, Y1=1 is corresponding, otherwise, the Y value is selected according to the established Y value table, and the selection manner of the specific value is similar to the selection manner of the value of the optical weight W LED , which is not described herein.
[0114] In addition, with reference to Figure 5 , the embodiment of the present application further provides a pose updating device, the pose updating device comprises:
[0115] an acquisition module M1, configured to acquire pixel coordinates and three-dimensional coordinates of an input device;
[0116] an updating module M2, configured to update the pose of the input device of a current frame when the pixel coordinates and the three-dimensional coordinates do not match, to obtain a pose after updating, and display a virtual input device in a virtual reality picture based on the updated pose.
[0117] Optionally, the updating module is further configured to acquire a screen refresh rate of a virtual reality display device matched with the input device;
[0118] update the pose of the input device of the current frame according to the screen refresh rate.
[0119] Optionally, the updating module is further configured to determine an updating weight and a unit distance between adjacent two frames to be updated, and determine an updating speed based on the screen refresh rate;
[0120] determine the pose of the input device of the current frame after updating based on the updating weight, the unit distance and the updating speed.
[0121] Optionally, the updating module is further configured to determine an optical weight, and determine the first weight according to the optical weight and an optical coefficient corresponding to the optical weight;
[0122] determine a transmission weight, and determine the second weight according to the transmission weight and a transmission coefficient corresponding to the transmission weight;
[0123] determine a calculation weight, and determine the third weight according to the calculation weight and a calculation coefficient corresponding to the calculation weight;
[0124] determine the update weight based on the first weight, the second weight and the third weight.
[0125] Optionally, the update module is further configured to determine the optical weight based on the number of light sources, the re-projection error, the light source confidence, and respective corresponding number of light source coefficients, re-projection error coefficients and light source confidence coefficients.
[0126] Optionally, the update module is further configured to determine the transmission weight based on the packet loss rate, the time interval between two adjacent frames, and respective corresponding packet loss rate coefficients and time interval coefficients.
[0127] Optionally, the update module is further configured to determine the calculation weight based on the data amount between two adjacent frames.
[0128] If the data amount is greater than a preset data amount threshold, the calculation weight is determined as a preset value.
[0129] If the data amount is not greater than the preset data amount threshold, the calculation weight is determined based on a preset linear correlation.
[0130] The pose updating device provided by the present application adopts the pose updating method in the above embodiments, and solves the technical problem of how to reduce the jitter of an input device based on optical tracking in use in the prior art. Compared with the prior art, the pose updating device provided by the embodiments of the present application has the same beneficial effects as the pose updating method provided by the above embodiments, and other technical features in the pose updating device are the same as the features disclosed in the above embodiments, and thus will not be described herein.
[0131] In addition, the embodiments of the present application further provide an input device, which comprises a camera for collecting pixel coordinates of the input device, an inertial measurement unit for collecting three-dimensional coordinates of the input device, a memory, a processor, and a computer program stored on the memory and executable on the processor, and the computer program implements the steps of the pose updating method according to any one of the above embodiments when executed by the processor.
[0132] In addition, the embodiments of the present application further provide a computer readable storage medium, which stores a computer program, and the computer program implements the steps of the pose updating method according to any one of the above embodiments when executed by a processor.
[0133] It should be noted that, in this document, the terms "comprises", "comprising", or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or system. Without further limitation, an element preceded by "comprises... a" does not, without more constraints, foreclose the existence of additional identical elements in the process, method, article, or system that comprises the recited element.
[0134] The above-mentioned embodiment numbers of the present application are only for description, and do not represent the advantages and disadvantages of the embodiments.
[0135] From the above description of the embodiments, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be realized by means of software and the necessary general hardware platform, of course, they can also be realized by hardware, but in many cases the former is a better embodiment. Based on such understanding, the technical solutions of the present application can be embodied in the form of a software product, which is stored in a storage medium (such as a ROM / RAM, a magnetic disk, or an optical disk) as described above, and includes a number of instructions for making a terminal device (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) execute the methods described in the various embodiments of the present application.
[0136] The above is only the preferred embodiment of the present application, and does not limit the patent scope of the present application, and any equivalent structure or equivalent process transformation, or direct or indirect application in other related technical fields, is also included in the patent protection scope of the present application.
Claims
1. A pose updating method, characterized in that, The pose updating method is applied to an interaction process based on optical tracking; The pose updating method comprises: acquiring pixel coordinates and three-dimensional coordinates of an input device; when the pixel coordinates and the three-dimensional coordinates do not match, acquiring a screen refresh rate of a virtual reality display device matched with the input device; determining an update weight and a unit distance to be updated between two adjacent frames, and determining an update speed based on the screen refresh rate; determining an updated input device pose of a current frame based on the update weight, the unit distance and the update speed, obtaining an updated pose, and displaying a virtual input device in a virtual reality picture based on the updated pose.
2. The pose update method of claim 1, wherein, The update weight comprises a first weight related to optics, a second weight related to transmission and a third weight related to calculation, and the step of determining the update weight comprises: determining an optical weight, and determining the first weight based on the optical weight and an optical coefficient corresponding to the optical weight; determining a transmission weight, and determining the second weight based on the transmission weight and a transmission coefficient corresponding to the transmission weight; determining a calculation weight, and determining the third weight based on the calculation weight and a calculation coefficient corresponding to the calculation weight; determining the update weight based on the first weight, the second weight and the third weight.
3. The pose update method of claim 2, wherein, The step of determining the optical weight comprises: determining the optical weight based on a number of light sources, a re-projection error, a light source confidence and respective light source number coefficients, re-projection error coefficients and light source confidence coefficients.
4. The pose update method of claim 2, wherein, The step of determining the transmission weight comprises: determining the transmission weight based on a packet loss rate, a time interval between two adjacent frames and respective packet loss rate coefficients and time interval coefficients.
5. The pose update method of claim 2, wherein, The step of determining the calculation weight comprises: determining the calculation weight based on a data amount between two adjacent frames; if the data amount is greater than a preset data amount threshold, determining the calculation weight as a preset value; if the data amount is not greater than the preset data amount threshold, determining the calculation weight based on a preset linear correlation.
6. A pose updating apparatus, characterized by comprising: The pose updating device comprises: an acquisition module configured to acquire pixel coordinates and three-dimensional coordinates of an input device; an update module configured to: when the pixel coordinates and the three-dimensional coordinates do not match, acquire a screen refresh rate of a virtual reality display device matched with the input device; determine an update weight and a unit distance to be updated between two adjacent frames, and determine an update speed based on the screen refresh rate; determine an updated input device pose of a current frame based on the update weight, the unit distance and the update speed, obtain an updated pose, and display a virtual input device in a virtual reality picture based on the updated pose.
7. An input device, characterized by The input device comprises a camera configured to acquire pixel coordinates of the input device, an inertial measurement unit configured to acquire three-dimensional coordinates of the input device, a memory, a processor, and a computer program stored on the memory and executable on the processor, the computer program being configured to implement the steps of the pose updating method according to any one of claims 1 to 5 when executed by the processor.
8. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, and the computer program is executed by the processor to implement the steps of the pose updating method in any one of claims 1 to 5.
Citation Information
Patent Citations
Positioning tracking error correction method and system for virtual scene
CN112083403A
Method and device for calibrating parameters of inertial measurement unit
CN114018291A