Method, device, storage medium and program product for processing myoelectric signals

CN122946670APending Publication Date: 2026-10-20北京渊澈太初智能科技有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611105857.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-23
Publication Date
2026-10-20

AI Technical Summary

Benefits of technology

[0017]本申请提供的肌电信号处理方法、设备、存储介质及程序产品,通过获取肌电信号采集模块输出的多通道肌电信号;根据所述多通道肌电信号,生成手部发力信息;在第一界面中根据所述手部发力信息显示多个手指的力度大小信息,以及突出显示目标手指的力度变化曲线;所述力度变化曲线用于展示手指在预设时长内的力度变化信息;其中,所述目标手指按照预设筛选规则动态切换;其中,所述目标手指按照预设筛选规则动态切换,一方面通过力度大小信息直观呈现各手指实时发力幅值,另一方面突出显示目标手指力度变化曲线,预设筛选规则自动动态切换目标手指及对应的力度变化曲线,从而用户既可以获知各手指在某一时刻的力度分布情况,又可以通过力度变化曲线了解动态选中的目标手指在预设时长内的力度随时间变化的具体走势,因此在一定程度上实现了从空间分布和时间变化两个维度对手部发力信息进行同步展示,丰富了力度信息的呈现层次。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure FT_1
    Figure FT_1
  • Figure FT_2
    Figure FT_2
  • Figure FT_3
    Figure FT_3
Patent Text Reader

Abstract

This application provides an electromyography (EMG) signal processing method, device, storage medium, and program product, relating to the field of artificial intelligence technology. The method includes: acquiring multi-channel EMG signals output by an EMG signal acquisition module; generating hand force information based on the multi-channel EMG signals; displaying the force magnitude information of multiple fingers on a first interface based on the hand force information, and highlighting the force change curve of a target finger; the force change curve is used to display the force change information of the finger within a preset time period; wherein the target finger is dynamically switched according to a preset filtering rule. The above solution allows users to intuitively view real-time force and force change information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of artificial intelligence technology, and in particular to an electromyography signal processing method, device, storage medium, and program product. Background Technology

[0002] Existing electromyography (EMG) interaction systems can typically predict different levels of force from EMG signals. However, in some scenarios, such as real-time rehabilitation training assessment, prosthetic hand control, or visualization scenarios involving sports biomechanics, it is often necessary to know the real-time force and force changes of the user's five fingers. Therefore, there is an urgent need for a solution that can intuitively present real-time force and force changes. Summary of the Invention

[0003] This application provides a method, apparatus, device, storage medium, and program product for electromyography signal processing.

[0004] In a first aspect, this application provides a method for processing electromyographic signals, including:

[0005] Acquire multi-channel electromyographic signals output from the electromyographic signal acquisition module;

[0006] Based on the multi-channel electromyography signals, hand force information is generated;

[0007] The first interface displays the force information of multiple fingers based on the hand force information, and highlights the force change curve of the target finger; the force change curve is used to display the force change information of the finger within a preset time period; wherein, the target finger is dynamically switched according to a preset filtering rule.

[0008] Secondly, this application provides a gesture prediction device based on electromyographic signals, comprising:

[0009] The first acquisition unit is used to acquire the multi-channel electromyographic signals output by the electromyographic signal acquisition module;

[0010] The first generation unit is used to generate hand force information based on the multi-channel electromyography signals;

[0011] The display unit is used to display the force information of multiple fingers in the first interface according to the hand force information, and to highlight the force change curve of the target finger; the force change curve is used to display the force change information of the finger within a preset time period; wherein, the target finger is dynamically switched according to a preset filtering rule.

[0012] Thirdly, this application provides an electronic device, including: a processor, and a memory communicatively connected to the processor;

[0013] The memory stores computer-executed instructions;

[0014] The processor executes computer execution instructions stored in the memory to implement methods such as the first aspect and various possible designs of the first aspect.

[0015] Fourthly, this application provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement methods as described in the first aspect and various possible designs of the first aspect.

[0016] Fifthly, this application provides a computer program product, including a computer program that, when executed by a processor, implements the methods described in the first aspect and various possible designs of the first aspect.

[0017] The electromyography (EMG) signal processing method, device, storage medium, and program product provided in this application acquire multi-channel EMG signals output by an EMG signal acquisition module; generate hand force information based on the multi-channel EMG signals; display the force magnitude information of multiple fingers in a first interface based on the hand force information, and highlight the force change curve of a target finger; the force change curve is used to display the force change information of the finger within a preset time period; wherein, the target finger is dynamically switched according to a preset filtering rule; wherein, the target finger is dynamically switched according to the preset filtering rule, on the one hand, the real-time force amplitude of each finger is intuitively presented through the force magnitude information, and on the other hand, the force change curve of the target finger is highlighted. The preset filtering rule automatically and dynamically switches the target finger and the corresponding force change curve, so that the user can not only know the force distribution of each finger at a certain moment, but also understand the specific trend of the force change of the dynamically selected target finger over time within a preset time period through the force change curve. Therefore, to a certain extent, it realizes the synchronous display of hand force information from two dimensions: spatial distribution and temporal change, enriching the presentation level of force information. Attached Figure Description

[0018] 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.

[0019] Figure 1 A schematic flowchart illustrating an electromyographic signal processing method provided in some embodiments of this application;

[0020] Figure 2 This is a schematic diagram of an application scenario;

[0021] Figure 3 This is a schematic diagram of an application scenario;

[0022] Figure 4 A schematic flowchart illustrating an electromyographic signal processing method provided in other embodiments of this application;

[0023] Figure 5 This is a schematic diagram of the structure of an electromyography signal processing device provided in an embodiment of this application.

[0024] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0025] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0026] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, storage, use, processing, transmission, provision, disclosure, and application of the relevant data all comply with relevant laws, regulations, and standards, necessary confidentiality measures have been taken, they do not violate public order and good morals, and corresponding operation portals are provided for users to choose to authorize or refuse.

[0027] Electromyography (EMG) signals refer to the electrical activity signals of muscles collected from the surface of human skin, which can be obtained by electrodes attached to the skin surface. These signals reflect the electrophysiological changes that occur during muscle contraction. For example, when a user clenches their fist, the forearm flexor muscles generate electrical activity, which the EMG signal acquisition module detects and outputs a corresponding electrical signal.

[0028] Multichannel electromyography (EMG) signals refer to time-series data that reflect bioelectrical signals generated by muscle activity, acquired through multiple acquisition channels.

[0029] An electromyography (EMG) signal acquisition module refers to a hardware device used to acquire EMG signals. This module can be worn on the user's forearm or wrist and contains multiple electrodes, with each electrode corresponding to one EMG signal channel. For example, some EMG acquisition modules contain 16 channels, allowing simultaneous acquisition of EMG signals from multiple locations on the forearm.

[0030] Hand force information refers to a dataset generated based on electromyography (EMG) signals to describe hand force application posture. This information includes the force values ​​for each of the five fingers. For example, hand force information can include the current force values ​​for the thumb, index finger, middle finger, ring finger, and little finger, which can be expressed in Newtons or as dimensionless normalized values.

[0031] The first interface refers to the graphical user interface used to present information related to hand force exertion. This interface can be displayed on the screen of the client device. For example, it can be the main window of an application, a web page, or the display panel of an embedded system.

[0032] Force information refers to information used to characterize the current force exerted by each finger.

[0033] A force variation curve is a graphical representation of how finger force changes over time. This curve is plotted on a coordinate system with time on the horizontal axis and force value on the vertical axis. It displays the fluctuations in finger force within a preset time interval.

[0034] A target finger refers to one or more fingers that are dynamically selected from a pool of fingers. The force change information of this finger is displayed separately in the force change curve. For example, when the user's index finger exerts the most force during the process of making a fist, the index finger is identified as the target finger, and its force change curve is displayed.

[0035] Preset filtering rules refer to the criteria used to dynamically determine the target finger from multiple fingers. These rules do not rely on manual user input but are automatically applied based on the force data of each finger.

[0036] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.

[0037] Figure 1 This is a flowchart illustrating the gesture prediction method based on electromyography signals provided in an embodiment of this application. Figure 1 As shown, the method includes the following steps:

