The IEE sEMG database was formed to provide benchmark data for the scientific community to enable tests on different methodologies involving classification and actuation based on EMG signal processing. In the next topics, all the main stages of signal acquisition are detailed, and all the data derived from the different assays are available in Table 1.
The database is divided by subjects, assays and repetitions as follows the example of Subject 01 (S1):
Where:
S1_A1 - Subject 1 - Assay 1 - Repetition 1
S1_A2 - Subject 1 - Assay 1 - Repetition 2
S1_A3 - Subject 1 - Assay 1 - Repetition 3
S1_B1 - Subject 1 - Assay 2 - Repetition 1
S1_B2 - Subject 1 - Assay 2 - Repetition 2
S1_B3 - Subject 1 - Assay 2 - Repetition 3
S1_C1 - Subject 1 - Assay 3 - Repetition 1
S1_C2 - Subject 1 - Assay 3 - Repetition 2
S1_C3 - Subject 1 - Assay 3 - Repetition 3
S1_D1 - Subject 1 - Assay 4 - Repetition 1
S1_D2 - Subject 1 - Assay 4 - Repetition 2
S1_D3 - Subject 1 - Assay 4 - Repetition 3
AND:
A is the Assay 1 - 6 movement sequentially repeated from 1 to 17
B is the Assay 2 - 6 movement randomly repeated from 1 to 17
C is the Assay 3 - 10 movement sequentially repeated from 1 to 17
D is the Assay 4 - 10 movement randomly repeated from 1 to 17
The Table 1 contains the up to date IEE sEMG database which is in current development. The database is separated according the assays performed involving different number of movement repetition and order.
| SUBJECT 01 | |||
|---|---|---|---|
| ASSAY A | ASSAY B | ASSAY C | ASSAY D |
| S1_A1 | S1_B1 | S1_C1 | S1_D1 |
| S1_A2 | S1_B2 | S1_C2 | S1_D2 |
| S1_A3 | S1_B3 | S1_C3 | S1_D3 |
| SUBJECT 02 | |||
| ASSAY A | ASSAY B | ASSAY C | ASSAY D |
| S2_A1 | S2_B1 | S2_C1 | S2_D1 |
| S2_A2 | S2_B2 | S2_C2 | S2_D2 |
| S2_A3 | S2_B3 | S2_C3 | S2_D3 |
| SUBJECT 03 | |||
| ASSAY A | ASSAY B | ASSAY C | ASSAY D |
| S3_A1 | S3_B1 | S3_C1 | S3_D1 |
| S3_A2 | S3_B2 | S3_C2 | S3_D2 |
| S3_A3 | S3_B3 | S3_C3 | S3_D3 |
| SUBJECT 04 | |||
| ASSAY A | ASSAY B | ASSAY C | ASSAY D |
| S4_A1 | S4_B1 | S4_C1 | S4_D1 |
| S4_A2 | S4_B2 | S4_C2 | S4_D2 |
| S4_A3 | S4_B3 | S4_C3 | S4_D3 |
The sEMG signals were acquired through a battery-powered commercial EMG device (EMG 830 C, from EMG System do Brasil) [1] . After that, they were digitalized @2kHz sample frequency and 18bits of quantization by an NI USB-6289 platform from National Instruments [2] and acquired by a notebook running LabVIEW 9 [3] on a Windows 10 environment. All the volunteers were seated comfortably in front of an LCD monitor and required to reproduce freely the repetitions of 17 distinct movements interleaved by 5-9 seconds (depending on the assay) of pause with no constraints to time or force.
To compare our database with other benchmark databases such as NINAPro [4, 5, 6, 7], the 17 hand and wrist movements performed and the electrode positioning was the same proposed on Exercise B of NINAPro database [6]. The electrode positioning is illustrated on Figure 1. As in NINAPro database, the timestamps were generated in synchrony with the video stimulation and refined by an offline relabeling algorithm based on maximum likelihood further described in this page to improve the correspondence between the label generated and the muscular activity.
The routines were designed to interact with the used hardware and also provide a cognitive walkthrough to the user. More than just acquire the signals, our interface was designed to instruct the user which movement would occur next and provide some preparation time to the user perform the intended movement. The next movement preparation was possible thanks to the association of two videos played simultaneously within the user's reference LCD monitor. At the same time that the main video is in its "rest state" that occurs in between the movements, the "corner" video presents the next movement to be performed. During the signal acquisition, we have observed that this helps the user to monitor how many repetitions were already performed in the sequential assays and also prepare himself/herself to the next incoming and unknown movement in the assays of random repetitions.
The videos were built using the MakeHuman [8] software for the creation of the anthropomorphic arm forms and the Blender software [9] to put together and timing of the animations.
The Table 2 contains all the LabVIEW routines used, the separate videos containing the different movements to be used in the random movement repetitions assays and also the full-length videos of the two distinct sequential assays are available for download in the related links.
| LabVIEW ROUTINES | LabVIEW Routine for Sequential Movement Repetition (currently unavailable) | LabVIEW Routine for Random Movement Repetition (currently unavailable) | |
|---|---|---|---|
| VIDEOS | |||
| Full-length video for six sequential movement repetitions (rest panel) | |||
| Full-length video for six sequential movement repetitions (movement panel) | |||
| Full-length video for ten sequential movement repetitions (rest panel) | |||
| Full-length video for ten sequential movement repetitions (movement panel) | |||
| Package of the separated movements videos (rest - currently under maintenance) | |||
| Package of the separated movements videos (movement - currently under maintenance) |
Once the assays were performed, the LabVIEW provided us its standard output format files (.LVM). To perform all the signal processing and classification in Matlab, we must transform the assay data in the standard Matlab '.m' format.
This process depends on some setups of LabVIEW software such as the number of header lines prior the sEMG signal itself, the number of sEMG channels and number format used. Our default solution to transform '.LVM' files in '.m' is formed by the two following functions available for download:
| comma2point.m (currently unavailable) |
import_lvm_IEE.m (currently unavailable) |
The comma2point function is a simple method to adequate files from LabVIEW saved using ',' (comma) separators into the '.' (point) Unit separator format of Matlab. Once this function is used, it replaces the original file; this is a price to pay for the function's high speed of conversion. Thus, you may backup you '.LVM' files before the process. The syntax of the comma2point function is presented below:
comma2point_overwrite('filename');
WARNING: The original ',' (comma separated unit) file will be replaced for the '.' (dot separated unit) file.
The import_lvm_IEE is responsible for the effective conversion of LVM data. The first step of is a simple method to adequate files from LabVIEW saved using ',' (comma) separators into the '.' (point) Unit separator format of Matlab. Once this function is used, it replaces the original file; this is a price to pay for the function's high speed of conversion. Thus, you may backup you '.LVM' files before the process. The syntax of the comma2point function is presented below:
emg = import_lvm_IEE(filename, startRow, endRow, emg_ch);
Where:
- emg is the output file;
- filename is file to be converted;
- startRow is the first line of useful data after the header (24 by default);
- endRow is the first line of useful data after the header ('Inf' by default);
- startRow is the number of sEMG channels (12 by default).
The process of labeling the samples is performed based on the timestamps generated in the assays. However, the timestamp does not contemplate some delays caused due to the volunteer's reaction time, which creates incorrect labels for many samples at the beginning and end of each movement. To refine the labeling process, an algorithm based on [6] using signal filtering and extraction of statistical parameters using autoregressive coefficients was used.
The determination of the movement start and end in each repetition was performed by maximizing the Generalized Likelihood Ratio (GLR) between the statistical model of the rest and movement signals. The method consists in divide the windows into three classes (rest, movement, rest) as shown in Figure 2.a. After that, a search for the times t_0 and t_1 that make the most appropriate adjustment of this division is performed. This search relays on the maximization of the sum of the probabilities of each sample to be part of the statistical model that best represents a rest or movement segment.
To obtain the statistical model that best represents the signal segments corresponding to rest and movement, the concept of maximum likelihood was used, as in [6]. Figure 2.b presents the result of the application of the relabelling algorithm in the label provided. In this example, the original label is presented in red color, its relabelled version in orange, and the sEMG signals segments of three movement repetitions are shown in blue.
[*] Cene, V.H.; Tosin, M.; Machado, J.; Balbinot, A. Open Database for Accurate Upper-Limb Intent Detection Using Electromyography and Reliable Extreme Learning Machines. Sensors 2019, 19, 1864.
[1] EMG System do Brasil Catalog (portuguese), available at http://www.emgsystem.com.br/produtos/sysaquisicao acessed in 15/02/2018.
[2] NI 6289 Catalog, available at http://www.ni.com/en-us/support/model.usb-6289.html acessed in 15/02/2018.
[3] NI LabVIEW Catalog, available at http://www.ni.com/en-us/shop/labview/select-edition.html acessed in 15/02/2018.
[4] Kuzborskij, I., et. al. (2014). On the challenge of classifying 52 hand movements from surface electromyography. Proceedings of the Annual International Conference of the IEEE Engineering in Medicine and Biology Society, EMBS, 4931–4937. https://doi.org/10.1109/EMBC.2012.6347099
[5] Atzori, M., et. al. (2014). Electromyography data for non-invasive naturally-controlled robotic hand prostheses. Scientific Data, 1. https://doi.org/10.1038/sdata.2014.53
[6] Atzori, M., et. al. (2014). Characterization of a Benchmark Database for Myoelectric Movement Classification. Neural Systems and Rehabilitation Engineering, IEEE Transactions on, PP(99), 1. https://doi.org/10.1109/TNSRE.2014.2328495
[7] Gijsberts, A., et. al. (2014). Movement Error Rate for Evaluation of Machine Learning Methods for sEMG-Based Hand Movement Classification. T NEUR SYS REH SPECIAL ISSUE ON ADVANCES IN CONTROL OF MULTI-FUNCTIONAL POWERED UPPER-LIMB PROSTHESES, 22(4), 735–744. https://doi.org/10.1109/TNSRE.2014.2303394
[8] MakeHuman Software, available at http://www.makehuman.org/ acessed in 15/02/2018.
[9] Blender software, available at https://www.blender.org/ acessed in 15/02/2018.