Multi-dimensional interactive control system based on digital human demonstration

By generating multidimensional state vectors and action feature maps, the memory allocation and action control of the digital human demonstration system are optimized, solving the problems of low memory utilization and slow response speed, and improving the rationality of digital human behavior and the realism of interactive experience.

CN120276587BActive Publication Date: 2026-06-26HENAN JINXIANG CULTURE DEV CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HENAN JINXIANG CULTURE DEV CO LTD
Filing Date
2025-01-21
Publication Date
2026-06-26

Smart Images

  • Figure CN120276587B_ABST
    Figure CN120276587B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of data processing, in particular to a multi-dimensional interactive control system based on digital human demonstration, which comprises a state acquisition module, a space mapping relationship between bone node displacement and joint angle values is calculated, displacement data of each bone node is connected with corresponding joint angle values, and a multi-dimensional state vector is generated; each bone node displacement data in the multi-dimensional state vector is operated, and an action feature mapping graph is generated. In the application, the space mapping relationship between bone node displacement and joint angle values is calculated, a multi-dimensional state vector is generated, and an action feature mapping graph is constructed, so that the collection and expression of human action data can be realized; each bone node displacement data in the action feature mapping graph is subjected to block division and address allocation in a memory space, and a dynamic resource allocation table is generated by executing memory fragment arrangement, so that the system operation efficiency and resource utilization rate are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data processing technology, and in particular to a multi-dimensional interactive control system based on digital human demonstration. Background Technology

[0002] Data processing technology is a broad and in-depth technical field, mainly involving a series of operations such as the collection, storage, analysis, transformation, and output of digital information. The primary purpose of a multi-dimensional interactive control system based on digital human demonstrations is to achieve a natural, smooth, and multi-dimensional interactive experience between humans and machines by using digital humans as the interactive interface.

[0003] However, current technologies employ a simple linear allocation method for system resource management, resulting in low memory utilization and slow response times. The lack of effective consideration of spatial constraints during virtual interaction leads to unrealistic behavior in the digital human within the virtual environment, reducing the realism of the interactive experience. In practical applications, these issues can cause stiff, laggy movements and even clipping phenomena in the digital human, negatively impacting the effectiveness of virtual interaction. Therefore, improvements are needed. Summary of the Invention

[0004] The purpose of this invention is to overcome the shortcomings of existing technologies and propose a multi-dimensional interactive control system based on digital human demonstration.

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

[0006] The state acquisition module calculates the spatial mapping relationship between the displacement of bone nodes and the joint angle value, connects the displacement data of each bone node with the corresponding joint angle value, and generates a multi-dimensional state vector; it then performs calculations on the displacement data of each bone node in the multi-dimensional state vector to generate an action feature mapping map.

[0007] The resource scheduling module, based on the displacement data of each bone node in the action feature mapping map, divides the memory space into blocks and allocates addresses, generating a memory block index table; according to the memory block index table, it performs memory fragmentation and generates a dynamic resource allocation table.

[0008] The motion optimization module establishes a mapping relationship between each address space in the dynamic resource allocation table and the corresponding skeletal node, and groups and marks them to generate an motion grouping mark set; it then performs motion trajectory smoothing and tweening operations on each group of skeletal nodes in the motion grouping mark set to generate an optimized motion sequence.

[0009] The interactive 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 nodes, and generates spatial constraint parameters; it adjusts the motion trajectory and velocity parameters of the skeletal nodes according to the spatial constraint parameters and generates real-time control signals.

[0010] Preferably, the steps for obtaining the multidimensional state vector are as follows:

[0011] Capture the dynamic data of position changes and joint angles of each bone node, record the real-time displacement of each bone node and the corresponding joint angle value, and generate a preliminary dataset of node displacement and angle correspondence.

[0012] Based on the preliminary dataset of node displacement and angle correspondence, spatial mapping analysis is performed on each data point. Through matrix operations, the displacement data of each bone node is linked with the corresponding joint angle value to obtain a complete node angle mapping table.

[0013] Based on the improved node angle mapping table, the data of all bone nodes are integrated to construct a multi-dimensional state vector that covers all joint angles and displacement information, thus generating a multi-dimensional state vector.

[0014] Preferably, the step of obtaining the action feature map is as follows:

[0015] The multidimensional state vector is analyzed item by item to extract the displacement data of all bone nodes, and the three-dimensional spatial coordinate position of each node is marked. The spatial position information of each bone node is organized into a preliminary spatial coordinate dataset.

[0016] Based on the preliminary spatial coordinate dataset, the transformed positions of the skeletal nodes are calculated using the following formula:

[0017]

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

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

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

[0021] Based on the motion feature mapping, the displacement data of each skeletal node is analyzed, and the spatial position parameters of each node are extracted according to the spatial distribution characteristics of the skeletal nodes. The data of the skeletal nodes are then classified according to the spatial distribution rules to generate a spatial classification table of skeletal nodes.

[0022] According to the skeletal node spatial classification table, the skeletal node classification data is allocated to memory blocks one by one. Combining the usage status and address distribution of the memory blocks, the memory addresses of the blocks are identified to form a memory block address table.

[0023] Based on the memory block address table, the memory address of each block is marked and indexed to establish the correspondence between skeletal node classification data and memory block addresses. The status information of each block is integrated 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] Based on the memory block index table, the usage status flags of each address block are parsed, and the used and unused address blocks are extracted and organized into an independent usage status list to generate a memory address usage status table.

[0026] Based on the memory address usage status table, the storage order of memory addresses is rearranged according to the distribution order of unused address blocks. Invalid address blocks are released through memory reclamation, and adjacent unused address blocks are merged to generate a memory fragmentation table.

[0027] Based on the memory defragmentation table, the defragmented memory address blocks are mapped and associated with the corresponding resources, and memory addresses are reallocated for all defragmented resources to generate a dynamic resource allocation table.

[0028] Preferably, the step of obtaining the action group tag set is as follows:

[0029] Based on the dynamic resource allocation table, the information of each address space is parsed item by item, the skeletal node identifier data of each address space is extracted, and the correspondence between each address space and the skeletal node identifier is established according to the numbering order of the address spaces to generate a skeletal node address mapping table.

[0030] Based on the bone node address mapping table, combined with the three-dimensional spatial coordinates of the bone nodes, the distribution characteristics of each node in space are analyzed. According to the division criteria of the spatial coordinate axes, the bone nodes are grouped and the coordinate range of each group of bone nodes is marked to generate a bone node grouping label table.

[0031] Based on the skeletal node grouping tag table, the grouped skeletal node identifiers are integrated, and a unified action grouping data structure is formed according to the logical number of the group, generating an action grouping tag set.

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

[0033] Based on the action grouping tag set, the original motion trajectory data is extracted from the time series of each group of bone nodes. Combined with the spatial coordinate distribution characteristics of bone nodes, an initial trajectory description matrix is ​​constructed. By analyzing the motion change trend and trajectory continuity between nodes, a bone node trajectory data table is generated.

[0034] Based on the aforementioned skeletal node trajectory data table, the optimized motion trajectory value is calculated using the following formula:

[0035]

[0036] Among them, M ijk X is the optimized value of the motion trajectory of skeletal node i in time j and direction k. ij and Y ik Let Z be the trajectory position of node i at times j and k, respectively. ij Let W be the tilt angle of node i at time j. ij V is the length of the motion vector of node i. ik Let i be the direction vector of node i;

