Gesture smoothing method, wearable device and readable storage medium
By dynamically selecting linear or nonlinear smoothing algorithms to process hand skeletal point data, the problem of unstable gesture smoothing effect in existing technologies is solved, achieving high robustness and accuracy in different motion scenarios.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANGHAI GOERTEK TECHNOLOGY DEVELOPMENT CO LTD
- Filing Date
- 2025-12-15
- Publication Date
- 2026-04-21
AI Technical Summary
Existing gesture smoothing methods based on linear motion models and Kalman filtering are difficult to adapt to the complex and varied motion patterns of hands in actual interactions. In particular, they are prone to over-smoothing in fast-moving scenarios, which leads to the loss of key gesture details and reduced robustness.
By receiving skeletal point data of the hand to be smoothed, the current motion state of the hand is assessed, and a linear or nonlinear smoothing algorithm is dynamically selected based on the motion state. If the hand moves slowly, a linear smoothing algorithm such as Kalman filtering is selected; if the hand moves rapidly, a nonlinear smoothing algorithm such as a temporal smoothing model is selected. Weighted fusion processing is used when switching algorithms to ensure the stability and accuracy of the smoothing effect.
It improves the robustness of gesture smoothing, maintaining stability and accuracy in different motion scenarios, effectively preserving key details of gestures, and avoiding the limitations of a single algorithm in different scenarios.
Smart Images

