Multi-dimensional interactive control system based on digital human demonstration

By generating multi-dimensional state vectors and optimizing action sequences, the problems of low memory utilization and slow response speed in the digital human demonstration system are solved, and the accuracy of digital human action control and the realism of virtual interaction are improved.

CN120276587AActive Publication Date: 2025-07-08HENAN JINXIANG CULTURE DEV CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
CN202510090235.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-21
Publication Date
2025-07-08
Estimated Expiration
2045-01-21

AI Technical Summary

Technical Problem

In the prior art, the multidimensional interactive control system based on digital human demonstration has problems such as low memory space utilization, slow response speed, unreasonable behavior of digital humans, which affects the virtual interaction effect.

Method used

By calculating the spatial mapping relationship between the displacement of the bone node and the joint angle value, a multi-dimensional state vector is generated, memory space chunking division and address allocation is performed, action sequence is optimized, collision detection is performed, and real-time control signals are generated to improve the system resource configuration efficiency and the realism of virtual interaction.

Benefits of technology

It improves the accuracy and fluency of digital human action control, enhances the realism and immersion of virtual interactive experience, and optimizes the efficiency of system resource allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120276587A_ABST
    Figure CN120276587A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of data processing, in particular to a multi-dimensional interactive control system based on digital human demonstration, and the system comprises a state collection module which is used for calculating the space mapping relation between skeleton node displacement and joint angle values, connecting the displacement data of each skeleton node with the corresponding joint angle value, and generating a multi-dimensional state vector; and carrying out operation on displacement data of each skeleton node in the multi-dimensional state vector to generate an action feature mapping graph. According to the method, by calculating the space mapping relation between the bone node displacement and the joint angle value, the multi-dimensional state vector is generated, the action feature mapping graph is constructed, and collection and expression of human body action data can be achieved; and block division and address allocation of the memory space are performed based on the displacement data of each skeleton node in the action feature mapping graph, and memory defragmentation is executed to generate a dynamic resource allocation table, so that the system operation efficiency and the resource utilization rate are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data processing, and particularly to a multi-dimensional interactive control system based on digital human demonstration. Background Art

[0002] The technical field of data processing is a broad and in-depth technical category, mainly involving a series of operation processes such as the acquisition, storage, analysis, conversion, and output of digital information. The main purpose of the multi-dimensional interactive control system based on digital human demonstration is to achieve a natural, smooth, and multi-dimensional interactive experience between humans and machines through the digital human as an interactive interface.

[0003] However, in the prior art, a simple linear allocation method is adopted in system resource management, resulting in low utilization rate of memory space and slow response speed. The spatial constraint factors are not effectively considered in the virtual interaction process, making the behavior performance of the digital human in the virtual environment unreasonable and reducing the realism of the interaction experience. In practical applications, these problems will cause the digital human to have stiff and stuck movements, and even abnormal phenomena such as model penetration, affecting the effect of virtual interaction. Therefore, improvements are needed. Summary of the Invention

[0004] The purpose of the present invention is to solve the disadvantages existing in the prior art, and a multi-dimensional interactive control system based on digital human demonstration is proposed.

[0005] To achieve the above purpose, the present invention adopts the following technical solutions: The multi-dimensional interactive control system based on digital human demonstration includes:

[0006] A state acquisition module, which calculates the spatial mapping relationship between the displacement of bone nodes and the joint angle values, connects the displacement data of each bone node with the corresponding joint angle value to generate a multi-dimensional state vector; performs operations on the displacement data of each bone node in the multi-dimensional state vector to generate an action feature mapping diagram;

[0007] A resource scheduling module, based on the displacement data of each bone node in the action feature mapping diagram, divides and allocates the memory space into blocks and generates a memory block index table; performs memory fragmentation sorting according to the memory block index table to generate a dynamic resource allocation table;

[0008] An action optimization module, which establishes a mapping relationship between each address space in the dynamic resource allocation table and the corresponding bone node and performs grouping marking to generate an action grouping marking set; performs motion trajectory smoothing and interpolation operations on each group of bone nodes in the action grouping marking set to generate an optimized action sequence;

[0009] The interaction feedback module maps the motion data of each skeletal node in the optimized action sequence to the virtual environment coordinate system, performs collision detection on the motion trajectory of the skeletal node, and generates spatial constraint parameters; adjusts the motion trajectory and speed parameters of the skeletal node according to the spatial constraint parameters to generate a real-time control signal.

[0010] Preferably, the steps for obtaining the multi-dimensional state vector are as follows:

[0011] Capture the position changes of each skeletal node and the dynamic data of joint angles, record the real-time displacements of each skeletal node and the corresponding joint angle values, and generate a preliminary data set of node displacements and angle correspondences;

[0012] Based on the preliminary data set of node displacements and angle correspondences, perform spatial mapping analysis on each data point, and through matrix operations, link the displacement data of each skeletal node with the corresponding joint angle values to obtain a complete node angle mapping table;

[0013] Based on the complete node angle mapping table, integrate the data of all skeletal nodes, construct a multi-dimensional state vector covering all joint angle and displacement information, and generate a multi-dimensional state vector.

[0014] Preferably, the steps for obtaining the action feature mapping diagram are as follows:

[0015] Analyze each item of the multi-dimensional state vector, extract the displacement data of all skeletal nodes, and calibrate the three-dimensional spatial coordinate positions of each node, and organize the spatial position information of each skeletal node into a preliminary spatial coordinate data set;

[0016] Based on the preliminary spatial coordinate data set, calculate the transformed position of the skeletal node. The calculation formula is:

[0017]

[0018] where, T ijk is the transformed position of skeletal node i on coordinate axis j and at time k, R ik is the rotation factor of node i at time k, S ijk is the original position of node i on coordinate j and at time k, P ij is the translation vector of node i on coordinate j, D ijk is the scale parameter of node i on coordinate j and at time k, L ij is the spatial offset of node i on coordinate j, O ik is the transformation reference quantity of node i at time k;

[0019] Based on the transformed position, integrate the new position data of all nodes to generate an action feature mapping diagram.

[0020] Preferably, the steps for obtaining the memory block index table are as follows:

[0021] Based on the action feature mapping graph, analyze the displacement data of each skeletal node, extract the spatial position parameters of each node according to the distribution characteristics of the skeletal nodes in space, classify the data of the skeletal nodes according to the spatial distribution law, and generate a spatial classification table of skeletal nodes;

[0022] According to the spatial classification table of skeletal nodes, allocate the classified data of skeletal nodes to memory blocks one by one, and combine the usage status and address distribution of the memory blocks to identify the memory addresses of the blocks, forming a memory block address table;

[0023] Based on the memory block address table, mark and index the memory addresses of each block, establish the correspondence between the classified data of skeletal nodes and the memory block addresses, and integrate the status information of each block into index entries to generate a memory block index table.

[0024] Preferably, the steps for obtaining the dynamic resource allocation table are as follows:

[0025] According to the memory block index table, analyze the usage status marks of each address block, classify and extract the used and unused address blocks, organize them into an independent usage status list, and generate a memory address usage status table;

[0026] Based on the memory address usage status table, rearrange the storage order of memory addresses according to the distribution order of unused address blocks, release invalid address blocks through memory recycling, and merge adjacent unused address blocks to generate a memory fragmentation reorganization table;

[0027] Based on the memory fragmentation reorganization table, map and associate the reorganized memory address blocks with the corresponding resources, and reallocate memory addresses to all reorganized resources to generate a dynamic resource allocation table.

[0028] Preferably, the steps for obtaining the action grouping tag set are as follows:

[0029] According to the dynamic resource allocation table, analyze each address space information item by item, extract the skeletal node identification data of each address space, establish the correspondence between each address space and the skeletal node identification according to the numbering order of the address spaces, and generate a skeletal node address mapping table;

[0030] Based on the skeletal node address mapping table, combine the three-dimensional spatial coordinates of the skeletal nodes, analyze the distribution characteristics of each node in space, group the skeletal nodes according to the division standard of the spatial coordinate axes, and mark the coordinate range of each group of skeletal nodes to generate a skeletal node grouping tag table;