[0037] Based on the optimized motion trajectory values, continuous interpolation is performed on the trajectories of each group of skeletal nodes. The missing trajectory points are filled and optimized through interpolation to generate an optimized motion sequence.

[0038] Preferably, the steps for obtaining the spatial constraint parameters are as follows:

[0039] Based on the optimized action sequence, motion trajectory data is extracted from each skeletal node, the positional characteristics of the trajectory in three-dimensional space are analyzed, the motion data is converted into coordinate system information of the virtual environment, and a virtual environment trajectory mapping table is generated.

[0040] Based on the virtual environment trajectory mapping table, the spatial constraint value is calculated using the following formula:

[0041]

[0042] Among them, P ijk Let A be the spatial constraint value of skeletal node i in direction j and time k. ij and B ik C represents the actual position of node i in directions j and k, respectively. ij Let i be the boundary point in direction j, and QD be the boundary point in direction j. ikLet E be the collision point of node i in direction k. ij Let i be the virtual environment reference point for node i in direction j;

[0043] Based on the spatial constraint values, spatial constraint parameters are generated.

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

[0045] Based on the spatial constraint parameters, the trajectory information of each bone node is extracted, the direction distribution and velocity change trend of the motion trajectory are analyzed, and the motion adjustment range is calculated by combining the boundary and collision parameters of the node, generating a bone node motion trajectory and velocity analysis table.

[0046] Based on the skeletal node motion trajectory and velocity analysis table, the real-time motion correction value is calculated using the following formula:

[0047]

[0048] Among them, R ijk X is the motion correction value for skeletal node i in time j and direction k. ij and Y ik Let U be the trajectory position of node i at times j and k, respectively. ij Let GW be the velocity of the trajectory change of node i at time j. ik Let Q be the acceleration of the trajectory change of node i at time k. ij Let T be the current velocity of node i at time j. ik Let RZ be the time series factor of node i at time k. ij S is the motion direction coefficient of node i. ik Let i be the boundary adjustment factor for node i in direction k;

[0049] Based on the real-time motion correction value, the motion trajectory and speed parameters of each skeletal node are adjusted in real time, the corrected motion data is integrated, and a real-time control signal for interaction with the virtual environment is generated.

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

[0051] In this invention, by calculating the spatial mapping relationship between skeletal node displacements and joint angle values, a multi-dimensional state vector is generated and a motion feature mapping map is constructed, enabling the acquisition and expression of human motion data. Based on the skeletal node displacement data in the motion feature mapping map, memory space is partitioned and addresses are allocated, and memory fragmentation is performed to generate a dynamic resource allocation table, improving system operating efficiency and resource utilization. A mapping relationship is established between each address space in the dynamic resource allocation table and its corresponding skeletal node, and groups and labels them. Motion trajectory smoothing and interpolation operations are performed to optimize the coherence and naturalness of the digital human's motion performance. By mapping the optimized motion sequence to the virtual environment coordinate system, collision detection is performed and spatial constraint parameters are generated, thereby adjusting the motion trajectory and speed parameters of the skeletal nodes to ensure the rationality and accuracy of the interaction between the digital human and the virtual environment. This multi-layered data processing and optimization mechanism improves the accuracy and smoothness of digital human motion control, optimizes system resource allocation efficiency, and enhances the realism and immersion of the virtual interactive experience. Attached Figure Description

[0052] Figure 1 This is a system flowchart of the present invention. Detailed Implementation

[0053] To make the objectives, technical solutions, and advantages of this invention clearer, the 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 merely illustrative and not intended to limit the invention.

[0054] Please see Figure 1 The present invention provides a technical solution: a multi-dimensional interactive control system based on digital human demonstration, comprising:

[0055] The state acquisition module calculates the spatial mapping relationship between the displacement of bone nodes and the joint angle value, connects the displacement data of each bone node with the corresponding joint angle value, and generates a multi-dimensional state vector; it then performs calculations on the displacement data of each bone node in the multi-dimensional state vector to generate an action feature mapping map.

[0056] The resource scheduling module divides the memory space into blocks and allocates addresses based on the displacement data of each bone node in the action feature mapping map, generating a memory block index table; based on the memory block index table, it performs memory fragmentation and generates a dynamic resource allocation table.

[0057] The motion optimization module establishes a mapping relationship between each address space in the dynamic resource allocation table and the corresponding skeletal nodes, and groups and marks them to generate an motion grouping tag set; it then performs motion trajectory smoothing and tweening operations on each group of skeletal nodes in the motion grouping tag set to generate an optimized motion sequence.

[0058] The interactive 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 nodes, and generates spatial constraint parameters; it then adjusts the motion trajectory and velocity parameters of the skeletal nodes based on the spatial constraint parameters to generate real-time control signals.

[0059] The steps to obtain the multidimensional state vector are as follows:

[0060] Capture the dynamic data of position changes and joint angles of each bone node, record the real-time displacement of each bone node and the corresponding joint angle value, and generate a preliminary dataset of node displacement and angle correspondence.

[0061] Based on the preliminary dataset of node displacement and angle correspondence, spatial mapping analysis is performed on each data point. Through matrix operations, the displacement data of each bone node is linked with the corresponding joint angle value to obtain a complete node angle mapping table.

[0062] Based on a comprehensive node angle mapping table, data from all skeletal nodes are integrated to construct a multidimensional state vector that covers all joint angles and displacement information, thus generating a multidimensional state vector.

[0063] Specifically, referring to the configuration method of skeletal motion sensors based on human anatomy measurement, marker points are placed on each skeletal node and a capture device is attached to measure changes in position and joint angle. The acquisition frequency is set to a range of 20 to 100 times per second, and the position coordinates and corresponding angle values ​​at each moment are recorded sequentially according to the node number. The data is compared with a pre-determined spatial range, such as within -10m to 10m on the coordinate axis and within -180° to 180° of the joint angle. If the data at a certain moment exceeds the aforementioned range, an anomaly threshold T is set based on the mean and variance calculated from multiple experimental samples. m and in more than T m An additional verification process is added at each moment. The verification results are compared with the original observations to filter out unreasonable values. All confirmed and retained data are arranged in chronological order and node identifiers are added. Each record is associated with a timestamp and a skeletal node number. If multiple angle values ​​are found under the same timestamp, the average value and dispersion are compared to determine the unique item to retain. The displacement and angle data of all nodes are grouped and summarized in a unified structure. Additional descriptions are added to the time-series trajectory of each node. Finally, these data arranged according to node number and time order are used as preliminary records to generate a preliminary dataset of node displacement and angle correspondence.

[0064] Based on the preliminary dataset of node displacement and angle correspondence obtained earlier, a mapping analysis is performed on the coordinate values ​​of each skeletal node and the corresponding joint angle values. First, the three-dimensional coordinate components and associated angle values ​​of the node at each time stamp are extracted. Then, nodes with the same index are aggregated, and the mapping relationship between the corresponding displacement and angle is listed at the same time. Finally, A is constructed in matrix form. i B represents the displacement vector of node i. i Let A represent the angle vector of node i. i With B i After arranging them into column vectors, they are aligned item by item on the time axis and generated. A two-dimensional matrix is ​​used, where × represents element-wise multiplication and superposition to obtain the values ​​at corresponding row and column positions. When comparing the matrix differences of the same node at adjacent times, if some values ​​are found to deviate significantly from the reference interval calculated empirically, they are marked as suspicious points. This reference interval is determined based on the mean and standard deviation of historical data. When the number of suspicious points exceeds the ratio threshold obtained from the statistics of historical samples, an additional observation record verification is performed for that node and the relevant mapping values ​​are updated. After the above summary and correction, the displacement and angle matrix data corresponding to all nodes are uniformly organized and archived into the same sequence to obtain a complete node angle mapping table.