[0038] S101: Acquire multi-channel electromyographic signals output by the electromyographic signal acquisition module.

[0039] The execution subject of the gesture prediction method based on electromyography signals provided in this embodiment can be any electronic device with computing capabilities, including but not limited to desktop computers, laptops and other terminal devices, as well as servers, or a combination of terminal devices and servers.

[0040] The electromyography (EMG) signal acquisition module is detachably worn on the user's forearm or wrist. This module may include EMG electrodes, each corresponding to a signal acquisition channel, for acquiring EMG signals generated by muscle activity at different locations in the user's forearm or wrist. As an example, the EMG signal acquisition module may contain 16 acquisition channels, simultaneously acquiring EMG signals from all 16 channels at a sampling rate of 2000Hz, and transmitting the acquired signals to the aforementioned electronic device in the form of data frames. This transmission can be wired (e.g., via USB interface) or wireless (e.g., via Bluetooth interface). Data transmission between the EMG signal acquisition module and the aforementioned electronic device follows preset communication parameters, including baud rate, data bits, stop bits, and parity bits.

[0041] In some implementations, the electromyography (EMG) signal acquisition module is connected to the electronic device via a Universal Serial Bus (USB) cable, and the operating system of the electronic device recognizes the USB connection as a virtual serial communication port. In other implementations, the EMG signal acquisition module is paired with the electronic device via Bluetooth wireless protocol, and this Bluetooth connection is also virtualized as a serial communication port at the operating system level, with EMG signals transmitted via the Bluetooth link. It can operate in a serial bus manner, with Bluetooth serving as an alternative communication method. The electronic device can perform operations such as opening, reading, and closing the data transmission channel through the serial port application programming interface provided by the operating system. The EMG signal acquisition module packages the sampled values ​​of the acquired multi-channel EMG signals according to a preset frame format and sends them to the electronic device as a byte stream through the data transmission channel.

[0042] In one implementation, the baud rate can be set to 2,000,000 bits per second. This baud rate can meet the bandwidth requirements for real-time transmission of multiple channels (e.g., 16 channels) of EMG data at a sampling rate of 2000 Hz. It is understood that this baud rate value can be adaptively adjusted according to the number of channels, sampling rate, and transmission medium. The EMG signal acquisition module assembles the acquired data into packets according to a preset frame format and sends them via a serial port. Each frame of data includes a frame header identifier, a length field, a payload, and a checksum field. The frame header identifier is used to identify the start position of a data frame. When receiving the byte stream, the electronic device locates the boundary of the data frame by detecting the frame header identifier. In some implementations, the frame header identifier is two specific bytes (e.g., 0x5A and 0xA5), and the consecutive appearance of these two bytes indicates the start of a data frame. The length field is used to indicate the number of bytes of payload in the current data frame. After reading the length field, the electronic device reads the corresponding number of bytes as the payload according to this value.

[0043] The payload contains sampled values ​​of the electromyography (EMG) signals from each channel. Each frame of the payload contains sampled values ​​from N channels, each represented by an M-bit signed integer. In some implementations, N=16 and M=24, meaning each frame contains sampled values ​​from 16 channels, each represented by a 24-bit signed integer. The electronic device parses the raw analog-to-digital conversion values ​​of each channel from the payload.

[0044] The checksum field is used to verify whether an error occurred during the transmission of a data frame. The electronic device performs a checksum operation on the received data frame and compares the result with the checksum field. If they match, the data frame is valid; if they do not match, the data frame is determined to have been corrupted during transmission, and the electronic device discards the data frame. As an example, the checksum field can use CRC8 verification. When calculating the checksum, the electronic device can set the byte containing the checksum field to zero according to a preset value, perform a CRC8 operation on the data frame, and compare the result with the checksum field.

[0045] In some examples, the aforementioned electronic device can receive multi-channel electromyography (EMG) signals sent by the EMG signal acquisition module. The EMG signals arrive at the client as a continuous data stream. The electronic device can parse the received signals according to a preset data frame format. As an example, the data frame may include a frame header identifier, a length field, a payload, and a checksum field. The electronic device can locate the start position of the data frame based on the frame header identifier, read the sampled values ​​of each channel in the payload, and perform checksum verification on the data frame. Valid data that passes the checksum verification is then extracted as multi-channel EMG samples.

[0046] The electronic device can store the parsed multi-channel electromyographic signals in a buffer for subsequent processing. This buffer can employ a queue structure to manage the multi-channel electromyographic signal data in a first-in, first-out manner.

[0047] S102: Generates hand force information based on multi-channel electromyography signals.

[0048] In some examples, electronic devices can perform signal preprocessing on multi-channel electromyography (EMG) signals and then extract feature information related to hand force exertion from the preprocessed EMG signals of each channel. The aforementioned signal preprocessing may include, but is not limited to, one or more combinations of operations such as denoising and filtering of the EMG signals.

[0049] Electronic devices can generate hand force information based on the aforementioned feature information. In some embodiments, the electronic device can input the feature information of multi-channel electromyography (EMG) signals into a preset force estimation model, and infer the force value of each finger through the force estimation model. The force estimation model can be a machine learning or deep learning-based model, such as a temporal model like a convolutional neural network, recurrent neural network, or long short-term memory network. The force estimation model can be a pre-trained model capable of outputting force estimates for each finger based on the input multi-channel EMG signals. The force estimation model outputs the force values ​​corresponding to multiple fingers. As an example, the force estimation model outputs the force values ​​of five fingers: thumb, index finger, middle finger, ring finger, and little finger, with each force value represented as a continuous numerical value.

[0050] In some scenarios, electronic devices can use the force values ​​of multiple fingers output by a force estimation model as hand force information. This hand force information includes the force intensity data of each finger at the current moment.

[0051] S103: The first interface displays the force information of multiple fingers based on the hand force information, and highlights the force change curve of the target finger; the force change curve is used to display the force change information of the finger within a preset time period; the target finger is dynamically switched according to preset filtering rules.

[0052] The electronic device acquires the force values ​​of each finger from the hand's force exertion information and presents these values ​​visually on a first interface. As an example, the electronic device can display a bar chart for each finger on the first interface, with the height or length of the bar chart proportional to the force value of the corresponding finger. When the force value of a finger increases, the corresponding bar chart increases in height or length.

[0053] As another example, the electronic device can display specific force values ​​for each finger on the first interface, such as displaying numerical information like "5.2N" or "3.8N" overlaid near the finger icon or on the energy bar.

[0054] The electronic device can refresh the force information display on the first interface at a preset update frequency to show the real-time changes in the force value of each finger. This update frequency can be set according to actual needs, such as 50Hz, 30Hz, or 10Hz.

[0055] The electronic device can also display a force change curve on the first interface. This force change curve can include force change information of at least one finger within a preset time period, and is used to highlight the force change information of a dynamically selected target finger within the preset time period. The target finger can be dynamically determined by the electronic device according to preset filtering rules.

[0056] In some implementations, the preset filtering rules include one or more of the following:

[0057] Maximum strength, minimum current strength, maximum rate of change of current strength, or minimum rate of change of current strength.

[0058] As one example, the electronic device compares the current force values ​​of multiple fingers in real time and identifies the finger with the largest current force value as the target finger. As another example, the electronic device compares the current force values ​​of multiple fingers in real time and identifies the finger with the smallest current force value as the target finger. The absolute values ​​of the force values ​​of the five fingers can be taken to determine the largest or smallest force. As yet another example, the electronic device can calculate the rate of change of force for each finger in real time and identify the finger with the largest rate of change of force as the target finger. The rate of change of force can be determined by calculating the change in force value of the finger within a preset time window, such as calculating the difference in force between the current moment and the previous moment, or calculating the fitted slope of the force values ​​within the preset time window. As yet another example, the electronic device can also identify the finger with the smallest rate of change of force as the target finger.

[0059] As another example, electronic devices can also consider both the current force value and the rate of change of force, perform a weighted comprehensive score on both, and determine the finger with the highest or lowest score as the target finger. Understandably, the preset filtering rules can also be set according to specific application scenarios.

[0060] In some examples, the electronic device can repeatedly execute the above determination process at preset intervals (e.g., 0.1 seconds). When the determination result of the target finger changes, the electronic device automatically switches the target finger to the finger corresponding to the new determination result, realizing dynamic automatic switching of the target finger.