[0031] Based on the grouped bone node marking table, integrate the identifiers of the grouped bone nodes, and form a unified action grouping data structure according to the logical numbers of the groups to generate an action grouping mark set.

[0032] Preferably, the step of obtaining the optimized action sequence is as follows:

[0033] According to the action grouping mark set, extract the original motion trajectory data from the time series of each group of bone nodes, combine the spatial coordinate distribution characteristics of the bone nodes, construct an initial trajectory description matrix, and generate a bone node trajectory data table by analyzing the motion change trend and trajectory continuity between nodes;

[0034] Based on the bone node trajectory data table, calculate the motion trajectory optimization value, and the calculation formula is:

[0035]

[0036] where M ijk is the motion trajectory optimization value of bone node i at time j and direction k, X ij and Y ik are the trajectory positions of node i at times j and k respectively, Z ij is the motion inclination angle of node i at time j, W ij is the motion vector length of node i, and V ik is the direction vector of node i;

[0037] Based on the motion trajectory optimization value, perform continuous interpolation processing on the trajectories of each group of bone nodes, fill and optimize the missing trajectory points through interpolation, and generate an optimized action sequence.

[0038] Preferably, the step of obtaining the spatial constraint parameter is as follows:

[0039] According to the optimized action sequence, extract the motion trajectory data from each bone node, analyze the position characteristics of the trajectory in the three-dimensional space, convert the motion data into the coordinate system information of the virtual environment, and generate a virtual environment trajectory mapping table;

[0040] Based on the virtual environment trajectory mapping table, calculate the spatial constraint value, and the calculation formula is:

[0041]

[0042] where P ijk is the spatial constraint value of bone node i at direction j and time k, A ij and B ik are the actual positions of node i at directions j and k respectively, C ij is the boundary point of node i at direction j, and QD ikis the collision point of node i in direction k, E ij is the virtual environment reference point of node i in direction j;

[0043] Generate spatial constraint parameters based on the spatial constraint values.

[0044] Preferably, the step of obtaining the real-time control signal is as follows:

[0045] Extract the trajectory information of each bone node according to the spatial constraint parameters, analyze the direction distribution and speed change trend of the motion trajectory, calculate the motion adjustment range in combination with the boundary and collision parameters of the node, and generate a bone node motion trajectory and speed analysis table;

[0046] Based on the bone node motion trajectory and speed analysis table, calculate the real-time motion correction value, and the calculation formula is:

[0047]

[0048] where R ijk is the motion correction value of bone node i at time j and in direction k, X ij and Y ik are the trajectory positions of node i at time j and k respectively, U ij is the trajectory change speed of node i at time j, GW ik is the trajectory change acceleration of node i at time k, Q ij is the current speed of node i at time j, T ik is the time series factor of node i at time k, RZ ij is the motion direction coefficient of node i, S ik is the boundary adjustment factor of node i in direction k;

[0049] Based on the real-time motion correction value, perform real-time adjustment on the motion trajectory and speed parameters of each bone node, integrate the corrected motion data, and generate a real-time control signal for interacting with the virtual environment.

[0050] Compared with the prior art, the advantages and positive effects of the present invention are as follows:

[0051] In the present invention, by calculating the spatial mapping relationship between the displacements of bone nodes and joint angle values, a multi-dimensional state vector is generated and an action feature mapping graph is constructed, enabling the acquisition and expression of human action data. Based on the displacement data of each bone node in the action feature mapping graph, the memory space is partitioned and address-allocated, and memory fragmentation is performed to generate a dynamic resource allocation table, improving the system operation efficiency and resource utilization rate. The mapping relationship between each address space in the dynamic resource allocation table and the corresponding bone node is established and grouped for marking, and motion trajectory smoothing and interpolation operations are performed to optimize the coherence and naturalness of the digital human action performance. By mapping the optimized action sequence to the virtual environment coordinate system, collision detection is carried out and spatial constraint parameters are generated, thereby adjusting the motion trajectory and speed parameters of the bone nodes to ensure the rationality and accuracy of the interaction between the digital human and the virtual environment. This multi-level data processing and optimization mechanism improves the precision and smoothness of digital human action control, optimizes the system resource allocation efficiency, and enhances the realism and immersion of the virtual interaction experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] Figure 1 It is a system flowchart of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0053] In order to make the objectives, technical solutions and advantages of the present invention clearer and more understandable, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0054] Please refer to Figure 1 , the present invention provides a technical solution: a multi-dimensional interactive control system based on digital human demonstration includes:

[0055] A state acquisition module that calculates the spatial mapping relationship between the displacements of bone nodes and joint angle values, connects the displacement data of each bone node with the corresponding joint angle value, and generates a multi-dimensional state vector; performs operations on the displacement data of each bone node in the multi-dimensional state vector to generate an action feature mapping graph;

[0056] A resource scheduling module that partitions and address-allocates the memory space based on the displacement data of each bone node in the action feature mapping graph to generate a memory block index table; performs memory fragmentation based on the memory block index table to generate a dynamic resource allocation table;

[0057] An action optimization module that establishes a mapping relationship between each address space in the dynamic resource allocation table and the corresponding bone node, and performs grouped marking to generate an action grouped marking set; performs motion trajectory smoothing and interpolation operations on each group of bone nodes in the action grouped marking set to generate an optimized action sequence;

[0058] The interaction feedback module maps the motion data of each bone node in the optimized action sequence to the virtual environment coordinate system, performs collision detection on the motion trajectory of the bone node, and generates spatial constraint parameters; adjusts the motion trajectory and speed parameters of the bone node according to the spatial constraint parameters to generate a real-time control signal.

[0059] The steps for obtaining the multi-dimensional state vector are as follows:

[0060] Capture the position changes of each bone node and the dynamic data of joint angles, record the real-time displacements of each bone node and the corresponding joint angle values, and generate a preliminary dataset of node displacements and angle correspondences;

[0061] Based on the preliminary dataset of node displacements and angle correspondences, perform spatial mapping analysis on each data point, and through matrix operations, link the displacement data of each bone node with the corresponding joint angle values to obtain a complete node angle mapping table;

[0062] Based on the complete node angle mapping table, integrate the data of all bone nodes, construct a multi-dimensional state vector covering all joint angles and displacement information, and generate a multi-dimensional state vector.

[0063] Specifically, referring to the bone motion sensing configuration method based on human body structure measurement, arrange marker points on each bone node and attach a capture device that can measure position and joint angle changes. Set the acquisition frequency per second in the range of 20 to 100 times, and record the position coordinates and corresponding angle values at each moment in sequence according to the node number. Compare with the pre-determined spatial range, for example, within the coordinate axes -10m to 10m and the joint angle within the range of -180° to 180°. If it is observed that the data at a certain moment exceeds the above range, then set the anomaly threshold obtained by calculating the mean and variance through multiple experimental samples as T m , and add a verification process at the moment exceeding T m , compare the result obtained from the verification with the original observed value and filter out unreasonable values. All the confirmed and retained data are arranged in chronological order and node identifiers are added. Each record is associated with a timestamp and a bone node number. If it is found that there are multiple angle values under the same timestamp, then compare the mean value and the dispersion and determine the only retained item. The displacement and angle data of all nodes are grouped and summarized in a unified structure, and additional explanations are made for the time-series trajectory of each node. Finally, the data sorted according to the node number and time order are used as preliminary records to generate a preliminary dataset of node displacements and angle correspondences.

[0064] Combined with the preliminary node displacement and angle correspondence dataset obtained previously, perform mapping analysis on the coordinate values of each skeletal node and the corresponding joint angle values. First, extract the three-dimensional coordinate components of the nodes and the associated angle values at each timestamp, then aggregate them according to the same node number, list the mapping relationship between the corresponding displacement and angle at the same moment, and then construct matrix A in matrix form i represents the displacement vector of node i, and B i represents the angle vector of node i. Stack A i and B i into column vectors and align them item by item on the time axis, and generate two-dimensional matrix, where × represents element-wise multiplication and the values are superimposed into the corresponding positions of rows and columns. When comparing the matrix difference of the same node at adjacent moments, if it is found that some values deviate significantly from the reference interval obtained by empirical calculation, they are marked as suspicious points. This reference interval is the range determined based on the mean and standard deviation of historical data. When the number of suspicious points exceeds the ratio threshold obtained by statistical analysis of historical samples, an additional observation record verification for this node is performed and the relevant mapping values are updated. After the above summarization and correction, the displacement and angle matrix data corresponding to all nodes are uniformly sorted and archived into the same sequence to obtain a complete node angle mapping table.