[0065] Based on the previously obtained comprehensive node angle mapping table, the displacement and joint angle values ​​corresponding to all skeletal nodes are uniformly numbered and arranged in chronological order. The angle and displacement items of each node at different times are combined and summarized under the same dimension. An index structure consisting of four parts—time dimension, node number, joint angle, and three-dimensional coordinates—is specified. In this structure, the time dimension is used as the main sequence marker, and the node number is used as the basis for distinguishing different skeletal parts. The joint angle and three-dimensional displacement corresponding to each node are then sequentially filled into the same vector. If a node is found to have missing data at certain timestamps, it is supplemented according to the previously obtained statistical mean and the interpolation method of adjacent times of the same node. The source of the interpolated values ​​and the corresponding differences are recorded. When the displacement and angle entries of all nodes at all times are collected into a common data structure, a four-dimensional initial matrix is ​​formed. Then, the relevant entries of each node are concatenated into a higher-dimensional merged structure through matrix expansion. In this merged structure, each dimension index and node number maintain a one-to-one correspondence. Finally, this merged structure is marked as a multi-dimensional state vector covering all joint angle and displacement information, generating a multi-dimensional state vector.

[0066] The steps for obtaining the action feature map are as follows:

[0067] The multidimensional state vector is analyzed item by item to extract the displacement data of all skeletal nodes, and the three-dimensional spatial coordinate position of each node is marked. The spatial position information of each skeletal node is organized into a preliminary spatial coordinate dataset.

[0068] Based on the preliminary spatial coordinate dataset, the transformed positions of the skeletal nodes are calculated using the following formula:

[0069]

[0070] Among them, T ijk R represents the transformed position of skeletal node i along coordinate axis j and time k. ik S is the rotation factor of node i at time k. ijk P represents the original position of node i at coordinates j and time k. ij Let D be the translation vector of node i on coordinate j. ijk Let L be the scale parameter of node i at coordinate j and time k. ij Let O be the spatial offset of node i at coordinate j. ik Let i be the reference quantity for the transformation of node i at time k;

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

[0072] Specifically, when parsing the multidimensional state vectors one by one, the displacement information of each skeletal node recorded on the time axis is first selected from the previously obtained multidimensional state vectors. The data is then matched according to the skeletal node sequence number. The three-dimensional coordinate components contained in each record are retrieved item by item and associated with the timestamp. The temperature parameter is compared with the 0℃ to 90℃ range to ensure the value is within this range. The stress measurement value at the joint of the skeletal node is compared with the 0MPa to 2MPa range, and cases where it is below 2MPa or within an acceptable range are recorded. The input voltage of the device is repeatedly tested within the 0V to 24V range to confirm whether it meets the previously established voltage change rules. If, after comparison, the three-dimensional displacement information is incomplete or the coordinate value exceeds the allowable range calculated based on production testing experience, the record is considered complete. When the range is within acceptable limits, the average or median value is selected from the observations of adjacent time points of the same node for supplementation, and an identifier is added to indicate that the record has undergone interpolation processing. Whenever the same node has multiple supplementation operations in a short period of time, the frequency of occurrence of the node needs to be recorded synchronously and compared with the threshold established by previous statistics. This threshold is calculated by the cumulative abnormal frequency of the skeletal node in the actual scene for 300 consecutive hours. The average value of the abnormal frequency data sequence is taken as a reference benchmark after accumulation. If the supplementation frequency is subsequently detected to exceed the above benchmark value, the record integrity of other nodes is checked in the same time period and compared with multi-dimensional information such as temperature, pressure and voltage to eliminate potential data loss risks between records. Finally, the three-dimensional coordinate components of all nodes are summarized into a preliminary spatial coordinate dataset.

[0073] The advantage of the formula lies in its comprehensive correction of the position of the bone nodes in three-dimensional coordinates by combining rotation factors, spatial translation vectors, and transformation reference quantities; R ik The steps for obtaining the parameters are as follows: Install a rotation measuring device at node i and collect its data at time k. Record the instantaneous angular velocity of this node and continuously monitor it for two seconds using a sensing device. Divide the integral of these instantaneous angular velocities by 2π to obtain the rotation factor value, S. ijk The parameter acquisition steps are as follows: at time k, read the original position of bone node i on coordinate axis j, and directly obtain the value from the previously acquired 3D coordinate data, P. ij The steps for obtaining the parameters are as follows: On the coordinate axis j corresponding to bone node i, a translation vector is obtained through a calibration measurement scheme. This scheme is based on the difference between the node's reference position and the current grasping position, and the difference is expanded on a one-dimensional coordinate system and averaged. D ijk The steps to obtain the parameters are as follows: First, the scale factor obtained by scaling up or down the size measurement data of node i is compared with the initial standard value to obtain the scale parameter L under that coordinate axis. ijThe parameter acquisition steps are as follows: The offset value is obtained by weighted averaging of multiple offsets collected from bone node i along coordinate axis j. Specifically, the offsets of the node at different time periods are added together and then divided by the number of offsets. Decimal places are retained due to the measurement accuracy limitations of the same device. ik The steps for obtaining the parameters are as follows: for the transformation reference quantity of node i at time k, the reference measurement value of the node under the power-on state is compared with the average value monitored in the previous four weeks, and the ratio is calculated.

[0074] Calculation process:

[0075] The first step is to input the actual 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] The second step is to substitute the above values ​​into the formula in sequence:

[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] The results show that when node i=1 is at coordinate axis j=1 at time k=2, the transformed position is approximately 1.35396. This value corresponds to the coordinate change of the spatial position on this coordinate axis. If the value is subsequently detected to be greater than 1.5, it indicates that the node has a deviation trend. If it is less than 1.0, it indicates that the node has a small displacement within the current range. Further motion control or attitude adjustment can be performed based on different value ranges.

[0083] After obtaining the transformed positions of the skeletal nodes, the updated data of all previously acquired nodes are compared one by one, and their position information in three-dimensional spatial coordinates is recorded. The nodes are sorted by node number and time sequence, and the continuity of spatial position is cross-checked item by item. If a node's position value changes significantly within adjacent time intervals, the overall average value is selected from the reference interval of the same node collected in the previous four hours and compared. This comparison result is then combined with existing temperature ranges of 0℃ to 90℃ and pressure ranges of 0MPa to 2MPa for observation. If any information within these time periods shows a jump significantly exceeding the previous... The upper limit of the average deviation obtained from the statistical analysis is marked as an abnormal record and measured again first. For node position data that are complete and within the acceptable range of variation, they are merged to build a centralized index table, and relevant quantitative indicators of node position information, such as the increase or decrease in the coordinate axes x and y, are additionally marked. Finally, it is confirmed that all nodes have been updated and meet the previous requirements for the integrity of coordinate data. The updated three-dimensional coordinate values ​​are then filled into the index table with the node number as the row number and the time series as the column number to obtain a new summary of position data. The summary results are then organized to generate an action feature mapping map.