[0061] In some examples, the electronic device can also update the force change curve of the original target finger to the force change curve of the new target finger after the change, based on the detection of changes in fingers that meet the above preset screening rules.

[0062] In some examples, after identifying a target finger, the electronic device acquires data on the force changes of that finger over a preset time period. The preset time period could be a time window extending backwards from the current moment. The electronic device extracts the sequence of force values ​​for the target finger within this time window from stored historical hand force application information. The electronic device then plots the force change data of the target finger on a force change curve. This curve is plotted on a coordinate system with time on the horizontal axis and force value on the vertical axis. The curve reflects the trend of the force value of the target finger changing over time within the preset time interval.

[0063] As an example, an electronic device can display the change in force of a target finger in the area where the force change curve is drawn, with the curve extending to the right. When the curve exceeds the preset display area, the excess part is moved out of the display area, and only the curve segment within the preset duration interval is retained.

[0064] The electronic device can distinguish the force change curve of the target finger from those of other fingers in the first interface. As an example, the electronic device can display only the force change curve of the target finger, excluding the curves of the other fingers. As another example, the electronic device can display the force change curves of multiple fingers simultaneously, but highlight the curve of the target finger in a way that differentiates it from the curves of the other fingers (e.g., different color, different line width, different brightness).

[0065] The electronic device refreshes the display of the force change curve at a preset update frequency, so that the curve updates in real time as the target finger is switched and the force value changes.

[0066] In these implementations, by integrating multi-dimensional filtering rules for extreme values ​​of force and extreme values ​​of force change rate, the system can adapt to diverse usage needs of electromyographic gesture monitoring. During rehabilitation training, it can automatically focus on the fingers with the strongest / weakest force, intuitively grasping the balance of force exertion in all five fingers. When adjusting electromyographic control gestures, it can prioritize locking onto the fingers with the most intense or stable force fluctuations, accurately locating areas of abnormal force exertion and stable signals. The system does not require manual switching of observation objects and automatically updates the single-finger force change curve dynamically according to the selected rules, avoiding interface clutter caused by multiple curves on the same screen, reducing the visual burden on medical staff and debugging personnel who need to continuously observe multiple fingers, and taking into account both static amplitude and dynamic fluctuation of force exertion, thereby improving the intuitiveness and adaptability of electromyographic gesture force monitoring.

[0067] In some implementations, step S103 above displays force information of multiple fingers on the first interface based on hand force information, including one or more of the following:

[0068] The first interface displays bar charts corresponding to multiple fingers, with the length or height of the bars being positively correlated with the force applied; alternatively, the fingertips of the hand model presented in the first interface display heat map icons; the color and / or brightness of the heat map icons change according to the current force value of the corresponding finger.

[0069] A bar chart is a visual element used to graphically represent the magnitude of data. A bar chart uses the length or height of bars to represent the specific numerical value of the corresponding data, and the extension length or height of the bars is positively correlated with the represented data value. For example, in one presentation, a bar chart is represented as rectangular bars extending from bottom to top; the higher the bar, the greater the force value of the corresponding finger. In another presentation, a bar chart is represented as rectangular bars extending from left to right; the longer the bar, the greater the force value of the corresponding finger. A hand model is a three-dimensional or two-dimensional graphical object presented in the first interface to simulate the appearance of a human hand. This model can be presented as a three-dimensional solid model, a two-dimensional planar graphic, or a two-dimensional skeletal diagram. The hand model includes multiple parts corresponding to the anatomical structure of the human hand, including the fingertip area. Heatmap labels: These are visual markers superimposed on various areas of the hand model to represent the force magnitude corresponding to that area.

[0070] In some examples, the aforementioned electronic device can display separate bar charts for each finger on a first interface based on the force applied by multiple fingers. The length or height of the bar chart is positively correlated with the force applied by the corresponding finger. As an example, the electronic device can draw an independent bar chart element for each finger on the first interface. Each bar chart element is represented as a rectangular bar extending in one direction from a baseline. The endpoint of the extension of the rectangular bar is determined by the force value of the corresponding finger; the greater the force value, the greater the extension length or height of the rectangular bar. Specifically, the electronic device can perform the following processing for each finger: obtain the force value corresponding to that finger; determine the extension amount of the bar chart corresponding to that finger based on the force value; and draw the bar chart according to the extension amount. When drawing the bar chart, the electronic device can also assign different colors to different fingers so that the user can distinguish the bar charts corresponding to each finger. In addition, the electronic device can also identify the corresponding finger name for each bar chart. Finger names may include, for example, "thumb," "index finger," "middle finger," "ring finger," and "little finger."

[0071] The electronic device can repeatedly execute the above bar chart drawing process according to a preset update cycle. When the force value of each finger changes, the electronic device adjusts the extension of each bar chart accordingly, so that the bar chart reflects the current force of each finger in real time.

[0072] In some examples, the electronic device may present a hand model on a first interface. This hand model can be a three-dimensional model or a two-dimensional planar graphic. The hand model includes multiple fingertip areas and / or multiple knuckle areas, each fingertip area and / or each knuckle area corresponding to a segment of a finger. The electronic device displays heatmap icons on each fingertip area and / or each knuckle area of ​​the hand model. The color and / or brightness of the heatmap icons change according to the current force value of the corresponding finger.

[0073] As an example, an electronic device can generate a heatmap label for each fingertip area of ​​a hand model. The electronic device obtains the current force value of the finger corresponding to that fingertip area, determines the color and / or brightness of the heatmap label based on the force value, and then overlays the heatmap label onto the fingertip area.

[0074] Electronic devices can employ various methods to determine the color and / or brightness of heatmap markers based on intensity values. For example, an electronic device can pre-define a color mapping table that defines the correspondence between multiple intensity value ranges and multiple colors. The electronic device then determines the color of the heatmap marker as the color corresponding to the intensity value range to which the current intensity value belongs. Alternatively, the electronic device can use a continuous function to map intensity values ​​to coordinate values ​​in a color space, thereby assigning a continuously changing color to any intensity value.

[0075] The electronic device performs the aforementioned heatmap label generation and display process for each target area (including the fingertip area and / or knuckle area) of each finger. At the same time, the heatmap labels corresponding to different fingers can display different colors and / or brightness to reflect the relative magnitude of the current force value of each finger.

[0076] The electronic device repeatedly performs the heatmap icon update process according to a preset update cycle. When the force value of a finger changes, the electronic device updates the color and / or brightness of the heatmap icon corresponding to that finger, so that the heatmap icon reflects the current force of each finger in real time.

[0077] When electronic devices display bar charts and heatmaps, both are generated based on the same set of hand force information, thus reflecting the same level of force applied to each finger. The bar chart uses graphical bar elements to present the force comparison of each finger, while the heatmap displays the spatial distribution of force across a spatial area of ​​the hand model. Both convey force information to the user from different dimensions.

[0078] In the above embodiments, since the force information of multiple fingers is displayed in the first interface using bar charts or heatmaps, the interface can transform abstract hand force data into intuitive visual graphics, thus reducing the difficulty for users to understand the force information to a certain extent. Specifically, when using bar charts, since the length or height of the bars is positively correlated with the force, users can quickly compare the differences in force exertion of each finger by observing the visual length or height of the bars, making it easier to identify fingers with greater force or uneven force distribution. When using hand models in conjunction with heatmaps, since the color and / or brightness of the heatmaps change with the current force value of the corresponding finger, users can directly observe the changes in color depth or brightness at the finger or knuckle position, thus more intuitively perceiving the force exertion location and force change trend of each finger. Since the above two display methods can be used individually or in combination, electronic devices can adapt to different users' visual preferences and usage scenarios, enriching the presentation dimensions of force information to a certain extent and improving the intuitiveness of human-computer interaction feedback and information transmission efficiency.

[0079] Figure 2 For example, a scene illustration Figure 2 As shown, the first interface 201 can display a bar chart 202 showing the force of the five fingers based on the collected multi-channel electromyography signals, as well as a force change curve 203 highlighting the target finger (thumb). It can also display a hand model 204 and display heat map markers 205 in the fingertips or knuckles of the hand model.