[0065] Based on the complete node angle mapping table obtained previously, uniformly number the displacement values and joint angle values corresponding to all skeletal nodes, and arrange them in chronological order. Combine the angle terms and displacement terms of each node at different moments and summarize them under the same dimension. Specify an index structure consisting of four parts: time dimension, node number, joint angle, and three-dimensional coordinates. In this structure, use the time dimension as the main sequence marker and the node number as the basis for distinguishing different skeletal parts. Then fill the joint angle and three-dimensional displacement corresponding to each node into the same vector in turn. If it is found that a certain node lacks data at individual timestamps, it is supplemented according to the statistical mean obtained previously and the interpolation method of adjacent moments of the same node, and the source of the interpolated value and the corresponding difference situation are recorded. When the displacement and angle entries of all nodes at all moments are collected into a common data structure, a four-dimensional initial matrix is formed. Then, the relevant entries of each node are spliced into a higher-dimensional merged structure through matrix expansion. In this merged structure, each dimension index corresponds one-to-one with the node number. Finally, mark this merged structure as a multi-dimensional state vector covering all joint angle and displacement information to generate a multi-dimensional state vector.

[0066] The steps to obtain the action feature mapping diagram are as follows:

[0067] Parse the multi-dimensional state vector item by item, extract the displacement data of all bone nodes, calibrate the three-dimensional spatial coordinate positions of each node, and organize the spatial position information of each bone node into a preliminary spatial coordinate data set;

[0068] Based on the preliminary spatial coordinate data set, calculate the transformed position of the bone node. The calculation formula is:

[0069]

[0070] where T ijk is the transformed position of bone node i on axis j and at time k, R ik is the rotation factor of node i at time k, S ijk is the original position of node i on coordinate j and at time k, P ij is the translation vector of node i on coordinate j, D ijk is the scale parameter of node i on coordinate j and at time k, L ij is the spatial offset of node i on coordinate j, O ik is the transformation reference quantity of node i at time k;

[0071] Based on the transformed positions, integrate the new position data of all nodes to generate an action feature map.

[0072] Specifically, when parsing the multidimensional state vector one by one, first select the displacement information recorded by each bone node on the time axis from the multidimensional state vector obtained earlier, and match the data accordingly according to the bone node serial number, retrieve the three-dimensional coordinate components contained in each record one by one and associate them with the timestamp, compare the temperature parameter with the range of 0°C to 90°C to ensure that the value is within the range, compare the stress measurement value at the bone node joint with the range of 0MPa to 2MPa and record the situation where it is lower than 2MPa or within the acceptable range, perform multiple tests on the input voltage of the device in the range of 0V to 24V to confirm whether it meets the voltage change rules previously formulated, and if the three-dimensional displacement information of each record is incomplete or the coordinate value exceeds the allowable value obtained in advance based on production test experience statistics, When the range of supplementary filling is within the allowed range, the mean or median value is selected from the observations of the adjacent time points of the same node for supplementary filling, and an identifier is added to indicate that the record has been interpolated. Whenever the same node has multiple supplementary filling operations in a short period of time, it is necessary to synchronously record the frequency of occurrence of the node and compare it with the threshold established by previous statistics. The threshold is calculated by continuously capturing the cumulative abnormal frequency of the skeleton node for 300 hours in the actual scene. The abnormal frequency data series is accumulated and the average value is taken as the reference benchmark. If the subsequent monitoring shows that the supplementary frequency exceeds the above benchmark value, the record integrity of other nodes in the same time period is checked and multi-dimensional information such as temperature, pressure and voltage is compared to eliminate the potential data missing risks between the records. Finally, the three-dimensional coordinate components of all nodes are summarized into a preliminary spatial coordinate data set.

[0073] The formula is beneficial in that it combines the rotation factor, the spatial translation vector, and the transformation reference to comprehensively correct the position of the bone node in the three-dimensional coordinates; R ik The steps of obtaining the parameters are as follows: install a rotation measurement device at node i and collect its data at time k, record the instantaneous angular velocity of the node and continuously monitor it for two seconds through the sensor device, and divide the integral result of these instantaneous angular velocities by 2π to obtain the rotation factor value, S ijk The parameter acquisition step is to read the original position of the bone node i on the coordinate axis j at time k, and directly obtain the value from the previously collected three-dimensional coordinate data, P ij The parameter acquisition step is to obtain the translation vector on the coordinate axis j corresponding to the skeleton node i through the calibration measurement scheme. The scheme is based on the difference between the node reference position and the current grasping position, and the difference is expanded on the one-dimensional coordinate and then averaged. ijk The parameter acquisition step is to obtain the scale coefficient obtained when the size measurement data of node i is enlarged or reduced, and the scale parameter under the coordinate axis is obtained by comparing the previous and next measurement values ​​and dividing them by the initial standard value, L ijThe steps for obtaining the parameter are as follows: obtain the offset value by performing weighted averaging on multiple offsets collected in the j-axis direction of the bone node i. Specifically, add the offsets of the node at different time periods and then divide by the number of offsets, and perform decimal place retention processing according to the measurement accuracy limit of the same device, O ik The steps for obtaining the parameter are as follows: for the transformation reference quantity of node i at time k, calculate by comparing the reference measurement value of the node in the device startup state with the average value monitored in the previous four weeks and taking their ratio.

[0074] Calculation process:

[0075] First step, substitute the actually measured data: Let R 1,2 = 0.82, S 1,1,2 = 1.15, P 1,1 = 0.18, D 1,1,2 = 1.02, L 1,1 = 0.25, O 1,2 = 1.10, etc.,

[0076] Second step, substitute the above values into the formula in turn:

[0077] (R 1,2 ·(S 1,1,2 ) 2 ) = 0.82 × (1.15) 2 = 0.82 × 1.3225 = 1.08565

[0078] (P 1,1 ·D 1,1,2 ) = 0.18 × 1.02 = 0.1836

[0079] (R 1,2 ·(S 1,1,2 ) 2 )+(P 1,1 ·D 1,1,2 ) = 1.08565 + 0.1836 = 1.26925

[0080]

[0081] T 1,1,2 = 1.12669 + 0.22727 = 1.35396

[0082] This result indicates that when node i = 1 is at coordinate axis j = 1 at time k = 2, the transformed position is approximately 1.35396. This value has undergone corresponding coordinate changes in the spatial position corresponding to this coordinate axis. If it is detected that this value is greater than 1.5 in the subsequent detection, it indicates that the node has a deviation trend; if it is less than 1.0, it means that the displacement of the node within the current range is small. Further action control or posture adjustment can be performed according to different value ranges.

[0083] After obtaining the positions of the skeleton nodes after transformation, compare the updated data of all the previously obtained nodes item by item and record their position information in the three-dimensional space coordinates. Sort them by node number and time sequence and conduct cross-checks item by item for the continuity of the spatial positions. If it is found that the position value of a certain node changes significantly in adjacent time intervals, then select the overall average value from the reference interval of the same node collected in the previous four hours for comparison. Combine the comparison results with the existing temperature range of 0°C to 90°C and pressure range of 0 MPa to 2 MPa for observation. If the jump amplitude of any information in these time periods far exceeds the upper limit of the average deviation obtained from the previous statistical analysis, mark it as an abnormal record and give priority to re-measurement. For the node position data that is complete and within the acceptable variation range, merge them to construct a centralized index table, and additionally mark the relevant quantitative indicators of the node position information such as the increase and decrease amplitudes on the x-axis and y-axis of the coordinate axes. Finally, confirm that all nodes have been updated and meet the previous integrity requirements for the coordinate data. Fill in the updated three-dimensional coordinate values in the index table in sequence with the node serial numbers as the row labels and the time series as the column labels to obtain a new summarized position data. Organize the summarized result to generate an action feature mapping diagram.