[0084] The steps to obtain the memory block index table are as follows:

[0085] Based on the motion feature mapping map, the displacement data of each skeletal node is analyzed. According to the spatial distribution characteristics of the skeletal nodes, the spatial position parameters of each node are extracted. The data of the skeletal nodes are classified according to the spatial distribution rules to generate a spatial classification table of skeletal nodes.

[0086] Based on the skeletal node spatial classification table, the skeletal node classification data is allocated to memory blocks one by one. Combining the usage status and address distribution of the memory blocks, the memory addresses of the blocks are identified to form a memory block address table.

[0087] Based on the memory block address table, the memory address of each block is marked and indexed to establish the correspondence between skeletal node classification data and memory block addresses. The status information of each block is integrated into index entries to generate a memory block index table.

[0088] Specifically, based on the displacement data of all skeletal nodes recorded in the motion feature map, when analyzing the spatial distribution characteristics of the skeletal nodes, the three-dimensional spatial coordinates and time index corresponding to each skeletal node are first extracted from the previously obtained motion feature map. Then, the nodes are compared one by one according to their serial numbers to obtain the continuous distribution information of the nodes at different positions. If it is found that a node frequently moves to an area outside the coordinate range of -5m to 5m in a short period of time, an empirical value for the limit range of human joint movement is selected from the samples of similar human models previously statistically analyzed. This empirical value is determined by the mean and standard deviation of the maximum activity radius recorded in multiple real-person motion capture scenarios. This range is compared with the coordinate value of the current node, and the records that exceed the area are marked. Then, these marked records are further analyzed to measure their instantaneous movement amplitude. For continuous displacement, time difference analysis is performed on the instantaneous amplitude records to see if they occur continuously for more than three seconds. If they exceed three seconds, the special distribution of the node is recorded and compared in a special spatial distribution comparison list. This comparison list can be used to stratify the coordinate regions where the node has appeared in space, and the movement characteristics and classification criteria of the node in each layer can be inferred by combining the node's dwell time in each layer. If the cumulative dwell time of the node in any layer exceeds the critical time T obtained by statistical analysis of historical test data, which is calculated by the average layered dwell time of the normal human movement process, the node is classified into the corresponding distribution category and the corresponding coordinate layer label is noted. The distribution results of all nodes are arranged in order of node number under the same classification index, and finally a spatial classification table of skeletal nodes is compiled.

[0089] When allocating memory blocks for each node's classification data according to the skeletal node spatial classification table, the distribution category and node number corresponding to each node in the classification table are read first. In the initial stage, an allocatable memory block is generated for each category. The range of nodes that each block can accommodate is determined by querying the previously defined upper limit of memory block capacity. This upper limit is obtained by dividing the maximum available capacity of the system memory resources during testing. If the number of nodes in a category is greater than the upper limit of a block capacity, a new memory block is allocated and the data of the remaining nodes is filled in sequentially. If the number of nodes in a category is small, it is merged with other adjacent categories and placed in the same block to save allocation space. Then, the start address and end address of each block are recorded. The start address of the block division is initially set to 0x1000 or higher and incremented sequentially. If the available memory resources are detected to be scarce during the allocation process, the existing blocks are released and reallocated according to the previous records of the system running status. Finally, the addresses of all blocks are continuously identified to generate a complete memory block address table.

[0090] When examining the current status of each block based on the memory block address table and marking and indexing the corresponding addresses, the usage status information registered in the block address table is used as the starting point. The correspondence between node number and address range is used to determine whether the block is used or idle. If the block is used, its most recent access count and access time in the time series are obtained and recorded in an access statistics list. This list consists of separate records of the frequency of reading and writing of node data. If the total number of reads and writes for each node over a period of time is significantly higher than the reference value, it indicates that the block is in an active state. This reference value is derived from the statistical results of frequent read and write operations on skeletal nodes in the early stage. The frequency statistical sequence is sorted and its quantile is taken as the threshold. Then, active blocks and inactive blocks are distinguished by comparing the threshold with the number of read and write operations. Subsequently, active tags are added or removed from the identification items of each block according to the numerical order of the block address. After obtaining the activity information of each block, these status information are matched with the node number one by one and an entry is formed in the index structure. Each entry indicates the node number, memory address range, read and write frequency and whether it is active. All entries are summarized and merged into the final memory block index table.

[0091] The steps to obtain the dynamic resource allocation table are as follows:

[0092] Based on the memory block index table, the usage status flags of each address block are parsed, the used and unused address blocks are extracted by category, and they are organized into an independent usage status list to generate a memory address usage status table.

[0093] Based on the memory address usage status table, the storage order of memory addresses is rearranged according to the distribution order of unused address blocks. Invalid address blocks are released through memory reclamation, and adjacent unused address blocks are merged to generate a memory defragmentation table.

[0094] Based on the memory defragmentation table, the defragmented memory address blocks are mapped and associated with the corresponding resources, and memory addresses are reallocated for all defragmented resources to generate a dynamic resource allocation table.

[0095] Specifically, based on the previously obtained memory block index table, the usage status flags of each address block are first read and categorized as used or unused. During this process, the address block number, start address, end address, and corresponding flag descriptions are examined one by one. Address blocks marked as used are organized into a list, and their call counts and most recent call times are summarized. If the call count exceeds the threshold T1 obtained from the device operation log (this threshold is calculated by monitoring the memory allocation and reclamation cycle over a week; specifically, it is obtained by recording the average call count of each address block over 168 consecutive hours and adding a compensation amount obtained from multiple tests), then it is considered a high-frequency used address block and added to the usage status list. If the number of calls is less than a certain threshold, the block is considered to be in general use and placed in the normal use category. Blocks marked as unused are listed in another category, and the size, historical access frequency, and idle duration of each unused block are recorded in this list. If the idle duration 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 idle address block durations under the same device environment), these address blocks are additionally marked as long-term idle areas so that further confirmation processes can be performed to determine whether they belong to the reclaimable candidate range. All used and unused address block information after classification is summarized into a separate record. Finally, a memory address usage status table is generated according to address order and classification.

[0096] Based on the previously obtained memory address usage status table, the distribution order of unused address blocks is examined. Then, the start and end addresses of these address blocks are arranged sequentially, and concatenation is performed using a continuity check. First, the size of each address block is checked. If two adjacent blocks are physically adjacent, belong to the same free category, and have no conflicting access records, these two address blocks are merged into a larger block, and its size information is updated after the merge. Then, it is checked whether the free time of the merged block is still greater than the aforementioned threshold T2 or whether it forms a new contiguous mergeable region with other adjacent unused blocks. Then, the adjacent merging operation is continued until no further merging is possible. During the process, if some free blocks are found to be of the previously marked length... If there are duplicate free blocks, their start and end addresses are compared and the overlapping parts are merged into the long-term free list. Then, for address blocks that have been confirmed as redundant or marked as invalid, a memory reclamation operation is performed and they are marked as deleted. The reclamation operation process is to first read from the address usage record whether there have been any read or write operations on the block in the past period (e.g., 24 hours). If not, the block is released. During the release process, these addresses are reclassified as allocable resources. Finally, after all merging and reclamation are completed, a new free address distribution is formed and rearranged in ascending order of start address. The start address, end address, size, and number of mergings of each free block are recorded and summarized into a memory fragmentation table.

