Pose determination method and apparatus, computer device, and storage medium
By using a preset pose estimation model that matches the target object, the data detected by the inertial measurement unit is estimated, which solves the problems of high cost and long processing time in multi-sensor systems, and achieves high-precision and fast object positioning and tracking, which is applicable to fields such as virtual reality, augmented reality and mixed reality.
Patent Information
- Application Number
- CN202210803195.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-07
- Publication Date
- 2025-12-30
- Estimated Expiration
- 2042-07-07
AI Technical Summary
In existing technologies, when using multi-sensor systems for object motion tracking, a large number of sensors are required, resulting in high costs, long processing times, and reduced timeliness and accuracy of motion tracking.
A preset pose estimation model matching the target object is used to estimate the pose data detected by multiple inertial measurement units. The preset pose estimation model trained by the neural network is combined with the object's appearance attributes and IMU distribution information to improve the accuracy and speed of pose information.
It achieves high-precision and high-speed object positioning and tracking at low cost, avoiding the cost and processing time problems caused by a large number of sensors in traditional methods, and supports 360° omnidirectional tracking without any viewing angle limitations.
Smart Images

Figure CN115328299B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of positioning technology, and more specifically, to a pose determination method, apparatus, computer device, and storage medium. Background Technology
[0002] With the continuous development of technology, motion tracking of objects is increasingly involved in various fields. For example, positioning and tracking technologies are applied in Virtual Reality (VR), Augmented Reality (AR), and Mixed Reality (MR). Typically, an Inertial Measurement Unit (IMU) is installed on the object, and the changes in the object's position and attitude are calculated based on the data detected by the IMU, thus achieving motion tracking.
[0003] In related technologies, to improve the reliability of motion tracking of objects using IMU data, a weighted statistical calculation technique for optimal current drift compensation from multiple sensors is employed. However, in multi-sensor systems, a very large number of sensors are required to significantly reduce overall drift, increasing the cost of object tracking and significantly increasing the time required to process sensor data, thereby reducing the timeliness and accuracy of motion tracking. Summary of the Invention
[0004] In view of this, this application proposes a pose determination method, apparatus, computer equipment, and storage medium.
[0005] In a first aspect, embodiments of this application provide a pose determination method, the method comprising: acquiring pose data detected by multiple inertial measurement units (IMUs) on a target object; acquiring, from multiple preset pose estimation models, a preset pose estimation model corresponding to a preset object matching the target object, as a target model, wherein the preset pose estimation model is pre-trained on an initial model based on a pose training sample set of the preset object, the pose training sample set including preset pose data pre-detected by multiple IMUs on the preset object, the relative position of each IMU to the center position of the preset object, and preset pose information of the center position of the preset object; and using the target model to estimate the pose data to obtain the pose information of the target object.
[0006] Secondly, embodiments of this application provide a pose determination device, comprising: a data acquisition module, a model acquisition module, and a pose determination module. The data acquisition module is used to acquire pose data detected by multiple IMUs on a target object; the model acquisition module is used to acquire, from multiple preset pose estimation models, a preset pose estimation model corresponding to a preset object matching the target object, as a target model. The preset pose estimation model is pre-trained on an initial model based on a pose training sample set of the preset object. The pose training sample set includes preset pose data pre-detected by multiple IMUs on the preset object, the relative position of each IMU to the center position of the preset object, and preset pose information of the center position of the preset object; the pose determination module is used to calculate the pose data using the target model to obtain the pose information of the target object.
[0007] Thirdly, embodiments of this application provide a computer device, including: one or more processors; a memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs are configured to perform the pose determination method provided in the first aspect.
[0008] Fourthly, embodiments of this application provide a computer-readable storage medium storing program code that can be invoked by a processor to execute the pose determination method provided in the first aspect.
[0009] The solution provided in this application involves acquiring pose data detected by multiple IMUs on a target object; selecting a preset pose estimation model that matches the target object from multiple preset pose estimation models, and using this target model to estimate the pose data to obtain the pose information of the target object. Thus, using a preset pose estimation model adapted to the target object to estimate the pose data from multiple IMUs results in more accurate and precise pose information for the target object. Simultaneously, using the preset pose estimation model to estimate the pose data significantly improves the pose estimation speed, reduces the waiting time for pose estimation processing, and ensures the timeliness and accuracy of target object localization. Attached Figure Description
[0010] To more clearly illustrate the technical solutions in the embodiments of this application, 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 this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0011] Figure 1 The diagram illustrates an application scenario of the pose determination method provided in one embodiment of this application.
[0012] Figure 2 A schematic flowchart of a pose determination method provided in an embodiment of this application is shown.
[0013] Figure 3 A flowchart illustrating a pose determination method provided in another embodiment of this application is shown.
[0014] Figure 4 It shows Figure 3 A flowchart illustrating the sub-steps of step S330.
[0015] Figure 5 A flowchart illustrating a pose determination method provided in another embodiment of this application is shown.
[0016] Figure 6 This is a block diagram of a pose determination device according to an embodiment of this application.
[0017] Figure 7 This is a block diagram of a computer device for performing a pose determination method according to an embodiment of this application.
[0018] Figure 8 This is a storage unit in this application embodiment for storing or carrying program code that implements the pose determination method according to this application embodiment. Detailed Implementation
[0019] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.
[0020] With the continuous development of technology, motion tracking of objects is increasingly involved in various fields. For example, positioning and tracking technologies are applied in Virtual Reality (VR), Augmented Reality (AR), and Mixed Reality (MR). Typically, an Inertial Measurement Unit (IMU) is installed on the object, and the changes in the object's position and attitude are calculated based on the data detected by the IMU, thus achieving motion tracking.
[0021] In related technologies, to improve the reliability of motion tracking of objects using IMU data, a weighted statistical calculation technique for optimal current drift compensation from multiple sensors is employed. However, in multi-sensor systems, a very large number of sensors are required to significantly reduce overall drift, increasing the cost of object tracking and significantly increasing the time required to process sensor data, thereby reducing the timeliness and accuracy of motion tracking.
[0022] To address the aforementioned problems, the inventors propose a pose determination method, apparatus, computer device, and storage medium. This method utilizes a preset pose estimation model matched to the target object to estimate the pose information of the target object from pose data detected by multiple IMUs. The following is a detailed description of this method.
[0023] The following describes the application environment of a pose determination method provided in the embodiments of this application.
[0024] Please refer to Figure 1 , Figure 1 The diagram illustrates an application scenario of a pose determination method provided in an embodiment of this application, which includes a pose determination system 10. The pose determination system 10 includes a target object 101 and multiple IMUs 102. The target object 101 can be a VR head-mounted display device, an AR head-mounted display device, a MR head-mounted display device, a VR controller, an AR controller, an MR controller, a smartphone, a smartwatch, a smart bracelet, a vehicle, etc., or other objects to be tracked, such as moving objects of any shape, like spheres, triangles, rectangles, etc. This embodiment does not impose such limitations. The multiple IMUs 102 are deployed on the surface of the target object 101. In other embodiments, the multiple IMUs 102 can be arbitrarily deployed at any position on the target object 101.
[0025] In some implementations, the target object 101 can acquire pose data detected by multiple IMUs 102 on the target object 101, select a preset pose estimation model that matches the target object 101 from multiple preset pose estimation models, use it as the target model, and then use the target model to estimate the pose data to obtain its own pose information.
[0026] In other embodiments, the pose determination system 10 may further include a server. The server acquires pose data detected by multiple IMUs 102 on the target object 101, selects a preset pose estimation model that matches the target object 101 from multiple preset pose estimation models, uses this model as the target model, and then uses the target model to estimate the pose data to obtain the pose information of the target object 101. The pose data may be sent directly from the multiple IMUs 102 to the server, or it may be sent from the multiple IMUs 102 to the target object 101 and then forwarded to the server by the target object 101. This embodiment does not limit this. The server includes, but is not limited to, a standalone server, a server cluster, a local server, a cloud server, etc.
[0027] Please refer to Figure 2 , Figure 2 This application provides a pose determination method, apparatus, computer device, and storage medium according to an embodiment of the present application. The following will be combined with… Figure 2 The pose determination method provided in the embodiments of this application will be described in detail. This pose determination method may include the following steps:
[0028] Step S210: Acquire pose data detected by multiple IMUs on the target object.
[0029] In this embodiment, the target object is the object to be tracked and located. An IMU typically consists of three single-axis accelerometers and three single-axis gyroscopes. The accelerometers detect the acceleration signals of the object along the three independent axes of the carrier coordinate system, while the gyroscopes detect the angular velocity signals of the carrier relative to the navigation coordinate system. In other words, the IMU can measure the acceleration and angular velocity of the object in three-dimensional space, thereby providing a basis for calculating the pose information of the object in three-dimensional space. Understandably, the aforementioned pose data can be understood as relevant data used to calculate the pose information of the target object. Since the IMU is composed of accelerometers and gyroscopes, the aforementioned pose data includes the acceleration and angular velocity detected by each of the multiple IMUs at its position on the target object.
[0030] Optionally, an additional magnetometer can be added to the aforementioned IMU to provide a reference for the geomagnetic field for the heading angle calculated from the angular velocity, thereby reducing drift.
[0031] Step S220: From multiple preset pose estimation models, obtain the preset pose estimation model corresponding to the preset object that matches the target object, as the target model. The preset pose estimation model is obtained by pre-training the initial model based on the pose training sample set of the preset object. The pose training sample set includes preset pose data pre-detected by multiple IMUs on the preset object, the relative position of each IMU to the center position of the preset object, and the preset pose information of the center position of the preset object.
[0032] Understandably, the target object to be tracked and located can be any type of object. For different types of objects, their appearance attributes, motion patterns, and the distribution of the IMU on their surface are generally different. Therefore, multiple preset pose estimation models for different types of preset objects can be pre-stored. This allows different preset pose estimation models to be used to calculate pose information for different types of preset objects, thus providing different pose estimation models for different types of preset objects, thereby improving the accuracy of pose estimation and, consequently, the accuracy of target object tracking and location. The preset pose estimation model can be pre-trained based on a neural network, which can be a feedforward neural network or a feedback neural network; this embodiment does not impose any limitations on this.
[0033] Based on this, the initial model can be pre-trained using a pose training sample set for each preset object. This training sample set includes preset pose data detected by multiple IMUs on the preset object, the relative position of each IMU to the center of the preset object, and the preset pose information of the center of the preset object. Specifically, the preset pose data detected by multiple IMUs on the preset object and the relative position of each IMU to the center of the preset object are input into the initial model for pose estimation, resulting in the specified pose information of the center of the preset object output by the initial model. Based on the degree of difference between the specified pose information and the preset pose information, the initial model is iteratively trained until preset training conditions are met, resulting in the trained initial model, which serves as the preset pose estimation model for the preset object. The aforementioned degree of difference can be calculated using a loss function to obtain the corresponding loss value. Correspondingly, the preset training conditions can be that the loss value is less than a preset value, the loss value no longer changes, or the number of training iterations reaches a preset number, etc. Understandably, after iteratively training the initial model on the pose training sample set for multiple training cycles—each training cycle including multiple iterations—the parameters in the initial model are continuously optimized, causing the aforementioned loss value to decrease until it reaches a fixed value or is less than a preset value. At this point, it indicates that the initial model has converged. Alternatively, the initial model can be determined to have converged after the preset number of training iterations. In this case, the initial model can be used as the preset pose estimation model for each preset object. The preset value and preset number of iterations are pre-set and can be adjusted according to different application scenarios. The parameters in the initial model can be optimized using gradient descent, such as batch gradient descent, stochastic gradient descent, or mini-batch gradient descent. Alternatively, Newton's method, quasi-Newton methods, DFP (Davidon-Fletcher-Powell algorithm), or improved iterative scaling methods can also be used to optimize the parameters in the initial model. This embodiment does not impose any limitations on these methods. As can be seen, the training process is fully automated. It only requires providing real or simulated pose training samples to train and learn a method for determining the center pose of an object based on input data, thus enabling faster and more accurate calculation of the pose information of the target object.
[0034] Specifically, the mapping relationship between each type of preset object and its corresponding preset pose estimation model can be stored in advance. Based on the mapping relationship, the preset pose estimation model corresponding to the preset object that matches the type of the target object can be obtained as the target model.
[0035] In some implementations, if the target object is an electronic device such as an AR head-mounted display device, an MR head-mounted display device, a smartphone, a smartwatch, a smart bracelet, or a vehicle, the mapping relationship can be stored in the target object, and multiple preset pose estimation models can also be stored in the target object. The target object can directly obtain the preset pose estimation model corresponding to itself from the multiple preset pose estimation models according to the locally stored mapping relationship. In this way, filtering the target model from the local storage can improve the filtering efficiency and thus improve the pose calculation speed.
[0036] In other embodiments, if the target object is an electronic device such as an AR head-mounted display device, an MR head-mounted display device, a smartphone, a smartwatch, a smart bracelet, or a vehicle, the mapping relationship can be stored in the target object. The mapping relationship may include a model identifier for each preset pose estimation model, and multiple preset pose estimation models can be stored in a target server that has a communication connection with the target object. Based on this, the target object can obtain the model identifier of the preset pose estimation model corresponding to a preset object that matches itself according to the locally stored mapping relationship, and send a model download request to the target server. This download request carries the model identifier that matches the target object. Correspondingly, the target server responds to the download request, uses the preset pose estimation model corresponding to the model identifier in the download request as the target model, and transmits the target model to the target object, so that the target object can use the target model to estimate its own pose information. In this way, multiple preset pose estimation models are stored on the server, saving the local storage space of the target object and avoiding problems such as slow calculation due to insufficient local storage space, effectively ensuring the smooth progress of the pose estimation process of the target object.
[0037] In some other embodiments, if the target object is not an electronic device, but merely an object or animal that cannot execute programs and is to be tracked, then other electronic devices or servers can be used to locate the target object's pose based on the pose data detected by the IMU on the target object. Therefore, the mapping relationship and multiple preset pose estimation models mentioned in the aforementioned embodiments can be stored on other electronic devices or servers. These other electronic devices or servers can then select the preset pose estimation model corresponding to the target object from among the multiple preset pose estimation models, based on the target object and the mapping relationship, as the target model.
[0038] Step S230: Calculate the pose data using the target model to obtain the pose information of the target object.
[0039] In this embodiment, pose information includes position information and orientation information. The pose data includes data detected by each of the multiple IMUs. Therefore, the target model can deduce the pose information of each IMU based on the data detected by each IMU, and then, based on the pose information of each IMU relative to the target model, such as... Figure 1 By analyzing the relative positions of the center positions of the target objects, the pose information of the center positions of the target objects can be calculated, i.e., the pose information of the target objects. Thus, combining pose data detected by multiple IMUs to calculate the pose information of the target objects improves the accuracy of the pose information and avoids problems such as large data jitter and pose drift that occur when using only one IMU to detect pose data. Furthermore, using a target model that matches the target object for calculation improves both calculation efficiency and accuracy.
[0040] In other implementations, considering that the motion information of an object may contain noise at any time, in order to improve the accuracy of the target object's pose information calculated based on pose data, the target motion data can first be filtered using a preset filtering algorithm; then, the aforementioned target model is used to calculate the target motion data after filtering to obtain the target object's pose information. The preset filtering algorithm includes, but is not limited to, mean filtering, median filtering, and Kalman filtering algorithms.
[0041] In this embodiment, a preset pose estimation model adapted to the target object is used to estimate the pose data, which can estimate the pose information of the target object faster and more accurately. Furthermore, since the pose data is detected by multiple IMUs, the pose information of the target object determined based on this pose data is more accurate and precise. Simultaneously, using the preset pose estimation model to estimate the pose data significantly improves the pose estimation speed, reduces the waiting time for pose estimation processing, and ensures the timeliness and accuracy of target object localization. Moreover, by using the preset pose estimation model, there is no need to deploy a large number of IMUs on the target object, ensuring accurate positioning and tracking at a lower cost. Using multiple IMUs can overcome a series of existing problems such as large data jitter and drift during use from a single IMU. Furthermore, compared with traditional optical positioning methods, true 360° omnidirectional tracking can be achieved without visual angle limitations. In addition, IMUs are smaller in size than traditional positioning methods, and the tracking form tends to be miniaturized, making it convenient for application in various application scenarios.
[0042] Please refer to Figure 3 , Figure 3 Another embodiment of this application provides a pose determination method, apparatus, computer device, and storage medium. The following will be combined with… Figure 3The pose determination method provided in the embodiments of this application will be described in detail. This pose determination method may include the following steps:
[0043] Step S310: Acquire pose data detected by multiple IMUs on the target object.
[0044] In this embodiment, the specific implementation of step S310 can be found in the content of the foregoing embodiments, and this embodiment does not limit it.
[0045] Step S320: Obtain the appearance attributes of the target object.
[0046] In this embodiment, appearance attributes may include shape, size, and other attribute information. The type of the target object can be determined by appearance attributes. For example, objects with the same shape, size, and / or weight can be considered as objects of the same type. Correspondingly, objects of the same type can also use the same preset pose estimation model. Therefore, the appearance attributes of the target object can be obtained.
[0047] In some implementations, if the executing entity is the target object, the target object can obtain its own appearance attributes based on the attribute information stored locally in advance.
[0048] In other implementations, if the executing entity is another electronic device or server, the target object's attribute information can be obtained from pre-stored attribute information corresponding to the target object, thus quickly acquiring the target object's appearance attributes. Alternatively, an image acquisition device can be used to acquire a target image containing the target object, and image recognition can be performed on the target image to identify the target object's appearance attributes. This allows the acquired appearance attributes of the target object to be closer to the target object's appearance attributes at the current moment.
[0049] Step S330: From the plurality of preset pose estimation models, obtain the preset pose estimation model corresponding to the preset object that matches the appearance attributes of the target object, and use it as the target model.
[0050] In some implementations, please refer to Figure 4 Step S330 may include the following steps:
[0051] Step S331: From the plurality of preset pose estimation models, determine the preset pose estimation model corresponding to the preset object that matches the appearance attributes of the target object, and use it as the candidate model.
[0052] In this embodiment, objects with the same appearance attributes exhibit similar changes in pose information during movement. Therefore, the same preset pose estimation model can be used for objects with the same appearance attributes. This avoids excessive storage resource consumption due to too many pre-stored models, thus saving storage resources. Based on this, a mapping relationship between each preset pose estimation model and the appearance attributes of the preset object to which it is applied can be pre-stored. Then, based on this mapping relationship, the preset pose estimation model corresponding to the preset object that matches the appearance attributes of the target object can be determined from multiple preset pose estimation models as the candidate model.
[0053] Step S332: If there are multiple candidate models, obtain the distribution information of the multiple IMUs on the target object.
[0054] Step S333: From the multiple candidate models, obtain the candidate model that matches the distribution information and use it as the target model.
[0055] In some implementations, objects with the same appearance attributes may require different positioning accuracies, which in turn leads to different distribution information of multiple IMUs deployed on the object. Therefore, objects with the same appearance attributes and the same distribution information of multiple IMUs on the object are considered to be of the same type. In this case, the number of candidate models determined by appearance attributes through the aforementioned step S331 may be one or more. When the number of candidate models is one, the candidate model is directly used as the target model of the target object.
[0056] Optionally, if there are multiple candidate models, the distribution information of multiple IMUs on the target object is obtained, and the candidate model that matches the distribution information is selected from the multiple candidate models as the target model. The distribution information may include the number of IMUs and the relative positional relationship between each IMU and the target object. The distribution information can be determined based on a target image containing the target object acquired by an image acquisition device, or it can be obtained based on pre-stored distribution information related to the target object; this embodiment does not impose any limitations on this.
[0057] For example, if there are two candidate models, the preset distribution information for candidate model A is that an IMU is deployed directly above and below the surface of a cube-shaped object, respectively. The preset distribution information for candidate model B is that an IMU is deployed directly above, in front of, and to the right of the surface of a cube-shaped object, respectively. The distribution information for the target object is that an IMU is deployed directly above and below it, respectively. Based on this, candidate model A can be determined as the target model.
[0058] Step S340: Calculate the pose data using the target model to obtain the pose information of the target object.
[0059] In this embodiment, the specific implementation of step S340 can be found in the content of the foregoing embodiments, and this embodiment does not limit it.
[0060] In this embodiment, by combining the appearance attributes of the target object and the distribution information of multiple IMUs deployed on the target object, a target model is selected from multiple preset pose estimation models. This allows for the acquisition of a pose estimation model that is more suitable for the target object; that is, the target model is more compatible with the pose data collected by the multiple IMUs of the target object. Consequently, the pose information of the target object obtained by using the target model to estimate the pose data is more accurate, precise, and faster. Furthermore, since objects with the same appearance attributes and IMU distribution information use the same preset pose estimation model, the cost of pose estimation is reduced. This achieves high-precision and high-accuracy object tracking and positioning even with limited cost.
[0061] Please refer to Figure 5 , Figure 5 This application provides a pose determination method, apparatus, computer device, and storage medium in another embodiment. The following will be combined with... Figure 5 The pose determination method provided in the embodiments of this application will be described in detail. This pose determination method may include the following steps:
[0062] Step S410: Acquire pose data detected by multiple IMUs on the target object.
[0063] Step S420: From multiple preset pose estimation models, obtain the preset pose estimation model corresponding to the preset object that matches the target object, and use it as the target model.
[0064] In this embodiment, the specific implementation of steps S410 to S420 can be found in the content of the foregoing embodiments, and will not be repeated here.
[0065] Step S430: Obtain the relative positions of the multiple IMUs and the center position of the target object, as well as the historical pose information of the target object;
[0066] Step S440: Using the target model and based on the pose data, the relative position, and the historical pose information, calculate the pose information of the center position of the target object, and use it as the pose information of the target object.
[0067] In this embodiment, the pose information of the target object is calculated based on the current pose data and combined with historical pose information. In other words, the pose information calculated by the target model is fine-tuned and optimized by combining historical pose information, so that the pose information of the target object is more accurate, thereby improving the accuracy of pose localization.
[0068] In other implementations, after acquiring the relative positions of multiple IMUs to the center position of the target object, the pose information of the target object's center position can be calculated directly using the target model and based on the pose data and the relative positions, and this calculation can serve as the target object's pose information. This allows for a faster online calculation of the target object's center position pose information using the target model.
[0069] In some implementations, after calculating the pose information of the target object, the relative position of each IMU to the center position of the target object can be updated based on the pose information of the target object. Simultaneously, the model parameters in the target model can be continuously updated based on the pose information calculated using each actual pose. In other words, the target model is iteratively trained and updated based on real-time pose data, ensuring both the accuracy and efficiency of the target model's calculations.
[0070] In this embodiment, the pose information calculated from the target model is fine-tuned and optimized by combining historical pose information, so that the pose information of the target object is more accurate, that is, the accuracy of pose localization is improved.
[0071] Please refer to Figure 6 The diagram illustrates a structural block diagram of a pose positioning device 600 according to an embodiment of this application. The device 600 may include a data acquisition module 610, a model acquisition module 620, and a pose determination module 630.
[0072] The data acquisition module 610 is used to acquire pose data detected by multiple IMUs on the target object.
[0073] The model acquisition module 620 is used to acquire, from multiple preset pose estimation models, a preset pose estimation model corresponding to a preset object that matches the target object, as the target model. The preset pose estimation model is obtained by pre-training an initial model based on a pose training sample set of the preset object. The pose training sample set includes preset pose data pre-detected by multiple IMUs on the preset object, the relative position of each IMU to the center position of the preset object, and the preset pose information of the center position of the preset object.
[0074] The pose determination module 630 is used to calculate the pose data using the target model to obtain the pose information of the target object.
[0075] In some implementations, the model acquisition module 620 may include an attribute acquisition unit and a model acquisition unit. The attribute acquisition unit may be used to acquire the appearance attributes of the target object. The model acquisition unit may be used to acquire, from the plurality of preset pose estimation models, a preset pose estimation model that matches the appearance attributes of the target object, as the target model.
[0076] In this approach, the model acquisition unit can be specifically used to: determine, from the plurality of preset pose estimation models, a preset pose estimation model that matches the appearance attributes of the target object, as a candidate model; if there are multiple candidate models, acquire the distribution information of the plurality of IMUs on the target object; and acquire, from the plurality of candidate models, a candidate model that matches the distribution information, as the target model.
[0077] In some implementations, the pose determination module 630 may specifically be used to: acquire the relative positions of the plurality of IMUs and the center position of the target object, as well as the historical pose information of the target object; and use the target model and based on the pose data, the relative positions, and the historical pose information to calculate the pose information of the center position of the target object, as the pose information of the target object.
[0078] In other embodiments, the pose determination module 630 may be specifically used to: obtain the relative positions of the plurality of IMUs and the center position of the target object; and use the target model and based on the pose data and the relative positions to calculate the pose information of the center position of the target object as the pose information of the target object.
[0079] In some embodiments, the pose localization device 600 may further include an update module. The update module is used to update the relative position based on the pose information of the target object after calculating the pose data using the target model to obtain the pose information of the target object, thereby obtaining an updated relative position.
[0080] In some embodiments, the pose localization device 600 may further include a model training module. The model training module is used to obtain, before acquiring a preset pose estimation model corresponding to a preset object that matches the target object from multiple preset pose estimation models as the target model, preset pose data pre-detected by multiple IMUs on the preset object and the relative position of each IMU to the center position of the preset object are input into the initial model for pose estimation, obtaining specified pose information of the center position of the preset object output by the initial model; based on the degree of difference between the specified pose information and the preset pose information, the initial model is iteratively trained until preset training conditions are met, obtaining the trained initial model, which serves as the preset pose estimation model corresponding to the preset object.
[0081] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the above-described device and module can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0082] In the several embodiments provided in this application, the coupling between modules can be electrical, mechanical, or other forms of coupling.
[0083] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0084] In summary, the solution provided in this application involves acquiring pose data detected by multiple IMUs on a target object; selecting a preset pose estimation model that matches the target object from multiple preset pose estimation models, and using this target model to estimate the pose data to obtain the pose information of the target object. Thus, by using a preset pose estimation model adapted to the target object to estimate the pose data from multiple IMUs, the obtained pose information of the target object becomes more accurate and precise. Simultaneously, using the preset pose estimation model to estimate the pose data significantly improves the pose estimation speed, reduces the waiting time for pose estimation processing, and ensures the timeliness and accuracy of target object localization. Furthermore, by using the preset pose estimation model for pose estimation, it is not necessary to deploy a large number of IMUs on the target object, ensuring accurate positioning and tracking even at a low cost. By utilizing multiple IMUs, a series of existing problems such as large data jitter and drift during use can be overcome. Moreover, compared with traditional optical positioning methods, true 360° omnidirectional tracking can be achieved without visual angle limitations. Furthermore, IMUs are smaller in size than traditional positioning methods, and the tracking form tends to be miniaturized, making it convenient to apply to various application scenarios.
[0085] The following will combine Figure 7 This application describes a computer device.
[0086] Reference Figure 7 , Figure 7 The diagram illustrates a structural block diagram of a computer device 700 according to an embodiment of this application. The positioning method of the controller provided in this embodiment can be executed by the computer device 700. The computer device 700 can be a device capable of running applications.
[0087] The computer device 700 in this application embodiment may include one or more of the following components: processor 701, memory 702, and one or more application programs, wherein the one or more application programs may be stored in memory 702 and configured to be executed by one or more processors 701, and the one or more programs are configured to perform the methods as described in the foregoing method embodiments.
[0088] Processor 701 may include one or more processing cores. Processor 701 connects to various parts within the computer device 700 using various interfaces and lines, and performs various functions and processes data of the computer device 700 by running or executing instructions, programs, code sets, or instruction sets stored in memory 702, and by calling data stored in memory 702. Optionally, processor 701 may be implemented using at least one hardware form of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). Processor 701 may integrate one or more of the following: Central Processing Unit (CPU), Graphics Processing Unit (GPU), and modem. The CPU primarily handles the operating system, user interface, and applications; the GPU is responsible for rendering and drawing the displayed content; and the modem handles wireless communication. It is understood that the aforementioned modem can also be integrated into processor 701 and implemented using a separate communication chip.
[0089] The memory 702 may include random access memory (RAM) or read-only memory (ROM). The memory 702 can be used to store instructions, programs, code, code sets, or instruction sets. The memory 702 may include a program storage area and a data storage area. The program storage area may store instructions for implementing an operating system, instructions for implementing at least one function (such as touch functionality, sound playback functionality, image playback functionality, etc.), and instructions for implementing the various method embodiments described below. The data storage area may also store data created by the computer device 700 during use (such as the various correspondences described above).
[0090] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the above-described device and module can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0091] In the several embodiments provided in this application, the coupling or direct coupling or communication connection between the modules shown or discussed may be an indirect coupling or communication connection through some interface, device or module, and may be electrical, mechanical or other forms.
[0092] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0093] Please refer to Figure 8 This diagram illustrates a structural block diagram of a computer-readable storage medium provided in an embodiment of this application. The computer-readable medium 800 stores program code that can be called by a processor to execute the methods described in the above method embodiments.
[0094] The computer-readable storage medium 800 may be an electronic memory such as flash memory, EEPROM (Electrically Erasable Programmable Read-Only Memory), EPROM, hard disk, or ROM. Optionally, the computer-readable storage medium 800 includes a non-transitory computer-readable storage medium. The computer-readable storage medium 800 has storage space for program code 810 that performs any of the method steps described above. This program code can be read from or written to one or more computer program products. The program code 810 may be compressed, for example, in a suitable form.
[0095] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. A method of pose determination, the method comprising: The method comprises: acquiring pose data detected by a plurality of inertial measurement units (IMUs) on a target object; determining, from a plurality of preset pose calculation models, a preset pose calculation model corresponding to a preset object matching an appearance attribute of the target object as a candidate model; the preset pose calculation model is obtained by pre-training an initial model according to a pose training sample set of the preset object, the pose training sample set comprises preset pose data pre-detected by a plurality of IMUs on the preset object, a relative position of each IMU relative to a center position of the preset object, and preset pose information of the center position of the preset object; and the plurality of preset pose calculation models are for different types of preset objects; if the number of candidate models is a plurality, acquiring distribution information of the plurality of IMUs on the target object; wherein the distribution information comprises the number of the plurality of IMUs and a relative positional relationship between each IMU and the target object; from the plurality of candidate models, acquiring a candidate model matching the distribution information as a target model; calculating the pose data by using the target model to obtain pose information of the target object.
2. The method of claim 1, wherein, The calculation of the pose data by using the target model to obtain the pose information of the target object comprises: acquiring a relative position of the plurality of IMUs relative to a center position of the target object and historical attitude information of the target object; calculating attitude information of the center position of the target object as the pose information of the target object by using the target model and according to the pose data, the relative position, and the historical attitude information.
3. The method of claim 1, wherein, The calculation of the pose data by using the target model to obtain the pose information of the target object comprises: acquiring a relative position of the plurality of IMUs relative to a center position of the target object; calculating attitude information of the center position of the target object as the pose information of the target object by using the target model and according to the pose data and the relative position.
4. The method according to claim 2 or 3, characterized in that, After the calculation of the pose data by using the target model to obtain the pose information of the target object, the method further comprises: updating the relative position based on the pose information of the target object to obtain an updated relative position.
5. The method according to any one of claims 1 to 3, characterized in that, Before the determination, from a plurality of preset pose calculation models, of a preset pose calculation model corresponding to a preset object matching an appearance attribute of the target object as a candidate model, the method further comprises: inputting preset pose data pre-detected by a plurality of IMUs on a preset object and a relative position of each IMU relative to a center position of the preset object into the initial model for pose calculation to obtain specified pose information of the center position of the preset object output by the initial model; iteratively training the initial model according to a difference degree between the specified pose information and preset pose information until a preset training condition is met to obtain a trained initial model as the preset pose calculation model corresponding to the preset object.
6. A pose determination apparatus, characterized in that The device comprises: The data acquisition module is configured to acquire pose data detected by a plurality of IMUs on the target object. The model acquisition module is configured to determine, from a plurality of preset pose calculation models, a preset pose calculation model corresponding to a preset object that matches the appearance attribute of the target object as a candidate model. The preset pose calculation model is obtained by pre-training an initial model according to a pose training sample set of the preset object. The pose training sample set includes preset pose data detected by a plurality of IMUs on the preset object, a relative position of each IMU relative to a center position of the preset object, and preset pose information of the center position of the preset object. The plurality of preset pose calculation models are for different types of preset objects. If the number of candidate models is a plurality, the distribution information of the plurality of IMUs on the target object is acquired. The distribution information includes the number of the plurality of IMUs and a relative positional relationship between each IMU and the target object. From the plurality of candidate models, a candidate model that matches the distribution information is acquired as a target model. The pose determination module is configured to calculate the pose data by using the target model to obtain pose information of the target object.
7. A computer device, characterized by The computer readable storage medium stores program codes, and the program codes can be called and executed by the processor to perform the method of any one of claims 1 to 5. The computer readable storage medium stores program codes, and the program codes can be called and executed by the processor to perform the method of any one of claims 1 to 5. 8. A computer-readable storage medium, characterized in that,
Citation Information
Patent Citations
Human body posture recognition method without position constraint
CN108245172A
Human posture real-time identification method based on adaptive acceleration speed signal segmentation
CN111166340A