Tracking data optimization model training method and optimization method, device, equipment and medium
By constructing a simulated data set and training an optimization model, the problem of severe noise in optical tracking devices in complex environments was solved, high-precision tracking data optimization was achieved, and the stability and accuracy of object positioning were improved.
Patent Information
- Application Number
- CN202411930393.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-25
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2044-12-25
AI Technical Summary
Existing optical tracking devices are easily affected by environmental interference in complex film and television shooting scenes, resulting in serious noise in the camera pose data. Common filtering methods are difficult to effectively remove noise, affecting the shooting effect.
By constructing a simulated data set, randomly adding noise and training the optimization model, the model parameters are adjusted to generate a high-precision tracking data optimization model for denoising and optimizing the tracking data of the optical tracking device.
The accuracy and stability of object tracking and positioning are significantly improved, ensuring the accuracy of camera pose data in complex environments.
Smart Images

Figure CN119884740B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of artificial intelligence, and in particular to a tracking data optimization model training method and optimization method, device, equipment and medium. Background Art
[0002] In virtual filming, to achieve a seamless integration of real and virtual scenes, the camera's spatial position and posture must be known in real time, and the virtual camera in the virtual scene must be driven accordingly. This camera tracking is typically achieved using optical tracking devices (commonly available optical tracking devices include OptiTrack and Mosys). These devices can calculate the spatial position and rotation of specific light sources or photosensitive elements. In practice, the light source or photosensitive element can be attached to the camera to indirectly determine the camera's posture. The accuracy of the camera's posture directly impacts the quality of the actual filming. However, due to the complex filming scenes and lighting environments, these optical tracking devices are susceptible to environmental interference when tracking the camera's light source or photosensitive element. This can result in severe noise or even loss of camera posture data, impacting filming performance.
[0003] Currently, filtering methods are commonly used to denoise time-series data, such as continuously acquired pose data. Common filtering methods include, but are not limited to, moving average filters, exponential moving average filters, and Kalman filters. However, these filtering methods are prone to information loss when processing time-series data (for example, moving average filters lose low-frequency information in the data), make specific assumptions about the noise distribution in the data (for example, Kalman filters assume a Gaussian distribution), or produce significant lag. In virtual shooting scenes, the noise distribution of poses in tracking data is complex and difficult to estimate, as the sources of interference with optical tracking devices are complex and difficult to locate. Therefore, conventional filtering methods fail to effectively denoise the data and may even cause the loss of necessary information. Summary of the Invention
[0004] In view of this, the present disclosure proposes a tracking data optimization model training method and optimization method, device, equipment and medium, which can use the trained tracking data optimization model to denoise and optimize the tracking data collected by the tracking device, thereby improving the accuracy and stability of object tracking and positioning.
[0005] According to one aspect of the present disclosure, a tracking data optimization model training method is provided, comprising: randomly extracting n sets of original simulated tracking data from a pre-constructed simulated dataset, wherein the simulated dataset includes multiple simulated motion trajectories, each simulated motion trajectory including multiple sets of original simulated tracking data generated by simulating the motion of a specified object; a single set of original simulated tracking data including original simulated pose data of an object center of the specified object and original simulated position data of m observation points set on the object surface, where n and m are positive integers; randomly adding noise to each set of original simulated tracking data in the n sets of original simulated tracking data to obtain n sets of noisy simulated tracking data with noise; inputting the n sets of noisy simulated tracking data into an initial optimization model to obtain n sets of optimized simulated tracking data output by the initial optimization model, each set of optimized simulated tracking data including optimized simulated pose data corresponding to the object center and optimized simulated position data corresponding to each observation point; and adjusting model parameters of the initial optimization model based on the loss between the n sets of optimized simulated tracking data and the n sets of original simulated tracking data to obtain a trained tracking data optimization model, wherein the tracking data optimization model is used to optimize the tracking data of the specified object actually collected by a tracking device.
[0006] In one possible implementation, the method of randomly adding noise to each group of original simulated tracking data in the n groups of original simulated tracking data to obtain n groups of noisy simulated tracking data includes: randomly adding noise to the original simulated position data of each observation point in each group of original simulated tracking data to obtain the noise simulated position data of each observation point corresponding to each group; determining the noise simulated pose data of the object center corresponding to each group according to the noise simulated position data of each observation point corresponding to each group; and obtaining the n groups of noise simulated tracking data based on the noise simulated position data of each observation point corresponding to each group and the noise simulated pose data of the object center corresponding to each group.
[0007] In one possible implementation, the randomly adding noise to the original simulated position data of each observation point in each group of original simulated tracking data in the n groups of original simulated tracking data includes at least one of the following processing: for the original simulated position data of the i-th observation point in the x-th group of original simulated tracking data, adding noise of random amplitude to the original simulated position data of the i-th observation point according to a specified first probability, or randomly removing the original simulated position data of the i-th observation point according to the first probability, where 1≤i≤m, 1≤x≤n; for the j groups of original simulated tracking data arranged consecutively in the n groups of original simulated tracking data, adding noise of the same amplitude to the j original simulated position data of the same observation point in the j groups of original simulated tracking data according to a specified second probability, where j<n.
[0008] In one possible implementation, the construction process of any simulated motion trajectory in the simulated data set includes: randomly generating a total number of groups and determining the group numbers arranged in sequence under the total number of groups, the total number of groups representing the total number of original simulated tracking data in the simulated motion trajectory to be generated; randomly generating a key number of groups and randomly determining each key group number under the key group number from the group numbers arranged in sequence under the total number of groups, the key group number being less than the total number of groups; randomly generating original simulated pose data corresponding to the object center for each key group number, and for any remaining group number other than the key group number, interpolating the original simulated pose data of the two key group numbers closest to the remaining group number to obtain the original simulated pose data of the object center corresponding to the remaining group number; determining the original simulated position data of the m observation points corresponding to each group number based on the original simulated pose data of the object center corresponding to each group number under the total number of groups and the relative position relationship of the m observation points on the object surface relative to the object center; and obtaining the simulated motion trajectory based on the original simulated pose data of the object center corresponding to each group number under the total number of groups and the original simulated position data of the m observation points corresponding to each group number.
[0009] In one possible implementation, the randomly extracting n groups of original simulated tracking data from a pre-constructed simulated data set includes: randomly extracting n simulated motion trajectories from the simulated data set, and randomly extracting a group of original simulated tracking data from each of the n simulated motion trajectories to obtain n groups of original simulated tracking data.
[0010] In a possible implementation, adjusting the model parameters of the initial optimization model according to the loss between the n sets of optimized simulated tracking data and the n sets of original simulated tracking data includes: determining, according to the n sets of optimized simulated tracking data and the n sets of original simulated tracking data, a first distance loss between the original simulated position data corresponding to the object center and the optimized simulated position data, a cosine distance loss between the original simulated posture data corresponding to the object center and the optimized simulated posture data, and a second distance loss between the original simulated position data and the optimized simulated position data corresponding to each observation point; determining a first smoothness loss, a second smoothness loss, and a third smoothness loss based on the n sets of optimized simulated tracking data, wherein the first smoothness loss includes the smoothness of the n optimized simulated position data corresponding to the object center, the second smoothness loss includes the smoothness of the n optimized simulated posture data corresponding to the object center, and the third smoothness loss includes the smoothness of the n optimized simulated position data corresponding to each observation point; adjusting the model parameters of the initial optimization model according to the first distance loss, the cosine distance loss, the second distance loss, the first smoothness loss, the second smoothness loss, and the third smoothness loss.
[0011] In a possible implementation, adjusting the model parameters of the initial optimization model according to the first distance loss, the cosine distance loss, the second distance loss, the first smoothness loss, the second smoothness loss, and the third smoothness loss includes: determining, according to the n groups of original simulated tracking data, a first degree of change corresponding to the original simulated position data corresponding to the object center, a second degree of change corresponding to the original simulated posture data corresponding to the object center, and a third degree of change corresponding to the original simulated position data corresponding to each observation point; determining a weight coefficient according to the first distance loss, the cosine distance loss, the second distance loss, the first degree of change, the second degree of change, and the third degree of change; weighting the first smoothness loss, the second smoothness loss, and the third smoothness loss based on the weight coefficient to obtain a weighted first smoothness loss, a weighted second smoothness loss, and a weighted third smoothness loss; and adjusting the model parameters of the initial optimization model according to the first distance loss, the cosine distance loss, the second distance loss, the weighted first smoothness loss, the weighted second smoothness loss, and the weighted third smoothness loss.
[0012] According to another aspect of the present disclosure, an object tracking data optimization method is provided, comprising: obtaining n sets of tracking data continuously collected by a tracking device, the n sets of tracking data including a currently collected set of tracking data and n-1 sets of tracking data collected historically, the tracking data including the pose data of the object center of a specified object tracked by the tracking device and the position data of m observation points set on the surface of the object, where n and m are positive integers; optimizing the n sets of tracking data using a trained tracking data optimization model to obtain n sets of optimized target tracking data; wherein the tracking data optimization model is trained using the training method; and determining the target pose data corresponding to the currently collected set of tracking data in the n sets of target tracking data as the current positioning pose of the specified object.
[0013] According to another aspect of the present disclosure, a tracking data optimization model training device is provided, comprising: an extraction module for randomly extracting n groups of original simulated tracking data from a pre-constructed simulation data set, wherein the simulation data set includes a plurality of simulated motion trajectories, each simulated motion trajectory includes a plurality of groups of original simulated tracking data generated by simulating the object motion of a specified object; a single group of original simulated tracking data includes original simulated pose data of the object center of the specified object and original simulated position data of m observation points set on the surface of the object, where n and m are positive integers; and a noise adding module for randomly adding noise to each group of original simulated tracking data in the n groups of original simulated tracking data. , obtaining n groups of noise-simulated tracking data with noise; an optimization module, used to input the n groups of noise-simulated tracking data into the initial optimization model, to obtain n groups of optimized simulated tracking data output by the initial optimization model, each group of optimized simulated tracking data including optimized simulated pose data corresponding to the object center and optimized simulated position data corresponding to each observation point; a parameter adjustment module, used to adjust the model parameters of the initial optimization model according to the loss between the n groups of optimized simulated tracking data and the n groups of original simulated tracking data, so as to obtain a trained tracking data optimization model, wherein the tracking data optimization model is used to optimize the tracking data of the specified object actually collected by the tracking device.
[0014] According to another aspect of the present disclosure, an object tracking data optimization device is provided, including: an acquisition module for acquiring n sets of tracking data continuously collected by a tracking device, the n sets of tracking data including a currently collected set of tracking data and n-1 sets of tracking data collected historically, the tracking data including the pose data of the object center of the specified object tracked by the tracking device and the position data of m observation points set on the surface of the object, where n and m are positive integers; a data optimization module for optimizing the n sets of tracking data using a trained tracking data optimization model to obtain n sets of optimized target tracking data; wherein the tracking data optimization model is trained using the training method; a positioning module for determining the target pose data corresponding to the currently collected set of tracking data in the n sets of target tracking data as the current positioning pose of the specified object.
[0015] According to another aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing processor-executable instructions; wherein the processor is configured to implement the above method when executing the instructions stored in the memory.
[0016] According to another aspect of the present disclosure, a non-volatile computer-readable storage medium is provided, on which computer program instructions are stored, wherein the computer program instructions implement the above method when executed by a processor.
[0017] According to another aspect of the present disclosure, a computer program product is provided, including a computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in a processor of an electronic device, the processor in the electronic device executes the above method.
[0018] According to various aspects of the present disclosure, by constructing original simulated tracking data and adding noise to the original simulated tracking data, and then using the noisy simulated tracking data to train an initial optimization model, a trained tracking data optimization model with higher accuracy and stability can be obtained. Then, the tracking data optimization model can be used to achieve efficient and accurate optimization and denoising of the tracking data actually collected by the tracking device, thereby improving the positioning accuracy and stability of the object's posture.
[0019] Further features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments, features, and aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure.
[0021] Figure 1 A flowchart of a tracking data optimization model training method according to an embodiment of the present disclosure is shown.
[0022] Figure 2 A schematic diagram showing original simulated pose data of an object center under a total number of groups according to an embodiment of the present disclosure is shown.
[0023] Figure 3 A schematic diagram illustrating a simulated motion trajectory according to an embodiment of the present disclosure is shown.
[0024] Figure 4 A schematic diagram illustrating n groups of original simulation tracking data according to an embodiment of the present disclosure is shown.
[0025] Figure 5 A schematic diagram illustrating n groups of noise simulation tracking data according to an embodiment of the present disclosure is shown.
[0026] Figure 6 A schematic diagram of a network structure of an initial optimization model according to an embodiment of the present disclosure is shown.
[0027] Figure 7 A block diagram of a tracking data optimization model training device according to an embodiment of the present disclosure is shown.
[0028] Figure 8 A block diagram of an electronic device 1900 according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0029] Various exemplary embodiments, features, and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. The same reference numerals in the accompanying drawings represent elements with the same or similar functions. Although various aspects of the embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless otherwise indicated.
[0030] The word “exemplary” is used exclusively herein to mean “serving as an example, example, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.
[0031] The term "and / or" herein simply describes an association relationship between associated objects, indicating that three relationships can exist. For example, "A and / or B" can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone. Furthermore, the term "at least one" herein represents any combination of at least two of any one or more of a plurality of items. For example, "at least one of A, B, and C" can represent any one or more elements selected from the set consisting of A, B, and C. In the description of this disclosure, "plurality" means two or more, unless otherwise specifically defined.
[0032] It should be understood that the terms "first," "second," and the like in the claims, specification, and drawings of the present disclosure are used to distinguish between different objects, rather than to describe a specific order. The terms "include" and "comprising" used in the specification and claims of the present disclosure indicate the presence of the described features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or combinations thereof.
[0033] In addition, numerous specific details are provided in the following detailed description to better illustrate the present disclosure. Those skilled in the art will appreciate that the present disclosure can be practiced without certain specific details. In some instances, methods, means, components, and circuits well known to those skilled in the art are not described in detail in order to highlight the main points of the present disclosure.
[0034] In order to better understand the solutions of the embodiments of the present disclosure, relevant terms and concepts that may be involved in the embodiments of the present disclosure are first introduced below.
[0035] (1) Time series models are a type of deep learning model specifically designed to process time series data, such as Long Short-Term Memory (LSTM), Transformer, and Recurrent Neural Network (RNN). These models use deep learning methods to capture complex patterns and dependencies in time series data, thereby performing tasks such as prediction, classification, and anomaly detection.
[0036] (2) An optical tracking device is a technical device used to track the position and motion of an object. It usually uses optical sensors and cameras to accurately measure the three-dimensional position and motion state of the tracked object, such as OptiTrack (a motion capture system) and Mosys (an optical camera tracking system).
[0037] (3) Pose refers to the position and orientation of an object in three-dimensional space. Pose includes the position of the object (such as the coordinates of the camera center in the world coordinate system) and the attitude of the object (such as the direction of the camera optical axis in the world coordinate system). Pose is usually described by six parameters: three translation parameters (x, y, z) represent the position, and three rotation parameters represent the orientation (for example, they can be represented by Euler angles, rotation matrices, or quaternions).
[0038] As mentioned above, film and television shooting scenes and lighting environments are very complex, and the tracking and positioning functions of these optical tracking devices are easily affected by environmental interference, which may cause the pose data of the tracked camera to have serious noise or even be lost, affecting normal shooting. In order to improve the accuracy and stability of the pose data and ensure that the position of the real camera can be restored in various complex environments, the present disclosure proposes a tracking data optimization model training method and an object tracking data optimization method, which can be applied to the denoising optimization of the camera pose in virtual shooting. A tracking data optimization model is trained by using simulated noise data. The tracking data optimization model can utilize the timing information and observation point characteristics in the tracking data to optimize the tracking data collected by the optical tracking device (i.e., denoising and other post-processing), which can significantly improve the accuracy and stability of object positioning in actual use.
[0039] The training method and optimization method of the embodiments of the present disclosure can be deployed on various terminal devices through software or hardware modification. The terminal device involved in the embodiments of the present disclosure may refer to a device with a wireless connection function and / or a wired connection function. The wireless connection function refers to the ability to connect to other devices through wireless connection methods such as wifi and Bluetooth. The terminal device involved in the embodiments of the present disclosure may also communicate with other devices through a wired connection function. The terminal device involved in the embodiments of the present disclosure may be a touch screen, a non-touch screen, or a device without a screen. The touch screen device can be controlled by clicking, sliding, etc. on the display screen with a finger or a stylus. The non-touch screen device can be connected to an input device such as a mouse, keyboard, touch panel, etc., and the terminal device can be controlled through the input device. For example, a device without a screen can be a Bluetooth speaker without a screen. For example, the terminal device of the present application may include but is not limited to user equipment (UE), mobile devices, mobile terminals, handheld devices, tablet computers, laptop computers, PDAs, computing devices, etc.
[0040] The training method and optimization method of the embodiment of the present disclosure can also be deployed on a server, which can be located in the cloud or locally, and can be a physical device or a virtual device, such as a virtual machine, a container, etc., with a wireless communication function, wherein the wireless communication function can be set in the chip (system) or other parts or components of the server. It can refer to a device with a wireless connection function, and the function of wireless connection means that it can be connected to other servers or terminal devices through wireless connection methods such as Wi-Fi and Bluetooth. The server involved in the embodiment of the present disclosure can also have the function of communicating with a wired connection. For example, the server of the embodiment of the present disclosure can be located in the cloud, communicate with the terminal device, receive the optical tracking device sent by the terminal device to continuously collect n sets of tracking data of the specified object, and use the optimization method deployed on the server based on the n sets of tracking data to obtain the current positioning posture of the specified object, and return it to the terminal device to display the current positioning posture of the specified object to the user in the terminal device.
[0041] The following Figures 1 to 6 The tracking data optimization model training method provided in the embodiment of the present disclosure is introduced in detail.
[0042] Figure 1 FIG. 1 is a flow chart showing a tracking data optimization model training method according to an embodiment of the present disclosure. Figure 1 As shown, the method includes: steps S11 to S14.
[0043] In step S11, n groups of original simulated tracking data are randomly extracted from a pre-constructed simulated data set, wherein the simulated data set includes multiple simulated motion trajectories, each simulated motion trajectory includes multiple groups of original simulated tracking data generated by simulating the object motion of a specified object; a single group of original simulated tracking data includes original simulated pose data of the object center of the specified object and original simulated position data of m observation points set on the surface of the object, where n and m are positive integers.
[0044] Among them, the specified object can be an object to be tracked and located, for example, a real camera in a virtual shooting scene, a real human body in a motion capture scene, etc., and the embodiments of the present disclosure do not limit this. As described above, when an optical tracking device is used to track and locate an object, a specific light-emitting point or photosensitive element is set on the surface of the object, and the spatial position and rotation of the specific light-emitting point or photosensitive element are calculated to indirectly calculate the position and posture of the center of the object (that is, the center of mass of the object). Therefore, the light-emitting points or photosensitive elements set on the surface of the object are also the observation points set on the surface of the object. It should be understood that those skilled in the art do not limit the position, number, type, etc. of the observation points set on the surface of the object.
[0045] It is understandable that training a model requires a large amount of data. Although real noise data can be obtained in actual situations, it is difficult to obtain the true value corresponding to the noise data. Therefore, the embodiment of the present disclosure uses simulated tracking data to train the model, that is, using a large amount of rich simulated tracking data to approximate the real data distribution. Specifically, the construction process of any simulated motion trajectory in the simulated data set includes:
[0046] Step S111, randomly generating a total number of groups and determining group numbers arranged in sequence under the total number of groups, where the total number of groups represents the total number of original simulated tracking data in the simulated motion trajectory to be generated;
[0047] Step S112, randomly generating a key group number, and randomly determining each key group number under the key group number from the group numbers arranged in sequence under the total group number, wherein the key group number is less than the total group number;
[0048] Step S113, randomly generating original simulated pose data corresponding to the object center for each key group number, and for any remaining group number other than the key group number, interpolating the original simulated pose data of the two key group numbers closest to the remaining group number to obtain the original simulated pose data of the object center corresponding to the remaining group number;
[0049] Step S114, determining the original simulated position data of the m observation points corresponding to each group number according to the original simulated pose data of the object center corresponding to each group number under the total number of groups and the relative position relationship of the m observation points on the object surface relative to the object center;
[0050] Step S115 , obtaining a simulated motion trajectory based on the original simulated pose data of the object center corresponding to each group number under the total number of groups and the original simulated position data of the m observation points corresponding to each group number.
[0051] Randomly generating the total number of groups is equivalent to randomly generating the length of the simulated motion trajectory, which is conducive to generating a rich and diverse range of simulated motion trajectories. The group numbers arranged in sequence under the total number of groups are determined, that is, the number of group numbers generated is proportional to the total number of groups, so that the group numbers can be used to generate the original simulated tracking data arranged in sequence along the simulated motion trajectory. For example, if the total number of groups is 1000, the group numbers arranged in sequence under the total number of groups 1000 can be: 1, 2, 3, ..., 1000. In other words, the data can be sorted from small to large according to the group numbers. A group number corresponds to a set of original simulated tracking data in a simulated motion trajectory, representing a node on the trajectory. The group number can be used to indicate the order of the generated original simulated tracking data.
[0052] Among them, randomly generate a key group number that is less than the total group number and randomly determine each key group number under the key group number from the group numbers arranged in order under the total group number, which is equivalent to randomly selecting certain group numbers as key group numbers. For example, the key group number can be 100, so 100 group numbers can be randomly determined from the above 1, 2, 3, ..., 1000 as key group numbers. Then, original simulation pose data can be randomly generated for each key group number, that is, the position and posture (i.e., orientation, rotation) of the center of the object are randomly generated for each key group number, and original simulation pose data can also be generated for the first group number, which is equivalent to giving an initial pose to the simulated motion trajectory, so that the original simulation pose data of the remaining group numbers can be generated by the interpolation algorithm later. It should be understood that those skilled in the art can adopt any known random algorithm in the art to realize the random generation of the total group number, the key group number and the original simulation pose data, and the embodiments of the present disclosure are not limited to this.
[0053] Among them, the original simulation pose data corresponding to each key group number is known, and the interpolation algorithm known in the art, such as linear interpolation, quadratic interpolation, spline interpolation and other interpolation algorithms, can be used to interpolate the original simulation pose data of the two key group numbers closest to each remaining group number (that is, non-key group numbers other than the key group number) to obtain the original simulation pose data of the object center corresponding to each remaining group number. For example, if 1 and 10 are key group numbers, then the 8 remaining group numbers "2, 3, 4, 5, 6, 7, 8, 9" between 1 and 10 can be interpolated according to the original simulation pose data of key group numbers 1 and 10. The interpolation method can be randomly selected from the above-mentioned linear interpolation, quadratic interpolation, spline interpolation and other interpolation algorithms to obtain the original simulation pose data of each remaining group number in the 8 remaining group numbers, namely "2, 3, 4, 5, 6, 7, 8, 9", thereby obtaining the original simulation pose data of the object center corresponding to each group number under the total group number, which is equivalent to simulating the continuous object motion of the specified object. Alternatively, interpolation may not be used, and the original simulated pose data corresponding to the center of the object may be randomly generated for each group number under the total number of groups. This embodiment of the present disclosure does not limit this.
[0054] It should be understood that the positions of the m observation points on the surface of the object are fixed, and the relative position relationship of each observation point with respect to the center of the object is known, and further, the original simulation position data of the m observation points corresponding to each group number can be determined according to the original simulation pose data of the center of the object corresponding to each group number under the total number of groups and the relative position relationship of the m observation points on the surface of the object with respect to the center of the object. For example, the original simulation position data of each observation point in the m observation points corresponding to the group number "1" can be calculated according to the original simulation pose data of the center of the object corresponding to the group number "1", that is, the first group of original simulation tracking data is obtained. Similarly, 1000 groups of original simulation tracking data in sequence can be obtained according to 1000 group numbers. Among them, considering that the pose (i.e. rotation) of the center of the rigid object (such as a camera) and the points on the surface of the object is the same, therefore, the original simulation position data of each observation point can be mainly determined according to the original simulation pose data of the center of the object.
[0055] Exemplarily, Figure 2 A schematic diagram of the original simulation pose data of the center of the object under the total number of groups is shown, that is, Figure 2 The trajectory represented can represent the motion trajectory of the center of the object, Figure 3 A schematic diagram of the simulation motion trajectory is shown, wherein, Figure 3 The red dot represents the position of the center of the object, and the blue dot represents the position of the multiple observation points on the surface of the object, which is equivalent to Figure 2 The original simulation position data of each observation point is generated based on the original simulation pose data of the center of the object, and a plurality of groups of original simulation tracking data in sequence on the simulation motion trajectory are obtained.
[0056] It should be understood that through the above steps S111 to S115, a large number of simulated motion trajectories can be constructed to form a simulated data set to train the initial optimization model; wherein, randomly extracting n groups of original simulated tracking data from the pre-constructed simulated data set may include, for example: randomly extracting a simulated motion trajectory from the simulated data set, and then randomly extracting n groups of original simulated tracking data from the simulated motion trajectory; or, randomly extracting n simulated motion trajectories from the simulated data set, and then randomly extracting a group of original simulated tracking data from each of the n simulated motion trajectories to obtain n groups of original simulated tracking data. This method can make the extracted n groups of original simulated tracking data more random and rich, which is conducive to improving the data optimization accuracy of the trained model. Of course, one or more groups of original simulated tracking data can also be randomly extracted from different simulated motion trajectories in the simulated data set to form n groups of original simulated tracking data, and this is not limited to the embodiments of the present disclosure. Among them, the n groups of original simulated tracking data randomly selected from the simulated data set can be arranged in the order of extraction, or they can be arranged from small to large according to the group number of each group of original simulated tracking data on the simulated motion trajectory to which they belong, etc., and the embodiments of the present disclosure do not impose any restrictions on this.
[0057] Optionally, after generating the total number of groups and the group numbers under the total number of groups, and generating the key group number and the key group number, the original simulated position data of m observation points can be randomly generated for each key group number, and then based on the original simulated position data of the m observation points corresponding to each key group number, the original simulated position data of the m observation points corresponding to the remaining group numbers can be calculated by interpolation, that is, the original simulated position data of the m observation points corresponding to each group number under the total number of groups are obtained, and then based on the original simulated position data of the m observation points corresponding to each group number, the original simulated pose data of the object center corresponding to each group number can be calculated.
[0058] In step S12 , noise is randomly added to each of the n groups of original simulated tracking data to obtain n groups of noisy simulated tracking data.
[0059] In practical applications, a noise algorithm known in the art, such as Gaussian noise, can be used to randomly add noise to each of n groups of original simulated tracking data to obtain n groups of noisy simulated tracking data. This is not limited in the embodiments of the present disclosure.
[0060] It should be understood that the original simulated tracking data generated in step S11 is noise-free original simulated tracking data, and the richness of the noise determines the effectiveness of the denoising model after training. Therefore, it is necessary to generate multiple types of noise data for each original simulated tracking data to serve as input for the training model. Therefore, the embodiment of the present disclosure provides a method for generating noise simulated tracking data, which can make the noise in the generated n sets of noise simulated tracking data richer and more consistent with the noise conditions generated by the optical tracking device under the influence of the environment in actual situations. Specifically, in one possible implementation, the above step S12 randomly adds noise to each set of original simulated tracking data in the n sets of original simulated tracking data to obtain n sets of noise-containing noise simulated tracking data, including:
[0061] Step S121, randomly adding noise to the original simulated position data of each observation point in each group of n groups of original simulated tracking data, to obtain noise simulated position data of each observation point corresponding to each group;
[0062] Step S122, determining the noise simulation pose data of the object center corresponding to each group based on the noise simulation position data of each observation point corresponding to each group;
[0063] Step S123 , obtaining n groups of noise-simulated tracking data based on each group of noise-simulated position data of each corresponding observation point and each group of noise-simulated pose data of the object center.
[0064] In a possible implementation, in step S121, randomly adding noise to the original simulated position data of each observation point in each set of n sets of original simulated tracking data includes at least one of the following processes:
[0065] Step S1211, for the original simulated position data of the i-th observation point in the x-th group of original simulated tracking data, adding noise of random amplitude to the original simulated position data of the i-th observation point according to a specified first probability, or randomly removing the original simulated position data of the i-th observation point according to the first probability, where 1≤i≤m, 1≤x≤n;
[0066] Step S1212 , for j groups of consecutively arranged original simulation tracking data in the n groups of original simulation tracking data, add noise of the same amplitude to j original simulation position data of the same observation point in the j groups of original simulation tracking data according to a specified second probability, where j<n.
[0067] The above step S1211 can be understood as randomly adding noise (such as Gaussian noise of random amplitude) of random magnitude (i.e., random size) to each observation point in each set of original simulated tracking data according to a specified first probability. The direction of the noise can be the direction of movement from the current group (i.e., the current node) to the next group (i.e., the next node). Alternatively, the original simulated position data of the observation point can be removed according to the first probability. This can simulate the noise in the single-frame tracking data collected by the optical tracking device under the influence of the environment in actual situations (such as the position data of a certain observation point is not collected or the collected position data is erroneous), so that the generated noise simulated position data can be more consistent with the noise situation in actual situations. Among them, the first probability represents the probability of whether to add noise to the original simulated position data of the i-th observation point, or represents the probability of whether to remove the original simulated position data of the i-th observation point. It can be a probability customized by those skilled in the art according to actual situations, and the embodiments of the present disclosure are not limited to this.
[0068] The above-mentioned step S1212 can be understood as adding noise of the same amplitude (same size) (such as Gaussian noise of the same amplitude) to each observation point in the partially continuous j sets of raw simulated tracking data in the n sets of raw simulated tracking data according to the specified second probability. The direction of the noise can be the direction of movement from the current set (i.e., the current node) to the next set (i.e., the next node). This can simulate the situation in which the quality of the tracking data continuously collected by the optical tracking device over a certain period of time is poor, resulting in continuous noise of the same amplitude in several consecutive frames of tracking data, thereby making the generated noise simulated position data more consistent with the noise situation in the actual situation. Among them, the second probability represents the probability of adding noise of the same amplitude to the j sets of raw simulated tracking data for the same observation point in the j sets of raw simulated tracking data. It can be a probability customized by those skilled in the art according to actual conditions and is not limited in this embodiment of the present disclosure.
[0069] In step S122, the noise simulation position data of each corresponding observation point of each group is known, and the noise simulation pose data of the object center of each group is determined. This is equivalent to calculating the pose of the object center (i.e., the object center of mass) at different times (i.e., finding the translation matrix and rotation matrix of the object center) based on the spatial positions of multiple points on the object surface at different times. In practical applications, a point cloud configuration algorithm (kabsch algorithm) known in the art can be used to specifically implement the determination of the noise simulation pose data of each corresponding object center based on the noise simulation position data of each corresponding observation point. For example, the noise simulation position data of a group of m observation points can be used as a point cloud. The position of the center of mass corresponding to each group of point clouds (i.e., the object center point) can be calculated based on the position of each observation point in each point cloud. Then, the displacement vector of each observation point in each point cloud relative to the center of mass is calculated. The covariance matrix of the center of mass is calculated using the displacement vector of the center of mass. The covariance matrix of the center of mass is subjected to singular value decomposition (i.e., SVD decomposition). Then, the rotation matrix is calculated based on the matrix after the singular value decomposition, thereby obtaining the noise simulation pose data of the object center.
[0070] Of course, those skilled in the art may also adopt other related technologies known in the art to determine the noise simulation posture data of each group of corresponding object centers based on the noise simulation position data of each observation point corresponding to each group, and this is not limited to the embodiments of the present disclosure.
[0071] It should be understood that the noise simulation position data of each observation point corresponding to each group in n groups and the noise simulation posture data of the object center corresponding to each group are known to constitute n groups of noise simulation tracking data, wherein a group of noise simulation tracking data includes the noise simulation position data of each observation point on the object surface and the noise simulation posture data of the object center calculated based on the noise simulation position data of each observation point.
[0072] In the embodiment of the present disclosure, when adding noise to the simulated tracking data, noise is added to the simulated position data of the observation point, and the noise simulated position data of the observation point after adding noise is used to infer the posture data corresponding to the center of the object (that is, the noise simulated posture data). Compared with directly adding noise to the original simulated tracking data, the noise in the generated n groups of noise simulated tracking data can be made closer to the actual noise situation.
[0073] For example, Figure 4 A schematic diagram of the trajectory of n sets of original simulated tracking data is shown, where the red point represents the position of the center of the object and the blue point represents the position of each observation point on the surface of the object. Figure 4 The n groups of original simulated tracking data shown are added with noise according to the above steps S121 to S122, and the obtained data can be obtained. Figure 5A schematic diagram showing n sets of noise simulated tracking data.
[0074] In step S13, n groups of noise simulation tracking data are input into the initial optimization model to obtain n groups of optimized simulation tracking data output by the initial optimization model. Each group of optimized simulation tracking data includes optimized simulation pose data corresponding to the center of the object and optimized simulation position data corresponding to each observation point.
[0075] In practical applications, the initial optimization model can adopt a deep learning model known in the art. Specifically, the initial optimization model can include a time series model known in the art. In this way, the time series model can be used to better process object tracking data with time series characteristics, and can effectively remove more and more complex noise in the object tracking data. The embodiment of the present disclosure does not limit the specific network structure of the initial optimization model. For example, Figure 6 A schematic diagram of the network structure of an initial optimization model is shown, such as Figure 6 As shown in the figure, MLP represents the fully connected layer, Encoder can be any time series model, the model input Pos represents the n noise simulated position data of the object center, the input AngleAxis represents the n noise simulated posture data of the object center, and the input MarkerPos represents the n noise simulated position data of each of the m observation points; the model output Pos represents the n optimized simulated position data of the object center, the output AngleAxis represents the n optimized simulated posture data of the object center, and the output MarkerPos represents the n optimized simulated position data of each of the m observation points.
[0076] Here, n sets of noisy simulated tracking data are input into the initial optimization model, and the initial optimization model outputs n sets of optimized simulated tracking data. In other words, the initial optimization model inputs n sets of noisy simulated tracking data, and outputs n sets of optimized (i.e., denoised) optimized simulated tracking data. This approach creates a 1:1 input-output relationship for the model, resulting in lower latency.
[0077] In step S14, the model parameters of the initial optimization model are adjusted according to the loss between the n sets of optimized simulated tracking data and the n sets of original simulated tracking data to obtain a trained tracking data optimization model. The tracking data optimization model is used to optimize the tracking data of the specified object actually collected by the tracking device.
[0078] In actual application, the first distance loss between the optimized simulation position data of each group of object centers output by the model and the original simulation position data of the corresponding group of object centers (i.e. the true value of the object center position, or the position of the object without noise), the cosine distance loss between the optimized simulation attitude data of each group of object centers output by the model and the original simulation attitude data of the corresponding group of object centers (i.e. the true value of the object center attitude, or the attitude of the object without noise), and the second distance loss between the optimized simulation position data of each observation point output by the model and the original simulation position data of the corresponding observation point (i.e. the true value of the observation point position, or the position of the observation point without noise) can be calculated according to the n groups of optimized simulation tracking data and the n groups of original simulation tracking data. Then, the parameters of the initial optimization model can be adjusted by using parameter adjustment methods such as back propagation and gradient descent based on the above-mentioned first distance loss, cosine distance loss and second distance loss, so as to train the tracking data optimization model.
[0079] Among them, the distance between two positions can be calculated by using the distance calculation method known in the art, for example, the Euclidean distance, and the cosine distance between two attitudes (i.e. the cosine similarity between two attitudes) can be calculated by using the cosine similarity, which is not limited by the embodiments of the present disclosure.
[0080] Considering that the precision loss (i.e. the first distance loss, the cosine distance loss and the second distance loss) determined by using the n groups of optimized simulation tracking data and the n groups of original simulation tracking data is used to train the initial optimization model, which is equivalent to supervised training of the precision (i.e. the closeness of the model output data to the true data) output by the initial optimization model, although the data precision output by the model can be higher, the data smoothness output by the model can be lower, i.e. the data output by the model can have large fluctuations. In order to make the data output by the model more smooth and stable, in one possible implementation, the step S14 of adjusting the model parameters of the initial optimization model according to the loss between the n groups of optimized simulation tracking data and the n groups of original simulation tracking data includes:
[0081] In step S141, the first distance loss between the original simulation position data and the optimized simulation position data of the object center, the cosine distance loss between the original simulation attitude data and the optimized simulation attitude data of the object center, and the second distance loss between the original simulation position data and the optimized simulation position data of each observation point are determined according to the n groups of optimized simulation tracking data and the n groups of original simulation tracking data.
[0082] Step S142: determining a first smoothness loss, a second smoothness loss, and a third smoothness loss based on the n sets of optimized simulated tracking data, wherein the first smoothness loss includes the smoothness of the n optimized simulated position data corresponding to the object center, the second smoothness loss includes the smoothness of the n optimized simulated posture data corresponding to the object center, and the third smoothness loss includes the smoothness of the n optimized simulated position data corresponding to each observation point;
[0083] Step S143 : adjusting the model parameters of the initial optimization model according to the first distance loss, the cosine distance loss, the second distance loss, the first smoothness loss, the second smoothness loss, and the third smoothness loss.
[0084] Among them, the first distance loss may include the average of the first distances between the n original simulated position data corresponding to the object center and the n optimized simulated position data, the cosine distance loss may include the average of the cosine distances between the n original simulated posture data corresponding to the object center and the n optimized simulated posture data, and the second distance loss corresponding to any observation point may include the average of the second distances between the n original simulated position data corresponding to any observation point and the n optimized simulated position data. Exemplarily, there are 8 observation points, and 128 groups of original simulated tracking data and corresponding 128 groups of optimized simulated tracking data. Then, the first distance between the original simulated position data of the object center in the first group of original simulated tracking data and the optimized simulated position data of the object center in the first group of optimized simulated tracking data can be calculated, the cosine distance between the original simulated posture data of the object center in the first group of original simulated tracking data and the optimized simulated position data of the object center in the first group of optimized simulated tracking data can be calculated, and the original simulated position data of each observation point in the 8 observation points in the first group of original simulated tracking data and the first group of optimized simulated tracking data can be calculated. The second distance between the optimized simulated position data of each observation point in the simulated tracking data is calculated. 8 second distances are calculated for 8 observation points in a set of data. By analogy, 128 first distances and 128 cosine distances of the object center corresponding to 128 sets of data can be obtained, as well as 128 second distances corresponding to each of the 8 observation points. Then, the average of the 128 first distances can be calculated to obtain the first distance loss, the average of the 128 cosine distances can be calculated to obtain the cosine distance loss, and the average of the 128 second distances corresponding to each of the 8 observation points can be calculated to obtain the 8 second distance losses corresponding to the 8 observation points. That is, the first distance loss L p It can be expressed as formula (1), cosine distance loss L a It can be expressed as formula (2), the second distance loss L of the i-th observation point pi It can be expressed as formula (3).
[0085]
[0086] where T c,x represents raw simulation position data of object center in the xth group of raw simulation tracking data, represents optimized simulation position data of object center in the xth group of optimized simulation tracking data, represents the distance between T c,x and , 1≤x≤n.
[0087]
[0088] where R c,x represents raw simulation attitude data of object center in the xth group of raw simulation tracking data, represents optimized simulation attitude data of object center in the xth group of optimized simulation tracking data, represents the cosine distance between T c,x and , 1≤x≤n.
[0089]
[0090] where T i,x represents raw simulation position data of the ith observation point in the xth group of raw simulation tracking data, represents optimized simulation position data of the ith observation point in the xth group of optimized simulation tracking data, represents the distance between T c,x and , 1≤x≤n, 1≤i≤m.
[0091] In step S142, the degree of smoothness (i.e., the degree of change) can be measured by the L2 norm between the first-order derivative and the second-order derivative. Thus, n sets of optimized simulation tracking data are known, that is, n optimized simulation position data and n optimized simulation posture data of the object center and n optimized simulation position data of each observation point are known, so that the change curve of the n optimized simulation position data of the object center and the change curve of the n optimized simulation posture data can be obtained, as well as the change curve of the n optimized simulation position data of each observation point. Thus, the first-order derivative and the second-order derivative of the change curve of the n optimized simulation position data of the object center and each observation point can be calculated respectively, which is equivalent to calculating the speed and acceleration of the position change of the object center and each observation point, and, The first-order derivative and the second-order derivative of the change curve of the n optimized simulated posture data at the center of the object are respectively calculated, which is equivalent to calculating the angular velocity and angular acceleration of the posture change of the center of the object; then, the L2 norm between the first-order derivative and the second-order derivative of the n optimized simulated position data corresponding to the center of the object can be calculated to obtain a first smoothness loss, the L2 norm between the first-order derivative and the second-order derivative of the n optimized simulated posture data corresponding to the center of the object can be calculated to obtain a second smoothness loss, and the L2 norm between the first-order derivative and the second-order derivative of the n optimized simulated position data corresponding to each observation point can be calculated to obtain a third smoothness loss, and the third smoothness loss includes the L2 norm between the first-order derivative and the second-order derivative of the n optimized simulated position data corresponding to each of the n observation points. The above use of the L2 norm between the first-order derivative and the second-order derivative to measure the smoothness of the data is a possible implementation method provided by the embodiment of the present disclosure. For example, the variance, covariance, etc. can also be used to measure the smoothness, which is not limited by the embodiment of the present disclosure.
[0092] In step S143, model parameter adjustment methods known in the art, such as backpropagation and gradient descent algorithms, can be used to adjust the model parameters of the initial optimization model based on the first distance loss, cosine distance loss, second distance loss, first smoothness loss, second smoothness loss, and third smoothness loss, which are not limited in the present embodiment. This method can not only ensure that the trained tracking data optimization model has higher output accuracy, but also effectively improve the smoothness and stability of the output data of the trained model.
[0093] In view of the fact that the smoothness loss (i.e., the first, second, and third smoothness losses described above) and the accuracy loss (i.e., the first distance loss, the cosine distance loss, and the second distance loss described above) are relative, the accuracy loss decreases while the smoothness loss can increase (i.e., the higher the accuracy of the model output data, the lower the smoothness of the output data), and vice versa, the accuracy loss increases while the smoothness decreases (i.e., the lower the accuracy of the model output data, the higher the smoothness of the output data). In order to make the trained model smooth and stable without losing too much information (i.e., maintaining a certain accuracy), a dynamic weight coefficient can be used to balance the accuracy loss and the smoothness loss during the iterative training process. Specifically, in one possible implementation, the step S143 adjusts the model parameters of the initial optimization model according to the first distance loss, the cosine distance loss, the second distance loss, the first smoothness loss, the second smoothness loss, and the third smoothness loss, including:
[0094] In step S1431, the first degree of change corresponding to the original simulation position data of the object center, the second degree of change corresponding to the original simulation attitude data of the object center, and the third degree of change corresponding to the original simulation position data of each observation point are determined according to the n sets of original simulation tracking data.
[0095] In step S1432, the weight coefficient is determined according to the first distance loss, the cosine distance loss, the second distance loss, the first degree of change, the second degree of change, and the third degree of change.
[0096] In step S1433, the first smoothness loss, the second smoothness loss, and the third smoothness loss are weighted based on the weight coefficient to obtain the weighted first smoothness loss, the weighted second smoothness loss, and the weighted third smoothness loss.
[0097] In step S1434, the model parameters of the initial optimization model are adjusted according to the first distance loss, the cosine distance loss, the second distance loss, the weighted first smoothness loss, the weighted second smoothness loss, and the weighted third smoothness loss.
[0098] In step S1431, the first degree of change corresponding to the original simulation position data of the object center can include the difference between the maximum original simulation position data and the minimum original simulation position data of the object center in the n sets of original simulation tracking data, the second degree of change corresponding to the original simulation attitude data of the object center can include the difference between the maximum original simulation attitude data and the minimum original simulation attitude data of the object center in the n sets of original simulation tracking data, and the third degree of change corresponding to the original simulation position data of each observation point includes the difference between the maximum original simulation position data and the minimum original simulation position data of each observation point in the n sets of original simulation tracking data.
[0099] In step S1432, for example, formula (4) may be used to determine the weight coefficient γ according to the first distance loss, the cosine distance loss, the second distance loss, the first degree of change, the second degree of change, and the third degree of change:
[0100]
[0101] Among them, P range Represents the first degree of change, A range represents the second degree of change, Represents the third degree of change corresponding to the i-th observation point.
[0102] In step S1433, for example, the weight coefficient γ can be multiplied by the first smoothness loss, the second smoothness loss, and the third smoothness loss to obtain a weighted first smoothness loss, a weighted second smoothness loss, and a weighted third smoothness loss. By using the weight coefficient to weight the first smoothness loss, the second smoothness loss, and the third smoothness loss, a balance can be achieved between the weights of smoothness loss and precision loss in model training, which is conducive to ensuring that the trained model has both good smoothness and output precision.
[0103] In step S1434, model parameter adjustment methods known in the art, such as backpropagation and gradient descent algorithms, can be used to adjust the model parameters of the initial optimization model based on the first distance loss, cosine distance loss, second distance loss, weighted first smoothness loss, weighted second smoothness loss, and weighted third smoothness loss. This is not limited in the present embodiment. In this way, not only can the trained tracking data optimization model have higher output accuracy, but the smoothness and stability of the output data of the trained model can also be effectively improved.
[0104] Optionally, the total loss Loss can be calculated based on the first distance loss, cosine distance loss, second distance loss, weighted first smoothness loss, weighted second smoothness loss, and weighted third smoothness loss using formula (5), and then the model parameters of the initial optimization model can be adjusted using the total loss Loss.
[0105]
[0106] Among them, L s represents the sum of the first smoothness loss, the second smoothness loss and the third smoothness loss, L s*γ is equivalent to the sum of the weighted first smoothness loss, the weighted second smoothness loss and the weighted third smoothness loss, that is, a common weight γ is added to the first smoothness loss, the second smoothness loss and the third smoothness loss.
[0107] It should be understood that the training process of the above-mentioned steps S11 to S14 in the embodiment of the present disclosure can be iteratively executed for multiple rounds to iteratively train the initial optimization model until the preset training end conditions are reached, for example, the number of iterations reaches the specified number of rounds, the loss has converged or is set to 0, etc., to obtain a trained tracking data optimization model, and then the trained tracking data optimization model can be used to optimize the tracking data of the specified object actually collected by the tracking device (such as an optical tracking device or other device that can track the position of the object) (that is, denoising and other post-processing), so as to obtain a better noise optimization effect of the tracking data.
[0108] According to the training method of the embodiment of the present disclosure, by constructing original simulated tracking data and adding noise to the original simulated tracking data, and then using the noisy simulated tracking data to train the initial optimization model, a trained tracking data optimization model with higher accuracy and stability can be obtained. Then, the tracking data optimization model can be used to achieve efficient and accurate optimization and denoising of the tracking data actually collected by the tracking device, thereby improving the positioning accuracy and stability of the object's posture.
[0109] According to the training method of the embodiment of the present disclosure, the tracking data optimization model constructed and trained by the timing model is used to optimize the posture data collected by the optical tracking device. Compared with the filtering method, it can remove more and more complex types of noise, and can also adjust the noise distribution according to the actual usage scenario. Moreover, because the model has a 1:1 input and output, it can produce smaller time delays; and by constructing a simulated data set, the total data length of the simulated motion trajectory in the data set can exceed 600 hours. The data volume is large and the richness is high, which better covers the various motion trajectories that may exist in a specified object (such as a camera) in a real scene. Therefore, the tracking data optimization model trained with this data set can have better generalization on real data.
[0110] According to the training method of the embodiment of the present disclosure, when adding noise to the original simulated tracking data, the original simulated position data of the observation point is added with noise, and the pose corresponding to the center of the object is inferred using the noise simulated position data of the observation point after adding noise, so that the generated noise pose data can be closer to the actual noise situation. In addition, when training the initial optimization model, both the accuracy of the model output (the degree of closeness between the model output data and the real data) and the smoothness of the model output (i.e., the velocity and acceleration of the model output position, and the angular velocity and angular acceleration of the output posture, etc.) are supervised, and a dynamic weight system is used to balance the two losses of smoothness loss and precision loss, so that the trained tracking data optimization model can be stable without losing too much precision.
[0111] Based on the tracking data optimization model trained by the training method proposed in the above embodiment of the present disclosure, the embodiment of the present disclosure further provides an object tracking data optimization method, which includes:
[0112] Step S21, obtaining n sets of tracking data continuously collected by the tracking device, wherein the n sets of tracking data include a currently collected set of tracking data and n-1 sets of tracking data collected historically, and the tracking data include the pose data of the object center of the specified object tracked by the tracking device and the position data of m observation points set on the surface of the object, where n and m are positive integers;
[0113] Step S22, optimizing the n sets of tracking data using the trained tracking data optimization model to obtain n sets of optimized target tracking data; wherein the tracking data optimization model is trained using the training method;
[0114] In step S23 , the target posture data corresponding to the currently collected set of tracking data among the n sets of target tracking data are determined as the current positioning posture of the designated object.
[0115] For example, assuming that the tracking data optimization model inputs 128 groups of tracking data at one time, that is, n is 128. After starting the tracking device (such as an optical tracking device or other device that can track the position of an object) to track the specified object, the tracking data is continuously obtained until 128 groups (that is, 128 frames) are reached. The 128th group of tracking data is the currently collected group of tracking data, and the 1st to 128th groups of tracking data are the 127 groups of tracking data collected historically. Then, the 1st to 128th groups of tracking data can be input into the tracking data optimization model to obtain the optimized 1st to 128th groups of target tracking data. Then, the current positioning posture of the specified object is the optimized 128th group of target tracking data. The target pose data of the object center in the target tracking data (that is, the target pose data corresponding to the currently collected set of tracking data); after obtaining the 129th set of tracking data currently collected by the optical tracking device, the 2nd to 129th sets of tracking data can be input into the tracking data optimization model to obtain the optimized 2nd to 129th sets of target tracking data, and the current positioning pose of the designated object is the target pose data of the object center in the optimized 129th set of target tracking data. By analogy, the tracking data collected by the optical tracking device can be optimized in real time to obtain more accurate and stable target tracking data, thereby improving the positioning accuracy and stability of the object pose.
[0116] In practical applications, considering that the optimized position data of the observation point may be useless for actual application scenarios, that is, the user may only need to obtain the optimized pose data of the object center, therefore, the branch network used to generate the optimized position data of the observation point can be removed from the output layer of the trained tracking data optimization model. That is, after obtaining the trained tracking data optimization model through the above training method, the network structure of the tracking data optimization model can also be adjusted so that the model directly outputs the optimized target pose data of the object center. For example, the model inputs 128 sets of tracking data and outputs 128 sets of target pose data of the object center. This can help improve the model processing efficiency.
[0117] According to the optimization method of the embodiment of the present disclosure, by utilizing the tracking data optimization model trained by the training method of the above-mentioned embodiment of the present disclosure, the time-series tracking data collected in real time by the tracking device is denoised and optimized, so that the real-time and high-precision positioning posture of the specified object can be obtained, thereby improving the accuracy and stability of object positioning.
[0118] Figure 7 A block diagram of a tracking data optimization model training device according to an embodiment of the present disclosure is shown as follows: Figure 7 As shown, the device includes:
[0119] An extraction module 701 is configured to randomly extract n sets of original simulated tracking data from a pre-constructed simulated data set, wherein the simulated data set includes multiple simulated motion trajectories, each simulated motion trajectory including multiple sets of original simulated tracking data generated by simulating the motion of a specified object; a single set of original simulated tracking data includes original simulated pose data of the object center of the specified object and original simulated position data of m observation points set on the surface of the object, where n and m are positive integers;
[0120] A noise adding module 702 is configured to randomly add noise to each of the n groups of original simulated tracking data to obtain n groups of noisy simulated tracking data;
[0121] An optimization module 703 is configured to input the n sets of noise simulation tracking data into an initial optimization model to obtain n sets of optimized simulation tracking data output by the initial optimization model, where each set of optimized simulation tracking data includes optimized simulation pose data corresponding to the object center and optimized simulation position data corresponding to each observation point;
[0122] The parameter adjustment module 704 is used to adjust the model parameters of the initial optimization model based on the loss between the n sets of optimized simulated tracking data and the n sets of original simulated tracking data to obtain a trained tracking data optimization model, and the tracking data optimization model is used to optimize the tracking data of the specified object actually collected by the tracking device.
[0123] In one possible implementation, the method of randomly adding noise to each group of original simulated tracking data in the n groups of original simulated tracking data to obtain n groups of noisy simulated tracking data includes: randomly adding noise to the original simulated position data of each observation point in each group of original simulated tracking data to obtain the noise simulated position data of each observation point corresponding to each group; determining the noise simulated pose data of the object center corresponding to each group according to the noise simulated position data of each observation point corresponding to each group; and obtaining the n groups of noise simulated tracking data based on the noise simulated position data of each observation point corresponding to each group and the noise simulated pose data of the object center corresponding to each group.
[0124] In one possible implementation, the randomly adding noise to the original simulated position data of each observation point in each group of original simulated tracking data in the n groups of original simulated tracking data includes at least one of the following processing: for the original simulated position data of the i-th observation point in the x-th group of original simulated tracking data, adding noise of random amplitude to the original simulated position data of the i-th observation point according to a specified first probability, or randomly removing the original simulated position data of the i-th observation point according to the first probability, where 1≤i≤m, 1≤x≤n; for the j groups of original simulated tracking data arranged consecutively in the n groups of original simulated tracking data, adding noise of the same amplitude to the j original simulated position data of the same observation point in the j groups of original simulated tracking data according to a specified second probability, where j<n.
[0125] In one possible implementation, the construction process of any simulated motion trajectory in the simulated data set includes: randomly generating a total number of groups and determining the group numbers arranged in sequence under the total number of groups, the total number of groups representing the total number of original simulated tracking data in the simulated motion trajectory to be generated; randomly generating a key number of groups and randomly determining each key group number under the key group number from the group numbers arranged in sequence under the total number of groups, the key group number being less than the total number of groups; randomly generating original simulated pose data corresponding to the object center for each key group number, and for any remaining group number other than the key group number, interpolating the original simulated pose data of the two key group numbers closest to the remaining group number to obtain the original simulated pose data of the object center corresponding to the remaining group number; determining the original simulated position data of the m observation points corresponding to each group number based on the original simulated pose data of the object center corresponding to each group number under the total number of groups and the relative position relationship of the m observation points on the object surface relative to the object center; and obtaining the simulated motion trajectory based on the original simulated pose data of the object center corresponding to each group number under the total number of groups and the original simulated position data of the m observation points corresponding to each group number.
[0126] In one possible implementation, randomly extracting n groups of original simulated tracking data from a pre-constructed simulated data set includes: randomly extracting n simulated motion trajectories from the simulated data set, and randomly extracting a group of original simulated tracking data from each of the n simulated motion trajectories to obtain n groups of original simulated tracking data.
[0127] In a possible implementation, adjusting the model parameters of the initial optimization model according to the loss between the n sets of optimized simulated tracking data and the n sets of original simulated tracking data includes: determining, according to the n sets of optimized simulated tracking data and the n sets of original simulated tracking data, a first distance loss between the original simulated position data corresponding to the object center and the optimized simulated position data, a cosine distance loss between the original simulated posture data corresponding to the object center and the optimized simulated posture data, and a second distance loss between the original simulated position data and the optimized simulated position data corresponding to each observation point; determining a first smoothness loss, a second smoothness loss, and a third smoothness loss based on the n sets of optimized simulated tracking data, wherein the first smoothness loss includes the smoothness of the n optimized simulated position data corresponding to the object center, the second smoothness loss includes the smoothness of the n optimized simulated posture data corresponding to the object center, and the third smoothness loss includes the smoothness of the n optimized simulated position data corresponding to each observation point; adjusting the model parameters of the initial optimization model according to the first distance loss, the cosine distance loss, the second distance loss, the first smoothness loss, the second smoothness loss, and the third smoothness loss.
[0128] In a possible implementation, adjusting the model parameters of the initial optimization model according to the first distance loss, the cosine distance loss, the second distance loss, the first smoothness loss, the second smoothness loss, and the third smoothness loss includes: determining, according to the n groups of original simulated tracking data, a first degree of change corresponding to the original simulated position data corresponding to the object center, a second degree of change corresponding to the original simulated posture data corresponding to the object center, and a third degree of change corresponding to the original simulated position data corresponding to each observation point; determining a weight coefficient according to the first distance loss, the cosine distance loss, the second distance loss, the first degree of change, the second degree of change, and the third degree of change; weighting the first smoothness loss, the second smoothness loss, and the third smoothness loss based on the weight coefficient to obtain a weighted first smoothness loss, a weighted second smoothness loss, and a weighted third smoothness loss; and adjusting the model parameters of the initial optimization model according to the first distance loss, the cosine distance loss, the second distance loss, the weighted first smoothness loss, the weighted second smoothness loss, and the weighted third smoothness loss.
[0129] According to the device of the embodiment of the present disclosure, by constructing original simulated tracking data and adding noise to the original simulated tracking data, and then using the noisy simulated tracking data to train the initial optimization model, a trained tracking data optimization model with higher accuracy and stability can be obtained. Then, the tracking data optimization model can be used to achieve efficient and accurate optimization and denoising of the tracking data actually collected by the optical tracking device, thereby improving the positioning accuracy and stability of the object's posture.
[0130] Based on the training method provided in the above embodiment of the present disclosure, the embodiment of the present disclosure further provides an object tracking data optimization device, comprising:
[0131] an acquisition module, configured to acquire n sets of tracking data continuously collected by a tracking device, wherein the n sets of tracking data include a currently collected set of tracking data and n-1 sets of tracking data collected historically, wherein the tracking data include the pose data of the object center of a specified object tracked by the tracking device and the position data of m observation points set on the surface of the object, where n and m are positive integers;
[0132] a data optimization module, configured to optimize the n sets of tracking data using a trained tracking data optimization model to obtain n sets of optimized target tracking data; wherein the tracking data optimization model is trained using the training method;
[0133] The positioning module is used to determine the target posture data corresponding to the currently collected set of tracking data among the n sets of target tracking data as the current positioning posture of the designated object.
[0134] According to the optimization device of the embodiment of the present disclosure, by utilizing the tracking data optimization model trained by the training method of the above-mentioned embodiment of the present disclosure, the time-series tracking data collected in real time by the optical tracking device is denoised and optimized, and a high-precision real-time positioning posture of the specified object can be obtained, thereby improving the accuracy and stability of object positioning.
[0135] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the method described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments. For the sake of brevity, it will not be repeated here.
[0136] The present disclosure also provides a computer-readable storage medium having computer program instructions stored thereon, wherein the computer program instructions implement the above method when executed by a processor. The computer-readable storage medium may be a volatile or non-volatile computer-readable storage medium.
[0137] An embodiment of the present disclosure further proposes an electronic device, comprising: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured to implement the above method when executing the instructions stored in the memory.
[0138] An embodiment of the present disclosure also provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code. When the computer-readable code runs in a processor of an electronic device, the processor in the electronic device executes the above method.
[0139] Figure 8 FIG1 shows a block diagram of an electronic device 1900 according to an embodiment of the present disclosure. For example, the electronic device 1900 can be provided as a server or a terminal device. Figure 8 The electronic device 1900 includes a processing component 1922, which further includes one or more processors, and a memory resource represented by a memory 1932 for storing instructions executable by the processing component 1922, such as an application. The application stored in the memory 1932 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute the instructions to perform the above-described method.
[0140] The electronic device 1900 may further include a power supply component 1926 configured to perform power management of the electronic device 1900, a wired or wireless network interface 1950 configured to connect the electronic device 1900 to a network, and an input / output interface 1958 (I / O interface). The electronic device 1900 may operate based on an operating system stored in the memory 1932, such as Windows Server 2003. TM , Mac OS X TM , Unix TM ,Linux TM , FreeBSD TM or similar.
[0141] In an exemplary embodiment, a non-volatile computer-readable storage medium is also provided, such as a memory 1932 including computer program instructions that can be executed by the processing component 1922 of the electronic device 1900 to perform the above method.
[0142] The present disclosure may be a system, method and / or computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present disclosure.
[0143] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination thereof. As used herein, a computer-readable storage medium is not to be construed as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through an electrical wire.
[0144] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in the computer-readable storage medium in each computing / processing device.
[0145] Computer readable program instructions for carrying out operations of the present disclosure can be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate array (FPGA), or programmable logic array (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
[0146] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0147] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can include random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other data storage device. When the computer readable program instructions are loaded into the computer and other programmable data processing apparatus, a series of operational steps are implemented that provide processes such that the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0148] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0149] The flow diagrams and the block diagrams in the drawings are presented to illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flow diagrams and the block diagrams can represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logic functions. In some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flow diagrams, and combinations thereof, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and
[0150] Embodiments of the present disclosure have been described above, and the description is intended to be illustrative of the embodiments and not restrictive. Many modifications and variations of the described embodiments are possible and are within the scope of the disclosure. The selection of terms is intended to best describe the principles of the embodiments, practical application, or technical improvements in the art, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A tracking data optimization model training method, characterized in that: include: Randomly extracting n sets of original simulated tracking data from a pre-constructed simulated data set, wherein the simulated data set includes a plurality of simulated motion trajectories, each simulated motion trajectory including a plurality of sets of original simulated tracking data generated by simulating the motion of a specified object; a single set of original simulated tracking data includes original simulated pose data of an object center of the specified object and original simulated position data of m observation points set on the surface of the object, where n and m are positive integers; randomly adding noise to each of the n groups of original simulated tracking data to obtain n groups of noise-containing simulated tracking data; Inputting the n sets of noise simulation tracking data into the initial optimization model to obtain n sets of optimized simulation tracking data output by the initial optimization model, each set of optimized simulation tracking data including optimized simulation pose data corresponding to the object center and optimized simulation position data corresponding to each observation point; adjusting model parameters of the initial optimization model based on the loss between the n sets of optimized simulated tracking data and the n sets of original simulated tracking data to obtain a trained tracking data optimization model, wherein the tracking data optimization model is used to optimize the tracking data of the designated object actually collected by the tracking device; The adjusting the model parameters of the initial optimization model according to the loss between the n sets of optimized simulation tracking data and the n sets of original simulation tracking data includes: Determining, based on the n sets of optimized simulated tracking data and the n sets of original simulated tracking data, a first distance loss between the original simulated position data corresponding to the object center and the optimized simulated position data, a cosine distance loss between the original simulated posture data corresponding to the object center and the optimized simulated posture data, and a second distance loss between the original simulated position data and the optimized simulated position data corresponding to each observation point; Determining a first smoothness loss, a second smoothness loss, and a third smoothness loss based on the n sets of optimized simulated tracking data, wherein the first smoothness loss includes the smoothness of the n optimized simulated position data corresponding to the object center, the second smoothness loss includes the smoothness of the n optimized simulated posture data corresponding to the object center, and the third smoothness loss includes the smoothness of the n optimized simulated position data corresponding to each observation point; Model parameters of the initial optimization model are adjusted according to the first distance loss, the cosine distance loss, the second distance loss, the first smoothness loss, the second smoothness loss, and the third smoothness loss.
2. The method according to claim 1, characterized in that The method of randomly adding noise to each of the n groups of original simulated tracking data to obtain n groups of noise-containing simulated tracking data includes: randomly adding noise to the original simulated position data of each observation point in each group of the n groups of original simulated tracking data, obtaining noise simulated position data of each observation point corresponding to each group; Determine the noise simulation pose data of the object center corresponding to each group according to the noise simulation position data of each observation point corresponding to each group; Based on each set of noise-simulated position data of each corresponding observation point and each set of noise-simulated pose data of the object center, the n sets of noise-simulated tracking data are obtained.
3. The method according to claim 2, characterized in that The randomly adding noise to the original simulated position data of each observation point in each group of the n groups of original simulated tracking data comprises at least one of the following processes: For the original simulated position data of the i-th observation point in the x-th group of original simulated tracking data, add noise of random amplitude to the original simulated position data of the i-th observation point according to a specified first probability, or randomly remove the original simulated position data of the i-th observation point according to the first probability, where 1≤i≤m, 1≤x≤n; For j groups of consecutively arranged original simulated tracking data in the n groups of original simulated tracking data, noise of the same amplitude is added to j original simulated position data of the same observation point in the j groups of original simulated tracking data according to a specified second probability, where j<n.
4. The method according to claim 1, wherein The process of constructing any simulated motion trajectory in the simulated data set includes: Randomly generating a total number of groups and determining group numbers arranged in sequence under the total number of groups, wherein the total number of groups represents the total number of original simulated tracking data in the simulated motion trajectory to be generated; Randomly generating a key group number, and randomly determining each key group number under the key group number from the group numbers arranged in sequence under the total group number, wherein the key group number is less than the total group number; Randomly generate the original simulated pose data corresponding to the object center for each key group number, and for any remaining group number other than the key group number, interpolate the original simulated pose data of the two key group numbers closest to the remaining group number to obtain the original simulated pose data of the object center corresponding to the remaining group number; Determine the original simulated position data of the m observation points corresponding to each group number according to the original simulated pose data of the object center corresponding to each group number under the total number of groups and the relative position relationship of the m observation points on the object surface relative to the object center; Based on the original simulated pose data of the object center corresponding to each group number under the total number of groups and the original simulated position data of the m observation points corresponding to each group number, a simulated motion trajectory is obtained.
5. The method according to claim 1 or 4, characterized in that The method randomly extracts n groups of original simulated tracking data from the pre-built simulated data set, including: N simulated motion trajectories are randomly extracted from the simulated data set, and a group of original simulated tracking data is randomly extracted from each of the n simulated motion trajectories to obtain n groups of original simulated tracking data.
6. The method according to claim 1, characterized in that The adjusting the model parameters of the initial optimization model according to the first distance loss, the cosine distance loss, the second distance loss, the first smoothness loss, the second smoothness loss, and the third smoothness loss includes: Determining, based on the n sets of original simulated tracking data, a first degree of change corresponding to the original simulated position data corresponding to the object center, a second degree of change corresponding to the original simulated posture data corresponding to the object center, and a third degree of change corresponding to the original simulated position data corresponding to each observation point; determining a weight coefficient according to the first distance loss, the cosine distance loss, the second distance loss, the first degree of change, the second degree of change, and the third degree of change; performing weighted processing on the first smoothness loss, the second smoothness loss, and the third smoothness loss based on the weight coefficient to obtain a weighted first smoothness loss, a weighted second smoothness loss, and a weighted third smoothness loss; The model parameters of the initial optimization model are adjusted according to the first distance loss, the cosine distance loss, the second distance loss, the weighted first smoothness loss, the weighted second smoothness loss, and the weighted third smoothness loss.
7. A method for optimizing object tracking data, characterized in that: include: Obtaining n sets of tracking data continuously collected by a tracking device, wherein the n sets of tracking data include a currently collected set of tracking data and n-1 sets of tracking data collected historically, wherein the tracking data include pose data of an object center of a specified object tracked by the tracking device and position data of m observation points set on the surface of the object, where n and m are positive integers; Optimizing the n sets of tracking data using a trained tracking data optimization model to obtain n sets of optimized target tracking data; wherein the tracking data optimization model is trained using the training method according to any one of claims 1 to 6; The target posture data corresponding to the currently collected set of tracking data among the n sets of target tracking data are determined as the current positioning posture of the designated object.
8. A tracking data optimization model training device, characterized in that: include: an extraction module, configured to randomly extract n sets of original simulated tracking data from a pre-constructed simulated data set, wherein the simulated data set includes a plurality of simulated motion trajectories, each simulated motion trajectory including a plurality of sets of original simulated tracking data generated by simulating the motion of a specified object; a single set of original simulated tracking data includes original simulated pose data of an object center of the specified object and original simulated position data of m observation points set on the surface of the object, where n and m are positive integers; a noise adding module, configured to randomly add noise to each of the n groups of original simulated tracking data to obtain n groups of noise-containing simulated tracking data; an optimization module, configured to input the n sets of noise simulation tracking data into an initial optimization model to obtain n sets of optimized simulation tracking data output by the initial optimization model, wherein each set of optimized simulation tracking data includes optimized simulation pose data corresponding to the object center and optimized simulation position data corresponding to each observation point; a parameter adjustment module, configured to adjust model parameters of the initial optimization model based on the loss between the n sets of optimized simulated tracking data and the n sets of original simulated tracking data, so as to obtain a trained tracking data optimization model, wherein the tracking data optimization model is used to optimize the tracking data of the designated object actually collected by the tracking device; The adjusting the model parameters of the initial optimization model according to the loss between the n sets of optimized simulation tracking data and the n sets of original simulation tracking data includes: Determining, based on the n sets of optimized simulated tracking data and the n sets of original simulated tracking data, a first distance loss between the original simulated position data corresponding to the object center and the optimized simulated position data, a cosine distance loss between the original simulated posture data corresponding to the object center and the optimized simulated posture data, and a second distance loss between the original simulated position data and the optimized simulated position data corresponding to each observation point; Determining a first smoothness loss, a second smoothness loss, and a third smoothness loss based on the n sets of optimized simulated tracking data, wherein the first smoothness loss includes the smoothness of the n optimized simulated position data corresponding to the object center, the second smoothness loss includes the smoothness of the n optimized simulated posture data corresponding to the object center, and the third smoothness loss includes the smoothness of the n optimized simulated position data corresponding to each observation point; Model parameters of the initial optimization model are adjusted according to the first distance loss, the cosine distance loss, the second distance loss, the first smoothness loss, the second smoothness loss, and the third smoothness loss.
9. An object tracking data optimization device, characterized in that: include: an acquisition module, configured to acquire n sets of tracking data continuously collected by a tracking device, wherein the n sets of tracking data include a currently collected set of tracking data and n-1 sets of tracking data collected historically, wherein the tracking data include the pose data of the object center of a specified object tracked by the tracking device and the position data of m observation points set on the surface of the object, where n and m are positive integers; a data optimization module, configured to optimize the n sets of tracking data using a trained tracking data optimization model to obtain n sets of optimized target tracking data; wherein the tracking data optimization model is trained using the training method according to any one of claims 1 to 6; The positioning module is used to determine the target posture data corresponding to the currently collected set of tracking data among the n sets of target tracking data as the current positioning posture of the designated object.
10. An electronic device, characterized in that: include: processor; a memory for storing processor-executable instructions; The processor is configured to implement the method according to any one of claims 1 to 7 when executing the instructions stored in the memory.
11. A non-volatile computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the computer program instructions are executed by a processor, the method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
High-definition rendering restoration system based on digital twinning L5-level simulation
CN116416386A
Realistic, controllable agent simulation using guided trajectories and diffusion models
US20240160888A1