[0080] In this embodiment, multi-channel electromyography (EMG) signals are first collected and the force data of the five fingers is calculated. Two types of visualization content are integrated on the same interface: the magnitude of force and the force change curve of the target finger. On the one hand, the magnitude of force is presented intuitively (as shown in 202). On the other hand, the force change curve of the target finger is highlighted. Preset filtering rules automatically and dynamically switch the target finger (as shown in 203) and its corresponding force change curve. Thus, users can not only know the force distribution of each finger at a certain moment, but also understand the specific trend of the force change of the dynamically selected target finger over a preset time period through the force change curve. Therefore, to a certain extent, it achieves simultaneous display of hand force information from both spatial distribution and temporal change dimensions, enriching the presentation layers of force information. Since the target finger is dynamically switched according to preset filtering rules, the finger corresponding to the force change curve will automatically update as the filtering rules change. Users can view the force change trend of different fingers sequentially in the force change curve without manual switching. Therefore, it improves the convenience and continuity of viewing multi-finger force information to a certain extent, and also enhances the dynamic adaptability of the force change display during interaction.

[0081] In some embodiments, the method further includes: displaying a time-domain waveform of a multi-channel electromyographic signal within a preset duration and a spectrum overlay within a preset frequency band on a first display interface.

[0082] The electronic device can acquire multi-channel electromyographic (EMG) signals collected within a preset time period. These multi-channel EMG signals can include the signal amplitudes of each channel at multiple sampling times.

[0083] The electronic device can generate a time-domain waveform diagram within a preset duration based on the multi-channel electromyography (EMG) signal. As an example, for each channel, the electronic device can connect the amplitudes of each sampling moment within the preset duration, with time as the horizontal axis and signal amplitude as the vertical axis, to form the time-domain waveform curve of that channel. The electronic device can plot the time-domain waveform curves of multiple channels separately on the same coordinate system, or separately on different sub-graphs, to form a time-domain waveform diagram within the preset duration.

[0084] The electronic device can also generate a spectrum overlay of a preset frequency band (e.g., 60-500Hz) within a preset duration based on the multi-channel electromyography (EMG) signal. As an example, the electronic device can perform a Fourier transform on the EMG signal of each channel to obtain the spectrum data for that channel. This spectrum data can include amplitude or power values ​​corresponding to different frequencies. The electronic device can plot the spectrum curves of each channel on the same coordinate system, with frequency on the horizontal axis and amplitude or power on the vertical axis, thus forming a spectrum overlay. In the spectrum overlay, the spectrum curves of different channels can be distinguished by different colors or line styles.

[0085] The electronic device can display the time-domain waveform and the spectrum overlay on the first display interface. In some embodiments, the electronic device can divide the first display interface into multiple display areas, one area for displaying the time-domain waveform and another area for displaying the spectrum overlay. In some embodiments, the electronic device can also label the time-domain waveform and the spectrum overlay with channel names or numbers to facilitate user identification of signals corresponding to different channels.

[0086] Figure 3 For example, a schematic diagram of an application scenario. Figure 3 As shown, in addition to displaying the bar chart 202 showing the force of the five fingers based on the collected multi-channel electromyography (EMG) signals, the force change curve 203, the hand model 204, and the heat map labels 205 for each fingertip or phalanx of the hand model, the first interface 201 can also display the time-domain waveform diagram 206 of the multi-channel EMG signals, and the spectrum diagram 207 of the multi-channel EMG signals. The spectrum diagram 207 can be a spectrum diagram within the range of 60~500Hz. In the figure, the spectrum diagram 207 is a superimposed effect diagram of the spectrum diagrams of the multi-channel EMG signals.

[0087] In this embodiment, since the time-domain waveforms of multi-channel electromyography (EMG) signals within a preset duration are displayed on the first display interface, users can intuitively understand the changing trends and amplitudes of each channel's EMG signals over time by observing these waveforms. This facilitates the analysis of the time-domain characteristics of the EMG signals to a certain extent. Furthermore, since a spectral overlay is also displayed simultaneously, users can compare the frequency distribution characteristics of different channels and observe the differences in energy concentration bands and frequency components of each channel. This enriches the visualization dimensions of the EMG signals and improves the comprehensiveness of the multi-channel EMG data display and the convenience of comparative analysis.

[0088] Figure 4 This is a flowchart illustrating an electromyographic signal processing method provided in some embodiments. For example... Figure 4 As shown, the method includes, in addition to, with Figure 1 In addition to the same steps S401-S402 as steps S101-S102 shown, the following steps are also included:

[0089] S403: Generates hand posture information based on multi-channel electromyography signals.

[0090] Electronic devices can extract signal features from preprocessed electromyographic (EMG) signals. These features can include one or more of time-domain, frequency-domain, or time-frequency-domain features. Illustratively, time-domain features can include the root mean square (RMS), absolute mean, or number of zero-crossings of the EMG signal; frequency-domain features can include power spectral density or median frequency; and time-frequency-domain features can include the energy of each sub-band after wavelet packet decomposition. In some examples, the electronic device can input these signal features into a pre-trained posture estimation model, which can output angle parameters for multiple joints of each finger. The electronic device can then construct current hand posture information based on these angle parameters.

[0091] S404: The first interface displays the force information of multiple fingers and the force change curve based on the hand force information; the force change curve is used to display the force change information of the dynamically selected target finger within a preset time period; wherein, the target finger is dynamically switched according to the preset filtering rules.

[0092] For specific implementation details of step S404, please refer to [link / reference]. Figure 1 The relevant description of step S103 in the illustrated embodiment will not be repeated here.

[0093] S405: Based on the hand pose information, control the hand model in the first interface or independent rendering window to present a hand pose corresponding to the hand pose information.

[0094] The hand model can be displayed in the main interface or in a separate rendering window. It serves as a graphical object simulating the shape of a human hand. The hand model can include the palm and multiple knuckles corresponding to each finger. For example, the hand model can be a three-dimensional model constructed through 3D modeling, or a hand diagram drawn using two-dimensional graphics.

[0095] The electronic device can extract the angle parameters corresponding to each finger joint from the hand posture information and drive the corresponding joints in the hand model to rotate or bend according to these angle parameters. For example, when the hand posture information indicates that the proximal interphalangeal joint of the index finger is bent at 30 degrees, the electronic device can rotate the proximal interphalangeal joint model of the index finger in the hand model by 30 degrees around the corresponding rotation axis, so that the index finger of the hand model presents the corresponding bent posture. The electronic device can drive the joints corresponding to each finger in the hand model separately according to the angle parameters of each finger joint, so that the hand model as a whole presents the posture corresponding to the hand posture information.

[0096] In this embodiment, since the electronic device generates hand posture information based on multi-channel electromyography (EMG) signals, and EMG signals can reflect the electrophysiological changes generated by muscle activity, the hand posture can be inferred and reconstructed to a certain extent based on these signals. Because the electronic device controls the hand model to present the corresponding posture according to the hand posture information, the hand model can visualize and map the user's actual hand configuration onto the first interface in real time. Therefore, users can intuitively see the digital representation of their own hand posture. Since the electronic device can continuously acquire multi-channel EMG signals and update the presented posture of the hand model in real time, the user's actual hand movements and the posture of the hand model can maintain dynamic synchronization, thus enhancing the real-time feedback experience during human-computer interaction.

[0097] In some implementations, hand posture information is obtained by processing multi-channel electromyographic signals acquired from a shared queue using a posture estimation model; force magnitude information of multiple fingers is obtained by processing multi-channel electromyographic signals acquired from a shared queue using a force estimation model.

[0098] A shared queue is a data storage structure used to cache multi-channel electromyography (EMG) signals. This shared queue can be accessed and read by multiple processing modules or models. The shared queue can employ a first-in, first-out (FIFO) data storage method, with newly written data placed at the tail of the queue and data retrieved from the head during reading. This shared queue can be a bounded queue, with its capacity limit preset according to the actual application scenario; for example, it can be set to store a certain number of EMG signal samples. In one implementation, the sample limit for the low-latency acquisition queue can be set to 480 samples.

