Home BiomacEMG
Post
Cancel

BiomacEMG

What is BiomacEMG?

BiomacEMG is a concept suggested by an article.
In the article, BiomacEMG classifies seven hand gestures using machine learning.
The gestures are:

Let’s now see how it works.



What is EMG?

EMG (electromyography) is a type of physiological signal recording that detects electrical signals from muscle fibers in response to gestures or movements.





What does BiomacEMG do?

The article uses surface electrodes to collect electromyographic (EMG) data from the forearm flexion and extension muscles, which are used as input parameters for the machine learning algorithms to recognize seven hand gestures.

Since EMG signals are erratic, signal analysis performance is generally poor. They measure different types of muscle groups in real time, which are:

  • The flexor carpi radialis muscle is responsible for the flexion and radial deviation of the wrist.

  • The flexor pollicis longus muscle, which is responsible for the flexion of the thumb.

  • The flexor digitorum muscle, which is responsible for the flexion of the fingers.

  • The flexor carpi ulnaris muscle, which is responsible for the flexion and ulnar deviation of the wrist.

  • The extensor pollicis longus and brevis muscles, which are responsible for the extension of the thumb.

  • The extensor carpi ulnaris muscle is responsible for the extension and ulnar deviation of the wrist.

  • The extensor digitorum muscle, which is responsible for the extension of the fingers.

  • The extensor carpi radialis muscle, which is responsible for the extension and radial deviation of the wrist.

You can see which muscles are used in the pictures below:





Steps of Classifying Gestures

  1. Feature extraction
    In this article, nine features were extracted, which are:

    You can see how the methods are used by clicking the link for each method.

  2. PCA
    PCA showed that gesture classes overlap strongly in the feature space.

  3. Random Forest Classification
    Since the signal data is non-linear, they chose Random Forest Classification, a non-linear classification method.

  4. Pareto Optimization
    In the context of EMG feature selection, Pareto optimization is used to identify the optimal subset of EMG features that best represent the underlying signal while minimizing the number of features required for classification.
    To do this, a Pareto front is first constructed by generating multiple solutions that represent different trade-offs between performance and the number of features.
    Each solution is evaluated on the basis of its classification accuracy and the number of features it employs.
    The set of all solutions that cannot be improved in one objective without sacrificing performance in another is called the Pareto front.



Standard Deviation

Standard deviation is a measure of absolute variability that shows how individual observations are grouped with respect to the mean.
The equation for the standard deviation is:

$ \sigma = \sqrt{\frac{\sum^{N}_{i=1}(x_{i}-\mu)^2}{N}} $

where $ \sigma$ is the standard deviation of the EMG signal, $ \mu$ is the average of the EMG signal, $ x$ is the value of the EMG signal at the $ i $-th time instant $ N$ is the number of measurements in the EMG signal.

Minimum

To choose the best discrimination of the gesture, the minimum value operator is obtained by searching for the minimum value in the EMG signal. The equation for the minimum is:

$ X_{min}\ = \min_{1 \leq i \leq N}(x_{i})$



Maximum

To choose the best discrimation of the gesture, the maximum value operator which is obtained by searching for the maximum value in the EMG signal. The equation of maximum is:

$ X_{max}\ = \max_{1 \leq i \leq N}(x_{i})$



Crossing the zero axis

Crossing the zero axis is a convenient and fast way to estimate the frequency of a sampled sequence of data. A zero crossing is the point where the sign of a function inverts to its opposite. It is a signal evaluation indicator often employed in electronics, mathematics, acoustics, and image processing. The equation for zero crossing is:

$ s(x,y) \ = \ \left\{\begin{matrix} 1 \ \ \ if(xy) < 0 \\ 0 \ \ \ if(xy) > 0 \end{matrix}\right.$ $ZC(V) = \sum^{n-1}_{i=1}s(V_i, V_{i+1})$
where $ZC$ is the zero crossing value, and $x$ and $y$ are the EMG signal values.



Average change in amplitude

The average amplitude is the average magnitude of all instantaneous values in the EMG time signal.
The equation for the average change is:

$i_{Avg} \ = \ \frac{1}{N}\sum^{N}_{i=1}x_i$
where $x$ = amplitude value



The first amplitude jump

The first amplitude jump refers to the first major change or increase that occurs at a specific point in time.



Mean absolute value(MAV)

Mean absolute deviation, also known as mean absolute error, is a measure of the accuracy of a forecasting method, such as trend estimation, and is also used as a loss function. MAV is a method to determine and evaluate the level of muscle contraction. The equation for MAV is:

$MAV \ = \ \frac{1}{N}\left | x_{i} \right |$



Wave length

Wave length is intuitively the total length of the waveform in a segment.
The resulting waveform length values provide a measure of the amplitude, frequency, and duration of the waveform. The equation for the waveform length is:

$WL = \sum^{N-1}_{i=1}\left | x_{i+1} \ - \ x_{i} \right |$



Wilson amplitude(WAMP)

WAMP is the number of times the difference between the amplitudes of the sEMG signal in two adjacent segments exceeds a predetermined threshold to reduce the effects of noise. WAMP is related to the level of motor unit action potential (MUAP) and muscle contraction. A suitable value for the threshold parameter is usually chosen between 10 and 100 mV, which depends on the gain setting of the instrument.

$WAMP \ = \ \sum^{N-1}_{i=1}f(\left | x_{i} \ - \ x_{i+1} \right |)$
$f(x) \ = \ \left\{\begin{matrix} 1 \ \ \ \text{if}(x \geq y) \\ 0 \ \ \ \text{otherwise} \end{matrix}\right.$





Result

Each contraction of the arm muscles during one of the seven movements was recorded by eight EMG sensors. The result of each methods:


And also, the minimum, mean, and maximum values of the gesture features are summarized in table below:


Through PCA, distinguishable data consisting of P1, P2, and P3 can be obtained which is:


At the end, we can see the classification result with random forest classifier.





Opinion

In the article, they stated the accuracy is 92%, but by simple calculation, the accuracy appears to be 84%.
Unlike other studies that used deep learning techniques such as RNN or CNN, they only used machine learning.
However, it may be the fastest way to classify hand gestures. I also want to know the performance of other hand gestures when used in real-life applications.

This post is licensed under CC BY 4.0 by the author.