[0097] Based on the completed memory defragmentation table, each reorganized free address block is compared with its corresponding resource entry and mapped according to the previously recorded resource requirements. First, the minimum contiguous space required by the resource is matched with the size of the merged free block. If the resource requirement does not exceed the size of the free block, the resource is directly allocated to this address range, and the start and end addresses of the successful allocation are recorded. If the requirement is still large, the next free block is searched in the defragmentation table, and the block is marked as allocated after successful placement. If multiple resources need to be allocated at the same time, the free blocks are allocated according to the resource priority. If a higher priority resource can be accommodated in the first free block, the allocation is completed immediately. If not, the block is split or a search for subsequent free blocks is attempted. After all resources are mapped to free blocks or all free blocks are occupied, each successfully allocated resource is recorded in the corresponding mapping table, indicating the resource name, start address, end address, and size. Finally, all the mapped records are summarized to form the final dynamic resource allocation table.

[0098] The steps to obtain the action group tag set are as follows:

[0099] Based on the dynamic resource allocation table, the information of each address space is parsed item by item, the skeletal node identifier data of each address space is extracted, and the correspondence between each address space and the skeletal node identifier is established according to the numbering order of the address spaces, generating a skeletal node address mapping table.

[0100] Based on the skeleton node address mapping table and combined with the three-dimensional spatial coordinates of the skeleton nodes, the distribution characteristics of each node in space are analyzed. According to the division criteria of the spatial coordinate axes, the skeleton nodes are grouped and the coordinate range of each group of skeleton nodes is marked to generate a skeleton node grouping label table.

[0101] Based on the skeletal node grouping label table, the grouped skeletal node identifiers are integrated and a unified action grouping data structure is formed according to the logical number of the group, generating an action grouping label set.

[0102] Specifically, based on the previously obtained dynamic resource allocation table, each address space information is analyzed item by item. First, the number, start address, and end address of each address space are read from the allocation table, and the skeletal node identifier data recorded therein is found. These identifiers are matched one-to-one with the address numbers to create a temporary list. During this process, if it is found that some address spaces are missing corresponding skeletal node identifiers, the memory resource allocation records are checked to see if there are any cases of delayed allocation or skipped allocation, and these special cases are marked in the list. Then, each record is arranged sequentially according to the address space number order, and combined with the unique identifier generated during the previous capture or statistics of the skeletal nodes. The code is matched. If the identification code of the skeletal node does not match a certain address space number, a duplicate verification is performed. The verification method is to query the address index information corresponding to the node in the previous time period. If it has been dynamically moved to a new address, the new location identifier of the node needs to be updated in the list. After all records are verified, each address space can be strictly matched with the skeletal node identifier. The address space number, skeletal node number and associated timestamp or usage frequency are clearly listed in the temporary list. When all address spaces are matched, a complete address and node mapping result is obtained and summarized into the final structure to generate a skeletal node address mapping table.

[0103] Based on the previously generated skeletal node address mapping table, and combined with the previously acquired 3D spatial coordinates of each skeletal node, the distribution patterns of these nodes along the X, Y, and Z axes are analyzed. First, the node numbers in the node address mapping table are compared item by item with their 3D spatial coordinates, and summaries are made within the same time series or the same node sequence. If the 3D coordinates of a node repeatedly exceed the threshold range determined by actual motion experiments, a note is made at that node entry. This threshold range is statistically derived from the range of normal human skeletal activity captured from multiple samples. If the node coordinates exceed this range, they are marked as marginal distribution during grouping. Subsequently, all nodes are further processed according to the coordinate axis division criteria. The system distinguishes different regions, for example, on the X-axis, -5m to 5m is the first classification interval, and 5m to 15m is the second classification interval. If nodes are repeatedly distributed in different intervals, they are assigned to multiple intervals and the cross-distribution is recorded. In this way, the Y and Z axes are divided into corresponding intervals. After completion, the nodes are merged and grouped according to the combination of nodes in each axis interval. If the similarity or clustering of the three-dimensional coordinates of the nodes in a 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 it with the standard deviation, the group is then marked as the same region group, and the coordinate range information of each group of skeletal nodes is added to the record, finally generating a skeletal node grouping label table.

[0104] Based on the previously obtained skeletal node grouping label table, when integrating the grouped skeletal node identifiers, the different groups are first traversed according to the logical numbers listed in the grouping label table, and the node list inside each group is read. These node numbers are then uniformly sorted according to the previous time order or position order. When some nodes are found to appear in multiple groups at the same time, the logical numbers of these groups are compared and the node is included in the group with the smaller number according to the priority order. Then, these node identifiers are arranged in sequence to form the motion sequence identifiers within the group. If the number of nodes in a group is less than the minimum number threshold obtained from actual motion capture experience, the group is merged with the adjacent numbered group. During this merging process, the group number and corresponding coordinate information of each node are updated. After all groups are merged, each logical number is re-verified and a global deduplication operation is performed. The deduplication operation checks whether the nodes of the already grouped groups appear repeatedly in different numbering segments. All duplicate content is merged into the original group identifier entries. Finally, all groups and their contained node identifier records are output according to a unified data format to generate the motion group label set.

[0105] The steps for obtaining the optimized action sequence are as follows:

[0106] Based on the action grouping tag set, the original motion trajectory data is extracted from the time series of each group of bone nodes. Combined with the spatial coordinate distribution characteristics of bone nodes, an initial trajectory description matrix is ​​constructed. By analyzing the motion change trend and trajectory continuity between nodes, a bone node trajectory data table is generated.

[0107] Based on the skeletal node trajectory data table, the optimized motion trajectory value is calculated using the following formula:

[0108]

[0109] Among them, M ijk X is the optimized value of the motion trajectory of skeletal node i in time j and direction k. ij and Y ik Let Z be the trajectory position of node i at times j and k, respectively. ij Let W be the tilt angle of node i at time j. ij V is the length of the motion vector of node i. ik Let i be the direction vector of node i;

[0110] Based on the optimized motion trajectory values, continuous interpolation is performed on the trajectories of each group of skeletal nodes. The missing trajectory points are filled and optimized through interpolation to generate an optimized motion sequence.

[0111] Specifically, based on the action grouping label set, raw motion trajectory data is extracted from the time series of each group of skeletal nodes. First, the numbers of all nodes under each group are read, and their three-dimensional coordinate records at each time point are obtained sequentially according to time. The three-dimensional coordinate value of each node is combined with a timestamp into a data item and connected sequentially according to the node order. Then, the coordinate changes between adjacent time points are compared between nodes, and these changes are recorded and compared with the previously collected temperature range of 0℃ to 90℃ or pressure range of 0MPa to 2MPa to determine whether any abnormalities related to external environmental interference occur during that period. If the coordinate changes exceed the threshold T obtained from the previous statistical sampling of normal human movements multiple times consecutively, a special mark is made, and a corresponding explanation is added to each record. T is determined by collecting hundreds of data points. After calculating the average and variance of coordinate changes from a set of normal motion data, and adding an additional safety redundancy, a preliminary analysis of trajectory continuity is performed on all valid data. The coordinate position difference of nodes at adjacent time points is judged according to a pre-set upper limit value and organized into a corresponding matrix structure. If some data points show extreme fluctuations, the missing or fluctuating positions are filled according to the average coordinates of adjacent times, referring to the correction method recorded in historical samples. This correction is recorded in an additional list. Finally, the organized matrix is ​​mapped to the number of each node and merged into a unified index to obtain the initial trajectory description matrix. Based on the movement change trend and trajectory continuity between nodes, time-segmented comparison entries for each node are established. After summarizing, a skeletal node trajectory data table is generated.