[0084] The steps for obtaining the memory block index table are as follows:

[0085] Based on the action feature mapping diagram, analyze the displacement data of each skeleton node. According to the distribution characteristics of the skeleton nodes in space, extract the spatial position parameters of each node, and classify the data of the skeleton nodes according to the spatial distribution law to generate a spatial classification table of skeleton nodes;

[0086] According to the spatial classification table of skeleton nodes, allocate the classified data of the skeleton nodes to the memory blocks one by one. Combine the usage status and address distribution of the memory blocks to identify the memory addresses of the blocks and form a memory block address table;

[0087] Based on the memory block address table, mark and index the memory addresses of each block, establish the corresponding relationship between the classified data of the skeleton nodes and the memory block addresses, and integrate the status information of each block into index entries to generate a memory block index table.

[0088] Specifically, when analyzing based on the displacement data of all bone nodes recorded in the action feature mapping diagram according to the distribution characteristics of bone nodes in space, first extract the three-dimensional spatial coordinates and time indices corresponding to each bone node from the previously obtained action feature mapping diagram, and compare them one by one according to the node numbers to obtain the continuous distribution information of the nodes at different positions. If it is found that a certain node frequently moves to an area outside the coordinate range of -5m to 5m within a short period of time, select the empirical value for the limit range of human joint activities from the samples previously statistically analyzed for similar human models. This empirical value is jointly determined by the mean and standard deviation of the maximum activity radius recorded in multiple real-person motion capture scenarios. Compare this range with the coordinate values of the current node and mark the records of the exceeded area, and then further analyze these marked records to measure whether they are instantaneous action amplitudes or continuous displacements. Then, perform a time difference analysis on the records of instantaneous amplitudes to see if they continuously appear for more than three seconds. If it exceeds three seconds, additionally record the special distribution status of this node and conduct an additional comparison in a special spatial distribution comparison list. Through this comparison list, the coordinate areas where the node has appeared in space can be stratified, and the motion characteristics and classification basis of the node in each area can be inferred by combining the residence time of the node in each layer area. If the cumulative residence time of the node in any layer exceeds the critical time T statistically obtained from historical test data, and this critical time is calculated by averaging the stratified residence duration of normal human actions, then classify the node into the corresponding distribution category and mark the corresponding coordinate stratification label. The distribution results of all nodes are arranged in sequence according to the node numbers under the same classification index, and finally, a bone node spatial classification table is summarized.

[0089] When allocating memory blocks for the classification data of each node according to the bone node spatial classification table, first read the distribution category and node number corresponding to each node in this classification table, and generate an allocable memory block for each category at the initial stage. Determine the range of the number of nodes that each block can accommodate by querying the previously defined memory block capacity upper limit. This capacity upper limit is obtained by dividing the maximum available capacity of the system memory resources during testing. If the number of nodes in a certain category is greater than the capacity upper limit of a certain block, then continue to allocate a new memory block and fill in the data of the remaining nodes in sequence. If the number of nodes in a category is small, merge it with other adjacent categories and place them in the same block to save allocation space. Then, record the start address and end address of the use of each block, initially set the start address of the block division to 0x1000 or a higher address and increment it backward. If it is detected that the available memory resources are tense during the allocation process, refer to the previous record of the system running state to release and re-allocate the existing blocks. Finally, continuously identify the addresses of all blocks to generate a complete memory block address table.

[0090] When checking the current status of each block one by one based on the memory block address table and marking and indexing the corresponding addresses, first use the usage status information registered in the block address table as the starting point. Determine whether the block is in use or idle through the correspondence between the node number and the address range. If the block is in use, obtain its most recent access count and access time in the time series and record them in an access statistics list. This list is composed of separate records of the read frequency and write frequency of node data. Compare the total read and write counts of each node over a period of time. If it is much higher than the reference value, it indicates that the block is in an active state. This reference value is obtained from the sample statistics of frequent read and write operations on skeletal nodes in the early stage. Sort the frequency statistics sequence and take its quantile as the threshold. Then, distinguish active blocks and low-active blocks according to the comparison between the threshold and the read and write counts. Subsequently, add or remove active tags to the identification items of each block in the numerical order of the block addresses. After obtaining the active information of each block, correspond these status information with the node numbers one by one and form entries in the index structure. Each entry indicates the node number, memory address range, read and write frequencies, and whether it is active. After all entries are summarized, they are merged into the final memory block index table.

[0091] The steps for obtaining the dynamic resource allocation table are as follows:

[0092] According to the memory block index table, parse the usage status marks of each address block, classify and extract the used and unused address blocks, organize them into an independent usage status list, and generate a memory address usage status table;

[0093] Based on the memory address usage status table, rearrange the storage order of the memory addresses according to the distribution order of the unused address blocks, release the invalid address blocks through memory recycling, and merge adjacent unused address blocks to generate a memory fragmentation reorganization table;

[0094] Based on the memory fragmentation reorganization table, map and associate the reorganized memory address blocks with the corresponding resources, reallocate memory addresses for all reorganized resources, and generate a dynamic resource allocation table.

[0095] Specifically, according to the memory block index table obtained above, the usage status mark of each address block record is read first and distinguished according to the used or unused classification. In the process, the address block number, start address, end address and corresponding mark description are checked one by one. The address blocks marked as used are sorted into a list and the number of times they are called and the time of the most recent call are summarized. If the number of calls is greater than the threshold value T1 obtained by the statistics of the device operation log (the threshold is calculated by monitoring the memory allocation and recovery cycle within one week. The specific method is to record the average number of calls of each address block within 168 consecutive hours and add a compensation amount obtained by multiple test statistics to form T1), it is regarded as a high-frequency address block and the corresponding high-frequency address block is added to the usage status list. Mark, if the number of calls is lower than the threshold, it is regarded as a general use block and placed in the general use category, and the address blocks marked as unused are listed in another list, and the size of each unused address block, the historical access frequency and the idle time are recorded in the list. If the idle time exceeds the threshold T2 determined by the previous system idle memory management method (T2 is obtained by selecting the median and range of the distribution range of the duration of idle address blocks under the same device environment), these address blocks are additionally marked as long-term idle areas, so that further confirmation process can be performed later to determine whether they belong to the recyclable candidate range. All used and unused address block information after classification is summarized into a separate record, and finally a memory address usage status table is generated according to the address sequence and classification.

[0096] Based on the memory address usage status table obtained previously, check the distribution order of unused address blocks therein. Then, arrange the start and end addresses of these address blocks in sequence and perform splicing and merging in a continuous judgment manner. First, check the size of each address block. If two adjacent blocks are physically adjacent, belong to the same free category, and have no conflicting access records, then merge these two address blocks into a larger block, and update its size information after merging. Then, check whether the free duration of the merged block is still greater than the aforementioned threshold T2 or whether it forms a new continuous mergeable area with other adjacent unused blocks, and then continuously perform adjacent merge operations until no more merging is possible. During the process, if it is found that some free blocks overlap with the previously marked long-term free area, compare their start and end addresses and merge the overlapping part into the long-term free list. After that, perform memory recycling operations on the address blocks that have been confirmed redundant or marked as invalid and mark them for deletion. The process of the recycling operation is to first read from the address usage record whether there have been any read or write operations on this block in the past period (e.g., 24 hours). If not, then release this block. During the release process, reclassify this part of the address as allocable resources. Finally, after all merging and recycling are completed, form a new free address distribution and rearrange it in ascending order according to the start address. Record the start address, end address, size, and merge times of each free block and summarize them into a memory fragmentation table.

[0097] Based on the completed memory fragmentation table, compare each rearranged free address block with the corresponding resource entries one by one and perform mapping association according to the previously recorded resource requirements. First, match the minimum continuous space size required by the resource with the size of the merged free block. If the resource demand does not exceed the size of the free block, then directly allocate this resource within this address range and record the start and end addresses of the successful allocation. If the demand is still large, then continue to retrieve the next free block in the fragmentation table and mark this block as allocated after successful placement. When multiple resources need to be allocated addresses at the same time, allocate the free blocks according to the resource priority order. If the resource with a higher priority can still be accommodated in the first free block, then complete the allocation immediately. If not, split this block or try to search for subsequent free blocks. After all resources are mapped to free blocks or all free blocks are occupied, record each successfully allocated resource in the corresponding mapping table, and indicate the resource name, start address, end address, and size. Finally, summarize all the mapped records to form the final dynamic resource allocation table.