[0099] The preset time interval can be, for example, the period from one second before the current moment to the current moment. The posture estimation model refers to a computational model used to estimate hand posture information based on electromyographic (EMG) signals. This posture estimation model can be built based on machine learning algorithms and pre-trained. Its input can include multi-channel EMG signals, and its output can include hand posture information. The posture estimation model can include any of the following: convolutional neural network (CNN), recurrent neural network (RNN), or temporal convolutional network (TCNN). The force estimation model can refer to a computational model used to estimate the force magnitude information of multiple fingers based on EMG signals. This force estimation model can be built based on machine learning algorithms and pre-trained. Its input can include multi-channel EMG signals, and its output can include the force value corresponding to each finger. This force estimation model can include any of the following: convolutional neural network (CNN), recurrent neural network (RNN), or temporal convolutional network (TCNN).

[0100] An electronic device can acquire multi-channel electromyography (EMG) signal sample values ​​at a preset sampling rate and write these sample values ​​into a shared queue. This shared queue can store the signal amplitude values ​​of each channel at each sampling time in chronological order. In some implementations, the shared queue is a bounded queue with a preset capacity limit (e.g., 1000 sample values). When the amount of data stored in the shared queue reaches this capacity limit, newly written data can overwrite the oldest data stored in the queue, or the electronic device can block the write operation until free storage space appears in the queue. As one implementation, the preset time interval can be set with the current time as a reference. The preset time interval can be a period from one second before the current time to the current time. One or more threads running in the electronic device can read the EMG signal amplitude values ​​of each channel stored in the shared queue within this time interval through one or more accesses, forming a data segment.

[0101] The electronic device can continuously write multi-channel electromyographic (EMG) signals output from the EMG signal acquisition module into a shared queue, while threads inputting data to the posture estimation model and the force estimation model can read data from this shared queue according to their respective processing rhythms. The signal acquisition process can continue without waiting for the model processing to complete, and the time consumed during model processing will not block the continuous writing of signals, thus improving the independence and parallelism between the various modules of the system to a certain extent.

[0102] Because the multi-channel electromyographic signals stored in the shared queue can be accessed and read by both the posture estimation model and the force estimation model, multiple processing models can share the same data source. This eliminates the need to establish independent signal acquisition and storage links for each model, thus saving system storage resources and data transmission overhead, and simplifying the architecture design of the data processing flow. Since both the posture estimation model and the force estimation model read the same segment of multi-channel electromyographic signals within a preset time interval from the shared queue, the input data used by the two models are perfectly aligned in time. Therefore, the generated hand posture information and force magnitude information correspond to the hand posture at the same moment or within the same time period, avoiding to some extent the problem of time misalignment between the two types of information caused by inconsistent input data time windows.

[0103] The thread that inputs data to the pose estimation model can read multi-channel electromyography (EMG) signal samples from a shared queue and input them into the model. The model then processes these multi-channel EMG signals and outputs corresponding hand pose information at different times. In some examples, the thread can form processing blocks of 80 samples, applying median filtering, bandpass filtering (40-850Hz), and band-stop filtering to integer multiples of 50Hz within the 50Hz to 850Hz range before inputting into the pose model. The pose model includes a 1791-point (assuming a sampling rate of 2kHz, approximately 0.896 seconds of EMG data) window feature extractor and a stepwise decoder. The decoder can input the current features, the joint angles of the previous frame, and the hidden pose. The decoder can output the joint angles of multiple joints corresponding to multiple fingers. That is, the pose inference window is updated every 80 new samples.

[0104] The thread that inputs data to the force estimation model can feed multi-channel electromyography (EMG) signals read from a shared queue into the model. The model processes these signals and outputs force magnitude information for each finger. The model performs feature extraction and mapping on the input EMG signals to determine the force exertion of each finger. It outputs the force value for each of the five fingers, expressed in Newtons.

[0105] Since both the posture estimation model and the force estimation model acquire multi-channel EMG signals from the same shared queue, the input data used by the two models are perfectly aligned in the time dimension. Therefore, the generated hand posture information and the force magnitude information of multiple fingers correspond to the hand posture at the same moment or within the same time period, which to some extent avoids the time misalignment problem caused by inconsistent input time windows between the two types of information. Because this shared queue can be accessed and read by both the posture estimation model and the force estimation model simultaneously, the acquisition results of multi-channel EMG signals can be reused by multiple processing models without establishing independent signal acquisition links for each model, thus reducing system resource overhead and data transmission redundancy to some extent. Since the shared queue provides a data buffering mechanism, the signal acquisition end and the signal processing end can be decoupled, and signal writing and reading can be performed independently at different rhythms, thus improving the flexibility of the system architecture and the parallel processing capability of each module to some extent. Furthermore, since the electronic device can flexibly acquire signal data within preset time intervals of different lengths from the shared queue, it is convenient to adjust the model input time window according to the actual application scenario, thus enhancing the adaptability of the solution to different demand scenarios to some extent.

[0106] In some application scenarios, hand posture information and the force magnitude information of multiple fingers are obtained by the posture estimation model and the force estimation model, respectively, by processing the same source and the same batch of sampled values. Specifically, the electronic device can first parse and output the batch. The electronic device can parse multiple sampled values ​​from multiple data frames sent from a single source, and send these sampled values ​​to the posture prediction branch, the force prediction branch, and the detection branch, respectively. The posture prediction branch can also consume data blocks with low latency through the corresponding thread, that is, a data block (80 sampled values) including at least one new sampled value is input into the posture estimation model. The force prediction branch can maintain a filter window of a preset size (e.g., 4000 sampled values). The sampled values ​​within the entire filter window can be sent to the force estimation model. Since the signals are from the same source, the time misalignment problem caused by the inconsistent input time windows of the two types of information is avoided to a certain extent. In some implementations, the posture estimation model processes the multi-channel electromyography signals obtained from the shared queue, including:

[0107] In response to the fact that the number of updated multi-channel electromyography signal sample values ​​in the shared queue meets a preset condition, multiple sample values ​​of the multi-channel electromyography signal in the shared queue are read.

[0108] A pose estimation model is used to predict hand pose information based on the features of multiple sampled values;

[0109] The force estimation model processes multi-channel electromyographic signals obtained from a shared queue, including:

[0110] Read multiple sample values ​​of multi-channel electromyography signals from the shared queue;

[0111] Convert multiple sampled values ​​into corresponding electrical signals;

[0112] The force estimation model is used to predict the force information based on the electrical signals corresponding to multiple sampled values ​​within a preset time period.

[0113] In some scenarios, electronic devices can process multi-channel electromyography (EMG) signals acquired from a shared queue using a pose estimation model. Specifically, the electronic device can detect updates to the multi-channel EMG signal sample values ​​in the shared queue. In response to a preset condition that the number of updated multi-channel EMG signal sample values ​​in the shared queue meets the required threshold, the electronic device can read multiple sample values ​​from the shared queue. The electronic device can then extract corresponding features based on these multiple sample values. Finally, the electronic device can utilize this pose estimation model to predict hand pose information based on the features of these multiple sample values.

[0114] As an example, the preset condition can be set to 80 newly written sample values ​​in the shared queue. When 80 newly written sample values ​​have accumulated in the shared queue, the electronic device can trigger a prediction operation of the attitude estimation model. The corresponding thread reads the latest sample values ​​from the shared queue, extracts features, and then uses the attitude estimation model to predict hand posture information. Illustratively, the attitude estimation model can store a preset number of features from historical sample values, and combine the newly received features with the features of historical sample values ​​to predict the current hand posture.

[0115] In some scenarios, electronic devices can also process multi-channel electromyographic (EMG) signals acquired from a shared queue using a force estimation model. Specifically, the electronic device can read multiple sample values ​​of the multi-channel EMG signals from the shared queue. The electronic device can then convert these multiple sample values ​​into corresponding electrical signals. Using this force estimation model, the electronic device can predict force information based on the electrical signals corresponding to the multiple sample values ​​within a preset time period. This force information can be used to characterize the degree or magnitude of force exerted by each finger.

[0116] As an example, an electronic device can read multiple sample values ​​of multi-channel electromyography (EMG) signals from a shared queue within the last two seconds, convert these sample values ​​into corresponding analog electrical signals, and then send them to a force estimation model. This force estimation model can predict the force of each finger based on the waveform and amplitude characteristics of the electrical signals corresponding to the multiple sample values ​​within the preset time period.