Figure CN121900679A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer vision technology, and in particular to a gesture smoothing method, a wearable device, and a readable storage medium. Background Technology
[0002] In the field of hand interaction, gesture smoothing is a key element in achieving precise and fluid interaction. Devices acquire hand images through image acquisition modules, which are then processed by hand detection and skeletal point localization modules to obtain the hand's three-dimensional coordinates. However, this coordinate data often contains noise and jitter, and using it directly for interaction can lead to a poor user experience. Therefore, smoothing processing is needed to optimize hand movement trajectories, thereby improving the accuracy and smoothness of interaction and ensuring that users can perform various operations naturally and accurately in virtual environments.
[0003] Currently, the most commonly used gesture smoothing method is Kalman filtering. Kalman filtering is a filtering algorithm based on a linear motion model that smooths the input coordinate data through prediction and update steps.
[0004] However, Kalman filtering, which is based on the assumption of a linear motion model, is difficult to adapt to the complex and varied motion patterns of the hand in actual interaction. In particular, it is prone to over-smoothing in fast motion scenarios, which leads to the loss of key details of the gesture. This significantly reduces the robustness of the gesture smoothing effect and makes it unstable in different motion scenarios.
[0005] Therefore, improving the robustness of gesture smoothing has become a pressing technical problem that needs to be solved. Summary of the Invention
[0006] The main objective of this application is to provide a gesture smoothing method, a wearable device, and a readable storage medium, aiming to solve the technical problem of how to improve the robustness of gesture smoothing effects.
[0007] To achieve the above objectives, this application provides a gesture smoothing method, which includes the following steps: Receive hand skeletal point data to be smoothed, and evaluate the current hand movement state based on the hand skeletal point data; If the motion state indicates that the hand is moving slowly, then the preset linear smoothing algorithm is selected as the target smoothing algorithm; If the motion state indicates rapid hand movement, then a preset nonlinear smoothing algorithm is selected as the target smoothing algorithm. The hand skeletal data is smoothed using the target smoothing algorithm to obtain smoothed hand skeletal data, thereby completing the gesture smoothing process.
[0008] In one embodiment, the hand skeletal point data is a frame of hand skeletal point coordinate data, and the step of evaluating the current hand movement state based on the hand skeletal point data includes: Obtain historical hand skeleton point coordinate data within a preset time window; Based on the hand bone point coordinate data and the historical hand bone point coordinate data, the average displacement velocity of the target hand bone point is calculated; If the average displacement velocity is less than a preset velocity threshold, then the slow movement of the hand is determined as the current movement state of the hand. If the average displacement velocity is greater than or equal to a preset velocity threshold, then the rapid hand movement is determined as the current hand movement state.
[0009] In one embodiment, a hand motion state assessment is performed once every first preset frame using the hand skeleton point coordinate data. After the step of receiving the hand skeleton point data to be smoothed, the method further includes: If the hand skeleton point coordinate data of the current frame triggers hand motion state assessment, then the step of assessing the current hand motion state based on the hand skeleton point data is executed. If the hand bone point coordinate data of the current frame does not trigger hand motion state evaluation, then the hand bone point coordinate data will continue to be smoothed using the current smoothing algorithm.
[0010] In one embodiment, before the step of smoothing the hand bone point data using the target smoothing algorithm to obtain smoothed hand bone data, the method further includes: Obtain historical smoothing algorithms; If the historical smoothing algorithm is consistent with the target smoothing algorithm, then the step of smoothing the hand bone point data using the target smoothing algorithm to obtain smoothed hand bone data is executed. If the historical smoothing algorithm is inconsistent with the target smoothing algorithm, then for the hand bone point data and the future hand bone point data of the second preset frame, the hand bone point data are smoothed by the target smoothing algorithm and the historical smoothing algorithm respectively, and the smoothing results obtained by different smoothing algorithms are weighted and fused to obtain smoothed hand bone data. Wherein, the second preset frame is less than or equal to the first preset frame.
[0011] In one embodiment, the step of weighted fusion of smoothing results obtained from different smoothing algorithms to obtain smoothed hand skeletal data includes: Determine the first weight of the historical smoothing algorithm and the second weight of the target smoothing algorithm, wherein the first weight decreases from a first preset value to zero in a decreasing trend, and the second weight increases from a second preset value to one in an increasing trend; Obtain the first smoothing result obtained by the historical smoothing algorithm and the second smoothing result obtained by the target smoothing algorithm; Based on the first weight and the second weight, the first smoothing result and the second smoothing result are weighted and fused to obtain smoothed hand skeleton data.
[0012] In one embodiment, the method further includes, prior to the step of evaluating the current hand movement state based on the hand skeletal point data: Get the current utilization rate of the processing unit; If the current occupancy rate is greater than or equal to the preset occupancy rate threshold, then the linear smoothing algorithm is selected as the target smoothing algorithm; If the current occupancy rate is less than a preset occupancy rate threshold, then the step of evaluating the current hand movement state based on the hand skeletal point data is executed.
[0013] In one embodiment, prior to the step of obtaining the current occupancy rate of the processing unit, the method further includes: Get the preset smoothing mode; If the smoothing mode is a fixed smoothing mode, then the hand bone point data is smoothed using a pre-set fixed smoothing algorithm. If the smoothing processing mode is an adaptive switching smoothing mode, then the step of obtaining the current occupancy rate of the processing unit is executed.
[0014] In one embodiment, the linear smoothing algorithm is a Kalman filtering algorithm, and the nonlinear smoothing algorithm is a time-series smoothing model algorithm.
[0015] In addition, to achieve the above objectives, this application also provides a wearable device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements the gesture smoothing method as described above.
[0016] In addition, to achieve the above objectives, this application also provides a readable storage medium, which is a computer-readable storage medium, on which a computer program is stored, and the computer program is executed by a processor to implement the steps of the gesture smoothing method as described above.
[0017] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the gesture smoothing method described above.
[0018] One or more technical solutions proposed in this application have at least the following technical effects: This application's embodiments effectively improve the robustness of gesture smoothing by introducing an adaptive algorithm selection mechanism based on hand movement state. Specifically, it receives hand skeletal point data to be smoothed and evaluates the current hand movement state based on this data. If the hand is in a slow movement state, a preset linear smoothing algorithm is selected as the target smoothing algorithm; if the hand is in a fast movement state, a preset nonlinear smoothing algorithm is selected as the target smoothing algorithm. Through this dynamic selection mechanism, the smoothing algorithm can be flexibly switched according to different movement scenarios, thereby effectively avoiding the limitations of a single algorithm in different scenarios. Furthermore, in slow movement scenarios, hand movements are relatively stable and closer to linear changes. In this case, using a linear smoothing algorithm can accurately preserve fine movement details during slow hand movements. In fast movement scenarios, hand movements are complex and have obvious nonlinear characteristics. Selecting a nonlinear smoothing algorithm can better adapt to this movement mode, effectively correcting coordinate errors in fast movement scenarios and preserving key details of the gesture, such as rapid finger pinching and knuckle bending. This dynamic selection strategy based on movement state ensures that the smoothing process remains stable and accurate in different movement scenarios, thereby improving the robustness of gesture smoothing. Attached Figure Description
[0019] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0020] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0021] Figure 1 This is a flowchart illustrating the first embodiment of the gesture smoothing method of this application; Figure 2 This is a schematic diagram of the overall architecture of the gesture smoothing method according to an embodiment of the present application. Figure 3 This is a schematic diagram of the gesture smoothing refinement process according to an embodiment of the gesture smoothing method of this application; Figure 4 This is a schematic diagram of the weighted fusion process involved in an embodiment of the gesture smoothing method of this application; Figure 5 This is a schematic diagram of the hardware operating environment of the gesture smoothing method device in the embodiments of this application.
[0022] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0023] To make the above-mentioned objects, features, and advantages of the present invention more apparent and understandable, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0024] The core process of hand interaction in head-mounted displays involves image acquisition, hand detection, output of 3D hand coordinates by the skeletal point localization module, smoothing, and output of the interaction interface. The smoothing process directly impacts the accuracy and fluency of the interaction. However, most existing solutions rely solely on Kalman filtering for smoothing. Kalman filtering, based on the assumption of linear changes in motion, cannot adapt to non-linear hand movements, such as finger pinching or knuckle bending, and is prone to over-smoothing. During rapid hand movements, it easily loses fine details of hand actions and cannot distinguish between natural shaking and detected abrupt changes, exhibiting poor robustness in dynamic scenes and low dimensional scalability.
[0025] Based on this, the main solution of this application is: receiving hand skeletal point data to be smoothed, evaluating the current hand movement state based on the hand skeletal point data; if the movement state indicates slow hand movement, selecting a preset linear smoothing algorithm as the target smoothing algorithm; if the movement state indicates fast hand movement, selecting a preset nonlinear smoothing algorithm as the target smoothing algorithm; and smoothing the hand skeletal point data using the target smoothing algorithm to obtain smoothed hand skeletal data, thereby completing the gesture smoothing process.
[0026] This application receives skeletal point data of the hand to be smoothed and evaluates the current hand motion state based on this data. If the hand is in a slow motion state, a preset linear smoothing algorithm is selected as the target smoothing algorithm; if the hand is in a fast motion state, a preset nonlinear smoothing algorithm is selected as the target smoothing algorithm. This dynamic selection mechanism allows for flexible switching of smoothing algorithms according to different motion scenarios, effectively avoiding the limitations of a single algorithm in different scenarios. Furthermore, in slow motion scenarios, hand movements are relatively stable and closer to linear changes; in this case, using a linear smoothing algorithm can accurately preserve fine motion details during slow hand movements. In fast motion scenarios, hand movements are complex and exhibit significant nonlinear characteristics; selecting a nonlinear smoothing algorithm can better adapt to this motion mode, effectively correcting coordinate errors in fast motion scenarios and preserving key details of the gesture, such as rapid finger pinching and knuckle bending. This dynamic selection strategy based on motion state ensures that smoothing processing remains stable and accurate in different motion scenarios, thereby improving the robustness of gesture smoothing effects.
[0027] It should be noted that the execution subject of the various embodiments of the gesture smoothing method of this application can be a computing service device with data processing, network communication, and program execution functions, such as a server, tablet computer, personal computer, mobile phone, etc., or a wearable device capable of realizing the above functions, such as a VR (Virtual Reality) headset, AR (Augmented Reality) headset, etc. The various embodiments of the gesture smoothing method of this application do not impose specific limitations on this; for example, the following description and explanation of the various embodiments of this application uses a headset as the execution subject.
[0028] Based on this, this application proposes a gesture smoothing method according to a first embodiment. In this embodiment, referring to... Figure 1 As shown, the gesture smoothing method includes the following steps S10~S40: Step S10: Receive the hand skeletal point data to be smoothed, and evaluate the current hand movement state based on the hand skeletal point data; This hand skeletal point data is a set of information representing the overall posture of the hand and the spatial position of its key parts, specifically manifested as the three-dimensional coordinate data of multiple predefined hand skeletal points. In practice, hand images can be acquired through the image acquisition module of the head-mounted display device, and the three-dimensional coordinate data of the hand skeletal points can be extracted using hand detection and skeletal point localization.
[0029] Then, the hand skeletal point data of consecutive frames are analyzed. By calculating the displacement, velocity, or their derived indices of specific key skeletal points or sets of key skeletal points in adjacent frames, the trend of hand movement is quantified. Based on this quantified trend, the current hand movement state is assessed and classified as slow or fast movement. For example, in one specific embodiment, if the average displacement velocity of the skeletal points is lower than a set threshold, it is determined to be a slow movement state; if the average displacement velocity is greater than the set threshold, it is determined to be a fast movement state.
[0030] Step S20: If the motion state indicates that the hand is moving slowly, then a preset linear smoothing algorithm is selected as the target smoothing algorithm. During slow hand movements, the motion pattern is relatively smooth and linear. Therefore, choosing a linear smoothing algorithm can effectively smooth the hand skeletal data while avoiding the loss of gesture details due to over-smoothing. The preset linear smoothing algorithm can be the Kalman filter algorithm or other smoothing algorithms suitable for linear motion scenarios. This linear smoothing algorithm is selected as the target smoothing algorithm to prepare for subsequent smoothing processing.
[0031] Step S30: If the motion state indicates rapid hand movement, then a preset nonlinear smoothing algorithm is selected as the target smoothing algorithm. During rapid hand movements, the motion patterns are complex and exhibit significant non-linear characteristics, such as rapid finger pinching and knuckle bending. Linear smoothing algorithms struggle to adapt to these motion patterns, often resulting in over-smoothing and loss of detail. Therefore, selecting a pre-defined non-linear smoothing algorithm can better handle rapid hand movements and preserve key gesture details. This pre-defined non-linear smoothing algorithm can be a machine learning-based smoothing algorithm (such as a temporal smoothing model), a non-linear filtering algorithm, or other smoothing algorithms suitable for non-linear motion scenarios. This non-linear smoothing algorithm is selected as the target smoothing algorithm to address the smoothing requirements during rapid hand movements.
[0032] Step S40: The hand bone point data is smoothed using the target smoothing algorithm to obtain smoothed hand bone data, thereby completing the gesture smoothing process.
[0033] Based on the target smoothing algorithm determined in the previous steps, the acquired hand bone point data is smoothed. If the target smoothing algorithm is a linear smoothing algorithm, the bone point data is smoothed according to the calculation rules of the linear smoothing algorithm to remove noise and jitter in the data, resulting in smoothed hand bone point data. If the target smoothing algorithm is a non-linear smoothing algorithm, the characteristics of the non-linear smoothing algorithm are used to process the bone point data, ultimately obtaining smoothed hand bone point data.
[0034] Furthermore, after obtaining the smoothed hand skeleton data, the smoothed hand skeleton point data can be output for subsequent gesture interaction processing, thereby completing the gesture smoothing process.
[0035] Based on the first embodiment of this application, in the second embodiment of this application, the content that is the same as or similar to that in the first embodiment can be referred to the above description, and will not be repeated hereafter. Based on this, the hand skeleton point data is a frame of hand skeleton point coordinate data, and the step of evaluating the current hand movement state based on the hand skeleton point data includes: Step A10: Obtain historical hand bone point coordinate data within a preset time window; In practice, a time buffer can be maintained to continuously store the coordinate data of hand bone points successfully identified within the most recent N frames (i.e., the preset time window), forming a historical data sequence that can be used for trend analysis.
[0036] Step A20: Calculate the average displacement velocity of the target hand bone points based on the hand bone point coordinate data and the historical hand bone point coordinate data. Select one or more representative target bone points (such as the fingertip of the index finger or the center point of the wrist). Based on the coordinates of the same target point in the current frame and historical frames, calculate the displacement of each target bone point within the time window. The displacement can be obtained by calculating the Euclidean distance between the bone point coordinates of two frames. Then, divide the bit values of all bone points by the duration of the time window to obtain the average displacement velocity of each bone point. The final average displacement velocity is obtained by weighting the displacement velocities of multiple bone points (e.g., assigning different weights according to the importance of the bone points) or by using an arithmetic mean. This average displacement velocity reflects the overall speed of hand movement.
[0037] Step A30: If the average displacement velocity is less than a preset velocity threshold, then the slow hand movement is determined as the current hand movement state. A preset velocity threshold v_th (e.g., 50 mm / s) is set to distinguish the hand's motion state. If the calculated average displacement velocity is less than this preset velocity threshold, the hand is determined to be in a slow motion state. In this state, the hand's movement is relatively smooth, and its motion pattern is closer to a linear change, making it suitable for processing with a linear smoothing algorithm. At this point, "slow hand movement" is determined as the current hand motion state, and the process proceeds to the next step to select the appropriate linear smoothing algorithm.
[0038] Step A40: If the average displacement velocity is greater than or equal to a preset velocity threshold, then the rapid hand movement is determined as the current hand movement state.
[0039] Conversely, if the calculated average displacement velocity is greater than or equal to a preset velocity threshold v_th, the hand is determined to be in a rapid motion state. In this state, the hand's movement is complex and exhibits significant nonlinear characteristics, such as rapid finger pinching and knuckle bending. In this case, linear smoothing algorithms may not be effective, easily leading to over-smoothing and loss of detail. Therefore, "rapid hand movement" is defined as the current hand motion state, and the appropriate nonlinear smoothing algorithm is selected in subsequent steps.
[0040] In one possible implementation, a hand motion state assessment is performed every first preset frame of the hand skeleton point coordinate data. After the step of receiving the hand skeleton point data to be smoothed, the method further includes: Step B10: If the hand skeleton point coordinate data of the current frame triggers hand motion state assessment, then the step of assessing the current hand motion state based on the hand skeleton point data is executed. After receiving the hand skeletal point data to be smoothed, the system first determines whether the current frame triggers a hand motion state assessment. Specifically, a first preset frame number (e.g., every 5 or 10 frames) is set to determine when to perform the motion state assessment. If the current frame number meets the preset frame number condition (e.g., the current frame number is a multiple of 5 or 10), then the current frame is considered to have triggered a hand motion state assessment. At this time, the current hand motion state is assessed based on the hand skeletal point data.
[0041] Step B20: If the hand bone point coordinate data of the current frame does not trigger hand motion state evaluation, then continue to smooth the hand bone point coordinate data using the current smoothing algorithm.
[0042] If the current frame number does not meet the preset frame number condition, meaning the current frame does not trigger hand motion state evaluation, then the smoothing algorithm determined in the previous evaluation continues to smooth the hand skeletal point coordinate data. This approach is based on the following consideration: in a short period of time, the hand's motion state usually does not change drastically, so it can be reasonably assumed that the motion state of the current frame is the same as the motion state at the time of the previous evaluation.
[0043] During the smoothing process, the hand skeleton point coordinates of the current frame are processed according to the target smoothing algorithm (linear or nonlinear) determined in the previous evaluation. If the previous evaluation determined it to be a linear smoothing algorithm, smoothing is performed according to the calculation rules of the linear smoothing algorithm; if the previous evaluation determined it to be a nonlinear smoothing algorithm, smoothing is performed according to the calculation rules of the nonlinear smoothing algorithm. In this way, the continuity and consistency of the smoothing process can be maintained without frequent motion state evaluations, while ensuring the stability and accuracy of the smoothing effect.
[0044] To optimize computational efficiency and reduce unnecessary evaluation operations, this embodiment introduces a frame interval mechanism, which evaluates the motion state of the hand skeleton point coordinates every preset number of frames (the first preset frame). This mechanism can reduce computational resource consumption and improve the overall performance of the system while ensuring evaluation accuracy.
[0045] In one possible implementation, before the step of smoothing the hand bone point data using the target smoothing algorithm to obtain smoothed hand bone data, the method further includes: Step C10: Obtain historical smoothing algorithms; Before performing smoothing, the currently used smoothing algorithm, i.e., the historical smoothing algorithm, is obtained. The historical smoothing algorithm refers to the smoothing algorithm determined and used after the last hand movement state evaluation; it may be a linear smoothing algorithm or a non-linear smoothing algorithm.
[0046] Step C20: If the historical smoothing algorithm is consistent with the target smoothing algorithm, then the step of smoothing the hand bone point data by the target smoothing algorithm to obtain smoothed hand bone data is executed. If the historical smoothing algorithm is consistent with the target smoothing algorithm, it means that the hand movement state has not changed significantly. In this case, the target smoothing algorithm is directly used to smooth the hand skeletal point data of the current frame.
[0047] Step C30: If the historical smoothing algorithm is inconsistent with the target smoothing algorithm, then for the hand bone point data and the future hand bone point data of the second preset frame, the hand bone point data are smoothed by the target smoothing algorithm and the historical smoothing algorithm respectively, and the smoothing results obtained by different smoothing algorithms are weighted and fused to obtain smoothed hand bone data. Wherein, the second preset frame is less than or equal to the first preset frame.
[0048] When a difference is detected between the target smoothing algorithm and the historical smoothing algorithm, it indicates a class switch in the hand movement state (e.g., from "slow" to "fast"). To avoid sudden changes or jitter in the output trajectory that might result from an instantaneous algorithm switch, a transition processing flow is initiated. In this flow, smoothing is performed in parallel using both the old and new algorithms (i.e., the target algorithm and the historical algorithm) not only on the current frame data but also on the next consecutive second preset frame data (these frames are considered short-term "future" data), yielding two sets of intermediate results. Subsequently, these two sets of intermediate results are weighted and fused frame by frame to finally generate a smooth and coherent skeletal point data output during the transition period. The number of this transition frames (the second preset frame) is no greater than the motion state evaluation interval (the first preset frame), ensuring coordination between state recognition and policy switching.
[0049] This weighted fusion process effectively reduces coordinate jumps during algorithm switching, ensuring continuous and stable hand movement trajectories and avoiding interruptions in the interactive experience. It can control coordinate fluctuations during switching to below the user's perception threshold, thereby ensuring the continuity and stability of smooth gesture processing.
[0050] In one possible implementation, refer to Figure 4 As shown, the step of weightedly fusing the smoothing results obtained from different smoothing algorithms to obtain smoothed hand skeleton data includes: Step D10: Determine the first weight of the historical smoothing algorithm and the second weight of the target smoothing algorithm, wherein the first weight decreases from a first preset value to zero in a decreasing trend, and the second weight increases from a second preset value to one in an increasing trend; At the start of the transition period for algorithm switching, a higher initial first weight (e.g., 1) is assigned to the historical smoothing algorithm, and a lower second weight (e.g., 0) is assigned to the target smoothing algorithm. As the frame sequence progresses during the transition period, the weights of both algorithms are dynamically adjusted according to a preset weight change function (e.g., a linear function): the first weight starts from its initial value and gradually decreases to zero as the frame number increases; the second weight starts from its initial value and gradually increases to 1 as the frame number increases. This weight change trend ensures that during the smoothing algorithm switching process, the weight of the historical smoothing algorithm gradually decreases, while the weight of the target smoothing algorithm gradually increases, thus achieving a smooth transition.
[0051] Step D20: Obtain the first smoothing result obtained by the historical smoothing algorithm and the second smoothing result obtained by the target smoothing algorithm; The historical smoothing algorithm processes the skeletal point data of the current period and the transition period, and outputs the first smoothing result sequence; at the same time, the target smoothing algorithm processes the same batch of input data and outputs the second smoothing result sequence.
[0052] Step D30: Based on the first weight and the second weight, the first smoothing result and the second smoothing result are weighted and fused to obtain smoothed hand bone data.
[0053] For each frame of data during the transition period, the real-time first weight and second weight corresponding to the current frame are read. Then, the data for that frame in the first smoothing result is multiplied by the first weight, and the data for that frame in the second smoothing result is multiplied by the second weight. The two weighted results are then added together to obtain the final, fused, smoothed hand skeleton point data for that frame. This weighted fusion process effectively suppresses output jumps that may occur due to direct algorithm switching, ensuring the continuity of the gesture trajectory and visual smoothness.
[0054] Based on the first and / or second embodiments of this application, in the third embodiment of this application, the content that is the same as or similar to the first and second embodiments described above can be referred to the above description and will not be repeated hereafter. Furthermore, the method prior to the step of evaluating the current hand movement state based on the hand skeletal point data further includes: Step E10: Obtain the current occupancy rate of the processing unit; The processing unit refers to the computing resources used to perform gesture smoothing tasks, such as CPU (Central Processing Unit) and GPU (Graphics Processing Unit). Obtaining the current utilization rate of the processing unit can be achieved by calling system performance monitoring tools or using the API (Application Programming Interface) provided by the operating system.
[0055] Step E20: If the current occupancy rate is greater than or equal to a preset occupancy rate threshold, then the linear smoothing algorithm is selected as the target smoothing algorithm. When the current occupancy rate reaches or exceeds a preset safety threshold, it indicates that the head-mounted display device is experiencing a shortage of computing resources. To ensure the real-time performance and stability of the overall interactive system and to avoid computational delays or stuttering caused by the introduction of complex evaluation and nonlinear calculations, the subsequent motion state evaluation process will be skipped, and a linear smoothing algorithm with high computational efficiency and low resource consumption (such as basic Kalman filtering) will be directly specified as the target smoothing algorithm to reduce system load.
[0056] Step E30: If the current occupancy rate is less than a preset occupancy rate threshold, then the step of evaluating the current hand movement state based on the hand skeletal point data is executed.
[0057] If the current occupancy rate is lower than a preset threshold, it indicates that the device has sufficient computing power. At this time, the subsequent step of "evaluating the current hand movement state based on the hand bone point data" will continue to be executed according to the established process. This allows the device to make an adaptive selection between linear and nonlinear smoothing algorithms based on the actual hand movement dynamics, in order to pursue the optimal smoothing effect under resource-allowed conditions.
[0058] In one possible implementation, prior to the step of obtaining the current occupancy rate of the processing unit, the method further includes: Step F10: Obtain the preset smoothing mode; The smoothing mode can be preset by the user or the system according to the actual application scenario. It is used to determine whether to use a fixed smoothing algorithm or an adaptive switching smoothing algorithm for gesture smoothing. The smoothing mode setting provides the basic execution direction for the entire smoothing process, ensuring that the system can perform subsequent operations according to the predetermined strategy.
[0059] Step F20: If the smoothing mode is a fixed smoothing mode, then the hand bone point data is smoothed using a pre-set fixed smoothing algorithm. If a fixed smoothing mode is selected, a pre-set fixed smoothing algorithm will be directly used to smooth the hand skeletal point data. This fixed mode is suitable for scenarios with clear and stable requirements for smoothing effects. It avoids the additional computational overhead of dynamic evaluation and algorithm switching, ensuring the efficiency and consistency of smoothing processing. In fixed smoothing mode, other factors, such as the occupancy rate of processing units or the hand movement state, are no longer considered. Instead, a fixed smoothing algorithm is directly applied to quickly complete the smoothing task, providing stable support for gesture interaction.
[0060] Step F30: If the smoothing processing mode is an adaptive switching smoothing mode, then the step of obtaining the current occupancy rate of the processing unit is executed.
[0061] The adaptive smoothing mode is designed to dynamically select the most suitable smoothing algorithm under different system loads and hand movement states, achieving the best balance between smoothing effect and system performance. Therefore, in this mode, the current system resource status, i.e., the utilization rate of processing units, is first assessed. This allows the system to decide whether to directly use a linear smoothing algorithm or further evaluate the hand movement state to select a more appropriate smoothing algorithm based on the utilization rate. This process demonstrates flexibility and intelligence, enabling it to make optimal processing decisions based on different situations, thus ensuring the quality of gesture interaction while also considering the overall system performance.
[0062] In one possible implementation, the linear smoothing algorithm is a Kalman filtering algorithm, and the nonlinear smoothing algorithm is a time-series smoothing model algorithm.
[0063] The linear smoothing algorithm employs the Kalman filter. The Kalman filter smooths the input signal (in this case, hand skeletal point data) through recursive prediction and update steps. In a preferred embodiment, the Kalman filter is configured with the following parameters: process noise covariance matrix Q = 0.01, observation noise covariance matrix R = 0.1, and initial covariance matrix P is an identity matrix. These parameter settings enable the Kalman filter to effectively remove noise and jitter from the data when processing linear motion scenarios, while accurately preserving the details of fine hand movements. The Kalman filter is suitable for scenarios with slow hand movements, where the hand movements are relatively smooth and nearly linear. Its main advantages are low computational complexity, fast response, and the ability to provide smooth output results, making it suitable for use in resource-constrained scenarios or scenarios with high real-time requirements.
[0064] Temporal smoothing model algorithms are suitable for processing nonlinear motion data and are better adapted to rapid hand movements and complex action scenarios. In a preferred embodiment, the temporal smoothing model submodule adopts a lightweight network structure, specifically a 3-layer gated recurrent unit (GRU) plus a fully connected layer. This network structure has powerful nonlinear temporal modeling capabilities, capable of capturing complex nonlinear features of hand movements, such as rapid finger pinching and knuckle bending. The model focuses on solving the error correction problem in rapid motion and abrupt transition scenarios. By learning from a large amount of hand motion data, it can more accurately predict and smooth the motion trajectory of hand skeletal points, thereby preserving more gesture details in rapid motion scenarios and avoiding the loss of key information due to over-smoothing.
[0065] The time-smoothing lightweight model employs a multi-frame sliding window to generate training and inference data. The input consists of consecutive frames of skeletal point data, and the output is the result of the intermediate frames of the sliding window. This design balances temporal context information and time alignment, enabling better capture of the dynamic features of hand movements. During training, the model adapts the normalization parameters mean and std based on the computational environment. These parameters are used to normalize the input data to address the issue of inconsistent distributions across different datasets. During inference, the input data is first normalized using the mean and std parameters calculated during training. Then, the model makes predictions, and finally, the output is denormalized to restore the scale of the original data. This normalization and denormalization process ensures the model's stability and accuracy under different data distributions.
[0066] To ensure efficient deployment and compatibility of the lightweight temporal smoothing model, it is deployed using a lightweight model format, and an engineered inference interface is developed. These interfaces ensure compatibility between the lightweight temporal smoothing model and the Kalman filter module, enabling seamless switching and collaborative operation of the two smoothing algorithms within the same system. This design not only improves system flexibility but also ensures the selection of the most suitable smoothing algorithm under different motion states and system load conditions, thereby guaranteeing both the quality of gesture interaction and the overall system performance.
[0067] For example, to aid in understanding the technical concept or principle of the gesture smoothing method combined with the first and second embodiments described above, a specific embodiment is provided below. In this specific embodiment, gesture smoothing optimization is achieved through a three-level architecture of "state-aware decision-making - engineering adaptation optimization - smooth output." Specifically, refer to... Figure 2 As shown, the overall architecture design is as follows: Input layer: Input continuous multi-frame temporal data of skeletal points (i.e., hand skeletal point data), hand motion features, head-mounted display device status, and left and right hand labels output by the hand detection module; Core modules: Kalman smoothing submodule, temporal smoothing lightweight model submodule, algorithm scheduling submodule, and transition processing submodule; Output layer: smoothed hand skeletal point 3D coordinates, directly connected to the target interaction interface.
[0068] Algorithm Switching Strategy: The switching trigger mechanism enables rapid switching through engineering configuration commands, supporting algorithm specification during the compilation stage (i.e., setting a fixed smoothing mode) and automatic switching based on dynamic states (i.e., adaptive smoothing mode). Motion State Triggering: Calculate the average displacement velocity v of core skeleton points across multiple consecutive frames, setting a threshold v_th: When v < v_th, enable Kalman filtering to preserve fine motion details; when v ≥ v_th, enable a lightweight temporal smoothing model, utilizing its nonlinear temporal modeling capabilities to correct for jumps. Resource State Triggering: Monitor the headset's CPU utilization C in real time; when C > 80%, force a switch to Kalman to avoid stuttering; when C < 80%, adaptively select based on motion state.
[0069] The transition processing mechanism eliminates coordinate jumps during switching by adopting a multi-frame sliding window weighted fusion strategy: after several frames, the weight of the new algorithm increases linearly from 0 to 1, while the weight of the old algorithm decreases from 1 to 0; fusion logic: the weighted value is calculated based on the three-dimensional coordinates of each bone point to ensure a smooth transition for each bone point and avoid local jumps.
[0070] Engineering adaptation and optimization scheme: For the target interaction standard, implement skeletal point format conversion logic to ensure consistent input and output formats for both algorithms. Format conversion supplements or adjusts skeletal point configurations according to the interaction standard to ensure a unified coordinate system. The conversion function is embedded in the switching module, eliminating the need for separate adaptation between the two algorithms; they can directly call the unified interface. The time-smoothing lightweight model uses multi-frame sliding window generation for training / inference data. The input is continuous multi-frame skeletal point data, and the output is the intermediate frame result of the sliding window, taking into account both temporal context and time alignment. During training, the normalization parameters mean and std are adapted to the computational environment. During inference, the input data is normalized first, and the output is denormalized, resolving the issue of inconsistent dataset distribution. The time-smoothing lightweight model is deployed using a lightweight model format, and an engineering-grade inference interface is written to ensure compatibility with the Kalman module interface.
[0071] Based on the above architecture, referring to Figure 3 As shown, the gesture smoothing process includes: (1) Input layer: responsible for collecting and providing all the data required for the algorithm to run. Among them, the continuous multi-frame skeleton point time series data comes from the skeleton point localization module of the head display device and is input in the form of a three-dimensional coordinate sequence; the hand motion features include the displacement velocity v and acceleration a of the core skeleton points, which are the key basis for the algorithm switching decision; the head display device status data covers the CPU and GPU utilization rates, which are used to dynamically adapt to the device's computing power constraints.
[0072] (2) Core Processing Layer: This is the core execution unit of the algorithm, realizing the dynamic scheduling and data processing of the smoothing algorithm. Among them, the algorithm scheduling submodule is the core of the architecture, with built-in dynamic decision-making logic, which can automatically select the appropriate smoothing algorithm according to the device status and motion characteristics of the input layer; the Kalman smoothing submodule is configured with parameters Q=0.01, R=0.1, and initial covariance matrix P=identity matrix, mainly used for noise reduction processing of linear motion scenes, which can accurately preserve the fine details of hand movements; the temporal smoothing lightweight model submodule adopts a 3-layer GRU + fully connected layer network structure, which has nonlinear temporal modeling capabilities and focuses on solving the error correction problem of fast motion and jump scenes; the transition processing submodule adopts a multi-frame weighted fusion strategy to eliminate coordinate jumps during algorithm switching and ensure the continuous and stable hand movement trajectory.
[0073] (3) Output layer: The output format of the three-dimensional coordinates of the smoothed hand bone points is fully compatible with the target interaction standard, and the output frequency reaches 30Hz, which meets the core requirements of real-time interaction of head-mounted display devices and can be directly connected to subsequent interaction interfaces.
[0074] (4) Data Flow and Working Logic: Continuous multi-frame skeletal point temporal data, hand motion features, and head-mounted display device status data from the input layer are synchronously fed into the algorithm scheduling submodule. Left and right hand labels are fed into the Kalman smoothing submodule and the temporal smoothing lightweight model submodule, respectively, providing classification information for the two smoothing algorithms. The algorithm scheduling submodule dynamically switches algorithms according to preset decision rules—when CPU utilization C>80% or movement speed v<0.1m / s, the Kalman smoothing submodule is activated; when CPU utilization C≤80% and movement speed v≥0.1m / s, the temporal smoothing lightweight model submodule is activated. The processing results of both algorithms are fed into the transition processing submodule, and after weighted fusion, the smoothed 3D coordinates are output. Simultaneously, the dotted feedback link in the figure implements frame synchronization, resource status feedback, and algorithm result feedback, ensuring dynamic adjustment and stable operation of the architecture.
[0075] This approach achieves at least the following effects: First, significantly improved functional adaptability. By enabling flexible switching between Kalman filtering and the lightweight temporal smoothing model, it can adapt to both linear and nonlinear motion scenarios. It accurately preserves fine motion details during slow hand movements and effectively corrects coordinate errors in fast movements and abrupt transitions, overcoming the current limitations of single Kalman filtering in scene adaptation. Second, guaranteed smoothness of switching. A weighted transition mechanism effectively eliminates coordinate jumps during algorithm switching, ensuring continuous and stable hand movement trajectories, avoiding interruptions to the interactive experience, and keeping coordinate fluctuations during switching below the user's perception threshold. Third, strong engineering feasibility. Optimization techniques such as skeletal point format adaptation, data normalization, and lightweight deployment effectively address the practical deployment challenges of the lightweight temporal smoothing model. Both algorithms meet the real-time interaction requirements of head-mounted displays, while resource consumption can be dynamically adjusted to adapt to the computational constraints of head-mounted displays. Fourth, excellent universality and scalability. The switching framework is not limited to Kalman filtering and lightweight temporal smoothing models; it can also integrate other adaptive filters and temporal smoothing models. The solution adapts to target interaction standards and can be directly applied to multiple scenarios such as VR gesture interaction and precise positioning. Fifth, the optimization space is clearly defined. The shortcomings of existing models in transition repair and oversmoothing can be further improved by supplementing training data, such as pairing clean and noisy samples. It is not affected by the performance of a single model and has the ability for continuous optimization.
[0076] It should be noted that the above examples are only used to help understand this embodiment and do not constitute a limitation on the gesture smoothing process of this embodiment. Any simple modifications based on this technical concept are within the protection scope of this application.
[0077] Furthermore, embodiments of this application also propose a wearable device, the wearable device comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the method described above.
[0078] refer to Figure 5 The diagram illustrates a structural schematic suitable for implementing the embodiments of this application. The wearable devices in the embodiments of this application may also include, but are not limited to, mobile terminals such as mobile phones, VR headsets, laptops, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 5 The wearable device shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments of this application.
[0079] like Figure 5 As shown, the wearable device may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage device 1003 into a random access memory (RAM) 1004. The RAM 1004 also stores various programs and data required for the operation of the wearable device. The processing unit 1001, ROM 1002, and RAM 1004 are interconnected via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to the I / O interface 1006: input devices 1007 including, for example, a touchscreen, touchpad, keyboard, mouse, image sensor, microphone, accelerometer, gyroscope, etc.; output devices 1008 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; storage devices 1003 including, for example, magnetic tape, hard disk, etc.; and communication devices 1009. Communication device 1009 allows wearable devices to communicate wirelessly or wiredly with other devices to exchange data. While wearable devices with various systems are shown in the figures, it should be understood that implementation or possession of all the systems shown is not required. More or fewer systems may be implemented alternatively.
[0080] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from ROM 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.
[0081] The wearable device provided in this application, employing the gesture smoothing method described in the above embodiments, can solve the technical problem of how to improve the robustness of gesture smoothing effects. Compared with the prior art, the beneficial effects of the wearable device provided in this application are the same as those of the gesture smoothing method provided in the above embodiments, and other technical features of the wearable device are the same as those disclosed in the previous embodiment method, and will not be repeated here.
[0082] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.
[0083] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0084] In addition, to achieve the above objectives, embodiments of this application also provide a readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, the computer-readable program instructions being used to execute the gesture smoothing method in the above embodiments.
[0085] The computer-readable storage medium provided in this application embodiment may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.
[0086] The aforementioned computer-readable storage medium may be included in the wearable device; or it may exist independently and not assembled into the wearable device.
[0087] The aforementioned computer-readable storage medium carries one or more programs, which, when executed by a wearable device, cause the wearable device to perform the process steps of any embodiment of the gesture smoothing method.
[0088] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0089] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0090] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the module itself.
[0091] The readable storage medium provided in this application is a computer-readable storage medium that stores computer-readable program instructions (i.e., a computer program) for executing the above-described gesture smoothing method, thereby solving the technical problem of how to improve the robustness of gesture smoothing effects. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the gesture smoothing method provided in the above embodiments, and will not be repeated here.
[0092] Furthermore, embodiments of this application also propose a computer program product, including a computer program that, when executed by a processor, implements the steps of the gesture smoothing method as described above.
[0093] The specific implementation of the computer program product in this application is basically the same as the various embodiments of the gesture smoothing method described above, and will not be repeated here.
[0094] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.
[0095] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0096] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software sensor. This computer software sensor is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes several instructions to cause a wearable device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0097] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A gesture smoothing method, characterized in that, The gesture smoothing method includes the following steps: Receive hand skeletal point data to be smoothed, and evaluate the current hand movement state based on the hand skeletal point data; If the motion state indicates that the hand is moving slowly, then the preset linear smoothing algorithm is selected as the target smoothing algorithm; If the motion state indicates rapid hand movement, then a preset nonlinear smoothing algorithm is selected as the target smoothing algorithm. The hand skeletal data is smoothed using the target smoothing algorithm to obtain smoothed hand skeletal data, thereby completing the gesture smoothing process.
2. The gesture smoothing method as described in claim 1, characterized in that, The hand skeletal point data is a frame of hand skeletal point coordinate data. The step of evaluating the current hand movement state based on the hand skeletal point data includes: Obtain historical hand skeleton point coordinate data within a preset time window; Based on the hand bone point coordinate data and the historical hand bone point coordinate data, the average displacement velocity of the target hand bone point is calculated; If the average displacement velocity is less than a preset velocity threshold, then the slow movement of the hand is determined as the current movement state of the hand. If the average displacement velocity is greater than or equal to a preset velocity threshold, then the rapid hand movement is determined as the current hand movement state.
3. The gesture smoothing method as described in claim 2, characterized in that, The method further includes, after the step of receiving the hand bone point coordinate data to be smoothed, performing a hand motion state assessment once every first preset frame of the hand bone point coordinate data, the method further includes: If the hand skeleton point coordinate data of the current frame triggers hand motion state assessment, then the step of assessing the current hand motion state based on the hand skeleton point data is executed. If the hand bone point coordinate data of the current frame does not trigger hand motion state evaluation, then the hand bone point coordinate data will continue to be smoothed using the current smoothing algorithm.
4. The gesture smoothing method as described in claim 3, characterized in that, Before the step of smoothing the hand bone point data using the target smoothing algorithm to obtain smoothed hand bone data, the method further includes: Obtain historical smoothing algorithms; If the historical smoothing algorithm is consistent with the target smoothing algorithm, then the step of smoothing the hand bone point data using the target smoothing algorithm to obtain smoothed hand bone data is executed. If the historical smoothing algorithm is inconsistent with the target smoothing algorithm, then for the hand bone point data and the future hand bone point data of the second preset frame, the hand bone point data are smoothed by the target smoothing algorithm and the historical smoothing algorithm respectively, and the smoothing results obtained by different smoothing algorithms are weighted and fused to obtain smoothed hand bone data. Wherein, the second preset frame is less than or equal to the first preset frame.
5. The gesture smoothing method as described in claim 4, characterized in that, The step of weightedly fusing the smoothing results obtained from different smoothing algorithms to obtain smoothed hand skeleton data includes: Determine the first weight of the historical smoothing algorithm and the second weight of the target smoothing algorithm, wherein the first weight decreases from a first preset value to zero in a decreasing trend, and the second weight increases from a second preset value to one in an increasing trend; Obtain the first smoothing result obtained by the historical smoothing algorithm and the second smoothing result obtained by the target smoothing algorithm; Based on the first weight and the second weight, the first smoothing result and the second smoothing result are weighted and fused to obtain smoothed hand skeleton data.
6. The gesture smoothing method as described in claim 1, characterized in that, The method prior to the step of evaluating the current hand movement state based on the hand skeletal point data further includes: Get the current utilization rate of the processing unit; If the current occupancy rate is greater than or equal to the preset occupancy rate threshold, then the linear smoothing algorithm is selected as the target smoothing algorithm; If the current occupancy rate is less than a preset occupancy rate threshold, then the step of evaluating the current hand movement state based on the hand skeletal point data is executed.
7. The gesture smoothing method as described in claim 6, characterized in that, Before the step of obtaining the current occupancy rate of the processing unit, the method further includes: Get the preset smoothing mode; If the smoothing mode is a fixed smoothing mode, then the hand bone point data is smoothed using a pre-set fixed smoothing algorithm. If the smoothing processing mode is an adaptive switching smoothing mode, then the step of obtaining the current occupancy rate of the processing unit is executed.
8. The gesture smoothing method according to any one of claims 1 to 7, characterized in that, The linear smoothing algorithm is the Kalman filtering algorithm, and the nonlinear smoothing algorithm is the time-series smoothing model algorithm.
9. A wearable device, characterized in that, include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements the gesture smoothing method as described in any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a device control program, which, when executed by a processor, implements the steps of the gesture smoothing method as described in any one of claims 1 to 8.