[0098] The steps for obtaining the action grouping tag set are as follows:

[0099] According to the dynamic resource allocation table, parse each address space information item by item, extract the skeleton node identification data of each address space, establish the correspondence between each address space and the skeleton node identification in the order of the address space numbers, and generate a skeleton node address mapping table;

[0100] Based on the skeleton node address mapping table, combined with the three-dimensional space coordinates of the skeleton nodes, analyze the distribution characteristics of each node in space, group the skeleton nodes according to the division criteria of the space coordinate axes, and mark the coordinate ranges of each group of skeleton nodes to generate a skeleton node grouping and marking table;

[0101] Based on the skeleton node grouping and marking table, integrate the grouped skeleton node identifications, and form a unified action grouping data structure according to the logical numbers of the groups to generate an action grouping marking set.

[0102] Specifically, parse each address space information item by item according to the previously obtained dynamic resource allocation table. First, read the number, start address, and end address of each address space from the allocation table, and find the recorded skeleton node identification data. After corresponding these identification items with the address numbers one by one, establish a temporary list. During this process, if it is found that some address spaces lack corresponding skeleton node identifications, check whether there are cases of delayed allocation or skipped allocation in the previous memory resource allocation records, and mark these special cases in the list. Subsequently, arrange each record in the order of the address space numbers, and match it with the unique identification code generated when the skeleton nodes were captured or counted previously. If the identification code of a skeleton node does not match a certain address space number, perform repeated verification. The verification method is to query the corresponding address index information of the node in the previous time period. If it has been dynamically transferred to a new address, the new position identification of the node needs to be updated in the list. After verifying all records, each address space can be strictly corresponded with the skeleton node identification, and the address space number, skeleton node number, and additional information such as the associated timestamp or usage frequency are clearly listed in the temporary list. When all address spaces are successfully matched, a complete address and node mapping result is obtained and summarized into the final structure to generate a skeleton node address mapping table.

[0103] Based on the previously generated bone node address mapping table, combined with the three-dimensional spatial coordinates of each bone node collected previously, analyze the distribution laws of these nodes under the X, Y, and Z coordinate axes. First, compare the node numbers in the node address mapping table with the three-dimensional coordinates item by item, and summarize them under the same time series or the same node sequence. If the three-dimensional coordinates of a certain node cross the threshold range determined by the actual motion test continuously for multiple times, then make a note at the entry of this node. This threshold range is statistically obtained from the normal bone activity ranges of the human body captured by multiple person samples. Compare the node coordinates with this range, and if it exceeds, mark it as an edge distribution during grouping. Subsequently, distinguish the regions of all nodes according to the coordinate axis division criteria. For example, on the X-axis, the range from -5m to 5m is the first classification interval, and the range from 5m to 15m is the second classification interval. If a node appears in multiple intervals repeatedly, then classify it into multiple intervals and record the cross-distribution situation. Through this method, perform corresponding interval divisions on the Y and Z axes respectively. After completion, merge and group them according to the combination of node intervals on each axis. If the similarity or aggregation degree of the three-dimensional coordinates of the nodes in a certain group exceeds the merging threshold T obtained by statistical analysis, where T is determined by calculating the average Euclidean distance of the nodes and combining the standard deviation, then mark this group as the same regional grouping, and add the coordinate range information of each group of bone nodes to the record. Finally, generate a bone node grouping mark table.

[0104] When integrating the identified grouped bone nodes based on the previously obtained bone node grouping mark table, first traverse different groups according to the logical numbers listed in the grouping mark table, and read the list of internal nodes in each group. Sort these node numbers in the previous time order or position order. When it is found that some nodes appear in multiple groups at the same time, then compare the sizes of the logical numbers of these groups and include this node in the group with the smaller number according to the priority order. Then arrange these node identifiers in sequence to form the action sequence identifier within the group. If the number of nodes in a certain group is less than the minimum quantity threshold obtained from the actual action capture experience, then merge this group with the adjacent numbered group, and update the group number and corresponding coordinate information of each node during this merging process. After completing all group merges, recheck each logical number and perform a global deduplication operation. The deduplication operation checks whether the nodes that have been grouped appear repeatedly in different numbered segments, and merge all the duplicate content into the original grouping identifier entry. Finally, output all groups and the record of the node identifiers they contain in a unified data format to generate an action grouping mark set.

[0105] Optimize the steps for obtaining the action sequence as follows:

[0106] According to the action grouping tag set, extract the original motion trajectory data from the time series of each group of skeletal nodes. Combining the spatial coordinate distribution characteristics of the skeletal nodes, construct an initial trajectory description matrix. By analyzing the motion change trend and trajectory continuity between nodes, generate a skeletal node trajectory data table;

[0107] Based on the skeletal node trajectory data table, calculate the motion trajectory optimization value. The calculation formula is:

[0108]

[0109] where M ijk is the motion trajectory optimization value of skeletal node i at time j and direction k, X ij and Y ik are the trajectory positions of node i at times j and k respectively, Z ij is the motion inclination angle of node i at time j, W ij is the motion vector length of node i, and V ik is the direction vector of node i;

[0110] Based on the motion trajectory optimization value, perform continuous interpolation processing on the trajectories of each group of skeletal nodes. Fill and optimize the missing trajectory points through interpolation to generate an optimized action sequence.

[0111] Specifically, the original motion trajectory data is extracted from the time series of each group of skeletal nodes according to the action grouping tag set. First, the numbers of all nodes in each group are read, and their three-dimensional coordinate records at each time point are obtained item by item in chronological order. The three-dimensional coordinate values of each node are combined with the time stamp to form a data item, and these data items are connected in sequence according to the node order. Then, the coordinate change amounts between adjacent time points are compared between nodes, and these change amounts are compared with the previously collected temperature range of 0°C to 90°C or pressure range of 0 MPa to 2 MPa to determine whether there are any abnormalities related to external environmental interference during this period. If the coordinate change amount exceeds the threshold T obtained from the previous sampling statistics of normal human actions continuously for multiple times, special marking is performed and corresponding explanations are added to each record. T is obtained by collecting hundreds of groups of normal action data, calculating the average value and variance of the coordinate change amount, and then adding an additional safety redundancy. Subsequently, a preliminary analysis of the trajectory continuity of all valid data is performed. The difference in the coordinate positions of the nodes at adjacent time points is judged according to the pre-set upper limit value and organized into a corresponding matrix structure. If some data points show extreme jumps, the missing or jumping positions are filled according to the correction method recorded in the historical samples based on the coordinate average value of adjacent moments, and this part of the correction is recorded in the additional list. Finally, the organized matrix is mapped with the numbers of each node and merged into a unified index to obtain the initial trajectory description matrix, and a sub-period comparison entry for each node is established according to the motion change trend and trajectory continuity between nodes. After summarization, the skeletal node trajectory data table is generated.

[0112] The advantage of the formula is that it comprehensively considers both the trajectory position deviation and the direction-related parameters, so that the dual effects of spatial offset and direction vector can be reflected when evaluating the motion trajectory of skeletal nodes.

[0113] X ij The steps for obtaining the parameter are as follows: At time point j corresponding to node i, record the three-dimensional coordinates of this node and take the values in the main motion axis direction. After continuously measuring 20 samples per second and removing outliers, the remaining mean value is retained to obtain the final value of X. ij The final value of;

[0114] Y ik The steps for obtaining the parameter are as follows: At time point k corresponding to node i, record the three-dimensional coordinate values of this node in the same way as X ij and keep the same data filtering and mean value retention process as X ij to obtain Y. ik ;

