On July 15, 2020, the master student Pablo Sarabia Ortiz read and defended his master thesis entitled “Design and evaluation of electromyography signal processing techniques using resource-constrained devices”. This master thesis is enclosed in the current B105 Electronic Systems Lab research topic of acquiring and processing electromyography (EMG) signals on the human body to achieve a wearable health device based on EMG signals.
Surface electromyographic (sEMG) is an acquisition technique based on recording muscles potential over the skin. sEMG based devices have a wide range of application: early diagnose and treatment of neurodegenerative diseases, tracking of daily activities, rehabilitation, and adaptive training. sEMG signals are complex and present different challenges like great amount of data, complex signals, and significant variations between subjects and days. For most of these applications is required to identify and classify the gestures or movements that the user is doing. This classification is a task that requires great amount of resources (memory and CPU). This thesis is focused in understanding the sEMG signal characteristics and designing a classifier for hand gestures, by using the custom acquisition board.
First, a quantitative analysis of the sEMG data was carried out by using parallel factor analysis (PARAFAC). The dataset used was NINAPRO, because it contains numerous different hand gestures performed by different subjects in different days. This PARAFAC analysis showed that is possible to reduce the number of channels from 16 to 4 without significant loss of information, as shown in the figure below. It also showed that most of the information is under the 350 Hz range. PARAFAC proved to be an interesting method for choosing the most significant channels in the dataset.
Second, an acquisition system to log the data to the computer was established. This acquisition system had 4 channels at a sampling rate of 500 Hz each. The data once logged was formatted and stored using MATLAB. Eight different gestures were performed, as shown in the figure. Then a support vector (SVM) machine classifier was trained obtaining an 99% accuracy in cross validation.
Third, a two level three variables factorial design was carried out to model the influence of the design variables in three features of the classifier (execution time, memory footprint and accuracy). The three design variables studied were: codification of the SVM, data precision (float32 or float64) and length of the sample. The results shown that float64 should never be used, and that there is always a tradeoff between classifier accuracy versus the memory footprint and speed of the classifier. It was also identified the memory footprint as the bottleneck for the use of the classifier in a resource-constrained device. It was achieved a reduction of 1/14 of the original memory footprint and a speedup of 233 times, however accuracy of the classifier lowered to 85%.