[0117] In some implementations, the attitude estimation model and the force estimation model can employ different data processing strategies. The attitude estimation model can be triggered to perform prediction when the number of updated sample values ​​in the shared queue meets a preset condition, while the force estimation model can read the most recent segment of samples in the shared queue in batches at preset time intervals and perform predictions. The two models can obtain their respective required input data from the same shared queue in parallel and independently.

[0118] In some implementations, after reading sampled values ​​from a shared queue, the electronic device may also preprocess the read sampled values, which may include one or more of filtering, denoising, or normalization to improve the quality of the data input to the model.

[0119] Because the electronic device triggers the posture estimation model's prediction operation only when the number of updated sampled values ​​in the shared queue meets a preset condition, this mechanism eliminates the need for the posture estimation model to perform a prediction at every sampling moment. This reduces unnecessary computational overhead and lowers the power consumption and computational resource usage of the electronic device. Since the electronic device writes the sampled values ​​of multi-channel electromyography (EMG) signals into the shared queue before the posture estimation model and force estimation model read them separately, this shared queue acts as a data buffer mechanism to decouple the input and reading of EMG signals. This reduces the mutual waiting time between signal acquisition and signal processing, allowing signal writing and processing to occur at different rhythms, thus improving the flexibility of data flow. Because the force estimation model uses the electrical signals corresponding to multiple sampled values ​​within a preset time period to predict force information, this method utilizes the temporal information and electrical signal waveform characteristics contained in multiple sampling points within the preset time period. Therefore, it can make the prediction results more comprehensive and accurate to a certain extent, avoiding the random errors caused by relying on only a single sampling point for prediction. Since both the posture estimation model and the force estimation model obtain multi-channel electromyography signal sampling values ​​from the same shared queue, the two models can share the same data source, which reduces the system's data redundancy and storage overhead to a certain extent, and also simplifies the architecture design of the data processing flow.

[0120] In some implementations, the method of predicting hand pose information based on features of multiple sampled values ​​using a pose estimation model further includes:

[0121] The pose estimation model is used to determine intermediate features based on historical features corresponding to the hand pose in the previous frame and the current features;

[0122] The pose estimation model predicts the transitional hand pose information based on intermediate features.

[0123] In some examples, a feature buffer can be maintained in a preset storage medium or the cache corresponding to the pose estimation model to store the feature vectors extracted by the model from the electromyography window during the previous inference round (e.g., a fixed-length vector output by the pose model encoder). After each inference round, this storage medium or buffer needs to be updated with the deep feature vector of the current frame for use in the next round. After receiving multiple new sample values, the pose estimation model can obtain the historical features corresponding to the hand pose of the previous frame from the preset storage medium or the corresponding buffer. The feature extractor then extracts the features of the multiple new sample values ​​to obtain the feature vector of the current frame. In some examples, linear interpolation can be used to calculate the arithmetic mean of the historical features and the current features as intermediate features. In some examples, the weighted sum of the historical features and the current features can also be used as intermediate features. The weights of the historical features and the current features can be set according to the specific scenario. After obtaining the intermediate features, the pose estimation model can input them into the pose model decoder for inference. Specifically, the pose estimation module can send the joint angle parameters and model hidden states of the previous frame, along with the intermediate features, into the pose model decoder. The decoder can then infer and output a set of 20 transitional hand joint angles. This pose is time-sequentially located between the previous and current frames, serving to smooth the transition.

[0124] Because intermediate features are determined based on historical and current features corresponding to the hand pose in the previous frame, these intermediate features integrate signal information from both historical and current moments. This allows the predicted hand pose information to reference both past and present signal patterns, reducing the random bias caused by relying solely on the current signal for prediction. Consequently, the hand pose prediction results between consecutive frames exhibit temporal continuity and smoothness, avoiding abrupt hand pose display issues caused by large jumps in prediction results between adjacent frames. Since this operation is repeated across multiple frames, each frame's prediction incorporates historical information from the previous frame. This makes the pose estimation model's tracking of hand pose changes more stable, improving the temporal coherence and naturalness of the hand pose prediction results.

[0125] In some implementations, a force estimation model is used to predict force information based on electrical signals corresponding to multiple sampled values ​​within a preset time period, including:

[0126] Multiple sampled values ​​are converted into electrical signals, and the electrical signals are then filtered.

[0127] The filtered electrical signal within a preset time period is input into the force estimation model; the force estimation model then outputs the force values ​​of multiple fingers.

[0128] A sampled value refers to the raw numerical value representing the amplitude of a multi-channel electromyography (EMG) signal read from a shared queue. This sampled value can be a digital quantity output by an analog-to-digital converter, such as, but not limited to, the raw ADC sampled value from a 16-channel converter. An electrical signal refers to an EMG signal with physical units obtained after dimensional conversion of the sampled value; for example, it can be a voltage signal on the order of microvolts. Filtering refers to the operation of processing the electrical signal to suppress noise or interference. Filtering can include at least one of the following: median filtering, bandpass filtering, notch filtering, low-pass filtering, and high-pass filtering. Median filtering is used to remove instantaneous spike noise; bandpass filtering is used to retain effective signal components within a specific frequency band; notch filtering is used to suppress power frequency interference and its harmonics. The preset duration refers to the pre-set length of the time window used as input to the force estimation model. This preset duration can be configured according to the sampling rate and model design requirements; for example, but not limited to, when the sampling rate is 2000 Hz, the preset duration can be set to 2 seconds, corresponding to 4000 sampling points.

[0129] Electronic devices can convert multiple sampled values ​​read from a shared queue into electrical signals. For example, by obtaining the scaling factor of the analog-to-digital conversion, the sampled values ​​of each channel are multiplied by the corresponding scaling factor to obtain an electrical signal with physical units. For example, when the sampled value is a 24-bit signed integer, the electronic device multiplies the sampled value by the ratio of the reference voltage to the full-scale value to obtain an electrical signal in microvolts. The above conversion can be schematically represented by the following formula (1):

[0130] (1);

[0131] in, This is an electrical signal, measured in microvolts. 4.8 represents the sampled value; 4.8 indicates the reference voltage related parameter; 2 24 This corresponds to a 24-bit analog-to-digital converter; n is the gain / scaling factor.

[0132] The electronic device filters the received electrical signal. This filtering process suppresses noise and interference components in the signal. In some implementations, the electronic device performs median filtering on the electrical signal of each channel along the time direction to remove spike noise caused by serial port glitches or transient electrode disturbances. In some implementations, the electronic device performs bandpass filtering on the electrical signal to retain signal components within the effective frequency band and suppress noise outside the band. In some implementations, the electronic device performs notch filtering on the electrical signal to suppress power frequency interference and its harmonic components.

[0133] The electronic device inputs the filtered electrical signal within a preset time period into the force estimation model. Specifically, the electronic device extracts the most recent sampled values ​​within a preset time period from the filtered electrical signal, according to the input format required by the force estimation model. This preset time period corresponds to the desired time window length of the force estimation model's input layer. The electronic device can organize the extracted sampled values ​​within the most recent preset time period into a tensor format required by the force estimation model; for example, it can arrange the temporal data of multiple channels into an input tensor consisting of channel dimensions and time dimensions. The electronic device then feeds the organized input tensor into the force estimation model for inference. The force estimation model processes the input tensor and outputs the force values ​​corresponding to each finger. In some implementations, the force estimation model includes a temporal convolutional encoder that extracts temporal features from the input tensor to obtain encoded features; the force estimation model also includes a recurrent neural network decoder that predicts the force value of each finger time-by-time based on the encoded features. The force value output by the force estimation model received by the electronic device is used as the force estimation result of each finger within the preset time period, including the five-dimensional force estimation values ​​of the thumb, index finger, middle finger, ring finger and little finger.

[0134] In some implementations, the method further includes: performing exponential moving average smoothing on the force values ​​output by the force estimation model, and performing baseline subtraction and dead zone threshold suppression with reference to the five-finger baseline established during the resting phase.