[0115] Z ijThe steps for obtaining the parameter are as follows: using the real-time monitoring data of the tilt sensor mentioned above and obtaining the corresponding motion tilt angle of the node at time point j through time series integration. The representative value of Z can be obtained by averaging the tilt angle values measured multiple times within 24 hours each day. ij representative value;

[0116] W ij The steps for obtaining the parameter are as follows: calculating the length of the motion vector through the displacement of node i within the time interval j. The specific method is to accumulate the coordinate changes of the node at different moments within this time interval and divide by the number of measurements, and then perform proportional correction in combination with the maximum motion range recorded in the sample data to obtain the final value;

[0117] V ik The steps for obtaining the parameter are as follows: collecting data through the action direction monitored by node i at time k and performing normalization in the form of a unit vector. For the numerical method of the direction vector, first divide the three-dimensional coordinate change component by its modulus length to obtain the direction component, and then take the average of multiple direction vectors of the same node at the same time period to obtain V ik ;

[0118] Calculation process:

[0119] First step, let X 1,2 = 2.50, Y 1,3 = 2.10, Z 1,2 = 0.35, W 1,2 = 1.80, V 1,3 = 1.25, etc.

[0120] Second step, substitute the values into the fractional part and calculate to get 0.3777;

[0121] Third step, substitute the values into the arctangent part and calculate to get 1.5303;

[0122] Fourth step, add the two parts: M 1,2,3 = 0.3777 + 1.1526 = 1.5303;

[0123] This result indicates that when node i = 1 is at time j = 2 and time k = 3, the optimized value of its motion trajectory is approximately 1.5303. If it is statistically obtained that this value is greater than 1.8 in the follow-up, it means that the comprehensive degree of the motion deviation and the direction vector of the node is relatively high; if it is less than 1.0, it means that the deviation is relatively small. Through the above threshold comparison, the incremental adjustment plan of the subsequent motion trajectory can be determined.

[0124] Based on the optimized motion trajectory values calculated above, when performing continuous interpolation processing on the trajectories of each group of skeletal nodes, first extract adjacent coordinate points before and after from the time series of each node and divide the coordinate difference between the two coordinate points. If it is found that one or more timestamps are missing in a certain segment, intermediate transition points are generated within this segment through interpolation methods, and joint interpolation is performed for the previously confirmed parameters such as inclination values, direction vectors, and motion vector lengths. If the coordinate difference continuously exceeds the threshold T obtained from the statistics of historical acquisition samples at adjacent moments, an additional smoothing coefficient is added during the interpolation process. The threshold T is determined by averaging the trajectory change amounts of similar skeletal nodes during continuous motion and adding the standard deviation. The smoothing coefficient is obtained by comparing the spatial distance between adjacent points with the motion direction of the node, thereby reducing the mutation amplitude within this segment and ensuring the overall continuity of the trajectory. During the interpolation process, if the detected temperature exceeds the range of 0°C to 90°C or the pressure exceeds the range of 0 MPa to 2 MPa, relevant data information is recorded and further compared with the dynamic trends of the node in other time periods to confirm whether re-measurement is required. After all interpolation and parameter alignment, a continuously observable motion coordinate sequence is finally formed for the time series of each group of nodes, and the interpolation results of all nodes are summarized to generate an optimized action sequence.

[0125] The steps for obtaining the spatial constraint parameters are as follows:

[0126] According to the optimized action sequence, extract the motion trajectory data from each skeletal node, analyze the position characteristics of the trajectory in three-dimensional space, convert the motion data into the coordinate system information of the virtual environment, and generate a virtual environment trajectory mapping table;

[0127] Based on the virtual environment trajectory mapping table, calculate the spatial constraint value, and the calculation formula is:

[0128]

[0129] where, P ijk is the spatial constraint value of the skeletal node i in direction j and time k, A ij and B ik are the actual positions of the node i in directions j and k respectively, C ij is the boundary point of the node i in direction j, QD ik is the collision point of the node i in direction k, and E ij is the virtual environment reference point of the node i in direction j;

[0130] Based on the spatial constraint value, generate the spatial constraint parameters.

[0131] Specifically, when extracting motion trajectory data from each bone node according to the optimized action sequence obtained previously, first match each motion data in the unified record index according to the node number and time sequence, and compare it according to the three-dimensional coordinates registered by the node during the capture process. During the comparison, control the temperature in the range of 0°C to 90°C and record whether it meets this range, and control the pressure in the range of 0 MPa to 2 MPa for judgment. If the coordinate value crosses the threshold T obtained from the same type of anthropometric test (this threshold is obtained by statistically analyzing the motion amplitudes generated by multiple volunteers during pose capture and extracting the average value and deviation) in each record after comparison, add a prompt description to this record. Subsequently, for all records that meet the threshold limit, unify and organize the coordinates and time, and mark the three-dimensional position where the node acts at each time stamp. Reorganize this three-dimensional position to match the coordinate system convention of the virtual environment. Take the x-axis range of -10 m to 10 m, the y-axis range of -5 m to 5 m, and the z-axis range of 0 m to 3 m in space as the common available area and map the corresponding coordinate records to the coordinate index of the virtual environment. If it is found that the coordinates deviate from this range during a certain period, mark it during the summary stage and conduct re-measurement or observation. After all period data are integrated in the above manner, an information set of the node motion trajectory in the three-dimensional environment can be formed. Finally, attach a coordinate conversion mark corresponding to the virtual environment to each node record and summarize it to form a virtual environment trajectory mapping table.

[0132] The benefit of the formula is that by simultaneously introducing boundary points, collision points, and virtual environment reference points, the spatial distribution of the node in multiple directions and moments is comprehensively evaluated;

[0133] A ij The steps for obtaining the parameter are as follows: Extract the coordinate value from the actual position monitoring data of node i in direction j. This coordinate value is obtained by adding a small range of movement caused by body activities after measuring the joint or limb position in the early stage and then obtaining it through multiple samplings and outlier removal.

[0134] B ik The steps for obtaining the parameter are as follows: Record its spatial coordinates of node i at time k. Compare this coordinate with the previous record of the node in the same direction. If the deviation of a single measurement is large, use the average value obtained by superimposing the results of multiple repeated measurements and update it as B ik ;

[0135] C ij The steps for obtaining the parameter are as follows: Through the pre-defined boundary information provided by the human model and motion capture software, specifically, observe the maximum normal activity range of node i in direction j, and integrate the boundary point values after verifying the extreme positions through three independent experiments.

[0136] QDik The steps for obtaining the parameter are as follows: screen the records of the possibility of node i contacting the surrounding scene or other objects at time k to identify the collision position and numericalize it. The numericalization method is to measure the relative coordinate difference between the node and the obstacle at the moment of collision and take the minimum value as QD ik ;

[0137] E ij The steps for obtaining the parameter are as follows: retrieve the calibration points corresponding to node i in direction j from the basic reference coordinates in the virtual environment. These calibration points are generated through the comparison table between the model coordinate system and the actual capture coordinate system during scene deployment and are fixed as a queryable value in the scene construction process;

[0138] Calculation process:

[0139] First step, set the measured parameters: A 1,1 = 2.6, B 1,2 = 1.9, C 1,1 = 3.0, QD 1,2 = 0.6, E 1,1 = 1.5;

[0140] Second step, first calculate the absolute difference of the numerator:

[0141] |A 1,1 -B 1,2 | = |2.6 - 1.9| = 0.7

[0142] Third step, calculate the denominator to get 3.40647:

[0143] Fourth step, divide the results:

[0144]

[0145] The result shows that the spatial constraint value of node i = 1 in direction j = 1 and time k = 2 is approximately 0.20555. If this value is greater than 0.5 in subsequent sampling, it means that the node is closer to touching the boundary or obstacle in the current direction and time. If it is less than 0.1, it means that the node has a small range of movement within the safe range, which can provide a reference for the subsequent calculation of virtual environment action constraints.