[0112] The advantage of the formula is that it takes into account both the trajectory position deviation and the direction-related parameters, so that it can reflect the dual role of spatial offset and direction vector when evaluating the motion trajectory of skeletal nodes.

[0113] X ij The steps for obtaining the parameters are as follows: record the three-dimensional coordinates of node i at time j and take its value in the direction of the main motion axis; obtain X by continuously measuring 20 samples per second, removing outliers, and retaining the remaining mean value. ij The final value;

[0114] Y ik The steps to obtain the parameters are as follows: at time point k corresponding to node i, compare X... ij Record the 3D coordinates of this node in the same way, and keep them consistent with the X-axis. ij Y is obtained after the same data filtering and mean preservation process. ik ;

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

[0116] W ij The steps to obtain the parameters are as follows: calculate the length of the motion vector of node i by the displacement of node i in time interval j. The specific method is to accumulate the coordinate changes of node at different times in this time interval and divide by the number of measurements, and then combine the maximum motion range recorded in the sample data to obtain the final value by proportional correction.

[0117] V ik The parameter acquisition steps are as follows: data is collected from the motion direction monitored by node i at time k and normalized in unit vector form. The numerical method for the direction vector is to first divide the three-dimensional coordinate variation component by its magnitude to obtain the direction component, and then take the average of multiple direction vectors at the same node and 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] The second step is to substitute the numerical value into the fractional part and calculate to obtain 0.3777;

[0121] The third step is to substitute the value into the arctangent part to calculate 1.5303;

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

[0123] The results show that when node i=1 is at time j=2 and time k=3, its optimized trajectory value is approximately 1.5303. If subsequent statistics show that this value is greater than 1.8, it indicates that the node's motion deviation and direction vector have a high degree of integration. If it is less than 1.0, it indicates that the deviation is relatively small. The incremental adjustment scheme for the subsequent motion trajectory can be determined by comparing the above thresholds.

[0124] Based on the calculated motion trajectory optimization values, when performing continuous interpolation on the trajectories of each group of skeletal nodes, the coordinates of adjacent points are first extracted from the time series of each node, and the coordinate differences between the two points are divided. If one or more timestamps are missing in a segment, an intermediate transition point is generated within that segment using interpolation. Joint interpolation is then performed on the previously confirmed tilt angle, direction vector, and motion vector length parameters. If the coordinate difference exceeds a threshold T obtained from historical sample statistics in adjacent time intervals, an additional smoothing coefficient is added to the interpolation process. This threshold T is determined by collecting data from similar skeletal nodes during continuous motion. The trajectory changes during the process are averaged and the standard deviation is added to determine the smoothing coefficient. The smoothing coefficient is obtained by comparing the spatial distance between adjacent points with the direction of node movement, thereby reducing the amplitude of sudden changes in the segment and ensuring the overall continuity of the trajectory. If the temperature exceeds 0℃ to 90℃ or the pressure exceeds 0MPa to 2MPa during the interpolation process, the relevant data information is recorded and further compared with the dynamic trend of the node in other time periods to confirm whether remeasurement is required. After all interpolation and parameter alignment, the time series of each group of nodes finally forms a continuously observable motion coordinate sequence. The sum of the interpolation results of all nodes generates the optimized motion sequence.

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

[0126] Based on the optimized action sequence, motion trajectory data is extracted from each skeletal node, the positional characteristics of the trajectory in three-dimensional space are analyzed, the motion data is converted into coordinate system information of the virtual environment, and a virtual environment trajectory mapping table is generated.

[0127] Based on the virtual environment trajectory mapping table, the spatial constraint value is calculated using the following formula:

[0128]

[0129] Among them, P ijk Let A be the spatial constraint value of skeletal node i in direction j and time k. ij and B ik C represents the actual position of node i in directions j and k, respectively. ij Let i be the boundary point in direction j, and QD be the boundary point in direction j. ik Let E be the collision point of node i in direction k. ij Let i be the virtual environment reference point for node i in direction j;

[0130] Spatial constraint parameters are generated based on spatial constraint values.

[0131] Specifically, based on the optimized motion sequence obtained earlier, when extracting motion trajectory data from each skeletal node, each motion data is first matched in a unified record index according to the node number and time sequence. Then, it is compared with the 3D coordinates registered during the capture process. During comparison, the temperature is controlled between 0℃ and 90℃ and recorded to see if it falls within this range. The pressure is controlled between 0MPa and 2MPa for judgment. If, after comparison, the coordinate value of each record crosses the threshold T derived from similar anthropometric tests (this threshold is derived by statistically analyzing the motion amplitude of multiple volunteers during posture capture and extracting the average and deviation), a prompt is added to this record. Subsequently, for all records meeting the threshold... The system records coordinates and time in a unified manner, and marks the three-dimensional position of the node at the time of action under each timestamp. This three-dimensional position is reorganized to match the coordinate system convention of the virtual environment. The x-axis range of -10m to 10m, the y-axis range of -5m to 5m, and the z-axis range of 0m to 3m in space are designated as common usable areas, and the corresponding coordinate records are mapped to the coordinate index of the virtual environment. If the coordinates are found to be out of the range within a certain period, they are marked and remeasured or observed during the summary stage. After all the data for all periods are integrated in the above way, an information set of node movement trajectories in the three-dimensional environment can be formed. Finally, a coordinate transformation mark corresponding to the virtual environment is added to each node record, and the data are summarized to form a virtual environment trajectory mapping table.

[0132] The advantage of the formula is that by simultaneously introducing boundary points, collision points, and virtual environment reference points, it can comprehensively evaluate the spatial distribution of nodes in multiple directions and at multiple times.

[0133] A ij The steps for obtaining the parameters are as follows: extract the coordinate value from the actual position monitoring data of node i in direction j. The coordinate value is obtained by taking multiple samples and removing outliers after the previous measurement of the joint or limb position plus a small range of movement caused by body activity.

[0134] B ik The steps for obtaining the parameters are as follows: record the spatial coordinates of node i at time k, compare the average of these coordinates with the previous records of the node in the same direction, and if the deviation of a single measurement is large, calculate the average of the results of multiple repeated measurements and update B. ik ;

[0135] C ij The steps for obtaining parameters are as follows: using the predefined boundary information provided by the human body model and motion capture software, the specific method is to observe the maximum normal range of movement of node i in direction j, and integrate the boundary point values ​​after verifying the extreme positions in three independent experiments.

[0136] QDik The steps for obtaining the parameters are as follows: Screening the records of the probability of node i making contact with the surrounding scene or other objects at time k, thereby identifying the collision location and quantifying it. The quantification method involves measuring the relative coordinate difference between the node and the obstacle at the instant of collision and taking the minimum value as QD. ik ;