[0135] The five-finger baseline refers to the force estimation model's output force reference values ​​for each of the five fingers when the user's hand is relaxed and without active force exertion. These reference values ​​characterize the inherent bias components in the electromyographic signal, including the influence of factors such as electrode DC bias, skin impedance differences, and muscle resting tension on the force prediction results. In some examples, the electronic device can continuously collect the raw force prediction values ​​output by the force estimation model for each finger within a preset time period after startup, while the user's hand remains completely relaxed. The median of each finger's predicted value is then used as the baseline value for that finger, resulting in a five-dimensional baseline vector including the thumb, index finger, middle finger, ring finger, and little finger. After the preset time period, the electronic device can subtract the baseline value of the corresponding finger from the raw force prediction value output by the force estimation model in real time, obtaining the net force value after baseline subtraction, and use this net force value as the final output force value; alternatively, it can set any negative values ​​in the net force value after baseline subtraction to zero before outputting it. In some examples, the aforementioned electronic device can perform force prediction by taking the most recent 4000 sampled values ​​at fixed intervals and extracting the tail prediction sequence at a display rhythm of 50Hz. After the force prediction result is obtained, a smoothing filter can be applied to prevent the curve from jittering; then, the five-finger baseline is subtracted from the force prediction result; three baseline subtraction methods are available (difference, positive, off); finally, a dead-zone threshold is used to filter out minor residual noise. Even after the baseline is subtracted, the force value may still fluctuate slightly around 0 due to circuit thermal noise, quantization errors, etc. (e.g., jumping back and forth between ±0.05N). If the absolute value of the corrected force value is less than the dead-zone threshold (e.g., 0.1N), it is not displayed; only when it exceeds the dead-zone threshold is the true value displayed. Thus, a stable and clean force curve can be displayed on the first interface.

[0136] In some examples, the threads for pose prediction, force prediction, and signal quality detection can read EMG data from a shared queue within the same time period. The pose prediction thread can prioritize reading from the queue to reduce hand movement prediction latency; force prediction reads the nearest window in a separate thread at inference intervals to avoid heavy neural network inference blocking serial port acquisition and pose processing.

[0137] In some examples, the first interface may also display information such as the signal-to-noise ratio, saturation rate, baseline, and running errors of the multi-channel electromyography signal.

[0138] In some examples, the hand model can include both 3D and 2D models. If 3D rendering is unavailable, the model can be reverted to a 2D model for display.

[0139] In some implementations, the method further includes performing channel offsetting or reverse rearrangement of the multichannel electromyographic signals according to the wearing direction and / or left- or right-hand configuration.

[0140] Wearing orientation refers to the angle at which the EMG acquisition device (such as a wristband) is rotated around the user's forearm, characterizing the degree of offset of each electrode relative to the standard reference position. Left / right hand configuration indicates whether the current subject is left- or right-handed, characterizing the impact of mirror symmetry between the left and right hands on the channel order during EMG signal acquisition. Channel offset refers to the cyclic shifting of the multi-channel EMG signal arrangement along the channel index direction, compensating for the overall electrode position shift caused by wearing angle rotation. Reverse rearrangement refers to the mirror reversal of the multi-channel EMG signal channel order, adapting to mirror symmetry between the left and right hands.

[0141] The electronic device acquires the wearing orientation and / or left / right hand configuration. This configuration can be provided to the electronic device in several ways. In one embodiment, the electronic device acquires the configuration by parsing startup parameters, such as using the "side parameter" to specify the left / right hand configuration and the "offset parameter" to specify the channel offset. In another embodiment, the electronic device acquires the configuration by reading environment variables, such as using the "A_OFFSET" environment variable to obtain the offset and using the "B_REVERSE" environment variable to obtain whether reverse rearrangement is enabled. In yet another embodiment, the electronic device acquires the above configuration information by reading a configuration file. The electronic device reads the above configuration during the system startup phase and performs channel order adjustment operations on the multi-channel electromyography signals according to the configuration during subsequent signal processing.

[0142] The electronic device can perform channel offsetting or reverse rearrangement on multi-channel electromyography (EMG) signals based on acquired configuration parameters. Specifically, when the configuration parameters indicate that reverse rearrangement is required, the electronic device mirrors and reverses the channel order of the multi-channel EMG signals. Taking a 16-channel EMG signal as an example, the electronic device swaps channel 1 with channel 16, channel 2 with channel 15, and so on, until channel 8 with channel 9, resulting in a reverse-arranged channel sequence. When the configuration parameters indicate that channel offsetting is required, the electronic device performs a cyclic shift operation on the channel sequence according to a specified offset, moving the EMG signal of each channel along the channel index direction by a specified offset step, and cyclically shifting channels outside the channel index range to the other end of the sequence. In one implementation, the electronic device first performs reverse rearrangement of the channel order, and then performs cyclic shifting on the reverse-arranged channel sequence; in another implementation, the electronic device first performs channel offsetting, and then performs reverse rearrangement. In some preferred implementations, reverse rearrangement can be performed first, followed by channel offsetting.

[0143] The electromyographic signals after the above channel offset or reverse rearrangement are used as inputs for subsequent processing branches. That is, the posture estimation branch, force estimation branch and electromyographic quality monitoring branch all perform corresponding signal processing and model inference based on the electromyographic signals after adjusting the channel order.

[0144] The aforementioned channel offset or reverse rearrangement configurations can be applied independently to each processing branch. Specifically, the attitude estimation branch, force estimation branch, and EMG quality monitoring branch each have independent channel offset parameters and reverse rearrangement enable parameters. Based on their respective configuration parameters, each branch performs channel rearrangement operations on the same batch of received raw EMG samples. For example, the attitude estimation branch reads the attitude-specific offset configuration, the force estimation branch reads the force-specific offset configuration, and the monitoring branch reads the monitoring-specific offset configuration. After each branch independently adjusts the channel order according to its own configuration, it inputs the adjusted signal into its respective model for inference.

[0145] Because the posture estimation branch, force estimation branch, and electromyography quality monitoring branch are each configured with independent channel offset parameters and reverse rearrangement enable parameters, each branch adjusts the channel order of the same batch of original electromyography samples based on its own configuration before sending them into its respective model for inference. This allows each branch to independently match the channel order used during the training of its own model, avoiding the problem that may occur when using a single global configuration to adapt to multiple branch models at the same time, where one branch is adjusted correctly but the input order of other branches is misaligned. At the same time, because the channel offset operation can compensate for the electrode position shift caused by wristband rotation, and the reverse rearrangement operation can adapt to the mirror symmetry relationship between the left and right hands, and each branch can be configured independently during runtime without retraining the model, the system's adaptability and deployment efficiency are improved to a certain extent under different wearing angles, different left and right hands, and cross-device deployment scenarios. This reduces the overhead of needing to re-collect data and retrain the model due to changes in wearing method or hardware channel differences.

[0146] Figure 5 This is a schematic diagram of the structure of an electromyography signal processing device provided in an embodiment of this application, as shown below. Figure 5 As shown, the device 50 includes:

[0147] The first acquisition unit 501 is used to acquire the multi-channel electromyographic signals output by the electromyographic signal acquisition module;

[0148] The first generation unit 502 is used to generate hand force information based on multi-channel electromyography signals;

[0149] The display unit 503 is used to display the force information of multiple fingers in the first interface according to the force information of the hand, and to highlight the force change curve of the target finger; the force change curve is used to display the force change information of the finger within a preset time period; wherein, the target finger is dynamically switched according to a preset filtering rule.

[0150] In some implementations, the preset filtering rules include one or more of the following:

[0151] Maximum strength, minimum current strength, maximum rate of change of current strength, or minimum rate of change of current strength.

[0152] In some embodiments, the display unit 503 is further configured to display one or more of the following:

[0153] The first interface displays bar charts corresponding to multiple fingers, with the length or height of the bars being positively correlated with the force applied; alternatively, the fingertips of the hand model presented in the first interface display heat map icons; the color and / or brightness of the heat map icons change according to the current force value of the corresponding finger.

[0154] In some embodiments, the device 50 further includes a second generation unit (not shown in the figure) for generating hand posture information based on multi-channel electromyography signals;

[0155] Based on the hand pose information, control the hand model in the first interface or independent rendering window to present the hand pose corresponding to the hand pose information.

[0156] In some embodiments, the display unit 503 is further configured to:

[0157] The first display interface displays the time-domain waveform of the multi-channel electromyography signal within a preset duration, as well as the spectrum overlay within a preset frequency band.

[0158] In some embodiments, hand posture information is obtained by processing multi-channel electromyography (EMG) signals acquired from a shared queue using a posture estimation model; the force magnitude information of multiple fingers is obtained by processing multi-channel EMG signals acquired from a shared queue using a force estimation model; or, hand posture information and the force magnitude information of multiple fingers are obtained by processing the same acquisition source and the same batch of sampled values ​​using a posture estimation model and a force estimation model, respectively. In some embodiments, the device further includes a posture estimation module (not shown in the figure) and a force estimation module (not shown in the figure), the posture estimation module being used for:

[0159] In response to the fact that the number of updated multi-channel electromyography signal sample values ​​in the shared queue meets a preset condition, multiple sample values ​​of the multi-channel electromyography signal in the shared queue are read.

[0160] A pose estimation model is used to predict hand pose information based on the features of multiple sampled values;

[0161] The force estimation module is used for:

[0162] Read multiple sample values ​​of multi-channel electromyography signals from the shared queue;

[0163] Convert multiple sampled values ​​into corresponding electrical signals;

[0164] The force estimation model is used to predict the force information based on the electrical signals corresponding to multiple sampled values ​​within a preset time period.

[0165] In some implementations, the pose estimation module is further used to: determine intermediate features based on the historical features and current features corresponding to the hand pose in the previous frame using the pose estimation model;

[0166] The pose estimation model predicts the transitional hand pose information based on intermediate features.

[0167] The force estimation module is further used to: convert multiple sampled values ​​into electrical signals and filter the electrical signals;

[0168] The filtered electrical signal within a preset time period is input into the force estimation model; the force estimation model then outputs the force values ​​of multiple fingers.

[0169] In some implementations, the force estimation module is further used to: perform exponential moving average smoothing on the force value output by the force estimation model, and perform baseline subtraction and dead zone threshold suppression with reference to the five-finger baseline established in the resting phase.

[0170] In some embodiments, the apparatus further includes a feature module (not shown in the figures), the adjustment module being used for:

[0171] Depending on the wearing direction and / or left / right hand configuration, channel offset or reverse rearrangement is performed on the multi-channel electromyography signals.

[0172] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily essential to this application.

[0173] It should be further noted that although the steps in the flowchart are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowchart may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.

[0174] It should be understood that the above-described device embodiments are merely illustrative, and the device of this application can also be implemented in other ways. For example, the division of units / modules in the above embodiments is only a logical functional division, and there may be other division methods in actual implementation. For example, multiple units, modules, or components may be combined, or integrated into another system, or some features may be ignored or not executed.

[0175] Furthermore, unless otherwise specified, the functional units / modules in the various embodiments of this application can be integrated into one unit / module, or each unit / module can exist physically separately, or two or more units / modules can be integrated together. The integrated units / modules described above can be implemented in hardware or as software program modules.

[0176] When integrated units / modules are implemented in hardware, the hardware can be digital circuits, analog circuits, etc. The physical implementation of the hardware structure includes, but is not limited to, transistors, memristors, etc. Unless otherwise specified, the processor can be any suitable hardware processor, such as a CPU, GPU, FPGA, DSP, and ASIC, etc. Unless otherwise specified, the storage unit can be any suitable magnetic or magneto-optical storage medium, such as Resistive Random Access Memory (RRAM), Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Enhanced Dynamic Random Access Memory (EDRAM), High-Bandwidth Memory (HBM), Hybrid Memory Cube (HMC), etc.

[0177] If the integrated unit / module is implemented as a software program module and sold or used as an independent product, it can be stored in a computer-readable storage device (CMD). Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.

[0178] In the above embodiments, the descriptions of each embodiment have their own emphasis. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments. The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as the combination of these technical features does not contradict each other, it should be considered within the scope of this specification.

[0179] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.

[0180] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

Claims

1. A method for processing electromyographic signals, characterized in that, include: Acquire multi-channel electromyographic signals output from the electromyographic signal acquisition module; Based on the multi-channel electromyography signals, hand force information is generated; The first interface displays the force information of multiple fingers based on the hand force information, and highlights the force change curve of the target finger; the force change curve is used to display the force change information of the finger within a preset time period; wherein, the target finger is dynamically switched according to a preset filtering rule.

2. The method according to claim 1, characterized in that, The preset filtering rules include one or more of the following: Maximum strength, minimum current strength, maximum rate of change of current strength, or minimum rate of change of current strength.

3. The method according to claim 1, characterized in that, The first interface displays the force exertion information of multiple fingers based on the hand force information, including one or more of the following: The first interface displays bar charts corresponding to multiple fingers, where the length or height of the bars is positively correlated with the magnitude of the force applied; or... The fingertips of the hand model presented in the first interface display heat map icons; the color and / or brightness of the heat map icons change with the magnitude of the current force value of the corresponding finger.

4. The method according to claim 1, characterized in that, Also includes: Based on the multi-channel electromyographic signals, hand posture information is generated; Based on the hand pose information, the hand model in the first interface or independent rendering window is controlled to present a hand pose corresponding to the hand pose information.

5. The method according to claim 1, characterized in that, Also includes: The first display interface displays the time-domain waveform of the multi-channel electromyography signal within the preset duration, as well as the spectrum overlay within the preset frequency band.

6. The method according to claim 4, characterized in that, Hand posture information is obtained by processing multi-channel electromyography (EMG) signals acquired from a shared queue using a posture estimation model; the force magnitude information of multiple fingers is obtained by processing multi-channel EMG signals acquired from a shared queue using a force estimation model; or, The hand posture information and the force magnitude information of the multiple fingers are obtained by processing the same data source and the same batch of sampled values ​​using the posture estimation model and the force estimation model, respectively.

7. The method according to claim 6, characterized in that, The posture estimation model processes multi-channel electromyographic signals obtained from a shared queue, including: In response to the fact that the number of updated multi-channel electromyographic signal sample values ​​in the shared queue meets a preset condition, multiple sample values ​​of the multi-channel electromyographic signal in the shared queue are read. The pose estimation model is used to predict hand pose information based on the features of the multiple sampled values; The force estimation model processes the multi-channel electromyographic signals obtained from the shared queue, including: Read multiple sample values ​​of the multi-channel electromyography signals from the shared queue; Convert the plurality of sampled values ​​into corresponding electrical signals; The force estimation model is used to predict force information based on the electrical signals corresponding to multiple sampled values ​​within a preset time period.

8. The method according to claim 7, characterized in that, The step of using the pose estimation model to predict hand pose information based on the features of the multiple sampled values ​​further includes: The pose estimation model is used to determine intermediate features based on historical features and current features corresponding to the hand pose in the previous frame; The posture estimation model predicts the transitional hand posture information based on the intermediate features.

9. The method according to claim 6, characterized in that, The step of using the force estimation model to predict force information based on electrical signals corresponding to multiple sampled values ​​within a preset time period includes: The plurality of sampled values ​​are converted into electrical signals, and the electrical signals are filtered. The filtered electrical signal within a preset time period is input into the force estimation model; the force estimation model outputs the force values ​​of multiple fingers.

10. The method according to claim 9, characterized in that, Also includes: The force value output by the force estimation model is smoothed by exponential moving average, and baseline subtraction and dead zone threshold suppression are performed with the five-finger baseline established in the resting phase as a reference.

11. The method according to any one of claims 1-10, characterized in that, Also includes: Depending on the wearing direction and / or left / right hand configuration, channel offset or reverse rearrangement is performed on the multi-channel electromyographic signals.

12. An electromyography signal processing device, characterized in that, include: The first acquisition unit is used to acquire the multi-channel electromyographic signals output by the electromyographic signal acquisition module; The first generation unit is used to generate hand force information based on the multi-channel electromyography signals; The display unit is used to display the force information of multiple fingers in the first interface according to the hand force information, and to highlight the force change curve of the target finger; the force change curve is used to display the force change information of the finger within a preset time period; wherein, the target finger is dynamically switched according to a preset filtering rule.

13. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as claimed in any one of claims 1 to 10.

14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1 to 10.

15. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method of any one of claims 1 to 10.