[0146] In the process of generating spatial constraint parameters based on the aforementioned calculated spatial constraint values, first, horizontally compare the spatial constraint values obtained for each node at different timestamps and directions, and compare them with the threshold T calculated through multi-scenario experiments before. Mark the node movement entries with constraint intensities higher than T. T is obtained by accumulating and extracting quantiles for the action limits and collision times of different types of personnel in the simulated interaction environment. For the records marked with high constraint intensities, further verification is carried out in combination with the temperature range of 0°C to 90°C, the pressure range of 0 MPa to 2 MPa, and the relative position of the node to surrounding objects. If the result of high constraint intensity continues to appear in multiple detections, classify the node into a special observation group and count its repeatability. Record the number of repetitions in an additional list and sort it in chronological order to show whether the node is in a high constraint state for a long time in the same direction. When the constraint values of all nodes under their respective spatio-temporal indices are checked, the inspection results can be mapped to a unified index structure, and together with the node number, timestamp, direction sequence, and threshold comparison information, form a complete parameter record table. Finally, merge and organize all the records of constraint intensities and the associated boundary information and collision information to generate the final spatial constraint parameters.

[0147] The steps for obtaining real-time control signals are as follows:

[0148] According to the spatial constraint parameters, extract the trajectory information of each bone node, analyze the direction distribution and speed change trend of the movement trajectory, calculate the movement adjustment range in combination with the boundary and collision parameters of the node, and generate a bone node movement trajectory and speed analysis table;

[0149] Based on the bone node movement trajectory and speed analysis table, calculate the real-time movement correction value. The calculation formula is:

[0150]

[0151] where, R ijk is the movement correction value of bone node i at time j and direction k, X ij and Y ik are the trajectory positions of node i at times j and k respectively, U ij is the trajectory change speed of node i at time j, GW ik is the trajectory change acceleration of node i at time k, Q ij is the current speed of node i at time j, T ik is the time series factor of node i at time k, RZ ij is the movement direction coefficient of node i, and S ik is the boundary adjustment factor of node i at direction k;

[0152] Based on the real-time motion correction value, the motion trajectory and speed parameters of each bone node are adjusted in real time, and the corrected motion data are integrated to generate real-time control signals for interacting with the virtual environment.

[0153] Specifically, according to the spatial constraint parameters, the node number, time index, three-dimensional coordinate information, and the boundary value and collision parameters corresponding to the node are first extracted from the three-dimensional trajectory data of the skeleton node obtained above at each moment, and then marked and compared one by one against the temperature range of 0°C to 90°C and the pressure range of 0MPa to 2MPa. If the coordinate values ​​or collision values ​​of some of the records exceed the threshold T obtained from the statistics of historical capture cases for multiple consecutive times, T is calculated by screening the maximum continuous offset in 300 hours of capture data and combining its mean and standard deviation. In this case, the motion distribution and collision frequency of the node are additionally noted in the node entry and compared with the boundary value of the node. If the collision parameter is If peak values ​​appear multiple times within a time period, the coordinate changes of the corresponding nodes in this section will be analyzed in more detail. The movement speeds collected by the nodes per second will be arranged in time series and a column of speed change trend indicators will be added. When the speed value collected at a certain time exceeds the critical upper limit of the speed obtained from the 95% quantile in the measured data, the offset vector and boundary value under the adjacent timestamp will be re-retrieved for further confirmation. After completing the trajectory direction distribution and speed change inspection of all records, the time series movement range of each node and the corresponding speed, collision frequency and boundary comparison results are concentrated in the same structure, and arranged in sequence by node number and time axis. Finally, this structure is arranged uniformly to form a skeletal node motion trajectory and speed analysis table.

[0154] The benefit of the formula is that it comprehensively considers the timing factors such as the trajectory position difference, velocity and acceleration of the skeleton nodes, and also incorporates the influence of the direction coefficient and boundary adjustment factor;

[0155] X ij The parameter acquisition steps are as follows: the trajectory position coordinates recorded by node i at time j are measured through high-frequency sampling (more than 50 times per second), outliers exceeding three times the standard deviation are eliminated, and the remaining coordinates are averaged;

[0156] Y ik The parameter acquisition steps are as follows: the trajectory position coordinates corresponding to node i at time k are obtained by using the same ij The same collection frequency and elimination strategy ultimately form comparable items in the same format;

[0157] U ij The parameter acquisition steps are as follows: the trajectory change speed of node i at time j is obtained by dividing the measured spatial displacement by the number of seconds in the measurement interval to obtain the instantaneous speed, and then the average speed is calculated for all collection periods within a day and corrected in combination with the variance;

[0158] GW ik The acquisition step of the parameter is as follows. The trajectory change acceleration of node i at time k is obtained by taking the difference of the velocities at adjacent multiple times and dividing by the sampling time divided by the measurement step length, and then taking the arithmetic mean of several measurement values as GW ik ;

[0159] Q ij The acquisition step of the parameter is as follows. The current velocity of node i at time j is to record the instantaneous velocity of the node at this moment and exclude the extreme spikes caused by device jitter, take the average value within the normal range and register it in the velocity table;

[0160] T ik The acquisition step of the parameter is as follows. The time series factor of node i at time k is calculated by the daily acquisition frequency and the sorting of this moment in a day to calculate the time segment number. For example, segmented values are taken and numbered within a day, and the k-th segment corresponds to the value of T ik of the numerical value;

[0161] RZ ij The acquisition step of the parameter is as follows. The motion direction coefficient of node i is obtained by performing a direction vector analysis on the continuous change amount of the three-dimensional coordinates, statistically analyzing the offset ratio in the main direction over a period of time to obtain the direction component, and then taking the average value as the direction coefficient;

[0162] S ik The acquisition step of the parameter is as follows. The boundary adjustment factor of node i in direction k is to normalize the distance between the position of the node and the known boundary. If the node often approaches or crosses the boundary, the value of this factor is larger, and it is calculated by observing the distribution ratio inside and outside the boundary for a long time;

[0163] Calculation process:

[0164] First step, set the following measured values: X 1,2 = 3.80, Y 1,3 = 2.95, U 1,2 = 0.60, GW 1,3 = 0.30, Q 1,2 = 0.72, T 1,3 = 3, RZ 1,2 = 1.25, S 1,3 = 1.10;

[0165] Second step, first calculate the denominator in the fraction to be 0.5862:

[0166] Third step, calculate the arcsine part to be 1.1421:

[0167] Fourth step, overall result:

[0168]

[0169] The result shows that when node i = 1 is at time j = 2 and direction k = 3, the obtained motion correction value is approximately 1.9076. If it is detected later that this value is greater than 2.0, it indicates that there is an obvious deviation accumulation between the node motion trajectory and the speed. If it is less than 1.0, it means that the trajectory and speed parameters are relatively stable. The real-time position and speed of the node motion trajectory can be adjusted based on this numerical difference.

[0170] Based on this real-time motion correction value, when the motion trajectories and speed parameters of each bone node are adjusted in real time, first establish the corresponding relationship between the time index of each node and the previously calculated correction value, and mark the node entries that exceed the threshold T obtained from historical experience data as the node entries that need to be adjusted urgently. T is obtained from the statistics of the speed changes and position deviations of the same type of bone nodes through long-term observation. Its value can be regarded as the median of the correction values in all observation intervals plus one standard deviation. Subsequently, the speed change rate corresponding to the marked entries and the coordinate distribution of the nodes in the three-dimensional space are compared in segments. The records with too rapid speed growth or position crossing greater than the 5m range determined by somatosensory measurement in the segments are summarized. If a certain record reaches this range within the sampling frequency of three consecutive seconds, the node is temporarily listed as the priority adjustment object. Then, during the adjustment process, compare the increasing trend of its correction value with the fluctuation amplitude of the correction value in the previous period. If the fluctuation amplitude continues to increase, observe the node again. If the fluctuation starts to decline, record the decline time and decline rate. Finally, integrate all the corrected motion data in sequence, and save them as new continuous trajectory information according to the time sequence comparison of the node numbers, so as to obtain a sequence of real-time control signals that can interact synchronously with the virtual environment.

Claims