[0137] E ij The steps for obtaining parameters are as follows: retrieve the calibration point corresponding to node i in direction j from the basic reference coordinates in the virtual environment. These calibration points are generated by the lookup 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] The first step is to 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] The second step is to calculate the absolute difference in the numerator:

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

[0142] The third step is to calculate the denominator, which is 3.40647.

[0143] Fourth step, divide the results:

[0144]

[0145] The results show that for node i=1, the spatial constraint value in direction j=1 and time k=2 is approximately 0.20555. If this value is greater than 0.5 in subsequent sampling, it indicates 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 indicates that the node's movement range is small within the safe range. This can provide a reference for subsequent virtual environment action constraint calculations.

[0146] Based on the spatial constraint values ​​calculated above, in the process of generating spatial constraint parameters, the spatial constraint values ​​of each node under different timestamps and directions are first compared horizontally, and then compared with the threshold T calculated through multi-scenario experiments. Records greater than T are marked as node motion entries with higher constraint strength. T is obtained by accumulating and extracting quantiles from the action limits and collision counts of different types of people in the simulated interactive environment. For records marked as having higher constraint strength, further verification is performed by combining the temperature range of 0℃ to 90℃, the pressure range of 0MPa to 2MPa, and the relative position of the node with surrounding objects. If a node continues to show excessively high constraint strength in multiple tests, it is classified into a special observation group and its repeatability is statistically analyzed. The number of repetitions is recorded in an additional list and sorted chronologically to show whether the node has been in a high-constraint state for a long time in the same direction. After all the constraint values ​​of all nodes under their respective spatiotemporal indices have been checked, the check results can be mapped to a unified index structure and combined with the node number, timestamp, direction sequence, and threshold comparison information to form a complete parameter record table. Finally, all constraint strength records, along with associated boundary and collision information, are merged and organized to generate the final spatial constraint parameters.

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

[0148] Based on the spatial constraint parameters, the trajectory information of each bone node is extracted, the direction distribution and velocity change trend of the motion trajectory are analyzed, and the motion adjustment range is calculated by combining the node boundary and collision parameters to generate a bone node motion trajectory and velocity analysis table.

[0149] Based on the skeletal node motion trajectory and velocity analysis table, the real-time motion correction value is calculated using the following formula:

[0150]

[0151] Among them, R ijk X is the motion correction value for skeletal node i in time j and direction k. ij and Y ik Let U be the trajectory position of node i at times j and k, respectively. ij Let GW be the velocity of the trajectory change of node i at time j. ik Let Q be the acceleration of the trajectory change of node i at time k. ij Let T be the current velocity of node i at time j. ik Let RZ be the time series factor of node i at time k. ij S is the motion direction coefficient of node i. ik Let i be the boundary adjustment factor for node i in direction k;

[0152] Based on real-time motion correction values, the motion trajectory and velocity parameters of each skeletal node are adjusted in real time, and the corrected motion data is integrated to generate real-time control signals that interact with the virtual environment.

[0153] Specifically, based on the spatial constraint parameters, the node number, time index, three-dimensional coordinate information, and corresponding boundary values ​​and collision parameters are extracted one by one from the three-dimensional trajectory data of the previously obtained skeletal nodes at each time point. Then, the nodes are marked and compared one by one against the temperature range of 0℃ to 90℃ and the pressure range of 0MPa to 2MPa. If the coordinate values ​​or collision values ​​of some records repeatedly exceed the threshold T obtained from the statistics of historical capture cases, T is calculated by filtering 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 node's boundary values. If the collision parameters are in If multiple peaks occur within a time period, the coordinate changes of the corresponding nodes in that period are analyzed in more detail. The movement velocities collected per second are arranged chronologically, and a column indicating the trend of velocity changes is added. When a velocity value exceeds the critical upper limit obtained from the 95th percentile of the measured data, the offset vector and boundary values ​​under adjacent timestamps are retrieved for further confirmation. After verifying the trajectory direction distribution and velocity changes of all records, the temporal movement range of each node, as well as the corresponding velocity, collision frequency, and boundary comparison results, are concentrated in the same structure and arranged sequentially by node number and time axis. Finally, this structure is uniformly arranged to form a skeletal node motion trajectory and velocity analysis table.

[0154] The advantage of the formula is that it comprehensively considers the time-series factors such as the trajectory position difference of the skeletal nodes, velocity and acceleration, and also incorporates the influence of the direction coefficient and boundary adjustment factor.

[0155] X ij The steps for obtaining the parameters are as follows: the trajectory position coordinates recorded by node i at time j are obtained by high-frequency sampling (more than 50 times per second), outliers exceeding three standard deviations are removed, and the remaining coordinates are averaged.

[0156] Y ik The steps to obtain the parameters are as follows: the trajectory position coordinates of node i at time k are obtained by using X... ij With the same collection frequency and elimination strategy, comparable items are ultimately formed in the same format;

[0157] U ij The steps for obtaining the parameters are as follows: the trajectory change rate of node i at time j is obtained by removing the measured spatial position and measuring the number of seconds in the interval to get the instantaneous velocity, and then calculating the average rate for all collection periods within a day and correcting it by combining the variance.

[0158] GW ik The steps for obtaining the parameters are as follows: the acceleration of the trajectory change of node i at time k is obtained by differentiating the velocities at multiple adjacent time points and dividing by the sampling time by the measurement step size. Then, the arithmetic mean of several measurements is used as GW. ik ;

[0159] Q ij The steps to obtain the parameters are as follows: the current speed of node i at time j, record the instantaneous speed of the node at that moment and exclude extreme spikes caused by device jitter, take the average value within the normal range and record it in the speed table;

[0160] T ik The steps for obtaining the parameters are as follows: the time series factor of node i at time k is calculated by combining the daily collection frequency with the order of that moment within the day to determine the time segment number. For example, the values ​​are segmented and labeled within a day, and the k-th segment corresponds to T. ik The value;

[0161] RZ ij The steps to obtain the parameters are as follows: the motion direction coefficient of node i is obtained by performing direction vector analysis on the continuous change of the three-dimensional coordinates, statistically analyzing the proportion of the offset in the main direction over a period of time and obtaining the direction component, and then taking the average value as the direction coefficient.

[0162] S ik The steps to obtain the parameters are as follows: the boundary adjustment factor of node i in direction k is used to normalize the distance between the node's location and the known boundary. If the node frequently approaches or crosses the boundary, the value of this factor will be larger. It is calculated by observing the distribution ratio inside and outside the boundary over a long period of time.

[0163] Calculation process:

[0164] The first step is to set the following measured value: 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] The second step is to calculate the denominator of the fraction, which is 0.5862:

[0166] The third step is to calculate the arcsine, which is 1.1421.

[0167] Step 4, Overall Results:

[0168]

[0169] The results show that when node i=1 is at time j=2 and direction k=3, the obtained motion correction value is about 1.9076. If the value is subsequently detected to be greater than 2.0, it indicates that there is a significant cumulative deviation between the node's motion trajectory and velocity. If it is less than 1.0, it indicates that the trajectory and velocity parameters are relatively stable. The node's motion trajectory can be adjusted in real time based on this difference.