1. A multi-dimensional interactive control system based on digital human demonstration, characterized in that, The system includes: A state acquisition module that calculates the spatial mapping relationship between the displacements of bone nodes and joint angle values, connects the displacement data of each bone node with the corresponding joint angle value to generate a multi-dimensional state vector; performs operations on the displacement data of each bone node in the multi-dimensional state vector to generate an action feature mapping graph; A resource scheduling module that, based on the displacement data of each bone node in the action feature mapping graph, divides and allocates addresses for the memory space in blocks to generate a memory block index table; performs memory fragmentation reorganization according to the memory block index table to generate a dynamic resource allocation table; An action optimization module that establishes a mapping relationship between each address space in the dynamic resource allocation table and the corresponding bone node and performs grouping marking to generate an action grouping marking set; performs motion trajectory smoothing and interpolation operations on each group of bone nodes in the action grouping marking set to generate an optimized action sequence; An interaction feedback module that maps the motion data of each bone node in the optimized action sequence to the virtual environment coordinate system, performs collision detection on the motion trajectory of the bone node to generate spatial constraint parameters; adjusts the motion trajectory and speed parameters of the bone node according to the spatial constraint parameters to generate a real-time control signal.

2. The multi-dimensional interactive control system based on digital human demonstration according to claim 1, wherein The steps for obtaining the multi-dimensional state vector are as follows: Capture the position changes of each bone node and the dynamic data of joint angles, record the real-time displacements of each bone node and the corresponding joint angle values to generate a preliminary data set of node displacements and angle correspondences; Based on the preliminary data set of node displacements and angle correspondences, perform spatial mapping analysis on each data point, and through matrix operations, link the displacement data of each bone node with the corresponding joint angle value to obtain a complete node angle mapping table; Based on the complete node angle mapping table, integrate the data of all bone nodes to construct a multi-dimensional state vector covering all joint angle and displacement information to generate a multi-dimensional state vector.

3. The multi-dimensional interactive control system based on digital human demonstration according to claim 1, characterized in that The steps for obtaining the action feature mapping graph are as follows: Parse the multi-dimensional state vector item by item, extract the displacement data of all bone nodes, and calibrate the three-dimensional spatial coordinate positions of each node, and organize the spatial position information of each bone node into a preliminary spatial coordinate data set; Based on the preliminary spatial coordinate data set, calculate the transformed positions of the bone nodes, and the calculation formula is: where T ijk is the transformed position of skeletal node i on axis j at time k, R ik is the rotation factor of node i at time k, S ijk is the original position of node i on axis j at time k, P ij is the translation vector of node i on axis j, D ijk is the scale parameter of node i on axis j at time k, L ij is the spatial offset of node i on axis j, O ik is the transformation reference quantity of node i at time k; Based on the transformed positions, integrate the new position data of all nodes to generate an action feature mapping graph.

4. The multi-dimensional interactive control system based on digital human demonstration according to claim 1, characterized in that The steps for obtaining the memory block index table are as follows: Based on the action feature mapping graph, parse the displacement data of each bone node, extract the spatial position parameters of each node according to the distribution characteristics of the bone nodes in space, and classify the data of the bone nodes according to the spatial distribution law to generate a spatial classification table of bone nodes; According to the spatial classification table of bone nodes, allocate the classified data of bone nodes to the memory blocks one by one, and combine the usage status and address distribution of the memory blocks to identify the memory addresses of the blocks to form a memory block address table; Based on the memory block address table, mark and index the memory addresses of each block, establish the correspondence between the skeletal node classification data and the memory block addresses, and integrate the status information of each block into index entries to generate a memory block index table.

5. The multi-dimensional interactive control system based on digital human demonstration according to claim 1, characterized in that, The steps for obtaining the dynamic resource allocation table are as follows: According to the memory block index table, parse the usage status marks of each address block, classify and extract the used and unused address blocks, organize them into an independent usage status list, and generate a memory address usage status table; Based on the memory address usage status table, rearrange the storage order of the memory addresses according to the distribution order of the unused address blocks, release the invalid address blocks through memory recycling, and merge adjacent unused address blocks to generate a memory fragmentation reorganization table; Based on the memory fragmentation reorganization table, map and associate the reorganized memory address blocks with the corresponding resources, reallocate memory addresses for all the reorganized resources, and generate a dynamic resource allocation table.

6. The multi-dimensional interaction control system based on digital human demonstration according to claim 1, characterized in that The steps for obtaining the action grouping mark set are as follows: According to the dynamic resource allocation table, parse each address space information item by item, extract the skeletal node identification data of each address space, and establish the correspondence between each address space and the skeletal node identification in the order of the address space numbers to generate a skeletal node address mapping table; Based on the skeletal node address mapping table, combined with the three-dimensional space coordinates of the skeletal nodes, analyze the distribution characteristics of each node in space, group the skeletal nodes according to the division criteria of the space coordinate axes, and mark the coordinate ranges of each group of skeletal nodes to generate a skeletal node grouping mark table; Based on the skeletal node grouping mark table, integrate the identified skeletal nodes after grouping, and form a unified action grouping data structure according to the logical numbers of the groups to generate an action grouping mark set.

7. The multi-dimensional interactive control system based on digital human demonstration according to claim 1, wherein The steps for obtaining the optimized action sequence are as follows: According to the action grouping mark set, extract the original motion trajectory data from the time series of each group of skeletal nodes, combine the spatial coordinate distribution characteristics of the skeletal nodes, construct an initial trajectory description matrix, and generate a skeletal node trajectory data table by analyzing the motion change trend and trajectory continuity between nodes; Based on the skeletal node trajectory data table, calculate the motion trajectory optimization value, and the calculation formula is: Among them, M ijk is the optimized value of the motion trajectory of the bone node i at time j and direction k, X ij and Y ik are the trajectory positions of the node i at times j and k respectively, Z ij is the motion inclination angle of the node i at time j, W ij is the length of the motion vector of the node i, V ik is the direction vector of the node i; Based on the motion trajectory optimization value, perform continuous interpolation processing on the trajectories of each group of skeletal nodes, fill and optimize the missing trajectory points through interpolation, and generate an optimized action sequence.

8. The multi-dimensional interactive control system based on digital human demonstration according to claim 1, wherein The steps for obtaining the spatial constraint parameters are as follows: According to the optimized action sequence, extract the motion trajectory data from each skeletal node, analyze the position characteristics of the trajectory in three-dimensional space, and convert the motion data into the coordinate system information of the virtual environment to generate a virtual environment trajectory mapping table; Based on the virtual environment trajectory mapping table, calculate the spatial constraint value, and the calculation formula is: Among them, P ijk is the spatial constraint value of bone node i in direction j and time k, A ij and B ik are the actual positions of node i in directions j and k respectively, C ij is the boundary point of node i in direction j, QD ik is the collision point of node i in direction k, E ij is the virtual environment reference point of node i in direction j; Based on the spatial constraint value, generate spatial constraint parameters.

9. The multi-dimensional interaction control system based on digital human demonstration according to claim 1, wherein The steps for obtaining the real-time control signal are as follows: According to the spatial constraint parameters, extract the trajectory information of each skeletal node, analyze the direction distribution and speed change trend of the motion trajectory, and calculate the motion adjustment range in combination with the boundary and collision parameters of the nodes to generate a skeletal node motion trajectory and speed analysis table; Based on the bone node motion trajectory and speed analysis table, calculate the real-time motion correction value, and the calculation formula is as follows: Among them, R ijk is the motion correction value of the bone node i at time j and direction k, X ij and Y ik are the trajectory positions of the node i at times j and k respectively, U ij is the trajectory change speed of the node i at time j, GW ik is the trajectory change acceleration of the node i at time k, Q ij is the current speed of the node i at time j, T ik is the time series factor of the node i at time k, RZ ij is the motion direction coefficient of the node i, S ik is the boundary adjustment factor of the node i in the direction k; Based on the real-time motion correction value, adjust the motion trajectory and speed parameters of each bone node in real time, integrate the corrected motion data, and generate a real-time control signal for interacting with the virtual environment.

Citation Information

Patent Citations

  • Human body motion recognition method based on three-dimensional bone information

    CN106022213A

  • Mechanical arm joint angle detection method

    CN106384115A

  • Kinect-based bone redirection method and device

    CN107833271A

  • Human body action function detection system, detection method and detector

    CN110969114A

  • Human body behavior recognition method based on bone joint point data

    CN111914798A