[0170] Based on this real-time motion correction value, when adjusting the motion trajectory and velocity parameters of each skeletal node in real time, the time index of each node is first established with the previously calculated correction value. Nodes exceeding a threshold T obtained from historical experience data are marked as urgently needing adjustment. T is obtained from long-term observations of velocity changes and positional deviations of similar skeletal nodes, and its value can be considered as the median of correction values ​​over all observation intervals plus one standard deviation. Subsequently, the velocity change rate and the coordinate distribution of the node in three-dimensional space corresponding to the marked entries are compared segment by segment. Nodes with excessively rapid velocity increases or positional shifts exceeding a certain threshold are identified. Records within a 5m range determined by motion sensing are compiled. If a record reaches this range within a continuous three-second sampling frequency, the node is temporarily listed as a priority for adjustment. Then, during the adjustment process, the increasing trend of its correction value is compared with the fluctuation range of the correction value in the previous period. If the fluctuation range continues to increase, the node is observed again. If the fluctuation begins to decrease, the time and rate of decrease are recorded. Finally, all the corrected motion data are integrated in sequence and saved as new continuous trajectory information according to the node number and the time sequence. This results in a real-time control signal sequence that can be synchronously interacted with the virtual environment.

Claims

1. A multi-dimensional interactive control system based on digital human demonstration, characterized in that, The system includes: The state acquisition module calculates the spatial mapping relationship between the displacement of bone nodes and the joint angle value, connects the displacement data of each bone node with the corresponding joint angle value, and generates a multi-dimensional state vector; it then performs calculations on the displacement data of each bone node in the multi-dimensional state vector to generate an action feature mapping map. The resource scheduling module, based on the displacement data of each bone node in the action feature mapping map, divides the memory space into blocks and allocates addresses, generating a memory block index table; according to the memory block index table, it performs memory fragmentation and generates a dynamic resource allocation table. The motion optimization module establishes a mapping relationship between each address space in the dynamic resource allocation table and the corresponding skeletal node, and groups and marks them to generate an motion grouping mark set; it then performs motion trajectory smoothing and tweening operations on each group of skeletal nodes in the motion grouping mark set to generate an optimized motion sequence. The interactive 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 nodes, and generates spatial constraint parameters; it then adjusts the motion trajectory and velocity parameters of the skeletal nodes according to the spatial constraint parameters and generates real-time control signals. The steps for obtaining the multidimensional state vector are as follows: Capture the dynamic data of position changes and joint angles of each bone node, record the real-time displacement of each bone node and the corresponding joint angle value, and generate a preliminary dataset of node displacement and angle correspondence. Based on the preliminary dataset of node displacement and angle correspondence, spatial mapping analysis is performed on each data point. Through matrix operations, the displacement data of each bone node is linked with the corresponding joint angle value to obtain a complete node angle mapping table. Based on the improved node angle mapping table, the data of all bone nodes are integrated to construct a multi-dimensional state vector covering all joint angles and displacement information, and a multi-dimensional state vector is generated. The steps for obtaining the action feature mapping map are as follows: The multidimensional state vector is analyzed item by item to extract the displacement data of all bone nodes, and the three-dimensional spatial coordinate position of each node is marked. The spatial position information of each bone node is organized into a preliminary spatial coordinate dataset. Based on the preliminary spatial coordinate dataset, the transformed positions of the skeletal nodes are calculated; Based on the transformed position, the new position data of all nodes are integrated to generate an action feature mapping map.

2. 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 motion feature mapping map, the displacement data of each skeletal node is analyzed. According to the spatial distribution characteristics of the skeletal nodes, the spatial position parameters of each node are extracted, and the data of the skeletal nodes are classified according to the spatial distribution rules to generate a skeletal node spatial classification table. According to the skeletal node spatial classification table, the skeletal node classification data is allocated to memory blocks one by one. Combining the usage status and address distribution of the memory blocks, the memory addresses of the blocks are identified to form a memory block address table. Based on the memory block address table, the memory address of each block is marked and indexed to establish the correspondence between skeletal node classification data and memory block addresses. The status information of each block is integrated into index entries to generate a memory block index table.

3. 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: Based on the memory block index table, the usage status flags of each address block are parsed, and used and unused address blocks are extracted and organized into an independent usage status list to generate a memory address usage status table. Based on the memory address usage status table, the storage order of memory addresses is rearranged according to the distribution order of unused address blocks. Invalid address blocks are released through memory reclamation, and adjacent unused address blocks are merged to generate a memory fragmentation table. Based on the memory defragmentation table, the defragmented memory address blocks are mapped and associated with the corresponding resources, and memory addresses are reallocated for all defragmented resources to generate a dynamic resource allocation table.

4. The multi-dimensional interactive control system based on digital human demonstration according to claim 1, characterized in that, The steps for obtaining the action group tag set are as follows: Based on the dynamic resource allocation table, each address space information is parsed item by item, and the skeletal node identifier data of each address space is extracted. A correspondence between each address space and the skeletal node identifier is established according to the address space numbering order, generating a skeletal node address mapping table. Based on the skeletal node address mapping table and the three-dimensional spatial coordinates of the skeletal nodes, the distribution characteristics of each node in space are analyzed. According to the spatial coordinate axis division criteria, the skeletal nodes are grouped, and the coordinate range of each group of skeletal nodes is marked, generating a skeletal node grouping label table. Based on the skeletal node grouping label table, the grouped skeletal node identifiers are integrated, and a unified action grouping data structure is formed according to the logical numbering of the groups, generating an action grouping label set.

5. The multi-dimensional interactive control system based on digital human demonstration according to claim 1, characterized in that, The steps for obtaining the optimized action sequence are as follows: Based on the action grouping tag set, the original motion trajectory data is extracted from the time series of each group of bone nodes. Combined with the spatial coordinate distribution characteristics of bone nodes, an initial trajectory description matrix is ​​constructed. By analyzing the motion change trend and trajectory continuity between nodes, a bone node trajectory data table is generated. Based on the skeletal node trajectory data table, the motion trajectory optimization value is calculated; based on the motion trajectory optimization value, the trajectory of each group of skeletal nodes is continuously interpolated, and the missing trajectory points are filled and optimized by interpolation to generate an optimized motion sequence.

6. The multi-dimensional interactive control system based on digital human demonstration according to claim 1, characterized in that, The steps for obtaining the spatial constraint parameters are as follows: Based on the optimized action sequence, motion trajectory data is extracted from each skeletal node, the positional characteristics of the trajectory in three-dimensional space are analyzed, the motion data is converted into coordinate system information of the virtual environment, and a virtual environment trajectory mapping table is generated; based on the virtual environment trajectory mapping table, spatial constraint values ​​are calculated. Based on the spatial constraint values, spatial constraint parameters are generated.

7. The multi-dimensional interactive control system based on digital human demonstration according to claim 1, characterized in that, The steps for acquiring the real-time control signal are as follows: Based on the spatial constraint parameters, the trajectory information of each bone node is extracted, the direction distribution and velocity change trend of the motion trajectory are analyzed, and the motion adjustment range is calculated by combining the boundary and collision parameters of the node, generating a bone node motion trajectory and velocity analysis table. Based on the skeletal node motion trajectory and velocity analysis table, calculate the real-time motion correction value; Based on the real-time motion correction value, the motion trajectory and speed parameters of each skeletal node are adjusted in real time, the corrected motion data is integrated, and a real-time control signal for interaction with the virtual environment is generated.

Citation Information

Patent Citations

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

    CN110969114A

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

    CN111914798A